Repository: superlee1010/gmall Branch: master Commit: 523a8c927b3c Files: 816 Total size: 5.1 MB Directory structure: gitextract_1m_vx04_/ ├── .gitattributes ├── README.md ├── data/ │ └── elasticsearch/ │ └── nodes/ │ └── 0/ │ └── _state/ │ └── global-60.st ├── gmall-api/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ ├── bean/ │ │ ├── AdBanner.java │ │ ├── BaseAttrInfo.java │ │ ├── BaseAttrValue.java │ │ ├── BaseCatalog1.java │ │ ├── BaseCatalog1Tm.java │ │ ├── BaseCatalog2.java │ │ ├── BaseCatalog3.java │ │ ├── BaseDict.java │ │ ├── BaseSaleAttr.java │ │ ├── BaseTrademark.java │ │ ├── CartInfo.java │ │ ├── Crumb.java │ │ ├── OrderDetail.java │ │ ├── OrderInfo.java │ │ ├── OrderLog.java │ │ ├── OrderLogistics.java │ │ ├── PaymentInfo.java │ │ ├── SkuAttrValue.java │ │ ├── SkuImage.java │ │ ├── SkuInfo.java │ │ ├── SkuLsAttrValue.java │ │ ├── SkuLsInfo.java │ │ ├── SkuLsParam.java │ │ ├── SkuLsResult.java │ │ ├── SkuSaleAttrValue.java │ │ ├── SpuColor.java │ │ ├── SpuImage.java │ │ ├── SpuInfo.java │ │ ├── SpuPoster.java │ │ ├── SpuSaleAttr.java │ │ ├── SpuSaleAttrValue.java │ │ ├── SpuSize.java │ │ ├── SpuVersion.java │ │ ├── UserAddress.java │ │ ├── UserDetails.java │ │ ├── UserInfo.java │ │ ├── WareInfo.java │ │ ├── WareOrderTask.java │ │ ├── WareOrderTaskDetail.java │ │ ├── WareSku.java │ │ └── enums/ │ │ ├── OrderStatus.java │ │ ├── PaymentStatus.java │ │ ├── PaymentWay.java │ │ └── ProcessStatus.java │ └── service/ │ ├── AttrService.java │ ├── CartService.java │ ├── CatalogService.java │ ├── OrderService.java │ ├── SearchService.java │ ├── SkuService.java │ ├── SpuService.java │ └── UserService.java ├── gmall-cart-service/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── cart/ │ │ │ ├── GmallCartServiceApplication.java │ │ │ ├── mapper/ │ │ │ │ └── CartInfoMapper.java │ │ │ └── service/ │ │ │ └── impl/ │ │ │ └── CartServiceImpl.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── cart/ │ └── GmallCartServiceApplicationTests.java ├── gmall-cart-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ ├── GmallCartWebApplication.java │ │ │ └── cart/ │ │ │ └── controller/ │ │ │ └── CartController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ ├── bootstrap/ │ │ │ │ ├── css/ │ │ │ │ │ └── bootstrap.css │ │ │ │ └── js/ │ │ │ │ └── bootstrap.js │ │ │ ├── css/ │ │ │ │ ├── One_bdyStyle.css │ │ │ │ ├── One_mainFoot.css │ │ │ │ ├── font-awesome-4.7.0/ │ │ │ │ │ ├── HELP-US-OUT.txt │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── font-awesome(1).css │ │ │ │ │ ├── fonts/ │ │ │ │ │ │ └── FontAwesome.otf │ │ │ │ │ ├── less/ │ │ │ │ │ │ ├── animated.less │ │ │ │ │ │ ├── bordered-pulled.less │ │ │ │ │ │ ├── core.less │ │ │ │ │ │ ├── fixed-width.less │ │ │ │ │ │ ├── font-awesome.less │ │ │ │ │ │ ├── icons.less │ │ │ │ │ │ ├── larger.less │ │ │ │ │ │ ├── list.less │ │ │ │ │ │ ├── mixins.less │ │ │ │ │ │ ├── path.less │ │ │ │ │ │ ├── rotated-flipped.less │ │ │ │ │ │ ├── screen-reader.less │ │ │ │ │ │ ├── stacked.less │ │ │ │ │ │ └── variables.less │ │ │ │ │ └── scss/ │ │ │ │ │ ├── _animated.scss │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ ├── _core.scss │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ ├── _icons.scss │ │ │ │ │ ├── _larger.scss │ │ │ │ │ ├── _list.scss │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ ├── _path.scss │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ ├── _variables.scss │ │ │ │ │ └── font-awesome.scss │ │ │ │ ├── index.css │ │ │ │ └── success.css │ │ │ └── js/ │ │ │ ├── index.js │ │ │ └── success.js │ │ └── templates/ │ │ ├── One_JDshop.html │ │ ├── cartList.html │ │ ├── cartListInner.html │ │ └── success.html │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── cart/ │ └── GmallCartWebApplicationTests.java ├── gmall-common-util/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── util/ │ └── HttpClientUtil.java ├── gmall-item-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── item/ │ │ │ ├── GmallItemWebApplication.java │ │ │ └── controller/ │ │ │ └── ItemController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ ├── bootstrap/ │ │ │ │ ├── css/ │ │ │ │ │ └── bootstrap.css │ │ │ │ └── js/ │ │ │ │ └── bootstrap.js │ │ │ ├── js/ │ │ │ │ ├── index.js │ │ │ │ ├── jquery1.9.js │ │ │ │ └── js.js │ │ │ └── scss/ │ │ │ ├── SHOUhou.css │ │ │ ├── header.css │ │ │ ├── main.css │ │ │ └── shop.css │ │ └── templates/ │ │ ├── demo.html │ │ └── item.html │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── item/ │ └── GmallItemWebApplicationTests.java ├── gmall-list-service/ │ ├── data/ │ │ └── elasticsearch/ │ │ └── nodes/ │ │ ├── 0/ │ │ │ └── _state/ │ │ │ └── global-17.st │ │ ├── 1/ │ │ │ └── _state/ │ │ │ └── global-14.st │ │ └── 2/ │ │ └── _state/ │ │ └── global-0.st │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── list/ │ │ │ ├── GmallListServiceApplication.java │ │ │ └── service/ │ │ │ └── impl/ │ │ │ └── SearchServiceImpl.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── list/ │ └── GmallListServiceApplicationTests.java ├── gmall-list-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── list/ │ │ │ ├── GmallListWebApplication.java │ │ │ └── controller/ │ │ │ └── ListController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ ├── index/ │ │ │ │ ├── css/ │ │ │ │ │ └── GL.css │ │ │ │ ├── img/ │ │ │ │ │ ├── 58171918N852b09d5.jpg!q90 │ │ │ │ │ ├── 5852299fN1840f35a.jpg!q90 │ │ │ │ │ ├── 585229bdNc20796ec.jpg!q90 │ │ │ │ │ ├── 58522b1bN916da74b.jpg!q90 │ │ │ │ │ ├── 58522b9dNf06d6f3d.jpg!q90 │ │ │ │ │ ├── 59251deeN5daf7ec3.jpg!q90 │ │ │ │ │ ├── 5927ef42Nc91cffc7.jpg!cc_200x140 │ │ │ │ │ ├── 5948b387N1e3bff83.jpg!q90 │ │ │ │ │ ├── 5948bb23N6da9eb71.jpg!q90 │ │ │ │ │ ├── 5950ca4bN6ab3d2f8.jpg!q90 │ │ │ │ │ ├── 5950ca84N9509b283.jpg!q90 │ │ │ │ │ ├── 5950cb54N467732a3.jpg!q90 │ │ │ │ │ ├── 595493f7Nacab54de.jpg!q90 │ │ │ │ │ ├── 597944aeNd644dbd8.jpg!q90 │ │ │ │ │ ├── 59b26e7dN59707ce1.jpg!q90 │ │ │ │ │ ├── 59c1c15dNff3351e4.jpg!q90 │ │ │ │ │ ├── 59e56045N56ae92f1.jpg!q90 │ │ │ │ │ ├── 59ed51ddN8eefe457.jpg!q90 │ │ │ │ │ ├── 5a02d06cN1e37012f.jpg!q90 │ │ │ │ │ ├── 5a0502a0Nf18e2c44.jpg!q90 │ │ │ │ │ ├── 5a086aadNdd4a2d3d.jpg!q90 │ │ │ │ │ ├── 5a086b2cN0353b2df.png!q90 │ │ │ │ │ ├── 5a095387N0626036b.jpg!q90 │ │ │ │ │ ├── 5a097363Nf5fb64a6.jpg!q90 │ │ │ │ │ ├── 5a0bae3dNd70d9115.jpg!q90 │ │ │ │ │ ├── 5a0ce692N1a6c1453.jpg!q90 │ │ │ │ │ ├── 5a0cf69eN35720550.jpg!q90 │ │ │ │ │ ├── 5a0e3ab4N84732c2b.jpg!q90 │ │ │ │ │ ├── 5a0e64f0N68973e71.jpg!q90 │ │ │ │ │ ├── 5a0e9e4eN3d592b05.jpg!q90 │ │ │ │ │ ├── 5a122e02Nff6d7d36 (1).jpg!q90 │ │ │ │ │ ├── 5a122e02Nff6d7d36.jpg!q90 │ │ │ │ │ ├── 5a1233b5Nb10b9cbc (1).jpg!q90 │ │ │ │ │ ├── 5a1233b5Nb10b9cbc.jpg!q90 │ │ │ │ │ ├── 5a123702Nd17543ed.jpg!q90 │ │ │ │ │ ├── 5a124b62Na95768ed.jpg!q90 │ │ │ │ │ ├── 5a1273dbN740798e9.jpg!q90 │ │ │ │ │ ├── 5a12a25fN96769d3c.jpg!q90 │ │ │ │ │ ├── 5a138438N19d98566.jpg!q90 │ │ │ │ │ ├── 5a13bf0bNe1606e58.jpg!q90 │ │ │ │ │ ├── 5a13c218N7c86dc71.jpg!cc_200x140 │ │ │ │ │ ├── 5a13f30fN5ed4a260.jpg!q90 │ │ │ │ │ ├── 5a14d244N753235ee.jpg!q90 │ │ │ │ │ ├── 5a153de2Nf8b4fd68.jpg!q90 │ │ │ │ │ ├── 5a154759N5385d5d6.jpg!q90 │ │ │ │ │ ├── 5a154c8dN4135f0ca.jpg!q90 │ │ │ │ │ ├── 5a15541bNb9c925af.jpg!cc_200x140 │ │ │ │ │ ├── 5a155909Nfaeaff7d.jpg!q90 │ │ │ │ │ ├── 5a162e07N716d0432.jpg!q90 │ │ │ │ │ ├── 5a1645d7Nb450ea8f.jpg!q90 │ │ │ │ │ ├── 5a166870N0df26ef0.jpg!q90 │ │ │ │ │ ├── 5a16712eN5b12d2a1.jpg!q90 │ │ │ │ │ ├── 5a168352N61f45409.jpg!q90 │ │ │ │ │ ├── 5a1683e0N115c3304.jpg!q90 │ │ │ │ │ ├── 5a168d1eN8d09a8b8.jpg!q90 │ │ │ │ │ ├── 5a169882Nd454bf29.jpg!q90 │ │ │ │ │ ├── 5a1698b7Nd63c86ed.jpg!q90 │ │ │ │ │ ├── 5a16a84fN6dc1786f.jpg!q90 │ │ │ │ │ ├── 5a176f84N5e5df987.jpg!q90 │ │ │ │ │ ├── 5a1775a6N2f1b3538.jpg!q90 │ │ │ │ │ ├── 5a177937N733d5884.jpg!q90 │ │ │ │ │ ├── 5a177c43N7a83454e.jpg!q90 │ │ │ │ │ ├── 5a177d99Nd0347bf1.jpg!cc_200x140 │ │ │ │ │ ├── 5a1783a8N7d7f6988.jpg!q90 │ │ │ │ │ ├── 5a17b2c2Na8f437b9.jpg!cc_200x140 │ │ │ │ │ ├── 5a17b56fNd535f5ec.jpg!q90 │ │ │ │ │ ├── 5a17c3feN9cd403e8.jpg!q90 │ │ │ │ │ ├── 5a17ced0Nc020e244 (1).jpg!q90 │ │ │ │ │ ├── 5a17ced0Nc020e244.jpg!q90 │ │ │ │ │ ├── 5a17d1d0Nd648ae8b.jpg!q90 │ │ │ │ │ ├── 5a17d1d2Nac4c7ead.jpg!q90 │ │ │ │ │ ├── 5a17d5e7N220f95a8.jpg!q90 │ │ │ │ │ ├── 5a17e3abNfc2ae745.jpg!q90 │ │ │ │ │ ├── 5a17e4a2N3e7d7612.jpg!q90 │ │ │ │ │ ├── 5a17ec77Nd92f9470.jpg!q90 │ │ │ │ │ ├── 5a1b6757N8a831b02.jpg!q90 │ │ │ │ │ ├── 5a1b677bNe5a0a902.jpg!q90 │ │ │ │ │ ├── 5a1b83c7Nded9c556.jpg!q90 │ │ │ │ │ ├── n1.jpg!q90 │ │ │ │ │ ├── n14.jpg!q90 │ │ │ │ │ ├── n15.jpg!q90 │ │ │ │ │ ├── n16.jpg!q90 │ │ │ │ │ ├── n6.jpg!q90 │ │ │ │ │ ├── n7.jpg!q90 │ │ │ │ │ ├── n8.jpg!q90 │ │ │ │ │ ├── n9.jpg!q90 │ │ │ │ │ ├── s1.jpg!q90 │ │ │ │ │ ├── s10.jpg!q90 │ │ │ │ │ ├── s14.jpg!q90 │ │ │ │ │ ├── s15.jpg!q90 │ │ │ │ │ ├── s16.jpg!q90 │ │ │ │ │ ├── s6.jpg!q90 │ │ │ │ │ ├── s7.jpg!q90 │ │ │ │ │ ├── s8.jpg!q90 │ │ │ │ │ ├── s9.jpg!q90 │ │ │ │ │ ├── saved_resource │ │ │ │ │ ├── saved_resource(1) │ │ │ │ │ ├── w1.jpg!q90 │ │ │ │ │ ├── w6.jpg!q90 │ │ │ │ │ ├── w7.jpg!q90 │ │ │ │ │ ├── w8.jpg!q90 │ │ │ │ │ ├── wl.js.下载 │ │ │ │ │ ├── y1.jpg!q90 │ │ │ │ │ ├── y6.jpg!q90 │ │ │ │ │ ├── y7.jpg!q90 │ │ │ │ │ └── y8.jpg!q90 │ │ │ │ ├── js/ │ │ │ │ │ ├── catalogLoader.js │ │ │ │ │ ├── header.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── left,top.js │ │ │ │ │ ├── secend.js │ │ │ │ │ ├── text.js │ │ │ │ │ └── zz.js │ │ │ │ └── json/ │ │ │ │ └── catalog.json │ │ │ └── list/ │ │ │ ├── css/ │ │ │ │ └── index.css │ │ │ ├── font/ │ │ │ │ ├── demo(1).css │ │ │ │ ├── demo_fontclass.html │ │ │ │ ├── demo_symbol(1).html │ │ │ │ ├── demo_unicode.html │ │ │ │ ├── iconfont.css │ │ │ │ └── iconfont.js │ │ │ ├── img/ │ │ │ │ ├── 11dfaa4931a34735aed3e1129fb2f960.gif.baiduyun.downloading │ │ │ │ ├── 11dfaa4931a34735aed3e1129fb2f960.gif.baiduyun.downloading.cfg │ │ │ │ ├── 3c377af0aac147d081d7e155c442ba5e.gif.baiduyun.downloading │ │ │ │ ├── 3c377af0aac147d081d7e155c442ba5e.gif.baiduyun.downloading.cfg │ │ │ │ ├── 5716981.html │ │ │ │ ├── 58171918N852b09d5.jpg!q90 │ │ │ │ ├── 5852299fN1840f35a.jpg!q90 │ │ │ │ ├── 585229bdNc20796ec.jpg!q90 │ │ │ │ ├── 58522b1bN916da74b.jpg!q90 │ │ │ │ ├── 58522b9dNf06d6f3d.jpg!q90 │ │ │ │ ├── 59251deeN5daf7ec3.jpg!q90 │ │ │ │ ├── 5927ef42Nc91cffc7.jpg!cc_200x140 │ │ │ │ ├── 5948b387N1e3bff83.jpg!q90 │ │ │ │ ├── 5948bb23N6da9eb71.jpg!q90 │ │ │ │ ├── 5950ca4bN6ab3d2f8.jpg!q90 │ │ │ │ ├── 5950ca84N9509b283.jpg!q90 │ │ │ │ ├── 5950cb54N467732a3.jpg!q90 │ │ │ │ ├── 595493f7Nacab54de.jpg!q90 │ │ │ │ ├── 597944aeNd644dbd8.jpg!q90 │ │ │ │ ├── 59b26e7dN59707ce1.jpg!q90 │ │ │ │ ├── 59c1c15dNff3351e4.jpg!q90 │ │ │ │ ├── 59e56045N56ae92f1.jpg!q90 │ │ │ │ ├── 59ed51ddN8eefe457.jpg!q90 │ │ │ │ ├── 5a02d06cN1e37012f.jpg!q90 │ │ │ │ ├── 5a0502a0Nf18e2c44.jpg!q90 │ │ │ │ ├── 5a086aadNdd4a2d3d.jpg!q90 │ │ │ │ ├── 5a086b2cN0353b2df.png!q90 │ │ │ │ ├── 5a095387N0626036b.jpg!q90 │ │ │ │ ├── 5a097363Nf5fb64a6.jpg!q90 │ │ │ │ ├── 5a0bae3dNd70d9115.jpg!q90 │ │ │ │ ├── 5a0ce692N1a6c1453.jpg!q90 │ │ │ │ ├── 5a0cf69eN35720550.jpg!q90 │ │ │ │ ├── 5a0e3ab4N84732c2b.jpg!q90 │ │ │ │ ├── 5a0e64f0N68973e71.jpg!q90 │ │ │ │ ├── 5a0e9e4eN3d592b05.jpg!q90 │ │ │ │ ├── 5a122e02Nff6d7d36 (1).jpg!q90 │ │ │ │ ├── 5a122e02Nff6d7d36.jpg!q90 │ │ │ │ ├── 5a1233b5Nb10b9cbc (1).jpg!q90 │ │ │ │ ├── 5a1233b5Nb10b9cbc.jpg!q90 │ │ │ │ ├── 5a123702Nd17543ed.jpg!q90 │ │ │ │ ├── 5a124b62Na95768ed.jpg!q90 │ │ │ │ ├── 5a1273dbN740798e9.jpg!q90 │ │ │ │ ├── 5a12a25fN96769d3c.jpg!q90 │ │ │ │ ├── 5a138438N19d98566.jpg!q90 │ │ │ │ ├── 5a13bf0bNe1606e58.jpg!q90 │ │ │ │ ├── 5a13c218N7c86dc71.jpg!cc_200x140 │ │ │ │ ├── 5a13f30fN5ed4a260.jpg!q90 │ │ │ │ ├── 5a14d244N753235ee.jpg!q90 │ │ │ │ ├── 5a153de2Nf8b4fd68.jpg!q90 │ │ │ │ ├── 5a154759N5385d5d6.jpg!q90 │ │ │ │ ├── 5a154c8dN4135f0ca.jpg!q90 │ │ │ │ ├── 5a15541bNb9c925af.jpg!cc_200x140 │ │ │ │ ├── 5a155909Nfaeaff7d.jpg!q90 │ │ │ │ ├── 5a162e07N716d0432.jpg!q90 │ │ │ │ ├── 5a1645d7Nb450ea8f.jpg!q90 │ │ │ │ ├── 5a166870N0df26ef0.jpg!q90 │ │ │ │ ├── 5a16712eN5b12d2a1.jpg!q90 │ │ │ │ ├── 5a168352N61f45409.jpg!q90 │ │ │ │ ├── 5a1683e0N115c3304.jpg!q90 │ │ │ │ ├── 5a168d1eN8d09a8b8.jpg!q90 │ │ │ │ ├── 5a169882Nd454bf29.jpg!q90 │ │ │ │ ├── 5a1698b7Nd63c86ed.jpg!q90 │ │ │ │ ├── 5a16a84fN6dc1786f.jpg!q90 │ │ │ │ ├── 5a176f84N5e5df987.jpg!q90 │ │ │ │ ├── 5a1775a6N2f1b3538.jpg!q90 │ │ │ │ ├── 5a177937N733d5884.jpg!q90 │ │ │ │ ├── 5a177c43N7a83454e.jpg!q90 │ │ │ │ ├── 5a177d99Nd0347bf1.jpg!cc_200x140 │ │ │ │ ├── 5a1783a8N7d7f6988.jpg!q90 │ │ │ │ ├── 5a17b2c2Na8f437b9.jpg!cc_200x140 │ │ │ │ ├── 5a17b56fNd535f5ec.jpg!q90 │ │ │ │ ├── 5a17c3feN9cd403e8.jpg!q90 │ │ │ │ ├── 5a17ced0Nc020e244 (1).jpg!q90 │ │ │ │ ├── 5a17ced0Nc020e244.jpg!q90 │ │ │ │ ├── 5a17d1d0Nd648ae8b.jpg!q90 │ │ │ │ ├── 5a17d1d2Nac4c7ead.jpg!q90 │ │ │ │ ├── 5a17d5e7N220f95a8.jpg!q90 │ │ │ │ ├── 5a17e3abNfc2ae745.jpg!q90 │ │ │ │ ├── 5a17e4a2N3e7d7612.jpg!q90 │ │ │ │ ├── 5a17ec77Nd92f9470.jpg!q90 │ │ │ │ ├── 5a1b6757N8a831b02.jpg!q90 │ │ │ │ ├── 5a1b677bNe5a0a902.jpg!q90 │ │ │ │ ├── 5a1b83c7Nded9c556.jpg!q90 │ │ │ │ ├── n1.jpg!q90 │ │ │ │ ├── n14.jpg!q90 │ │ │ │ ├── n15.jpg!q90 │ │ │ │ ├── n16.jpg!q90 │ │ │ │ ├── n6.jpg!q90 │ │ │ │ ├── n7.jpg!q90 │ │ │ │ ├── n8.jpg!q90 │ │ │ │ ├── n9.jpg!q90 │ │ │ │ ├── s1.jpg!q90 │ │ │ │ ├── s10.jpg!q90 │ │ │ │ ├── s14.jpg!q90 │ │ │ │ ├── s15.jpg!q90 │ │ │ │ ├── s16.jpg!q90 │ │ │ │ ├── s6.jpg!q90 │ │ │ │ ├── s7.jpg!q90 │ │ │ │ ├── s8.jpg!q90 │ │ │ │ ├── s9.jpg!q90 │ │ │ │ ├── saved_resource │ │ │ │ ├── saved_resource(1) │ │ │ │ ├── w1.jpg!q90 │ │ │ │ ├── w6.jpg!q90 │ │ │ │ ├── w7.jpg!q90 │ │ │ │ ├── w8.jpg!q90 │ │ │ │ ├── wl.js.下载 │ │ │ │ ├── y1.jpg!q90 │ │ │ │ ├── y6.jpg!q90 │ │ │ │ ├── y7.jpg!q90 │ │ │ │ └── y8.jpg!q90 │ │ │ └── js/ │ │ │ ├── index.js │ │ │ └── jquery-1.12.4.js │ │ └── templates/ │ │ ├── index.html │ │ └── list.html │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── list/ │ └── GmallListWebApplicationTests.java ├── gmall-manage-service/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── manage/ │ │ │ ├── GmallManageServiceApplication.java │ │ │ ├── mapper/ │ │ │ │ ├── BaseAttrInfoMapper.java │ │ │ │ ├── BaseAttrValueMapper.java │ │ │ │ ├── BaseCatalog1Mapper.java │ │ │ │ ├── BaseCatalog2Mapper.java │ │ │ │ ├── BaseCatalog3Mapper.java │ │ │ │ ├── BaseSaleAttrMapper.java │ │ │ │ ├── SkuAttrValueMapper.java │ │ │ │ ├── SkuImageMapper.java │ │ │ │ ├── SkuInfoMapper.java │ │ │ │ ├── SkuSaleAttrValueMapper.java │ │ │ │ ├── SpuImageMapper.java │ │ │ │ ├── SpuInfoMapper.java │ │ │ │ ├── SpuSaleAttrMapper.java │ │ │ │ └── SpuSaleAttrValueMapper.java │ │ │ └── service/ │ │ │ └── impl/ │ │ │ ├── AttrServiceImpl.java │ │ │ ├── CatalogServieImpl.java │ │ │ ├── SkuServiceImpl.java │ │ │ └── SpuServiceImpl.java │ │ └── resources/ │ │ ├── application.properties │ │ └── mapper/ │ │ ├── BaseAttrValueMapper.xml │ │ └── SpuSaleAttrValueMapper.xml │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── manage/ │ └── GmallManageServiceApplicationTests.java ├── gmall-manage-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── manage/ │ │ │ ├── GmallManageWebApplication.java │ │ │ ├── controller/ │ │ │ │ ├── AttrController.java │ │ │ │ ├── CatalogController.java │ │ │ │ ├── IndexController.java │ │ │ │ ├── SkuController.java │ │ │ │ └── SpuController.java │ │ │ └── util/ │ │ │ └── MyUploadUtil.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ ├── esayui/ │ │ │ │ ├── datagrid-detailview.js │ │ │ │ ├── easyloader.js │ │ │ │ ├── jquery.easyui.mobile.js │ │ │ │ ├── locale/ │ │ │ │ │ ├── easyui-lang-af.js │ │ │ │ │ ├── easyui-lang-am.js │ │ │ │ │ ├── easyui-lang-ar.js │ │ │ │ │ ├── easyui-lang-bg.js │ │ │ │ │ ├── easyui-lang-ca.js │ │ │ │ │ ├── easyui-lang-cs.js │ │ │ │ │ ├── easyui-lang-cz.js │ │ │ │ │ ├── easyui-lang-da.js │ │ │ │ │ ├── easyui-lang-de.js │ │ │ │ │ ├── easyui-lang-el.js │ │ │ │ │ ├── easyui-lang-en.js │ │ │ │ │ ├── easyui-lang-es.js │ │ │ │ │ ├── easyui-lang-fa.js │ │ │ │ │ ├── easyui-lang-fr.js │ │ │ │ │ ├── easyui-lang-it.js │ │ │ │ │ ├── easyui-lang-jp.js │ │ │ │ │ ├── easyui-lang-ko.js │ │ │ │ │ ├── easyui-lang-nl.js │ │ │ │ │ ├── easyui-lang-pl.js │ │ │ │ │ ├── easyui-lang-pt_BR.js │ │ │ │ │ ├── easyui-lang-ru.js │ │ │ │ │ ├── easyui-lang-sv_SE.js │ │ │ │ │ ├── easyui-lang-tr.js │ │ │ │ │ ├── easyui-lang-ua.js │ │ │ │ │ ├── easyui-lang-zh_CN.js │ │ │ │ │ └── easyui-lang-zh_TW.js │ │ │ │ ├── plugins/ │ │ │ │ │ ├── jquery.accordion.js │ │ │ │ │ ├── jquery.calendar.js │ │ │ │ │ ├── jquery.checkbox.js │ │ │ │ │ ├── jquery.combo.js │ │ │ │ │ ├── jquery.combobox.js │ │ │ │ │ ├── jquery.combogrid.js │ │ │ │ │ ├── jquery.combotree.js │ │ │ │ │ ├── jquery.combotreegrid.js │ │ │ │ │ ├── jquery.datagrid.js │ │ │ │ │ ├── jquery.datalist.js │ │ │ │ │ ├── jquery.datebox.js │ │ │ │ │ ├── jquery.datetimebox.js │ │ │ │ │ ├── jquery.datetimespinner.js │ │ │ │ │ ├── jquery.dialog.js │ │ │ │ │ ├── jquery.draggable.js │ │ │ │ │ ├── jquery.droppable.js │ │ │ │ │ ├── jquery.filebox.js │ │ │ │ │ ├── jquery.form.js │ │ │ │ │ ├── jquery.layout.js │ │ │ │ │ ├── jquery.linkbutton.js │ │ │ │ │ ├── jquery.maskedbox.js │ │ │ │ │ ├── jquery.menu.js │ │ │ │ │ ├── jquery.menubutton.js │ │ │ │ │ ├── jquery.messager.js │ │ │ │ │ ├── jquery.mobile.js │ │ │ │ │ ├── jquery.numberbox.js │ │ │ │ │ ├── jquery.numberspinner.js │ │ │ │ │ ├── jquery.pagination.js │ │ │ │ │ ├── jquery.panel.js │ │ │ │ │ ├── jquery.parser.js │ │ │ │ │ ├── jquery.passwordbox.js │ │ │ │ │ ├── jquery.progressbar.js │ │ │ │ │ ├── jquery.propertygrid.js │ │ │ │ │ ├── jquery.radiobutton.js │ │ │ │ │ ├── jquery.resizable.js │ │ │ │ │ ├── jquery.searchbox.js │ │ │ │ │ ├── jquery.sidemenu.js │ │ │ │ │ ├── jquery.slider.js │ │ │ │ │ ├── jquery.spinner.js │ │ │ │ │ ├── jquery.splitbutton.js │ │ │ │ │ ├── jquery.switchbutton.js │ │ │ │ │ ├── jquery.tabs.js │ │ │ │ │ ├── jquery.tagbox.js │ │ │ │ │ ├── jquery.textbox.js │ │ │ │ │ ├── jquery.timespinner.js │ │ │ │ │ ├── jquery.tooltip.js │ │ │ │ │ ├── jquery.tree.js │ │ │ │ │ ├── jquery.treegrid.js │ │ │ │ │ ├── jquery.validatebox.js │ │ │ │ │ └── jquery.window.js │ │ │ │ └── themes/ │ │ │ │ ├── angular.css │ │ │ │ ├── black/ │ │ │ │ │ ├── accordion.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── combobox.css │ │ │ │ │ ├── datagrid.css │ │ │ │ │ ├── datalist.css │ │ │ │ │ ├── datebox.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── easyui.css │ │ │ │ │ ├── filebox.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── linkbutton.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── menubutton.css │ │ │ │ │ ├── messager.css │ │ │ │ │ ├── numberbox.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── passwordbox.css │ │ │ │ │ ├── progressbar.css │ │ │ │ │ ├── propertygrid.css │ │ │ │ │ ├── radiobutton.css │ │ │ │ │ ├── searchbox.css │ │ │ │ │ ├── sidemenu.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── splitbutton.css │ │ │ │ │ ├── switchbutton.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tagbox.css │ │ │ │ │ ├── textbox.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── tree.css │ │ │ │ │ ├── validatebox.css │ │ │ │ │ └── window.css │ │ │ │ ├── bootstrap/ │ │ │ │ │ ├── accordion.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── combobox.css │ │ │ │ │ ├── datagrid.css │ │ │ │ │ ├── datalist.css │ │ │ │ │ ├── datebox.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── easyui.css │ │ │ │ │ ├── filebox.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── linkbutton.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── menubutton.css │ │ │ │ │ ├── messager.css │ │ │ │ │ ├── numberbox.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── passwordbox.css │ │ │ │ │ ├── progressbar.css │ │ │ │ │ ├── propertygrid.css │ │ │ │ │ ├── radiobutton.css │ │ │ │ │ ├── searchbox.css │ │ │ │ │ ├── sidemenu.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── splitbutton.css │ │ │ │ │ ├── switchbutton.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tagbox.css │ │ │ │ │ ├── textbox.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── tree.css │ │ │ │ │ ├── validatebox.css │ │ │ │ │ └── window.css │ │ │ │ ├── color.css │ │ │ │ ├── default/ │ │ │ │ │ ├── accordion.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── combobox.css │ │ │ │ │ ├── datagrid.css │ │ │ │ │ ├── datalist.css │ │ │ │ │ ├── datebox.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── easyui.css │ │ │ │ │ ├── filebox.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── linkbutton.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── menubutton.css │ │ │ │ │ ├── messager.css │ │ │ │ │ ├── numberbox.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── passwordbox.css │ │ │ │ │ ├── progressbar.css │ │ │ │ │ ├── propertygrid.css │ │ │ │ │ ├── radiobutton.css │ │ │ │ │ ├── searchbox.css │ │ │ │ │ ├── sidemenu.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── splitbutton.css │ │ │ │ │ ├── switchbutton.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tagbox.css │ │ │ │ │ ├── textbox.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── tree.css │ │ │ │ │ ├── validatebox.css │ │ │ │ │ └── window.css │ │ │ │ ├── gray/ │ │ │ │ │ ├── accordion.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── combobox.css │ │ │ │ │ ├── datagrid.css │ │ │ │ │ ├── datalist.css │ │ │ │ │ ├── datebox.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── easyui.css │ │ │ │ │ ├── filebox.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── linkbutton.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── menubutton.css │ │ │ │ │ ├── messager.css │ │ │ │ │ ├── numberbox.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── passwordbox.css │ │ │ │ │ ├── progressbar.css │ │ │ │ │ ├── propertygrid.css │ │ │ │ │ ├── radiobutton.css │ │ │ │ │ ├── searchbox.css │ │ │ │ │ ├── sidemenu.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── splitbutton.css │ │ │ │ │ ├── switchbutton.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tagbox.css │ │ │ │ │ ├── textbox.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── tree.css │ │ │ │ │ ├── validatebox.css │ │ │ │ │ └── window.css │ │ │ │ ├── icon.css │ │ │ │ ├── material/ │ │ │ │ │ ├── accordion.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── combobox.css │ │ │ │ │ ├── datagrid.css │ │ │ │ │ ├── datalist.css │ │ │ │ │ ├── datebox.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── easyui.css │ │ │ │ │ ├── filebox.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── linkbutton.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── menubutton.css │ │ │ │ │ ├── messager.css │ │ │ │ │ ├── numberbox.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── passwordbox.css │ │ │ │ │ ├── progressbar.css │ │ │ │ │ ├── propertygrid.css │ │ │ │ │ ├── radiobutton.css │ │ │ │ │ ├── searchbox.css │ │ │ │ │ ├── sidemenu.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── splitbutton.css │ │ │ │ │ ├── switchbutton.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tagbox.css │ │ │ │ │ ├── textbox.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── tree.css │ │ │ │ │ ├── validatebox.css │ │ │ │ │ └── window.css │ │ │ │ ├── material-teal/ │ │ │ │ │ ├── accordion.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── combobox.css │ │ │ │ │ ├── datagrid.css │ │ │ │ │ ├── datalist.css │ │ │ │ │ ├── datebox.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── easyui.css │ │ │ │ │ ├── filebox.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── linkbutton.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── menubutton.css │ │ │ │ │ ├── messager.css │ │ │ │ │ ├── numberbox.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── passwordbox.css │ │ │ │ │ ├── progressbar.css │ │ │ │ │ ├── propertygrid.css │ │ │ │ │ ├── radiobutton.css │ │ │ │ │ ├── searchbox.css │ │ │ │ │ ├── sidemenu.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── splitbutton.css │ │ │ │ │ ├── switchbutton.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tagbox.css │ │ │ │ │ ├── textbox.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── tree.css │ │ │ │ │ ├── validatebox.css │ │ │ │ │ └── window.css │ │ │ │ ├── metro/ │ │ │ │ │ ├── accordion.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── combobox.css │ │ │ │ │ ├── datagrid.css │ │ │ │ │ ├── datalist.css │ │ │ │ │ ├── datebox.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── easyui.css │ │ │ │ │ ├── filebox.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── linkbutton.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── menubutton.css │ │ │ │ │ ├── messager.css │ │ │ │ │ ├── numberbox.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── passwordbox.css │ │ │ │ │ ├── progressbar.css │ │ │ │ │ ├── propertygrid.css │ │ │ │ │ ├── radiobutton.css │ │ │ │ │ ├── searchbox.css │ │ │ │ │ ├── sidemenu.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── splitbutton.css │ │ │ │ │ ├── switchbutton.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tagbox.css │ │ │ │ │ ├── textbox.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── tree.css │ │ │ │ │ ├── validatebox.css │ │ │ │ │ └── window.css │ │ │ │ ├── mobile.css │ │ │ │ ├── react.css │ │ │ │ └── vue.css │ │ │ └── webuploader/ │ │ │ ├── Uploader.swf │ │ │ ├── webuploader.css │ │ │ └── webuploader.js │ │ ├── templates/ │ │ │ ├── attrInfoPage.html │ │ │ ├── attrListPage.html │ │ │ ├── index.html │ │ │ ├── skuInfoPage.html │ │ │ ├── skuListPage.html │ │ │ ├── spuInfoPage.html │ │ │ ├── spuListPage.html │ │ │ └── spuSaleAttrPage.html │ │ └── tracker.conf │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── manage/ │ └── GmallManageWebApplicationTests.java ├── gmall-order-service/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ ├── GmallOrderServiceApplication.java │ │ │ └── order/ │ │ │ ├── mapper/ │ │ │ │ ├── OrderDetailMapper.java │ │ │ │ └── OrderInfoMapper.java │ │ │ └── service/ │ │ │ └── impl/ │ │ │ └── OrderServiceImpl.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── order/ │ └── GmallOrderServiceImplApplicationTests.java ├── gmall-order-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ ├── GmallOrderWebApplication.java │ │ │ └── order/ │ │ │ └── controller/ │ │ │ └── OrderController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ ├── css/ │ │ │ │ ├── JD2.css │ │ │ │ ├── index.css │ │ │ │ ├── list.css │ │ │ │ └── style.css │ │ │ └── js/ │ │ │ └── list.js │ │ └── templates/ │ │ ├── list.html │ │ ├── payTest.html │ │ ├── trade.html │ │ └── tradeFail.html │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── order/ │ └── GmallOrderWebApplicationTests.java ├── gmall-parent/ │ └── pom.xml ├── gmall-passport-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── passport/ │ │ │ ├── GmallPassportWebApplication.java │ │ │ └── controller/ │ │ │ └── PassportController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ ├── css/ │ │ │ │ ├── gm1.css │ │ │ │ └── gm1.css.bak │ │ │ └── js/ │ │ │ └── zepto.js │ │ └── templates/ │ │ └── index.html │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── passport/ │ └── GmallPassportWebApplicationTests.java ├── gmall-service-util/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── util/ │ ├── RedisConfig.java │ └── RedisUtil.java ├── gmall-user/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ ├── GmallUserApplication.java │ │ │ └── user/ │ │ │ ├── mapper/ │ │ │ │ ├── UserAddressMapper.java │ │ │ │ └── UserInfoMapper.java │ │ │ └── service/ │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── user/ │ └── GmallUserApplicationTests.java ├── gmall-user-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lee/ │ │ │ └── gmall/ │ │ │ └── user/ │ │ │ ├── GmallUserWebApplication.java │ │ │ └── controller/ │ │ │ └── UserController.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ └── user/ │ └── GmallUserWebApplicationTests.java ├── gmall-web-util/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── lee/ │ └── gmall/ │ ├── annotation/ │ │ └── LoginRequire.java │ ├── config/ │ │ └── WebMvcConfiguration.java │ ├── interceptor/ │ │ └── AuthInterceptor.java │ └── util/ │ ├── CookieUtil.java │ ├── JwtUtil.java │ └── PassportUtil.java ├── gmall4.sql └── 类目.sql ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitattributes ================================================ *.js linguist-language=java *.css linguist-language=java *.html linguist-language=java ================================================ FILE: README.md ================================================ ================================================ FILE: gmall-api/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-api 1.0-SNAPSHOT jar tk.mybatis mapper-spring-boot-starter 1.2.3 org.springframework.boot spring-boot-starter-jdbc ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/AdBanner.java ================================================ package com.lee.gmall.bean; public class AdBanner { private long id; private String adDesc; private String fileName; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getAdDesc() { return adDesc; } public void setAdDesc(String adDesc) { this.adDesc = adDesc; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseAttrInfo.java ================================================ package com.lee.gmall.bean; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Transient; import java.io.Serializable; import java.util.List; public class BaseAttrInfo implements Serializable { @GeneratedValue(strategy = GenerationType.IDENTITY) private String id; private String attrName; private String catalog3Id; private String isEnabled; @Transient List attrValueList; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getAttrName() { return attrName; } public void setAttrName(String attrName) { this.attrName = attrName; } public String getCatalog3Id() { return catalog3Id; } public void setCatalog3Id(String catalog3Id) { this.catalog3Id = catalog3Id; } public String getIsEnabled() { return isEnabled; } public void setIsEnabled(String isEnabled) { this.isEnabled = isEnabled; } public List getAttrValueList() { return attrValueList; } public void setAttrValueList(List attrValueList) { this.attrValueList = attrValueList; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseAttrValue.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class BaseAttrValue implements Serializable { private String id; private String valueName; private String attrId; private String isEnabled; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getValueName() { return valueName; } public void setValueName(String valueName) { this.valueName = valueName; } public String getAttrId() { return attrId; } public void setAttrId(String attrId) { this.attrId = attrId; } public String getIsEnabled() { return isEnabled; } public void setIsEnabled(String isEnabled) { this.isEnabled = isEnabled; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseCatalog1.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class BaseCatalog1 implements Serializable { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseCatalog1Tm.java ================================================ package com.lee.gmall.bean; public class BaseCatalog1Tm { private long id; private long tmId; private String catalog1Id; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getTmId() { return tmId; } public void setTmId(long tmId) { this.tmId = tmId; } public String getCatalog1Id() { return catalog1Id; } public void setCatalog1Id(String catalog1Id) { this.catalog1Id = catalog1Id; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseCatalog2.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class BaseCatalog2 implements Serializable { private String id; private String name; private String catalog1Id; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCatalog1Id() { return catalog1Id; } public void setCatalog1Id(String catalog1Id) { this.catalog1Id = catalog1Id; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseCatalog3.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class BaseCatalog3 implements Serializable { private String id; private String name; private String catalog2Id; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCatalog2Id() { return catalog2Id; } public void setCatalog2Id(String catalog2Id) { this.catalog2Id = catalog2Id; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseDict.java ================================================ package com.lee.gmall.bean; public class BaseDict { private String id; private String parentId; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getParentId() { return parentId; } public void setParentId(String parentId) { this.parentId = parentId; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseSaleAttr.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class BaseSaleAttr implements Serializable { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/BaseTrademark.java ================================================ package com.lee.gmall.bean; public class BaseTrademark { private long id; private String tmName; private String logoUrl; private String isEnable; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getTmName() { return tmName; } public void setTmName(String tmName) { this.tmName = tmName; } public String getLogoUrl() { return logoUrl; } public void setLogoUrl(String logoUrl) { this.logoUrl = logoUrl; } public String getIsEnable() { return isEnable; } public void setIsEnable(String isEnable) { this.isEnable = isEnable; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/CartInfo.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; import java.math.BigDecimal; public class CartInfo implements Serializable { private String id; private String userId; private String skuId; private BigDecimal cartPrice; private long quantity; private String imgUrl; private String isChecked; private BigDecimal skuPrice; private Integer skuNum; private String skuName; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getSkuId() { return skuId; } public void setSkuId(String skuId) { this.skuId = skuId; } public BigDecimal getCartPrice() { return cartPrice; } public void setCartPrice(BigDecimal cartPrice) { this.cartPrice = cartPrice; } public long getQuantity() { return quantity; } public void setQuantity(long quantity) { this.quantity = quantity; } public String getImgUrl() { return imgUrl; } public void setImgUrl(String imgUrl) { this.imgUrl = imgUrl; } public String getIsChecked() { return isChecked; } public void setIsChecked(String isChecked) { this.isChecked = isChecked; } public BigDecimal getSkuPrice() { return skuPrice; } public void setSkuPrice(BigDecimal skuPrice) { this.skuPrice = skuPrice; } public Integer getSkuNum() { return skuNum; } public void setSkuNum(Integer skuNum) { this.skuNum = skuNum; } public String getSkuName() { return skuName; } public void setSkuName(String skuName) { this.skuName = skuName; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/Crumb.java ================================================ package com.lee.gmall.bean; public class Crumb { private String valueName; private String urlParam; public String getValueName() { return valueName; } public void setValueName(String valueName) { this.valueName = valueName; } public String getUrlParam() { return urlParam; } public void setUrlParam(String urlParam) { this.urlParam = urlParam; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/OrderDetail.java ================================================ package com.lee.gmall.bean; import javax.persistence.Transient; import java.io.Serializable; import java.math.BigDecimal; public class OrderDetail implements Serializable { private String id; private String orderId; private String skuId; private String skuName; private String imgFileName; private BigDecimal orderPrice; private Integer skuNums; private String logisticsId; private String imgUrl; private Integer skuNum; @Transient private String hasStock; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getOrderId() { return orderId; } public void setOrderId(String orderId) { this.orderId = orderId; } public String getSkuId() { return skuId; } public void setSkuId(String skuId) { this.skuId = skuId; } public String getSkuName() { return skuName; } public void setSkuName(String skuName) { this.skuName = skuName; } public String getImgFileName() { return imgFileName; } public void setImgFileName(String imgFileName) { this.imgFileName = imgFileName; } public BigDecimal getOrderPrice() { return orderPrice; } public void setOrderPrice(BigDecimal orderPrice) { this.orderPrice = orderPrice; } public Integer getSkuNums() { return skuNums; } public void setSkuNums(Integer skuNums) { this.skuNums = skuNums; } public String getLogisticsId() { return logisticsId; } public void setLogisticsId(String logisticsId) { this.logisticsId = logisticsId; } public String getImgUrl() { return imgUrl; } public void setImgUrl(String imgUrl) { this.imgUrl = imgUrl; } public Integer getSkuNum() { return skuNum; } public void setSkuNum(Integer skuNum) { this.skuNum = skuNum; } public String getHasStock() { return hasStock; } public void setHasStock(String hasStock) { this.hasStock = hasStock; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/OrderInfo.java ================================================ package com.lee.gmall.bean; import com.lee.gmall.bean.enums.PaymentWay; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Transient; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java.util.List; public class OrderInfo implements Serializable { @GeneratedValue(generator = "JDBC")//增加这个注解解决了通用Mapper的insert不返回主键的问题 @Id private String id; private String consignee; private BigDecimal totalAmount; private String orderStatus; private String userId; private PaymentWay paymentWay; private Date expectDeliveryTime; private String deliveryAddress; private String orderComment; private String outTradeNo; private String tradeBody; private Date createTime; private Date expireTime; private String wareStatus; private String parentOrderId; private String processStatus; private String trackingNo; private String consigneeTel; @Transient List orderDetailList; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getConsignee() { return consignee; } public void setConsignee(String consignee) { this.consignee = consignee; } public BigDecimal getTotalAmount() { return totalAmount; } public void setTotalAmount(BigDecimal totalAmount) { this.totalAmount = totalAmount; } public String getOrderStatus() { return orderStatus; } public void setOrderStatus(String orderStatus) { this.orderStatus = orderStatus; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public PaymentWay getPaymentWay() { return paymentWay; } public void setPaymentWay(PaymentWay paymentWay) { this.paymentWay = paymentWay; } public String getDeliveryAddress() { return deliveryAddress; } public void setDeliveryAddress(String deliveryAddress) { this.deliveryAddress = deliveryAddress; } public String getOrderComment() { return orderComment; } public void setOrderComment(String orderComment) { this.orderComment = orderComment; } public String getOutTradeNo() { return outTradeNo; } public void setOutTradeNo(String outTradeNo) { this.outTradeNo = outTradeNo; } public String getTradeBody() { return tradeBody; } public void setTradeBody(String tradeBody) { this.tradeBody = tradeBody; } public String getWareStatus() { return wareStatus; } public void setWareStatus(String wareStatus) { this.wareStatus = wareStatus; } public String getParentOrderId() { return parentOrderId; } public void setParentOrderId(String parentOrderId) { this.parentOrderId = parentOrderId; } public String getProcessStatus() { return processStatus; } public void setProcessStatus(String processStatus) { this.processStatus = processStatus; } public String getTrackingNo() { return trackingNo; } public void setTrackingNo(String trackingNo) { this.trackingNo = trackingNo; } public String getConsigneeTel() { return consigneeTel; } public void setConsigneeTel(String consigneeTel) { this.consigneeTel = consigneeTel; } public Date getExpectDeliveryTime() { return expectDeliveryTime; } public void setExpectDeliveryTime(Date expectDeliveryTime) { this.expectDeliveryTime = expectDeliveryTime; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getExpireTime() { return expireTime; } public void setExpireTime(Date expireTime) { this.expireTime = expireTime; } public List getOrderDetailList() { return orderDetailList; } public void setOrderDetailList(List orderDetailList) { this.orderDetailList = orderDetailList; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/OrderLog.java ================================================ package com.lee.gmall.bean; public class OrderLog { private long id; private long orderId; private java.sql.Timestamp operateDate; private String logComment; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getOrderId() { return orderId; } public void setOrderId(long orderId) { this.orderId = orderId; } public java.sql.Timestamp getOperateDate() { return operateDate; } public void setOperateDate(java.sql.Timestamp operateDate) { this.operateDate = operateDate; } public String getLogComment() { return logComment; } public void setLogComment(String logComment) { this.logComment = logComment; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/OrderLogistics.java ================================================ package com.lee.gmall.bean; public class OrderLogistics { private long id; private long orderId; private String logisticsStatus; private String logisticsNo; private java.sql.Timestamp createTime; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getOrderId() { return orderId; } public void setOrderId(long orderId) { this.orderId = orderId; } public String getLogisticsStatus() { return logisticsStatus; } public void setLogisticsStatus(String logisticsStatus) { this.logisticsStatus = logisticsStatus; } public String getLogisticsNo() { return logisticsNo; } public void setLogisticsNo(String logisticsNo) { this.logisticsNo = logisticsNo; } public java.sql.Timestamp getCreateTime() { return createTime; } public void setCreateTime(java.sql.Timestamp createTime) { this.createTime = createTime; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/PaymentInfo.java ================================================ package com.lee.gmall.bean; public class PaymentInfo { private long id; private String outTradeNo; private String orderId; private String alipayTradeNo; private double totalAmount; private String subject; private String paymentStatus; private java.sql.Timestamp createTime; private java.sql.Timestamp confirmTime; private String callbackContent; private java.sql.Timestamp callbackTime; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getOutTradeNo() { return outTradeNo; } public void setOutTradeNo(String outTradeNo) { this.outTradeNo = outTradeNo; } public String getOrderId() { return orderId; } public void setOrderId(String orderId) { this.orderId = orderId; } public String getAlipayTradeNo() { return alipayTradeNo; } public void setAlipayTradeNo(String alipayTradeNo) { this.alipayTradeNo = alipayTradeNo; } public double getTotalAmount() { return totalAmount; } public void setTotalAmount(double totalAmount) { this.totalAmount = totalAmount; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getPaymentStatus() { return paymentStatus; } public void setPaymentStatus(String paymentStatus) { this.paymentStatus = paymentStatus; } public java.sql.Timestamp getCreateTime() { return createTime; } public void setCreateTime(java.sql.Timestamp createTime) { this.createTime = createTime; } public java.sql.Timestamp getConfirmTime() { return confirmTime; } public void setConfirmTime(java.sql.Timestamp confirmTime) { this.confirmTime = confirmTime; } public String getCallbackContent() { return callbackContent; } public void setCallbackContent(String callbackContent) { this.callbackContent = callbackContent; } public java.sql.Timestamp getCallbackTime() { return callbackTime; } public void setCallbackTime(java.sql.Timestamp callbackTime) { this.callbackTime = callbackTime; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuAttrValue.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class SkuAttrValue implements Serializable { private String id; private String attrId; private String valueId; private String skuId; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getAttrId() { return attrId; } public void setAttrId(String attrId) { this.attrId = attrId; } public String getValueId() { return valueId; } public void setValueId(String valueId) { this.valueId = valueId; } public String getSkuId() { return skuId; } public void setSkuId(String skuId) { this.skuId = skuId; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuImage.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class SkuImage implements Serializable { private String id; private String skuId; private String imgName; private String imgUrl; private String spuImgId; private String isDefault = "0"; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSkuId() { return skuId; } public void setSkuId(String skuId) { this.skuId = skuId; } public String getImgName() { return imgName; } public void setImgName(String imgName) { this.imgName = imgName; } public String getImgUrl() { return imgUrl; } public void setImgUrl(String imgUrl) { this.imgUrl = imgUrl; } public String getSpuImgId() { return spuImgId; } public void setSpuImgId(String spuImgId) { this.spuImgId = spuImgId; } public String getIsDefault() { return isDefault; } public void setIsDefault(String isDefault) { this.isDefault = isDefault; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuInfo.java ================================================ package com.lee.gmall.bean; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Transient; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; public class SkuInfo implements Serializable { @Id @GeneratedValue(generator = "JDBC")//增加这个注解解决了通用Mapper的insert不返回主键的问题 private String id; private String spuId; private BigDecimal price; private String skuName; private String skuDesc; private String weight; private String tmId; private String catalog3Id; private String skuDefaultImg; @Transient List skuImageList; @Transient List skuAttrValueList; @Transient List skuSaleAttrValueList; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSpuId() { return spuId; } public void setSpuId(String spuId) { this.spuId = spuId; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public String getSkuName() { return skuName; } public void setSkuName(String skuName) { this.skuName = skuName; } public String getSkuDesc() { return skuDesc; } public void setSkuDesc(String skuDesc) { this.skuDesc = skuDesc; } public String getWeight() { return weight; } public void setWeight(String weight) { this.weight = weight; } public String getTmId() { return tmId; } public void setTmId(String tmId) { this.tmId = tmId; } public String getCatalog3Id() { return catalog3Id; } public void setCatalog3Id(String catalog3Id) { this.catalog3Id = catalog3Id; } public String getSkuDefaultImg() { return skuDefaultImg; } public void setSkuDefaultImg(String skuDefaultImg) { this.skuDefaultImg = skuDefaultImg; } public List getSkuImageList() { return skuImageList; } public void setSkuImageList(List skuImageList) { this.skuImageList = skuImageList; } public List getSkuAttrValueList() { return skuAttrValueList; } public void setSkuAttrValueList(List skuAttrValueList) { this.skuAttrValueList = skuAttrValueList; } public List getSkuSaleAttrValueList() { return skuSaleAttrValueList; } public void setSkuSaleAttrValueList(List skuSaleAttrValueList) { this.skuSaleAttrValueList = skuSaleAttrValueList; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuLsAttrValue.java ================================================ package com.lee.gmall.bean; import javax.persistence.Column; import javax.persistence.Id; import java.io.Serializable; public class SkuLsAttrValue implements Serializable { String valueId; public String getValueId() { return valueId; } public void setValueId(String valueId) { this.valueId = valueId; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuLsInfo.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; public class SkuLsInfo implements Serializable { String id; BigDecimal price; String skuName; String skuDesc; String catalog3Id; String skuDefaultImg; Long hotScore=0L; List skuAttrValueList; public String getId() { return id; } public void setId(String id) { this.id = id; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public String getSkuName() { return skuName; } public void setSkuName(String skuName) { this.skuName = skuName; } public String getSkuDesc() { return skuDesc; } public void setSkuDesc(String skuDesc) { this.skuDesc = skuDesc; } public String getCatalog3Id() { return catalog3Id; } public void setCatalog3Id(String catalog3Id) { this.catalog3Id = catalog3Id; } public String getSkuDefaultImg() { return skuDefaultImg; } public void setSkuDefaultImg(String skuDefaultImg) { this.skuDefaultImg = skuDefaultImg; } public Long getHotScore() { return hotScore; } public void setHotScore(Long hotScore) { this.hotScore = hotScore; } public List getSkuAttrValueList() { return skuAttrValueList; } public void setSkuAttrValueList(List skuAttrValueList) { this.skuAttrValueList = skuAttrValueList; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuLsParam.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class SkuLsParam implements Serializable{ String catalog3Id; String[] valueId; String keyword; int pageNo=1; int pageSize=20; public String getCatalog3Id() { return catalog3Id; } public void setCatalog3Id(String catalog3Id) { this.catalog3Id = catalog3Id; } public String[] getValueId() { return valueId; } public void setValueId(String[] valueId) { this.valueId = valueId; } public String getKeyword() { return keyword; } public void setKeyword(String keyword) { this.keyword = keyword; } public int getPageNo() { return pageNo; } public void setPageNo(int pageNo) { this.pageNo = pageNo; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuLsResult.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; import java.util.List; public class SkuLsResult implements Serializable{ List skuLsInfoList; int Total; List valueIdList; public List getSkuLsInfoList() { return skuLsInfoList; } public void setSkuLsInfoList(List skuLsInfoList) { this.skuLsInfoList = skuLsInfoList; } public int getTotal() { return Total; } public void setTotal(int total) { Total = total; } public List getValueIdList() { return valueIdList; } public void setValueIdList(List valueIdList) { this.valueIdList = valueIdList; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SkuSaleAttrValue.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class SkuSaleAttrValue implements Serializable { private String id; private String skuId; private String saleAttrId; private String saleAttrValueId; private String saleAttrName; private String saleAttrValueName; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSkuId() { return skuId; } public void setSkuId(String skuId) { this.skuId = skuId; } public String getSaleAttrId() { return saleAttrId; } public void setSaleAttrId(String saleAttrId) { this.saleAttrId = saleAttrId; } public String getSaleAttrValueId() { return saleAttrValueId; } public void setSaleAttrValueId(String saleAttrValueId) { this.saleAttrValueId = saleAttrValueId; } public String getSaleAttrName() { return saleAttrName; } public void setSaleAttrName(String saleAttrName) { this.saleAttrName = saleAttrName; } public String getSaleAttrValueName() { return saleAttrValueName; } public void setSaleAttrValueName(String saleAttrValueName) { this.saleAttrValueName = saleAttrValueName; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuColor.java ================================================ package com.lee.gmall.bean; public class SpuColor { private long id; private long spuId; private String color; private String fileName; private String isEnabled; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getSpuId() { return spuId; } public void setSpuId(long spuId) { this.spuId = spuId; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String getIsEnabled() { return isEnabled; } public void setIsEnabled(String isEnabled) { this.isEnabled = isEnabled; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuImage.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class SpuImage implements Serializable { private String id; private String spuId; private String imgName; private String imgUrl; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSpuId() { return spuId; } public void setSpuId(String spuId) { this.spuId = spuId; } public String getImgName() { return imgName; } public void setImgName(String imgName) { this.imgName = imgName; } public String getImgUrl() { return imgUrl; } public void setImgUrl(String imgUrl) { this.imgUrl = imgUrl; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuInfo.java ================================================ package com.lee.gmall.bean; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Transient; import java.io.Serializable; import java.util.List; public class SpuInfo implements Serializable { @Id @GeneratedValue(generator = "JDBC")//增加这个注解解决了通用Mapper的insert不返回主键的问题 private String id; private String spuName; private String description; private String catalog3Id; private String tmId; @Transient private List spuSaleAttrList; @Transient private List spuImageList; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSpuName() { return spuName; } public void setSpuName(String spuName) { this.spuName = spuName; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getCatalog3Id() { return catalog3Id; } public void setCatalog3Id(String catalog3Id) { this.catalog3Id = catalog3Id; } public String getTmId() { return tmId; } public void setTmId(String tmId) { this.tmId = tmId; } public List getSpuSaleAttrList() { return spuSaleAttrList; } public void setSpuSaleAttrList(List spuSaleAttrList) { this.spuSaleAttrList = spuSaleAttrList; } public List getSpuImageList() { return spuImageList; } public void setSpuImageList(List spuImageList) { this.spuImageList = spuImageList; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuPoster.java ================================================ package com.lee.gmall.bean; public class SpuPoster { private long id; private long spuId; private String fileName; private String fileType; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getSpuId() { return spuId; } public void setSpuId(long spuId) { this.spuId = spuId; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String getFileType() { return fileType; } public void setFileType(String fileType) { this.fileType = fileType; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuSaleAttr.java ================================================ package com.lee.gmall.bean; import javax.persistence.Transient; import java.io.Serializable; import java.util.List; import java.util.Map; public class SpuSaleAttr implements Serializable { private String id; private String spuId; private String saleAttrId; private String saleAttrName; @Transient private List spuSaleAttrValueList; @Transient private Map spuSaleAttrValueJson; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSpuId() { return spuId; } public void setSpuId(String spuId) { this.spuId = spuId; } public String getSaleAttrId() { return saleAttrId; } public void setSaleAttrId(String saleAttrId) { this.saleAttrId = saleAttrId; } public String getSaleAttrName() { return saleAttrName; } public List getSpuSaleAttrValueList() { return spuSaleAttrValueList; } public void setSpuSaleAttrValueList(List spuSaleAttrValueList) { this.spuSaleAttrValueList = spuSaleAttrValueList; } public Map getSpuSaleAttrValueJson() { return spuSaleAttrValueJson; } public void setSpuSaleAttrValueJson(Map spuSaleAttrValueJson) { this.spuSaleAttrValueJson = spuSaleAttrValueJson; } public void setSaleAttrName(String saleAttrName) { this.saleAttrName = saleAttrName; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuSaleAttrValue.java ================================================ package com.lee.gmall.bean; import javax.persistence.Transient; import java.io.Serializable; public class SpuSaleAttrValue implements Serializable { private String id; private String spuId; private String saleAttrId; private String saleAttrValueName; @Transient private String isChecked; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSpuId() { return spuId; } public void setSpuId(String spuId) { this.spuId = spuId; } public String getSaleAttrId() { return saleAttrId; } public void setSaleAttrId(String saleAttrId) { this.saleAttrId = saleAttrId; } public String getSaleAttrValueName() { return saleAttrValueName; } public void setSaleAttrValueName(String saleAttrValueName) { this.saleAttrValueName = saleAttrValueName; } public String getIsChecked() { return isChecked; } public void setIsChecked(String isChecked) { this.isChecked = isChecked; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuSize.java ================================================ package com.lee.gmall.bean; public class SpuSize { private long id; private long spuId; private String spuSize; private String isEnabled; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getSpuId() { return spuId; } public void setSpuId(long spuId) { this.spuId = spuId; } public String getSpuSize() { return spuSize; } public void setSpuSize(String spuSize) { this.spuSize = spuSize; } public String getIsEnabled() { return isEnabled; } public void setIsEnabled(String isEnabled) { this.isEnabled = isEnabled; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/SpuVersion.java ================================================ package com.lee.gmall.bean; public class SpuVersion { private long id; private long spuId; private String spuVersion; private String isEnabled; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getSpuId() { return spuId; } public void setSpuId(long spuId) { this.spuId = spuId; } public String getSpuVersion() { return spuVersion; } public void setSpuVersion(String spuVersion) { this.spuVersion = spuVersion; } public String getIsEnabled() { return isEnabled; } public void setIsEnabled(String isEnabled) { this.isEnabled = isEnabled; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/UserAddress.java ================================================ package com.lee.gmall.bean; import java.io.Serializable; public class UserAddress implements Serializable { private String id; private String userAddress; private String userId; private String consignee; private String phoneNum; private String isDefault; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUserAddress() { return userAddress; } public void setUserAddress(String userAddress) { this.userAddress = userAddress; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getConsignee() { return consignee; } public void setConsignee(String consignee) { this.consignee = consignee; } public String getPhoneNum() { return phoneNum; } public void setPhoneNum(String phoneNum) { this.phoneNum = phoneNum; } public String getIsDefault() { return isDefault; } public void setIsDefault(String isDefault) { this.isDefault = isDefault; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/UserDetails.java ================================================ package com.lee.gmall.bean; public class UserDetails { private long id; private long idCard; private long userId; private String userPhone; private String hometown; private long addressId; private String sex; private java.sql.Timestamp createTime; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getIdCard() { return idCard; } public void setIdCard(long idCard) { this.idCard = idCard; } public long getUserId() { return userId; } public void setUserId(long userId) { this.userId = userId; } public String getUserPhone() { return userPhone; } public void setUserPhone(String userPhone) { this.userPhone = userPhone; } public String getHometown() { return hometown; } public void setHometown(String hometown) { this.hometown = hometown; } public long getAddressId() { return addressId; } public void setAddressId(long addressId) { this.addressId = addressId; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public java.sql.Timestamp getCreateTime() { return createTime; } public void setCreateTime(java.sql.Timestamp createTime) { this.createTime = createTime; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/UserInfo.java ================================================ package com.lee.gmall.bean; import javax.persistence.Transient; import java.io.Serializable; import java.util.List; public class UserInfo implements Serializable { private String id; private String loginName; private String nickName; private String passwd; private String name; private String phoneNum; private String email; private String headImg; private String userLevel; @Transient List userAddressList; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getLoginName() { return loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhoneNum() { return phoneNum; } public void setPhoneNum(String phoneNum) { this.phoneNum = phoneNum; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getHeadImg() { return headImg; } public void setHeadImg(String headImg) { this.headImg = headImg; } public String getUserLevel() { return userLevel; } public void setUserLevel(String userLevel) { this.userLevel = userLevel; } public List getUserAddressList() { return userAddressList; } public void setUserAddressList(List userAddressList) { this.userAddressList = userAddressList; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/WareInfo.java ================================================ package com.lee.gmall.bean; public class WareInfo { private long id; private String name; private String address; private String areacode; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getAreacode() { return areacode; } public void setAreacode(String areacode) { this.areacode = areacode; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/WareOrderTask.java ================================================ package com.lee.gmall.bean; public class WareOrderTask { private long id; private long orderId; private String consignee; private String consigneeTel; private String deliveryAddress; private String orderComment; private String paymentWay; private String taskStatus; private String orderBody; private String trackingNo; private java.sql.Timestamp createTime; private long wareId; private String taskComment; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getOrderId() { return orderId; } public void setOrderId(long orderId) { this.orderId = orderId; } public String getConsignee() { return consignee; } public void setConsignee(String consignee) { this.consignee = consignee; } public String getConsigneeTel() { return consigneeTel; } public void setConsigneeTel(String consigneeTel) { this.consigneeTel = consigneeTel; } public String getDeliveryAddress() { return deliveryAddress; } public void setDeliveryAddress(String deliveryAddress) { this.deliveryAddress = deliveryAddress; } public String getOrderComment() { return orderComment; } public void setOrderComment(String orderComment) { this.orderComment = orderComment; } public String getPaymentWay() { return paymentWay; } public void setPaymentWay(String paymentWay) { this.paymentWay = paymentWay; } public String getTaskStatus() { return taskStatus; } public void setTaskStatus(String taskStatus) { this.taskStatus = taskStatus; } public String getOrderBody() { return orderBody; } public void setOrderBody(String orderBody) { this.orderBody = orderBody; } public String getTrackingNo() { return trackingNo; } public void setTrackingNo(String trackingNo) { this.trackingNo = trackingNo; } public java.sql.Timestamp getCreateTime() { return createTime; } public void setCreateTime(java.sql.Timestamp createTime) { this.createTime = createTime; } public long getWareId() { return wareId; } public void setWareId(long wareId) { this.wareId = wareId; } public String getTaskComment() { return taskComment; } public void setTaskComment(String taskComment) { this.taskComment = taskComment; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/WareOrderTaskDetail.java ================================================ package com.lee.gmall.bean; public class WareOrderTaskDetail { private long id; private long skuId; private String skuName; private long skuNums; private long taskId; private long skuNum; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getSkuId() { return skuId; } public void setSkuId(long skuId) { this.skuId = skuId; } public String getSkuName() { return skuName; } public void setSkuName(String skuName) { this.skuName = skuName; } public long getSkuNums() { return skuNums; } public void setSkuNums(long skuNums) { this.skuNums = skuNums; } public long getTaskId() { return taskId; } public void setTaskId(long taskId) { this.taskId = taskId; } public long getSkuNum() { return skuNum; } public void setSkuNum(long skuNum) { this.skuNum = skuNum; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/WareSku.java ================================================ package com.lee.gmall.bean; public class WareSku { private long id; private long skuId; private long warehouseId; private long stock; private String stockName; private long stockLocked; public long getId() { return id; } public void setId(long id) { this.id = id; } public long getSkuId() { return skuId; } public void setSkuId(long skuId) { this.skuId = skuId; } public long getWarehouseId() { return warehouseId; } public void setWarehouseId(long warehouseId) { this.warehouseId = warehouseId; } public long getStock() { return stock; } public void setStock(long stock) { this.stock = stock; } public String getStockName() { return stockName; } public void setStockName(String stockName) { this.stockName = stockName; } public long getStockLocked() { return stockLocked; } public void setStockLocked(long stockLocked) { this.stockLocked = stockLocked; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/enums/OrderStatus.java ================================================ package com.lee.gmall.bean.enums; /** * @param * @return */ public enum OrderStatus { UNPAID("未支付"), PAID("已支付" ), WAITING_DELEVER("待发货"), DELEVERED("已发货"), CLOSED("已关闭"), FINISHED("已完结") , SPLIT("订单已拆分"); private String comment ; OrderStatus(String comment ){ this.comment=comment; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/enums/PaymentStatus.java ================================================ package com.lee.gmall.bean.enums; /** * @param * @return */ public enum PaymentStatus { UNPAID("支付中"), PAID("已支付"), PAY_FAIL("支付失败"), ClOSED("已关闭"); private String name ; PaymentStatus(String name) { this.name=name; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/enums/PaymentWay.java ================================================ package com.lee.gmall.bean.enums; /** * @param * @return */ public enum PaymentWay { ONLINE("在线支付"), OUTLINE("货到付款" ); private String comment ; PaymentWay(String comment ){ this.comment=comment; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/bean/enums/ProcessStatus.java ================================================ package com.lee.gmall.bean.enums; /** * @param * @return */ public enum ProcessStatus { UNPAID("未支付", OrderStatus.UNPAID), PAID("已支付", OrderStatus.PAID), NOTIFIED_WARE("已通知仓储", OrderStatus.PAID), WAITING_DELEVER("待发货", OrderStatus.WAITING_DELEVER), STOCK_EXCEPTION("库存异常", OrderStatus.PAID), DELEVERED("已发货", OrderStatus.DELEVERED), CLOSED("已关闭", OrderStatus.CLOSED), FINISHED("已完结", OrderStatus.FINISHED), PAY_FAIL("支付失败", OrderStatus.UNPAID), SPLIT("订单已拆分", OrderStatus.SPLIT); private String comment; private OrderStatus orderStatus; ProcessStatus(String comment, OrderStatus orderStatus) { this.comment = comment; this.orderStatus = orderStatus; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public OrderStatus getOrderStatus() { return orderStatus; } public void setOrderStatus(OrderStatus orderStatus) { this.orderStatus = orderStatus; } } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/AttrService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.BaseAttrInfo; import com.lee.gmall.bean.BaseAttrValue; import java.util.List; import java.util.Set; public interface AttrService { List getAttrList(String catalog3Id); void saveAttr(BaseAttrInfo baseAttrInfo); List getAttrValue(String attrName); void deleteAttr(String attrId); List getAttrListByCtg3Id(String ctg3Id); List getAttrListByValueIds(Set valueIds); } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/CartService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.CartInfo; import java.util.List; public interface CartService { CartInfo ifCartExist(CartInfo cartInfo); void updateCart(CartInfo cartInfoDb); void insertCart(CartInfo cartInfo); void syncCache(String userId); List getCartCache(String userId); void updateCartChecked(CartInfo cartInfo); void combineCart(List cartInfos, String userId); List getCartCacheByChecked(String userId); void deleteCartById(List cartInfos); } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/CatalogService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.BaseCatalog1; import com.lee.gmall.bean.BaseCatalog2; import com.lee.gmall.bean.BaseCatalog3; import java.util.List; public interface CatalogService { List getCatalog1(); List getCatalog2(String catalog1Id); List getCatalog3(String catalog2Id); } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/OrderService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.OrderInfo; public interface OrderService { String genTradeCode(String userId); boolean checkTradeCode(String tradeCode, String userId); void saveOrder(OrderInfo orderInfo); } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/SearchService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.SkuLsInfo; import com.lee.gmall.bean.SkuLsParam; import java.util.List; public interface SearchService { List search(SkuLsParam skuLsParam); } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/SkuService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.SkuInfo; import java.math.BigDecimal; import java.util.List; public interface SkuService { List getSkuListBySpuId(String spuId); void saveSku(SkuInfo skuInfo); SkuInfo getSkuById(String skuId); List getSkuListByCatalog3Id(String catalog3Id); boolean checkPrice(BigDecimal skuPrice, String skuId); } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/SpuService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.*; import java.util.List; import java.util.Map; public interface SpuService { List spuList(String catalog3Id); List baseSaleAttrList(); void saveSpu(SpuInfo spuInfo); List getSpuImageList(String spuId); List getSpuSaleAttrList(String spuId); void deleteSpu(String spuId); List getSpuSaleAttrListBySpuId(String spuId); List getSpuSaleAttrListCheckBySku(Map idMap); List getSkuSaleAttrValueListBySpu(String spuId); } ================================================ FILE: gmall-api/src/main/java/com/lee/gmall/service/UserService.java ================================================ package com.lee.gmall.service; import com.lee.gmall.bean.UserAddress; import com.lee.gmall.bean.UserInfo; import org.springframework.stereotype.Service; import java.util.List; @Service public interface UserService { List userInfoList(); UserInfo login(UserInfo userInfo); List getUserAddressList(String userId); } ================================================ FILE: gmall-cart-service/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-cart-service 0.0.1-SNAPSHOT gmall-cart-service Demo project for Spring Boot 1.8 com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-service-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-cart-service/src/main/java/com/lee/gmall/cart/GmallCartServiceApplication.java ================================================ package com.lee.gmall.cart; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication @MapperScan(basePackages = "com.lee.gmall.cart.mapper") @ComponentScan("com.lee.gmall.util") public class GmallCartServiceApplication { public static void main(String[] args) { SpringApplication.run(GmallCartServiceApplication.class, args); } } ================================================ FILE: gmall-cart-service/src/main/java/com/lee/gmall/cart/mapper/CartInfoMapper.java ================================================ package com.lee.gmall.cart.mapper; import com.lee.gmall.bean.CartInfo; import tk.mybatis.mapper.common.Mapper; public interface CartInfoMapper extends Mapper { } ================================================ FILE: gmall-cart-service/src/main/java/com/lee/gmall/cart/service/impl/CartServiceImpl.java ================================================ package com.lee.gmall.cart.service.impl; import com.alibaba.dubbo.config.annotation.Service; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.lee.gmall.bean.CartInfo; import com.lee.gmall.bean.UserInfo; import com.lee.gmall.cart.mapper.CartInfoMapper; import com.lee.gmall.service.CartService; import com.lee.gmall.util.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import redis.clients.jedis.Jedis; import tk.mybatis.mapper.entity.Example; import java.math.BigDecimal; import java.util.*; @Service public class CartServiceImpl implements CartService { @Autowired CartInfoMapper cartInfoMapper; @Autowired RedisUtil redisUtil; @Override public CartInfo ifCartExist(CartInfo cartInfo) { boolean ifCartExist = false; CartInfo info = new CartInfo(); info.setUserId(cartInfo.getUserId()); info.setSkuId(cartInfo.getSkuId()); return cartInfoMapper.selectOne(info); } @Override public void updateCart(CartInfo cartInfoDb) { cartInfoMapper.updateByPrimaryKeySelective(cartInfoDb); } @Override public void insertCart(CartInfo cartInfo) { cartInfoMapper.insertSelective(cartInfo); } @Override public void syncCache(String userId) { Jedis jedis = redisUtil.getJedis(); CartInfo cartInfo = new CartInfo(); cartInfo.setUserId(userId); List cartInfos = cartInfoMapper.select(cartInfo); Map cartInfoMap = new HashMap<>(); for (CartInfo info : cartInfos) { cartInfoMap.put(info.getId(), JSON.toJSONString(info)); } if (cartInfoMap != null && cartInfoMap.size() > 0) { jedis.hmset("carts:" + userId + ":info", cartInfoMap); } jedis.close(); } @Override public List getCartCache(String userId) { Jedis jedis = redisUtil.getJedis(); List cartInfos = new ArrayList<>(); List hvals = jedis.hvals("carts:" + userId + ":info"); if (hvals != null && hvals.size() > 0) { for (String hval : hvals) { CartInfo cartInfo = JSON.parseObject(hval,CartInfo.class); cartInfos.add(cartInfo); } } return cartInfos; } @Override public void updateCartChecked(CartInfo cartInfo) { Example example = new Example(CartInfo.class); example.createCriteria().andEqualTo("skuId", cartInfo.getSkuId()).andEqualTo("userId", cartInfo.getUserId()); cartInfoMapper.updateByExampleSelective(cartInfo, example); syncCache(cartInfo.getUserId()); } @Override public void combineCart(List cartInfos, String userId) { if (cartInfos != null) { for (CartInfo cartInfo : cartInfos) { CartInfo info = ifCartExist(cartInfo); if (info == null) { //插入 cartInfo.setUserId(userId); cartInfoMapper.insertSelective(cartInfo); } else { //更新 info.setSkuNum(info.getSkuNum() + cartInfo.getSkuNum()); info.setCartPrice(info.getCartPrice().multiply(new BigDecimal(info.getSkuNum()))); cartInfoMapper.updateByPrimaryKeySelective(info); } } } //同步缓存 syncCache(userId); } @Override public List getCartCacheByChecked(String userId) { Jedis jedis = redisUtil.getJedis(); List cartInfos = new ArrayList<>(); List hvals = jedis.hvals("carts:" + userId + ":info"); if (hvals != null && hvals.size() > 0) { //取缓存中数据 for (String hval : hvals) { CartInfo cartInfo = JSON.parseObject(hval, CartInfo.class); if (cartInfo.getIsChecked().equals("1")) { cartInfos.add(cartInfo); } } } else { //取数据库中数据 CartInfo cartInfo = new CartInfo(); cartInfo.setUserId(userId); cartInfo.setIsChecked("1"); cartInfos = cartInfoMapper.select(cartInfo); } return cartInfos; } @Override public void deleteCartById(List cartInfos) { for (CartInfo cartInfo : cartInfos) { cartInfoMapper.deleteByPrimaryKey(cartInfo); } //同步缓存 syncCache(cartInfos.get(0).getUserId()); } } ================================================ FILE: gmall-cart-service/src/main/resources/application.properties ================================================ server.port=8074 #jdbc spring.datasource.username=root spring.datasource.password=password spring.datasource.url=jdbc:mysql://localhost:3306/gmall0328?characterEncoding=UTF-8 #mybatis mybatis.configuration.map-underscore-to-camel-case=true mybatis.mapper-locations=classpath:mapper/*Mapper.xml #zookeeper spring.dubbo.registry.address=192.168.159.129:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-cart-service spring.dubbo.protocol.name=dubbo spring.dubbo.base-package=com.lee.gmall #redis spring.redis.host=192.168.159.129 spring.redis.port=6379 spring.redis.database=0 ================================================ FILE: gmall-cart-service/src/test/java/com/lee/gmall/cart/GmallCartServiceApplicationTests.java ================================================ package com.lee.gmall.cart; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GmallCartServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: gmall-cart-web/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-cart-web 0.0.1-SNAPSHOT gmall-cart-web Demo project for Spring Boot 1.8 com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-web-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-cart-web/src/main/java/com/lee/gmall/GmallCartWebApplication.java ================================================ package com.lee.gmall; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class GmallCartWebApplication { public static void main(String[] args) { SpringApplication.run(GmallCartWebApplication.class, args); } } ================================================ FILE: gmall-cart-web/src/main/java/com/lee/gmall/cart/controller/CartController.java ================================================ package com.lee.gmall.cart.controller; import com.alibaba.dubbo.config.annotation.Reference; import com.alibaba.fastjson.JSON; import com.lee.gmall.annotation.LoginRequire; import com.lee.gmall.bean.CartInfo; import com.lee.gmall.bean.SkuInfo; import com.lee.gmall.service.CartService; import com.lee.gmall.service.SkuService; import com.lee.gmall.util.CookieUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @Controller public class CartController { @Reference SkuService skuService; @Reference CartService cartService; @LoginRequire(ifNeedSuccess = false) @RequestMapping("checkCart") public String checkCart(HttpServletRequest request, HttpServletResponse response, CartInfo cartInfo, ModelMap map) { String userId = (String) request.getAttribute("userId"); List cartInfos = new ArrayList<>(); //修改购物车选中状态 if (StringUtils.isNotBlank(userId)) { //更新数据库 cartInfo.setUserId(userId); cartService.updateCartChecked(cartInfo); } else { //更新cookie String cartListCookie = CookieUtil.getCookieValue(request, "cartListCookie", true); if (StringUtils.isNotBlank(cartListCookie)) { cartInfos = JSON.parseArray(cartListCookie, CartInfo.class); for (CartInfo info : cartInfos) { if (info.getSkuId().equals(cartInfo.getSkuId())) { info.setIsChecked(cartInfo.getIsChecked()); } } } CookieUtil.setCookie(request, response, "cartListCookie", JSON.toJSONString(cartInfos), 60 * 60 * 24 * 7, true); } //更新数据后将最新数据查询出来 if (StringUtils.isBlank(userId)) { //取cookie中的数据 String cartListCookie = CookieUtil.getCookieValue(request, "cartListCookie", true); if (StringUtils.isNotBlank(cartListCookie)) { cartInfos = JSON.parseArray(cartListCookie, CartInfo.class); } } else { //取缓存中的数据 cartInfos = cartService.getCartCache(userId); } map.put("cartList", cartInfos); return "cartListInner"; } @LoginRequire(ifNeedSuccess = false) @RequestMapping("cartList") public String cartList(HttpServletRequest request, ModelMap map) { String userId = (String) request.getAttribute("userId"); List cartInfos = new ArrayList<>(); if (StringUtils.isBlank(userId)) { //取cookie中的数据 String cartListCookie = CookieUtil.getCookieValue(request, "cartListCookie", true); if (StringUtils.isNotBlank(cartListCookie)) { cartInfos = JSON.parseArray(cartListCookie, CartInfo.class); } } else { //取缓存中的数据 cartInfos = cartService.getCartCache(userId); } map.put("cartList", cartInfos); map.put("totalPrice", getTotalPrice(cartInfos)); return "cartList"; } private BigDecimal getTotalPrice(List cartInfos) { BigDecimal totalPrice = new BigDecimal("0"); for (CartInfo cartInfo : cartInfos) { totalPrice = totalPrice.add(cartInfo.getCartPrice()); } return totalPrice; } @LoginRequire(ifNeedSuccess = false) @RequestMapping("addToCart") public String addToCart(HttpServletRequest request, HttpServletResponse response, CartInfo cartInfo) { //根据前台传入的skuId封装cartInfo SkuInfo sku = skuService.getSkuById(cartInfo.getSkuId()); cartInfo.setSkuPrice(sku.getPrice()); cartInfo.setSkuName(sku.getSkuName()); cartInfo.setCartPrice(sku.getPrice().multiply(new BigDecimal(cartInfo.getSkuNum()))); cartInfo.setImgUrl(sku.getSkuDefaultImg()); cartInfo.setIsChecked("1"); String userId = (String) request.getAttribute("userId"); List cartInfos = new ArrayList<>(); if (StringUtils.isBlank(userId)) { //用户未登录,添加到cookie String cartListCookieStr = CookieUtil.getCookieValue(request, "cartListCookie", true); if (StringUtils.isBlank(cartListCookieStr)) { //存在购物车列表cookie cartInfos.add(cartInfo); } else { //不存在购物车列表cookie cartInfos = JSON.parseArray(cartListCookieStr, CartInfo.class); //判断是否为重复的sku boolean isNewCart = isNewCart(cartInfos, cartInfo); if (isNewCart) { cartInfos.add(cartInfo); } else { for (CartInfo info : cartInfos) { String skuId = info.getSkuId(); String skuId1 = cartInfo.getSkuId(); if (skuId.equals(skuId1)) { info.setSkuNum(info.getSkuNum() + cartInfo.getSkuNum()); info.setCartPrice(info.getSkuPrice().multiply(new BigDecimal(info.getSkuNum()))); } } } } //操作完成后覆盖cookie CookieUtil.setCookie(request, response, "cartListCookie", JSON.toJSONString(cartInfos), 60 * 60 * 24 * 7, true); } else { //用户已登录,添加到数据库 cartInfo.setUserId(userId); String skuId = cartInfo.getSkuId(); //判断数据库中对应的cartInfo是否存在 CartInfo cartInfoDb = cartService.ifCartExist(cartInfo); if (cartInfoDb != null) { //更新数据库 cartInfoDb.setSkuNum(cartInfoDb.getSkuNum() + cartInfo.getSkuNum()); cartInfoDb.setCartPrice(cartInfoDb.getSkuPrice().multiply(new BigDecimal(cartInfoDb.getSkuNum()))); cartService.updateCart(cartInfoDb); } else { //插入数据库 cartService.insertCart(cartInfo); } //同步缓存 cartService.syncCache(userId); } return "redirect:/cartSuccess?skuId=" + sku.getId(); } private boolean isNewCart(List cartInfos, CartInfo cartInfo) { boolean isNewCart = true; String skuId = cartInfo.getSkuId(); for (CartInfo info : cartInfos) { skuId.equals(info.getSkuId()); isNewCart = false; } return isNewCart; } @LoginRequire(ifNeedSuccess = false) @RequestMapping("cartSuccess") public String cartSuccess(ModelMap map, String skuId) { SkuInfo sku = skuService.getSkuById(skuId); map.put("skuInfo", sku); return "success"; } } ================================================ FILE: gmall-cart-web/src/main/resources/application.properties ================================================ server.port=8084 #zookeeper spring.dubbo.registry.address=192.168.159.129:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-cart-web spring.dubbo.protocol.name=dubbo spring.dubbo.consumer.check=false spring.dubbo.consumer.timeout=60000 #thymeleaf spring.thymeleaf.mode=LEGACYHTML5 spring.thymeleaf.cache=false #MVC #spring.resources.static-locations=classpath:/static/ #logging.level.root=debug ================================================ FILE: gmall-cart-web/src/main/resources/static/bootstrap/css/bootstrap.css ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { margin: .67em 0; font-size: 2em; } mark { color: #000; background: #ff0; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { margin: 0; font: inherit; color: inherit; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { padding: .35em .625em .75em; margin: 0 2px; border: 1px solid #c0c0c0; } legend { padding: 0; border: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-spacing: 0; border-collapse: collapse; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { color: #000 !important; text-shadow: none !important; background: transparent !important; -webkit-box-shadow: none !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { font-weight: normal; line-height: 1; color: #777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { padding: .2em; background-color: #fcf8e3; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777; } .text-primary { color: #337ab7; } a.text-primary:hover, a.text-primary:focus { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover, a.text-success:focus { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover, a.text-info:focus { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover, a.text-warning:focus { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover, a.text-danger:focus { color: #843534; } .bg-primary { color: #fff; background-color: #337ab7; } a.bg-primary:hover, a.bg-primary:focus { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover, a.bg-success:focus { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover, a.bg-info:focus { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover, a.bg-warning:focus { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover, a.bg-danger:focus { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; margin-left: -5px; list-style: none; } .list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857143; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777; } .initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; color: #777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; text-align: right; border-right: 5px solid #eee; border-left: 0; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; } code, kbd, pre, samp { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; -webkit-box-shadow: none; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; color: #333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .row { margin-right: -15px; margin-left: -15px; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; } .col-xs-pull-12 { right: 100%; } .col-xs-pull-11 { right: 91.66666667%; } .col-xs-pull-10 { right: 83.33333333%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-8 { right: 66.66666667%; } .col-xs-pull-7 { right: 58.33333333%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-5 { right: 41.66666667%; } .col-xs-pull-4 { right: 33.33333333%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-2 { right: 16.66666667%; } .col-xs-pull-1 { right: 8.33333333%; } .col-xs-pull-0 { right: auto; } .col-xs-push-12 { left: 100%; } .col-xs-push-11 { left: 91.66666667%; } .col-xs-push-10 { left: 83.33333333%; } .col-xs-push-9 { left: 75%; } .col-xs-push-8 { left: 66.66666667%; } .col-xs-push-7 { left: 58.33333333%; } .col-xs-push-6 { left: 50%; } .col-xs-push-5 { left: 41.66666667%; } .col-xs-push-4 { left: 33.33333333%; } .col-xs-push-3 { left: 25%; } .col-xs-push-2 { left: 16.66666667%; } .col-xs-push-1 { left: 8.33333333%; } .col-xs-push-0 { left: auto; } .col-xs-offset-12 { margin-left: 100%; } .col-xs-offset-11 { margin-left: 91.66666667%; } .col-xs-offset-10 { margin-left: 83.33333333%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-8 { margin-left: 66.66666667%; } .col-xs-offset-7 { margin-left: 58.33333333%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-5 { margin-left: 41.66666667%; } .col-xs-offset-4 { margin-left: 33.33333333%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-2 { margin-left: 16.66666667%; } .col-xs-offset-1 { margin-left: 8.33333333%; } .col-xs-offset-0 { margin-left: 0; } @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; } .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; } .col-sm-8 { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; } .col-sm-6 { width: 50%; } .col-sm-5 { width: 41.66666667%; } .col-sm-4 { width: 33.33333333%; } .col-sm-3 { width: 25%; } .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } .col-sm-pull-12 { right: 100%; } .col-sm-pull-11 { right: 91.66666667%; } .col-sm-pull-10 { right: 83.33333333%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-8 { right: 66.66666667%; } .col-sm-pull-7 { right: 58.33333333%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-5 { right: 41.66666667%; } .col-sm-pull-4 { right: 33.33333333%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-2 { right: 16.66666667%; } .col-sm-pull-1 { right: 8.33333333%; } .col-sm-pull-0 { right: auto; } .col-sm-push-12 { left: 100%; } .col-sm-push-11 { left: 91.66666667%; } .col-sm-push-10 { left: 83.33333333%; } .col-sm-push-9 { left: 75%; } .col-sm-push-8 { left: 66.66666667%; } .col-sm-push-7 { left: 58.33333333%; } .col-sm-push-6 { left: 50%; } .col-sm-push-5 { left: 41.66666667%; } .col-sm-push-4 { left: 33.33333333%; } .col-sm-push-3 { left: 25%; } .col-sm-push-2 { left: 16.66666667%; } .col-sm-push-1 { left: 8.33333333%; } .col-sm-push-0 { left: auto; } .col-sm-offset-12 { margin-left: 100%; } .col-sm-offset-11 { margin-left: 91.66666667%; } .col-sm-offset-10 { margin-left: 83.33333333%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-8 { margin-left: 66.66666667%; } .col-sm-offset-7 { margin-left: 58.33333333%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-5 { margin-left: 41.66666667%; } .col-sm-offset-4 { margin-left: 33.33333333%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-2 { margin-left: 16.66666667%; } .col-sm-offset-1 { margin-left: 8.33333333%; } .col-sm-offset-0 { margin-left: 0; } } @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; } .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; } .col-md-6 { width: 50%; } .col-md-5 { width: 41.66666667%; } .col-md-4 { width: 33.33333333%; } .col-md-3 { width: 25%; } .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } .col-md-pull-12 { right: 100%; } .col-md-pull-11 { right: 91.66666667%; } .col-md-pull-10 { right: 83.33333333%; } .col-md-pull-9 { right: 75%; } .col-md-pull-8 { right: 66.66666667%; } .col-md-pull-7 { right: 58.33333333%; } .col-md-pull-6 { right: 50%; } .col-md-pull-5 { right: 41.66666667%; } .col-md-pull-4 { right: 33.33333333%; } .col-md-pull-3 { right: 25%; } .col-md-pull-2 { right: 16.66666667%; } .col-md-pull-1 { right: 8.33333333%; } .col-md-pull-0 { right: auto; } .col-md-push-12 { left: 100%; } .col-md-push-11 { left: 91.66666667%; } .col-md-push-10 { left: 83.33333333%; } .col-md-push-9 { left: 75%; } .col-md-push-8 { left: 66.66666667%; } .col-md-push-7 { left: 58.33333333%; } .col-md-push-6 { left: 50%; } .col-md-push-5 { left: 41.66666667%; } .col-md-push-4 { left: 33.33333333%; } .col-md-push-3 { left: 25%; } .col-md-push-2 { left: 16.66666667%; } .col-md-push-1 { left: 8.33333333%; } .col-md-push-0 { left: auto; } .col-md-offset-12 { margin-left: 100%; } .col-md-offset-11 { margin-left: 91.66666667%; } .col-md-offset-10 { margin-left: 83.33333333%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-8 { margin-left: 66.66666667%; } .col-md-offset-7 { margin-left: 58.33333333%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-5 { margin-left: 41.66666667%; } .col-md-offset-4 { margin-left: 33.33333333%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-2 { margin-left: 16.66666667%; } .col-md-offset-1 { margin-left: 8.33333333%; } .col-md-offset-0 { margin-left: 0; } } @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; } .col-lg-pull-12 { right: 100%; } .col-lg-pull-11 { right: 91.66666667%; } .col-lg-pull-10 { right: 83.33333333%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-8 { right: 66.66666667%; } .col-lg-pull-7 { right: 58.33333333%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-5 { right: 41.66666667%; } .col-lg-pull-4 { right: 33.33333333%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-2 { right: 16.66666667%; } .col-lg-pull-1 { right: 8.33333333%; } .col-lg-pull-0 { right: auto; } .col-lg-push-12 { left: 100%; } .col-lg-push-11 { left: 91.66666667%; } .col-lg-push-10 { left: 83.33333333%; } .col-lg-push-9 { left: 75%; } .col-lg-push-8 { left: 66.66666667%; } .col-lg-push-7 { left: 58.33333333%; } .col-lg-push-6 { left: 50%; } .col-lg-push-5 { left: 41.66666667%; } .col-lg-push-4 { left: 33.33333333%; } .col-lg-push-3 { left: 25%; } .col-lg-push-2 { left: 16.66666667%; } .col-lg-push-1 { left: 8.33333333%; } .col-lg-push-0 { left: auto; } .col-lg-offset-12 { margin-left: 100%; } .col-lg-offset-11 { margin-left: 91.66666667%; } .col-lg-offset-10 { margin-left: 83.33333333%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-8 { margin-left: 66.66666667%; } .col-lg-offset-7 { margin-left: 58.33333333%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-5 { margin-left: 41.66666667%; } .col-lg-offset-4 { margin-left: 33.33333333%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-2 { margin-left: 16.66666667%; } .col-lg-offset-1 { margin-left: 8.33333333%; } .col-lg-offset-0 { margin-left: 0; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { border-top: 0; } .table > tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; display: table-column; float: none; } table td[class*="col-"], table th[class*="col-"] { position: static; display: table-cell; float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { min-height: .01%; overflow-x: auto; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.42857143; color: #555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 34px; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm, .input-group-sm input[type="date"], .input-group-sm input[type="time"], .input-group-sm input[type="datetime-local"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg, .input-group-lg input[type="date"], .input-group-lg input[type="time"], .input-group-lg input[type="datetime-local"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-top: 4px \9; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { min-height: 34px; padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; } .form-control-static.input-lg, .form-control-static.input-sm { padding-right: 0; padding-left: 0; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm, select[multiple].input-sm { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 6px 10px; font-size: 12px; line-height: 1.5; } .input-lg { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg { height: 46px; line-height: 46px; } textarea.input-lg, select[multiple].input-lg { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; min-height: 38px; padding: 11px 16px; font-size: 18px; line-height: 1.3333333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg + .form-control-feedback, .form-group-lg .form-control + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm + .form-control-feedback, .form-group-sm .form-control + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-success .form-control:focus { border-color: #2b542c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; background-color: #dff0d8; border-color: #3c763d; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-warning .form-control:focus { border-color: #66512c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; background-color: #fcf8e3; border-color: #8a6d3b; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-error .form-control:focus { border-color: #843534; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; background-color: #f2dede; border-color: #a94442; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { padding-top: 7px; margin-top: 0; margin-bottom: 0; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0; text-align: right; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.333333px; font-size: 18px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; } a.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:focus, .btn-default.focus { color: #333; background-color: #e6e6e6; border-color: #8c8c8c; } .btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active:hover, .btn-default.active:hover, .open > .dropdown-toggle.btn-default:hover, .btn-default:active:focus, .btn-default.active:focus, .open > .dropdown-toggle.btn-default:focus, .btn-default:active.focus, .btn-default.active.focus, .open > .dropdown-toggle.btn-default.focus { color: #333; background-color: #d4d4d4; border-color: #8c8c8c; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #286090; border-color: #122b40; } .btn-primary:hover { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active:hover, .btn-primary.active:hover, .open > .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .dropdown-toggle.btn-primary.focus { color: #fff; background-color: #204d74; border-color: #122b40; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #449d44; border-color: #255625; } .btn-success:hover { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus { color: #fff; background-color: #398439; border-color: #255625; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #31b0d5; border-color: #1b6d85; } .btn-info:hover { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active:hover, .btn-info.active:hover, .open > .dropdown-toggle.btn-info:hover, .btn-info:active:focus, .btn-info.active:focus, .open > .dropdown-toggle.btn-info:focus, .btn-info:active.focus, .btn-info.active.focus, .open > .dropdown-toggle.btn-info.focus { color: #fff; background-color: #269abc; border-color: #1b6d85; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:focus, .btn-warning.focus { color: #fff; background-color: #ec971f; border-color: #985f0d; } .btn-warning:hover { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active:hover, .btn-warning.active:hover, .open > .dropdown-toggle.btn-warning:hover, .btn-warning:active:focus, .btn-warning.active:focus, .open > .dropdown-toggle.btn-warning:focus, .btn-warning:active.focus, .btn-warning.active.focus, .open > .dropdown-toggle.btn-warning.focus { color: #fff; background-color: #d58512; border-color: #985f0d; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #c9302c; border-color: #761c19; } .btn-danger:hover { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus { color: #fff; background-color: #ac2925; border-color: #761c19; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { font-weight: normal; color: #337ab7; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity .15s linear; -o-transition: opacity .15s linear; transition: opacity .15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-duration: .35s; -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: #262626; text-decoration: none; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; background-color: #337ab7; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { right: 0; left: auto; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857143; color: #777; white-space: nowrap; } .dropdown-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; border-bottom: 4px dashed; border-bottom: 4px solid \9; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { right: auto; left: 0; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 46px; line-height: 46px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555; text-align: center; background-color: #eee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { z-index: 2; margin-left: -1px; } .nav { padding-left: 0; margin-bottom: 0; list-style: none; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eee; } .nav > li.disabled > a { color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eee #eee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0; padding-left: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #555; background-color: #e7e7e7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #777; } .navbar-default .navbar-link:hover { color: #333; } .navbar-default .btn-link { color: #777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #333; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #080808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { color: #fff; background-color: #080808; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; } .breadcrumb > .active { color: #777; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { z-index: 3; color: #23527c; background-color: #eee; border-color: #ddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #777; cursor: not-allowed; background-color: #fff; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } a.label:hover, a.label:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } .label-default { background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { background-color: #5e5e5e; } .label-primary { background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #286090; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: middle; background-color: #777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { border-radius: 6px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron, .container-fluid .jumbotron { padding-right: 60px; padding-left: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: border .2s ease-in-out; -o-transition: border .2s ease-in-out; transition: border .2s ease-in-out; } .thumbnail > img, .thumbnail a > img { margin-right: auto; margin-left: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #337ab7; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable, .alert-dismissible { padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #2b542c; } .alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #245269; } .alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .alert-warning hr { border-top-color: #f7e1b5; } .alert-warning .alert-link { color: #66512c; } .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .alert-danger hr { border-top-color: #e4b9c0; } .alert-danger .alert-link { color: #843534; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); } .progress-bar { float: left; width: 0; height: 100%; font-size: 12px; line-height: 20px; color: #fff; text-align: center; background-color: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { overflow: hidden; zoom: 1; } .media-body { width: 10000px; } .media-object { display: block; } .media-object.img-thumbnail { max-width: none; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-left-radius: 4px; border-top-right-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item, button.list-group-item { color: #555; } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, button.list-group-item:hover, a.list-group-item:focus, button.list-group-item:focus { color: #555; text-decoration: none; background-color: #f5f5f5; } button.list-group-item { width: 100%; text-align: left; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { color: #777; cursor: not-allowed; background-color: #eee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { color: #777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } a.list-group-item-success, button.list-group-item-success { color: #3c763d; } a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, button.list-group-item-success:hover, a.list-group-item-success:focus, button.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, button.list-group-item-success.active, a.list-group-item-success.active:hover, button.list-group-item-success.active:hover, a.list-group-item-success.active:focus, button.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; } .list-group-item-info { color: #31708f; background-color: #d9edf7; } a.list-group-item-info, button.list-group-item-info { color: #31708f; } a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, button.list-group-item-info:hover, a.list-group-item-info:focus, button.list-group-item-info:focus { color: #31708f; background-color: #c4e3f3; } a.list-group-item-info.active, button.list-group-item-info.active, a.list-group-item-info.active:hover, button.list-group-item-info.active:hover, a.list-group-item-info.active:focus, button.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; } .list-group-item-warning { color: #8a6d3b; background-color: #fcf8e3; } a.list-group-item-warning, button.list-group-item-warning { color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, button.list-group-item-warning:hover, a.list-group-item-warning:focus, button.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, button.list-group-item-warning.active, a.list-group-item-warning.active:hover, button.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, button.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; } .list-group-item-danger { color: #a94442; background-color: #f2dede; } a.list-group-item-danger, button.list-group-item-danger { color: #a94442; } a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, button.list-group-item-danger:hover, a.list-group-item-danger:focus, button.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, button.list-group-item-danger.active, a.list-group-item-danger.active:hover, button.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, button.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #fff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .list-group + .panel-footer { border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { margin-bottom: 0; } .panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption { padding-right: 15px; padding-left: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { margin-bottom: 0; border: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; background-color: #337ab7; border-color: #337ab7; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #337ab7; } .panel-primary > .panel-heading .badge { color: #337ab7; background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { color: #d9edf7; background-color: #31708f; } .panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { border-color: #faebcc; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #a94442; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; } .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, .15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); opacity: .2; } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; filter: alpha(opacity=50); opacity: .5; } button.close { -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; } .modal-open { overflow: hidden; } .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; -o-transition: -o-transform .3s ease-out; transition: transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; outline: 0; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; } .modal-backdrop.fade { filter: alpha(opacity=0); opacity: 0; } .modal-backdrop.in { filter: alpha(opacity=50); opacity: .5; } .modal-header { min-height: 16.42857143px; padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857143; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); box-shadow: 0 5px 15px rgba(0, 0, 0, .5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; filter: alpha(opacity=0); opacity: 0; line-break: auto; } .tooltip.in { filter: alpha(opacity=90); opacity: .9; } .tooltip.top { padding: 5px 0; margin-top: -3px; } .tooltip.right { padding: 0 5px; margin-left: 3px; } .tooltip.bottom { padding: 5px 0; margin-top: 3px; } .tooltip.left { padding: 0 5px; margin-left: -3px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { right: 5px; bottom: 0; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2); line-break: auto; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { padding: 8px 14px; margin: 0; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover > .arrow { border-width: 11px; } .popover > .arrow:after { content: ""; border-width: 10px; } .popover.top > .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999; border-top-color: rgba(0, 0, 0, .25); border-bottom-width: 0; } .popover.top > .arrow:after { bottom: 1px; margin-left: -10px; content: " "; border-top-color: #fff; border-bottom-width: 0; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999; border-right-color: rgba(0, 0, 0, .25); border-left-width: 0; } .popover.right > .arrow:after { bottom: -10px; left: 1px; content: " "; border-right-color: #fff; border-left-width: 0; } .popover.bottom > .arrow { top: -11px; left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, .25); } .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; content: " "; border-top-width: 0; border-bottom-color: #fff; } .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, .25); } .popover.left > .arrow:after { right: 1px; bottom: -10px; content: " "; border-right-width: 0; border-left-color: #fff; } .carousel { position: relative; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner > .item { position: relative; display: none; -webkit-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform .6s ease-in-out; -o-transition: -o-transform .6s ease-in-out; transition: transform .6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { left: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { left: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { left: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); filter: alpha(opacity=50); opacity: .5; } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x; } .carousel-control.right { right: 0; left: auto; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; filter: alpha(opacity=90); outline: 0; opacity: .9; } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -10px; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; font-family: serif; line-height: 1; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff; border-radius: 10px; } .carousel-indicators .active { width: 12px; height: 12px; margin: 0; background-color: #fff; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after { display: table; content: " "; } .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after { clear: both; } .center-block { display: block; margin-right: auto; margin-left: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { display: table !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { display: table !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg-block { display: block !important; } } @media (min-width: 1200px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1200px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: gmall-cart-web/src/main/resources/static/bootstrap/js/bootstrap.js ================================================ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-2016 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4') } }(jQuery); /* ======================================================================== * Bootstrap: transition.js v3.3.7 * http://getbootstrap.com/javascript/#transitions * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // ============================================================ function transitionEnd() { var el = document.createElement('bootstrap') var transEndEventNames = { WebkitTransition : 'webkitTransitionEnd', MozTransition : 'transitionend', OTransition : 'oTransitionEnd otransitionend', transition : 'transitionend' } for (var name in transEndEventNames) { if (el.style[name] !== undefined) { return { end: transEndEventNames[name] } } } return false // explicit for ie8 ( ._.) } // http://blog.alexmaccaw.com/css-transitions $.fn.emulateTransitionEnd = function (duration) { var called = false var $el = this $(this).one('bsTransitionEnd', function () { called = true }) var callback = function () { if (!called) $($el).trigger($.support.transition.end) } setTimeout(callback, duration) return this } $(function () { $.support.transition = transitionEnd() if (!$.support.transition) return $.event.special.bsTransitionEnd = { bindType: $.support.transition.end, delegateType: $.support.transition.end, handle: function (e) { if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } } }) }(jQuery); /* ======================================================================== * Bootstrap: alert.js v3.3.7 * http://getbootstrap.com/javascript/#alerts * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ====================== var dismiss = '[data-dismiss="alert"]' var Alert = function (el) { $(el).on('click', dismiss, this.close) } Alert.VERSION = '3.3.7' Alert.TRANSITION_DURATION = 150 Alert.prototype.close = function (e) { var $this = $(this) var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = $(selector === '#' ? [] : selector) if (e) e.preventDefault() if (!$parent.length) { $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) if (e.isDefaultPrevented()) return $parent.removeClass('in') function removeElement() { // detach from parent, fire event then clean up data $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent .one('bsTransitionEnd', removeElement) .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } // ALERT PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') if (!data) $this.data('bs.alert', (data = new Alert(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.alert $.fn.alert = Plugin $.fn.alert.Constructor = Alert // ALERT NO CONFLICT // ================= $.fn.alert.noConflict = function () { $.fn.alert = old return this } // ALERT DATA-API // ============== $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) }(jQuery); /* ======================================================================== * Bootstrap: button.js v3.3.7 * http://getbootstrap.com/javascript/#buttons * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { this.$element = $(element) this.options = $.extend({}, Button.DEFAULTS, options) this.isLoading = false } Button.VERSION = '3.3.7' Button.DEFAULTS = { loadingText: 'loading...' } Button.prototype.setState = function (state) { var d = 'disabled' var $el = this.$element var val = $el.is('input') ? 'val' : 'html' var data = $el.data() state += 'Text' if (data.resetText == null) $el.data('resetText', $el[val]()) // push to event loop to allow forms to submit setTimeout($.proxy(function () { $el[val](data[state] == null ? this.options[state] : data[state]) if (state == 'loadingText') { this.isLoading = true $el.addClass(d).attr(d, d).prop(d, true) } else if (this.isLoading) { this.isLoading = false $el.removeClass(d).removeAttr(d).prop(d, false) } }, this), 0) } Button.prototype.toggle = function () { var changed = true var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') if ($input.prop('type') == 'radio') { if ($input.prop('checked')) changed = false $parent.find('.active').removeClass('active') this.$element.addClass('active') } else if ($input.prop('type') == 'checkbox') { if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false this.$element.toggleClass('active') } $input.prop('checked', this.$element.hasClass('active')) if (changed) $input.trigger('change') } else { this.$element.attr('aria-pressed', !this.$element.hasClass('active')) this.$element.toggleClass('active') } } // BUTTON PLUGIN DEFINITION // ======================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.button') var options = typeof option == 'object' && option if (!data) $this.data('bs.button', (data = new Button(this, options))) if (option == 'toggle') data.toggle() else if (option) data.setState(option) }) } var old = $.fn.button $.fn.button = Plugin $.fn.button.Constructor = Button // BUTTON NO CONFLICT // ================== $.fn.button.noConflict = function () { $.fn.button = old return this } // BUTTON DATA-API // =============== $(document) .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { var $btn = $(e.target).closest('.btn') Plugin.call($btn, 'toggle') if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) { // Prevent double click on radios, and the double selections (so cancellation) on checkboxes e.preventDefault() // The target component still receive the focus if ($btn.is('input,button')) $btn.trigger('focus') else $btn.find('input:visible,button:visible').first().trigger('focus') } }) .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) }) }(jQuery); /* ======================================================================== * Bootstrap: carousel.js v3.3.7 * http://getbootstrap.com/javascript/#carousel * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= var Carousel = function (element, options) { this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') this.options = options this.paused = null this.sliding = null this.interval = null this.$active = null this.$items = null this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } Carousel.VERSION = '3.3.7' Carousel.TRANSITION_DURATION = 600 Carousel.DEFAULTS = { interval: 5000, pause: 'hover', wrap: true, keyboard: true } Carousel.prototype.keydown = function (e) { if (/input|textarea/i.test(e.target.tagName)) return switch (e.which) { case 37: this.prev(); break case 39: this.next(); break default: return } e.preventDefault() } Carousel.prototype.cycle = function (e) { e || (this.paused = false) this.interval && clearInterval(this.interval) this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) return this } Carousel.prototype.getItemIndex = function (item) { this.$items = item.parent().children('.item') return this.$items.index(item || this.$active) } Carousel.prototype.getItemForDirection = function (direction, active) { var activeIndex = this.getItemIndex(active) var willWrap = (direction == 'prev' && activeIndex === 0) || (direction == 'next' && activeIndex == (this.$items.length - 1)) if (willWrap && !this.options.wrap) return active var delta = direction == 'prev' ? -1 : 1 var itemIndex = (activeIndex + delta) % this.$items.length return this.$items.eq(itemIndex) } Carousel.prototype.to = function (pos) { var that = this var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) if (pos > (this.$items.length - 1) || pos < 0) return if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" if (activeIndex == pos) return this.pause().cycle() return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) } Carousel.prototype.pause = function (e) { e || (this.paused = true) if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } this.interval = clearInterval(this.interval) return this } Carousel.prototype.next = function () { if (this.sliding) return return this.slide('next') } Carousel.prototype.prev = function () { if (this.sliding) return return this.slide('prev') } Carousel.prototype.slide = function (type, next) { var $active = this.$element.find('.item.active') var $next = next || this.getItemForDirection(type, $active) var isCycling = this.interval var direction = type == 'next' ? 'left' : 'right' var that = this if ($next.hasClass('active')) return (this.sliding = false) var relatedTarget = $next[0] var slideEvent = $.Event('slide.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) this.$element.trigger(slideEvent) if (slideEvent.isDefaultPrevented()) return this.sliding = true isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) $nextIndicator && $nextIndicator.addClass('active') } var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" if ($.support.transition && this.$element.hasClass('slide')) { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) $active .one('bsTransitionEnd', function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) that.sliding = false setTimeout(function () { that.$element.trigger(slidEvent) }, 0) }) .emulateTransitionEnd(Carousel.TRANSITION_DURATION) } else { $active.removeClass('active') $next.addClass('active') this.sliding = false this.$element.trigger(slidEvent) } isCycling && this.cycle() return this } // CAROUSEL PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.carousel') var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) var action = typeof option == 'string' ? option : options.slide if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) if (typeof option == 'number') data.to(option) else if (action) data[action]() else if (options.interval) data.pause().cycle() }) } var old = $.fn.carousel $.fn.carousel = Plugin $.fn.carousel.Constructor = Carousel // CAROUSEL NO CONFLICT // ==================== $.fn.carousel.noConflict = function () { $.fn.carousel = old return this } // CAROUSEL DATA-API // ================= var clickHandler = function (e) { var href var $this = $(this) var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 if (!$target.hasClass('carousel')) return var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false Plugin.call($target, options) if (slideIndex) { $target.data('bs.carousel').to(slideIndex) } e.preventDefault() } $(document) .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) $(window).on('load', function () { $('[data-ride="carousel"]').each(function () { var $carousel = $(this) Plugin.call($carousel, $carousel.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: collapse.js v3.3.7 * http://getbootstrap.com/javascript/#collapse * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ /* jshint latedef: false */ +function ($) { 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ var Collapse = function (element, options) { this.$element = $(element) this.options = $.extend({}, Collapse.DEFAULTS, options) this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + '[data-toggle="collapse"][data-target="#' + element.id + '"]') this.transitioning = null if (this.options.parent) { this.$parent = this.getParent() } else { this.addAriaAndCollapsedClass(this.$element, this.$trigger) } if (this.options.toggle) this.toggle() } Collapse.VERSION = '3.3.7' Collapse.TRANSITION_DURATION = 350 Collapse.DEFAULTS = { toggle: true } Collapse.prototype.dimension = function () { var hasWidth = this.$element.hasClass('width') return hasWidth ? 'width' : 'height' } Collapse.prototype.show = function () { if (this.transitioning || this.$element.hasClass('in')) return var activesData var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') if (actives && actives.length) { activesData = actives.data('bs.collapse') if (activesData && activesData.transitioning) return } var startEvent = $.Event('show.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return if (actives && actives.length) { Plugin.call(actives, 'hide') activesData || actives.data('bs.collapse', null) } var dimension = this.dimension() this.$element .removeClass('collapse') .addClass('collapsing')[dimension](0) .attr('aria-expanded', true) this.$trigger .removeClass('collapsed') .attr('aria-expanded', true) this.transitioning = 1 var complete = function () { this.$element .removeClass('collapsing') .addClass('collapse in')[dimension]('') this.transitioning = 0 this.$element .trigger('shown.bs.collapse') } if (!$.support.transition) return complete.call(this) var scrollSize = $.camelCase(['scroll', dimension].join('-')) this.$element .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) } Collapse.prototype.hide = function () { if (this.transitioning || !this.$element.hasClass('in')) return var startEvent = $.Event('hide.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return var dimension = this.dimension() this.$element[dimension](this.$element[dimension]())[0].offsetHeight this.$element .addClass('collapsing') .removeClass('collapse in') .attr('aria-expanded', false) this.$trigger .addClass('collapsed') .attr('aria-expanded', false) this.transitioning = 1 var complete = function () { this.transitioning = 0 this.$element .removeClass('collapsing') .addClass('collapse') .trigger('hidden.bs.collapse') } if (!$.support.transition) return complete.call(this) this.$element [dimension](0) .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION) } Collapse.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() } Collapse.prototype.getParent = function () { return $(this.options.parent) .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') .each($.proxy(function (i, element) { var $element = $(element) this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) }, this)) .end() } Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { var isOpen = $element.hasClass('in') $element.attr('aria-expanded', isOpen) $trigger .toggleClass('collapsed', !isOpen) .attr('aria-expanded', isOpen) } function getTargetFromTrigger($trigger) { var href var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 return $(target) } // COLLAPSE PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.collapse $.fn.collapse = Plugin $.fn.collapse.Constructor = Collapse // COLLAPSE NO CONFLICT // ==================== $.fn.collapse.noConflict = function () { $.fn.collapse = old return this } // COLLAPSE DATA-API // ================= $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { var $this = $(this) if (!$this.attr('data-target')) e.preventDefault() var $target = getTargetFromTrigger($this) var data = $target.data('bs.collapse') var option = data ? 'toggle' : $this.data() Plugin.call($target, option) }) }(jQuery); /* ======================================================================== * Bootstrap: dropdown.js v3.3.7 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= var backdrop = '.dropdown-backdrop' var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } Dropdown.VERSION = '3.3.7' function getParent($this) { var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = selector && $(selector) return $parent && $parent.length ? $parent : $this.parent() } function clearMenus(e) { if (e && e.which === 3) return $(backdrop).remove() $(toggle).each(function () { var $this = $(this) var $parent = getParent($this) var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this.attr('aria-expanded', 'false') $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) }) } Dropdown.prototype.toggle = function (e) { var $this = $(this) if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') clearMenus() if (!isActive) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we use a backdrop because click events don't delegate $(document.createElement('div')) .addClass('dropdown-backdrop') .insertAfter($(this)) .on('click', clearMenus) } var relatedTarget = { relatedTarget: this } $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this .trigger('focus') .attr('aria-expanded', 'true') $parent .toggleClass('open') .trigger($.Event('shown.bs.dropdown', relatedTarget)) } return false } Dropdown.prototype.keydown = function (e) { if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return var $this = $(this) e.preventDefault() e.stopPropagation() if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') if (!isActive && e.which != 27 || isActive && e.which == 27) { if (e.which == 27) $parent.find(toggle).trigger('focus') return $this.trigger('click') } var desc = ' li:not(.disabled):visible a' var $items = $parent.find('.dropdown-menu' + desc) if (!$items.length) return var index = $items.index(e.target) if (e.which == 38 && index > 0) index-- // up if (e.which == 40 && index < $items.length - 1) index++ // down if (!~index) index = 0 $items.eq(index).trigger('focus') } // DROPDOWN PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.dropdown') if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.dropdown $.fn.dropdown = Plugin $.fn.dropdown.Constructor = Dropdown // DROPDOWN NO CONFLICT // ==================== $.fn.dropdown.noConflict = function () { $.fn.dropdown = old return this } // APPLY TO STANDARD DROPDOWN ELEMENTS // =================================== $(document) .on('click.bs.dropdown.data-api', clearMenus) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) }(jQuery); /* ======================================================================== * Bootstrap: modal.js v3.3.7 * http://getbootstrap.com/javascript/#modals * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // MODAL CLASS DEFINITION // ====================== var Modal = function (element, options) { this.options = options this.$body = $(document.body) this.$element = $(element) this.$dialog = this.$element.find('.modal-dialog') this.$backdrop = null this.isShown = null this.originalBodyPad = null this.scrollbarWidth = 0 this.ignoreBackdropClick = false if (this.options.remote) { this.$element .find('.modal-content') .load(this.options.remote, $.proxy(function () { this.$element.trigger('loaded.bs.modal') }, this)) } } Modal.VERSION = '3.3.7' Modal.TRANSITION_DURATION = 300 Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.DEFAULTS = { backdrop: true, keyboard: true, show: true } Modal.prototype.toggle = function (_relatedTarget) { return this.isShown ? this.hide() : this.show(_relatedTarget) } Modal.prototype.show = function (_relatedTarget) { var that = this var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) this.$element.trigger(e) if (this.isShown || e.isDefaultPrevented()) return this.isShown = true this.checkScrollbar() this.setScrollbar() this.$body.addClass('modal-open') this.escape() this.resize() this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.$dialog.on('mousedown.dismiss.bs.modal', function () { that.$element.one('mouseup.dismiss.bs.modal', function (e) { if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true }) }) this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') if (!that.$element.parent().length) { that.$element.appendTo(that.$body) // don't move modals dom position } that.$element .show() .scrollTop(0) that.adjustDialog() if (transition) { that.$element[0].offsetWidth // force reflow } that.$element.addClass('in') that.enforceFocus() var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) transition ? that.$dialog // wait for modal to slide in .one('bsTransitionEnd', function () { that.$element.trigger('focus').trigger(e) }) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : that.$element.trigger('focus').trigger(e) }) } Modal.prototype.hide = function (e) { if (e) e.preventDefault() e = $.Event('hide.bs.modal') this.$element.trigger(e) if (!this.isShown || e.isDefaultPrevented()) return this.isShown = false this.escape() this.resize() $(document).off('focusin.bs.modal') this.$element .removeClass('in') .off('click.dismiss.bs.modal') .off('mouseup.dismiss.bs.modal') this.$dialog.off('mousedown.dismiss.bs.modal') $.support.transition && this.$element.hasClass('fade') ? this.$element .one('bsTransitionEnd', $.proxy(this.hideModal, this)) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : this.hideModal() } Modal.prototype.enforceFocus = function () { $(document) .off('focusin.bs.modal') // guard against infinite focus loop .on('focusin.bs.modal', $.proxy(function (e) { if (document !== e.target && this.$element[0] !== e.target && !this.$element.has(e.target).length) { this.$element.trigger('focus') } }, this)) } Modal.prototype.escape = function () { if (this.isShown && this.options.keyboard) { this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { e.which == 27 && this.hide() }, this)) } else if (!this.isShown) { this.$element.off('keydown.dismiss.bs.modal') } } Modal.prototype.resize = function () { if (this.isShown) { $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) } else { $(window).off('resize.bs.modal') } } Modal.prototype.hideModal = function () { var that = this this.$element.hide() this.backdrop(function () { that.$body.removeClass('modal-open') that.resetAdjustments() that.resetScrollbar() that.$element.trigger('hidden.bs.modal') }) } Modal.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove() this.$backdrop = null } Modal.prototype.backdrop = function (callback) { var that = this var animate = this.$element.hasClass('fade') ? 'fade' : '' if (this.isShown && this.options.backdrop) { var doAnimate = $.support.transition && animate this.$backdrop = $(document.createElement('div')) .addClass('modal-backdrop ' + animate) .appendTo(this.$body) this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { if (this.ignoreBackdropClick) { this.ignoreBackdropClick = false return } if (e.target !== e.currentTarget) return this.options.backdrop == 'static' ? this.$element[0].focus() : this.hide() }, this)) if (doAnimate) this.$backdrop[0].offsetWidth // force reflow this.$backdrop.addClass('in') if (!callback) return doAnimate ? this.$backdrop .one('bsTransitionEnd', callback) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callback() } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass('in') var callbackRemove = function () { that.removeBackdrop() callback && callback() } $.support.transition && this.$element.hasClass('fade') ? this.$backdrop .one('bsTransitionEnd', callbackRemove) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callbackRemove() } else if (callback) { callback() } } // these following methods are used to handle overflowing modals Modal.prototype.handleUpdate = function () { this.adjustDialog() } Modal.prototype.adjustDialog = function () { var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight this.$element.css({ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' }) } Modal.prototype.resetAdjustments = function () { this.$element.css({ paddingLeft: '', paddingRight: '' }) } Modal.prototype.checkScrollbar = function () { var fullWindowWidth = window.innerWidth if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 var documentElementRect = document.documentElement.getBoundingClientRect() fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) } this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth this.scrollbarWidth = this.measureScrollbar() } Modal.prototype.setScrollbar = function () { var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) this.originalBodyPad = document.body.style.paddingRight || '' if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) } Modal.prototype.resetScrollbar = function () { this.$body.css('padding-right', this.originalBodyPad) } Modal.prototype.measureScrollbar = function () { // thx walsh var scrollDiv = document.createElement('div') scrollDiv.className = 'modal-scrollbar-measure' this.$body.append(scrollDiv) var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth this.$body[0].removeChild(scrollDiv) return scrollbarWidth } // MODAL PLUGIN DEFINITION // ======================= function Plugin(option, _relatedTarget) { return this.each(function () { var $this = $(this) var data = $this.data('bs.modal') var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data) $this.data('bs.modal', (data = new Modal(this, options))) if (typeof option == 'string') data[option](_relatedTarget) else if (options.show) data.show(_relatedTarget) }) } var old = $.fn.modal $.fn.modal = Plugin $.fn.modal.Constructor = Modal // MODAL NO CONFLICT // ================= $.fn.modal.noConflict = function () { $.fn.modal = old return this } // MODAL DATA-API // ============== $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { var $this = $(this) var href = $this.attr('href') var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) if ($this.is('a')) e.preventDefault() $target.one('show.bs.modal', function (showEvent) { if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown $target.one('hidden.bs.modal', function () { $this.is(':visible') && $this.trigger('focus') }) }) Plugin.call($target, option, this) }) }(jQuery); /* ======================================================================== * Bootstrap: tooltip.js v3.3.7 * http://getbootstrap.com/javascript/#tooltip * Inspired by the original jQuery.tipsy by Jason Frame * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TOOLTIP PUBLIC CLASS DEFINITION // =============================== var Tooltip = function (element, options) { this.type = null this.options = null this.enabled = null this.timeout = null this.hoverState = null this.$element = null this.inState = null this.init('tooltip', element, options) } Tooltip.VERSION = '3.3.7' Tooltip.TRANSITION_DURATION = 150 Tooltip.DEFAULTS = { animation: true, placement: 'top', selector: false, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, container: false, viewport: { selector: 'body', padding: 0 } } Tooltip.prototype.init = function (type, element, options) { this.enabled = true this.type = type this.$element = $(element) this.options = this.getOptions(options) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) this.inState = { click: false, hover: false, focus: false } if (this.$element[0] instanceof document.constructor && !this.options.selector) { throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') } var triggers = this.options.trigger.split(' ') for (var i = triggers.length; i--;) { var trigger = triggers[i] if (trigger == 'click') { this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) } else if (trigger != 'manual') { var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } } this.options.selector ? (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : this.fixTitle() } Tooltip.prototype.getDefaults = function () { return Tooltip.DEFAULTS } Tooltip.prototype.getOptions = function (options) { options = $.extend({}, this.getDefaults(), this.$element.data(), options) if (options.delay && typeof options.delay == 'number') { options.delay = { show: options.delay, hide: options.delay } } return options } Tooltip.prototype.getDelegateOptions = function () { var options = {} var defaults = this.getDefaults() this._options && $.each(this._options, function (key, value) { if (defaults[key] != value) options[key] = value }) return options } Tooltip.prototype.enter = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true } if (self.tip().hasClass('in') || self.hoverState == 'in') { self.hoverState = 'in' return } clearTimeout(self.timeout) self.hoverState = 'in' if (!self.options.delay || !self.options.delay.show) return self.show() self.timeout = setTimeout(function () { if (self.hoverState == 'in') self.show() }, self.options.delay.show) } Tooltip.prototype.isInStateTrue = function () { for (var key in this.inState) { if (this.inState[key]) return true } return false } Tooltip.prototype.leave = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false } if (self.isInStateTrue()) return clearTimeout(self.timeout) self.hoverState = 'out' if (!self.options.delay || !self.options.delay.hide) return self.hide() self.timeout = setTimeout(function () { if (self.hoverState == 'out') self.hide() }, self.options.delay.hide) } Tooltip.prototype.show = function () { var e = $.Event('show.bs.' + this.type) if (this.hasContent() && this.enabled) { this.$element.trigger(e) var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) if (e.isDefaultPrevented() || !inDom) return var that = this var $tip = this.tip() var tipId = this.getUID(this.type) this.setContent() $tip.attr('id', tipId) this.$element.attr('aria-describedby', tipId) if (this.options.animation) $tip.addClass('fade') var placement = typeof this.options.placement == 'function' ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement var autoToken = /\s?auto?\s?/i var autoPlace = autoToken.test(placement) if (autoPlace) placement = placement.replace(autoToken, '') || 'top' $tip .detach() .css({ top: 0, left: 0, display: 'block' }) .addClass(placement) .data('bs.' + this.type, this) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.$element.trigger('inserted.bs.' + this.type) var pos = this.getPosition() var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (autoPlace) { var orgPlacement = placement var viewportDim = this.getPosition(this.$viewport) placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : placement $tip .removeClass(orgPlacement) .addClass(placement) } var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) this.applyPlacement(calculatedOffset, placement) var complete = function () { var prevHoverState = that.hoverState that.$element.trigger('shown.bs.' + that.type) that.hoverState = null if (prevHoverState == 'out') that.leave(that) } $.support.transition && this.$tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() } } Tooltip.prototype.applyPlacement = function (offset, placement) { var $tip = this.tip() var width = $tip[0].offsetWidth var height = $tip[0].offsetHeight // manually read margins because getBoundingClientRect includes difference var marginTop = parseInt($tip.css('margin-top'), 10) var marginLeft = parseInt($tip.css('margin-left'), 10) // we must check for NaN for ie 8/9 if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginLeft)) marginLeft = 0 offset.top += marginTop offset.left += marginLeft // $.fn.offset doesn't round pixel values // so we use setOffset directly with our own function B-0 $.offset.setOffset($tip[0], $.extend({ using: function (props) { $tip.css({ top: Math.round(props.top), left: Math.round(props.left) }) } }, offset), 0) $tip.addClass('in') // check to see if placing tip in new offset caused the tip to resize itself var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (placement == 'top' && actualHeight != height) { offset.top = offset.top + height - actualHeight } var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) if (delta.left) offset.left += delta.left else offset.top += delta.top var isVertical = /top|bottom/.test(placement) var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' $tip.offset(offset) this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) } Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { this.arrow() .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') .css(isVertical ? 'top' : 'left', '') } Tooltip.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) $tip.removeClass('fade in top bottom left right') } Tooltip.prototype.hide = function (callback) { var that = this var $tip = $(this.$tip) var e = $.Event('hide.bs.' + this.type) function complete() { if (that.hoverState != 'in') $tip.detach() if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary. that.$element .removeAttr('aria-describedby') .trigger('hidden.bs.' + that.type) } callback && callback() } this.$element.trigger(e) if (e.isDefaultPrevented()) return $tip.removeClass('in') $.support.transition && $tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() this.hoverState = null return this } Tooltip.prototype.fixTitle = function () { var $e = this.$element if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') } } Tooltip.prototype.hasContent = function () { return this.getTitle() } Tooltip.prototype.getPosition = function ($element) { $element = $element || this.$element var el = $element[0] var isBody = el.tagName == 'BODY' var elRect = el.getBoundingClientRect() if (elRect.width == null) { // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) } var isSvg = window.SVGElement && el instanceof window.SVGElement // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3. // See https://github.com/twbs/bootstrap/issues/20280 var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset()) var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null return $.extend({}, elRect, scroll, outerDims, elOffset) } Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } } Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { var delta = { top: 0, left: 0 } if (!this.$viewport) return delta var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 var viewportDimensions = this.getPosition(this.$viewport) if (/right|left/.test(placement)) { var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight if (topEdgeOffset < viewportDimensions.top) { // top overflow delta.top = viewportDimensions.top - topEdgeOffset } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset } } else { var leftEdgeOffset = pos.left - viewportPadding var rightEdgeOffset = pos.left + viewportPadding + actualWidth if (leftEdgeOffset < viewportDimensions.left) { // left overflow delta.left = viewportDimensions.left - leftEdgeOffset } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset } } return delta } Tooltip.prototype.getTitle = function () { var title var $e = this.$element var o = this.options title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) return title } Tooltip.prototype.getUID = function (prefix) { do prefix += ~~(Math.random() * 1000000) while (document.getElementById(prefix)) return prefix } Tooltip.prototype.tip = function () { if (!this.$tip) { this.$tip = $(this.options.template) if (this.$tip.length != 1) { throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') } } return this.$tip } Tooltip.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) } Tooltip.prototype.enable = function () { this.enabled = true } Tooltip.prototype.disable = function () { this.enabled = false } Tooltip.prototype.toggleEnabled = function () { this.enabled = !this.enabled } Tooltip.prototype.toggle = function (e) { var self = this if (e) { self = $(e.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(e.currentTarget, this.getDelegateOptions()) $(e.currentTarget).data('bs.' + this.type, self) } } if (e) { self.inState.click = !self.inState.click if (self.isInStateTrue()) self.enter(self) else self.leave(self) } else { self.tip().hasClass('in') ? self.leave(self) : self.enter(self) } } Tooltip.prototype.destroy = function () { var that = this clearTimeout(this.timeout) this.hide(function () { that.$element.off('.' + that.type).removeData('bs.' + that.type) if (that.$tip) { that.$tip.detach() } that.$tip = null that.$arrow = null that.$viewport = null that.$element = null }) } // TOOLTIP PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tooltip') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tooltip $.fn.tooltip = Plugin $.fn.tooltip.Constructor = Tooltip // TOOLTIP NO CONFLICT // =================== $.fn.tooltip.noConflict = function () { $.fn.tooltip = old return this } }(jQuery); /* ======================================================================== * Bootstrap: popover.js v3.3.7 * http://getbootstrap.com/javascript/#popovers * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // POPOVER PUBLIC CLASS DEFINITION // =============================== var Popover = function (element, options) { this.init('popover', element, options) } if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') Popover.VERSION = '3.3.7' Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { placement: 'right', trigger: 'click', content: '', template: '' }) // NOTE: POPOVER EXTENDS tooltip.js // ================================ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) Popover.prototype.constructor = Popover Popover.prototype.getDefaults = function () { return Popover.DEFAULTS } Popover.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() var content = this.getContent() $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' ](content) $tip.removeClass('fade top bottom left right in') // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do // this manually by checking the contents. if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() } Popover.prototype.hasContent = function () { return this.getTitle() || this.getContent() } Popover.prototype.getContent = function () { var $e = this.$element var o = this.options return $e.attr('data-content') || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) } Popover.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.arrow')) } // POPOVER PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.popover') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.popover', (data = new Popover(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.popover $.fn.popover = Plugin $.fn.popover.Constructor = Popover // POPOVER NO CONFLICT // =================== $.fn.popover.noConflict = function () { $.fn.popover = old return this } }(jQuery); /* ======================================================================== * Bootstrap: scrollspy.js v3.3.7 * http://getbootstrap.com/javascript/#scrollspy * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // SCROLLSPY CLASS DEFINITION // ========================== function ScrollSpy(element, options) { this.$body = $(document.body) this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.selector = (this.options.target || '') + ' .nav li > a' this.offsets = [] this.targets = [] this.activeTarget = null this.scrollHeight = 0 this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) this.refresh() this.process() } ScrollSpy.VERSION = '3.3.7' ScrollSpy.DEFAULTS = { offset: 10 } ScrollSpy.prototype.getScrollHeight = function () { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) } ScrollSpy.prototype.refresh = function () { var that = this var offsetMethod = 'offset' var offsetBase = 0 this.offsets = [] this.targets = [] this.scrollHeight = this.getScrollHeight() if (!$.isWindow(this.$scrollElement[0])) { offsetMethod = 'position' offsetBase = this.$scrollElement.scrollTop() } this.$body .find(this.selector) .map(function () { var $el = $(this) var href = $el.data('target') || $el.attr('href') var $href = /^#./.test(href) && $(href) return ($href && $href.length && $href.is(':visible') && [[$href[offsetMethod]().top + offsetBase, href]]) || null }) .sort(function (a, b) { return a[0] - b[0] }) .each(function () { that.offsets.push(this[0]) that.targets.push(this[1]) }) } ScrollSpy.prototype.process = function () { var scrollTop = this.$scrollElement.scrollTop() + this.options.offset var scrollHeight = this.getScrollHeight() var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() var offsets = this.offsets var targets = this.targets var activeTarget = this.activeTarget var i if (this.scrollHeight != scrollHeight) { this.refresh() } if (scrollTop >= maxScroll) { return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) } if (activeTarget && scrollTop < offsets[0]) { this.activeTarget = null return this.clear() } for (i = offsets.length; i--;) { activeTarget != targets[i] && scrollTop >= offsets[i] && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) && this.activate(targets[i]) } } ScrollSpy.prototype.activate = function (target) { this.activeTarget = target this.clear() var selector = this.selector + '[data-target="' + target + '"],' + this.selector + '[href="' + target + '"]' var active = $(selector) .parents('li') .addClass('active') if (active.parent('.dropdown-menu').length) { active = active .closest('li.dropdown') .addClass('active') } active.trigger('activate.bs.scrollspy') } ScrollSpy.prototype.clear = function () { $(this.selector) .parentsUntil(this.options.target, '.active') .removeClass('active') } // SCROLLSPY PLUGIN DEFINITION // =========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.scrollspy') var options = typeof option == 'object' && option if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.scrollspy $.fn.scrollspy = Plugin $.fn.scrollspy.Constructor = ScrollSpy // SCROLLSPY NO CONFLICT // ===================== $.fn.scrollspy.noConflict = function () { $.fn.scrollspy = old return this } // SCROLLSPY DATA-API // ================== $(window).on('load.bs.scrollspy.data-api', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) Plugin.call($spy, $spy.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: tab.js v3.3.7 * http://getbootstrap.com/javascript/#tabs * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TAB CLASS DEFINITION // ==================== var Tab = function (element) { // jscs:disable requireDollarBeforejQueryAssignment this.element = $(element) // jscs:enable requireDollarBeforejQueryAssignment } Tab.VERSION = '3.3.7' Tab.TRANSITION_DURATION = 150 Tab.prototype.show = function () { var $this = this.element var $ul = $this.closest('ul:not(.dropdown-menu)') var selector = $this.data('target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } if ($this.parent('li').hasClass('active')) return var $previous = $ul.find('.active:last a') var hideEvent = $.Event('hide.bs.tab', { relatedTarget: $this[0] }) var showEvent = $.Event('show.bs.tab', { relatedTarget: $previous[0] }) $previous.trigger(hideEvent) $this.trigger(showEvent) if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return var $target = $(selector) this.activate($this.closest('li'), $ul) this.activate($target, $target.parent(), function () { $previous.trigger({ type: 'hidden.bs.tab', relatedTarget: $this[0] }) $this.trigger({ type: 'shown.bs.tab', relatedTarget: $previous[0] }) }) } Tab.prototype.activate = function (element, container, callback) { var $active = container.find('> .active') var transition = callback && $.support.transition && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) function next() { $active .removeClass('active') .find('> .dropdown-menu > .active') .removeClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', false) element .addClass('active') .find('[data-toggle="tab"]') .attr('aria-expanded', true) if (transition) { element[0].offsetWidth // reflow for transition element.addClass('in') } else { element.removeClass('fade') } if (element.parent('.dropdown-menu').length) { element .closest('li.dropdown') .addClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', true) } callback && callback() } $active.length && transition ? $active .one('bsTransitionEnd', next) .emulateTransitionEnd(Tab.TRANSITION_DURATION) : next() $active.removeClass('in') } // TAB PLUGIN DEFINITION // ===================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tab') if (!data) $this.data('bs.tab', (data = new Tab(this))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tab $.fn.tab = Plugin $.fn.tab.Constructor = Tab // TAB NO CONFLICT // =============== $.fn.tab.noConflict = function () { $.fn.tab = old return this } // TAB DATA-API // ============ var clickHandler = function (e) { e.preventDefault() Plugin.call($(this), 'show') } $(document) .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) }(jQuery); /* ======================================================================== * Bootstrap: affix.js v3.3.7 * http://getbootstrap.com/javascript/#affix * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // AFFIX CLASS DEFINITION // ====================== var Affix = function (element, options) { this.options = $.extend({}, Affix.DEFAULTS, options) this.$target = $(this.options.target) .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) this.$element = $(element) this.affixed = null this.unpin = null this.pinnedOffset = null this.checkPosition() } Affix.VERSION = '3.3.7' Affix.RESET = 'affix affix-top affix-bottom' Affix.DEFAULTS = { offset: 0, target: window } Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { var scrollTop = this.$target.scrollTop() var position = this.$element.offset() var targetHeight = this.$target.height() if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false if (this.affixed == 'bottom') { if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' } var initializing = this.affixed == null var colliderTop = initializing ? scrollTop : position.top var colliderHeight = initializing ? targetHeight : height if (offsetTop != null && scrollTop <= offsetTop) return 'top' if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' return false } Affix.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset this.$element.removeClass(Affix.RESET).addClass('affix') var scrollTop = this.$target.scrollTop() var position = this.$element.offset() return (this.pinnedOffset = position.top - scrollTop) } Affix.prototype.checkPositionWithEventLoop = function () { setTimeout($.proxy(this.checkPosition, this), 1) } Affix.prototype.checkPosition = function () { if (!this.$element.is(':visible')) return var height = this.$element.height() var offset = this.options.offset var offsetTop = offset.top var offsetBottom = offset.bottom var scrollHeight = Math.max($(document).height(), $(document.body).height()) if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) if (this.affixed != affix) { if (this.unpin != null) this.$element.css('top', '') var affixType = 'affix' + (affix ? '-' + affix : '') var e = $.Event(affixType + '.bs.affix') this.$element.trigger(e) if (e.isDefaultPrevented()) return this.affixed = affix this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null this.$element .removeClass(Affix.RESET) .addClass(affixType) .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') } if (affix == 'bottom') { this.$element.offset({ top: scrollHeight - height - offsetBottom }) } } // AFFIX PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.affix') var options = typeof option == 'object' && option if (!data) $this.data('bs.affix', (data = new Affix(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.affix $.fn.affix = Plugin $.fn.affix.Constructor = Affix // AFFIX NO CONFLICT // ================= $.fn.affix.noConflict = function () { $.fn.affix = old return this } // AFFIX DATA-API // ============== $(window).on('load', function () { $('[data-spy="affix"]').each(function () { var $spy = $(this) var data = $spy.data() data.offset = data.offset || {} if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom if (data.offsetTop != null) data.offset.top = data.offsetTop Plugin.call($spy, data) }) }) }(jQuery); ================================================ FILE: gmall-cart-web/src/main/resources/static/css/One_bdyStyle.css ================================================ *{ margin:0; padding:0; font-size:12px; box-sizing: border-box; } body{ user-select: none; } ul,li{ list-style: none; } a{ color: black; text-decoration: none; } .one_search{ width: 100%; height: 120px; margin-bottom: 30px; margin-top: 30px; } .one_sousuo{ width: 1000px; height: 120px; margin: 0 auto; } .one_search_top{ width: 1000px; height: 107px; } .one_search_load{ width: 1000px; height: 48px; border: 1px solid #edd28b; line-height: 46px; padding-left: 20px; background: #fffdee; } .one_top_left{ float: left; padding-top: 30px; } .one_left_logo{ margin-right: 15px; } .one_left_link{ vertical-align: middle; font-weight: bold; padding-top:15px; display: inline-block; } .one_left_link{ font-size: 20px; color: #333; } .one_top_right{ float: right; width: 326px; height: 28px !important; border: 2px solid #c91623; margin-top: 40px; } .one_top_right input::-webkit-input-placeholder{ color: #999; font-size: 12px; } .one_right_txt{ float: left; width: 270px; height: 24px; border: none; padding-left: 7px; outline: none; } .one_right_btn{ width: 52px; height: 24px; color: #fff; border: none; background: #c91623; outline: none; cursor: pointer; } .one_load_wraing{ margin-right: 14px; } .one_search_load span{ color: #ff7700; font-size: 11px; margin-right: 15px; } .one_load_btn{ border: none; background: none; width: 68px; height: 25px; background: #e1383b; color:#fff; cursor: pointer; border-radius: 4px; outline: none; } .One_BdyShop{ width:100%; } .OneBdy_box{ width:1000px; height:100%; margin:0 auto; } .One_tabTop .One_Topleft,.One_tabTop .One_Topright{ float:left; height:40px; line-height: 40px; } .One_tabTop .One_Topleft span{ font-size:18px; font-weight:bolder; height:40px; padding:5px 0; } .One_tabTop .One_Topleft span:first-child{ color:#e4393c; margin-right:15px; border-bottom:2px solid red; } .One_tabTop .One_Topright{ float:right; height:40px; /*padding-right:10px;*/ } .One_tabTop .One_Topright span{ color:gray; } .One_tabTop .One_Topright span:last-child{ border:1px solid #cecbce; padding:0 5px; position: relative; display: inline-block; height:20px; line-height: 20px; vertical-align: middle; } .One_tabTop .One_Topright span:last-child>div{ position: absolute; width:405px; background: white; left:-318px; top:18px; border:1px solid gray; height:290px; z-index:2; } .One_tabTop .One_Topright span:last-child>div>ul>li{ float:left; width:70px; height:25px; line-height: 25px; text-align: center; border:1px solid #cecbce; border-bottom:none; padding:3px 0; padding-top:0; margin:5px; color:#005AA0; } .One_tabTop .One_Topright span:last-child>div>ul>li img{ width:20px; height:20px; } .One_tabTop .One_Topright span:last-child>div>ul li>ol{ display: none; width:400px; height:250px; position: absolute; top:30px; left:0; background: white; } .One_tabTop .One_Topright span:last-child>div>ul li>ol>li{ float:left; width:100px; text-align: left; padding-left:15px; } .One_tabTop .One_Topright span:last-child img{ vertical-align: middle; } .One_ShopTop{ height:42px; background: #f3f3f3; border:1px solid #e9e9e9; clear:left; line-height: 42px; color:#666666; } .One_ShopTop ul li{ float:left; } .One_ShopTop ul li:first-child{ padding:0 10px; } .One_ShopTop ul li:nth-child(2){ margin-left:85px; } .One_ShopTop ul li:nth-child(3){ margin-left:440px; } .One_ShopTop ul li:nth-child(4){ margin-left:90px; } .One_ShopTop ul li:nth-child(5){ margin-left:70px; } .One_ShopTop ul li:last-child{ margin-left:90px; } .One_ShopBottom{ border-bottom:2px solid #aaaaaa; height:60px; } .One_ShopBottom>div{ float:left; margin-top:20px; width:333px; height:30px; line-height: 30px; } .One_ShopBottom>div:first-child{ padding-left:10px; } .One_ShopBottom>div:first-child span:last-child{ background: #E4393B; color:white; padding:2px 3px; border-radius: 3px; } .One_ShopBottom>div:nth-child(2){ text-align: center; } .One_ShopBottom>div:last-child span{ float:right; padding-right:15px; color:#666666; } .One_ShopCon>ul>li div:first-child{ height:35px; line-height: 35px; } .One_ShopCon>ul>li{ border-bottom:1px solid #aaaaaa; /*padding:10px 0;*/ } .One_ShopCon ul li>div:first-child{ border-bottom:1px solid #f1f1f1; } .One_ShopCon ul li>div:first-child span:nth-child(2){ color:gray; padding:0 10px; } .One_ShopCon ul li div:first-child img{ padding:0 10px; vertical-align: middle; } .One_ShopCon ul li>div:nth-child(2){ padding-top:15px; } .One_ShopCon ul li>div:nth-child(2) ol{ height:90px; } .One_ShopCon ul li>div:nth-child(2) ol li{ float:left; } .One_ShopCon ul li>div:nth-child(2) ol li>p{ margin:0; padding:0; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2) dt,.One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2) dd{ float:left; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2) dd img{ vertical-align: middle; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2) dd p{ padding:3px 0; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2) dd p:first-child span:nth-child(3){ color:gray; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2) dd p:last-child{ color:#4b4646; } .One_ShopCon ul li>div:nth-child(2) ol li:first-child{ padding:0 10px; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2){ width:550px; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(2) dt img{ width:100px; height:80px; padding:0 10px; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) p{ width:80px; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) p:nth-child(2){ color:#E4393B; border:1px solid #f9d2d3; padding-left:5px; padding-top:3px; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) .nmbd{ position: absolute; top:40px; left:0; background: white; width:250px; text-align: left; border:2px solid #f9d2d3; z-index:3; display: none; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) .nmbd dd{ margin:10px 0; padding-left:10px; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) .nmbd dd:last-child{ text-align: center; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) .nmbd dd:last-child button:first-child{ border:1px solid #F5F5F5; outline: none; background: #E03538; color:white; padding:5px 8px; border-radius: 3px; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) .nmbd dd:last-child button:last-child{ border:1px solid gray; outline: none; background: #F5F5F5; padding:5px 8px; border-radius: 3px; } .One_ShopCon ul li>div:nth-child(2) ol>li:nth-child(3){ width:100px; text-align: center; position: relative; } /*.One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3):hover img{ transform: rotateX(180deg); }*/ .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(3) img{ /*transition: all 0.5s:*/ vertical-align: middle; width:20px; height:20px; } /*.One_ShopCon ul li>div:nth-child(2) ol li:nth-child(4){ padding:0 40px; }*/ .One_ShopCon ul li>div:nth-child(2)>ol>li:nth-child(4){ width:100px; text-align: center; padding-left:20px; } .One_ShopCon ul li>div:nth-child(2)>ol>li:nth-child(4) p{ width:69.5px; text-align: center; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(4) p:first-child{ border:1px solid #cacbcb; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(4) p:first-child span{ width:20px; text-align: center; display: inline-block; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(4) p:first-child span:first-child{ border-right:1px solid #cacbcb; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(4) p:last-child{ color:#aaaaaa; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(4) p:first-child span:last-child{ border-left:1px solid #cacbcb; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(5){ width:100px; text-align: center; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(5) p:first-child{ font-weight: bold; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(5) p:nth-child(2){ color:gray; } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(6){ width:110px; /*text-align: center;*/ } .One_ShopCon ul li>div:nth-child(2) ol li:nth-child(6) p{ color:gray; padding-left:35px; } .One_ShopCon ul li>div:nth-child(3){ padding-left:35px; } .One_ShopCon ul li>div:last-child{ padding-bottom:15px; } .One_ShopCon ul li>div:nth-child(3) span:first-child{ color:gray; padding-right:15px; } .One_ShopFootBuy{ border:1px solid #f0f0f0; height:50px; line-height: 50px; margin-top:20px; } .One_ShopFootBuy>div{ float:left; } .One_ShopFootBuy>div:first-child ul li{ float:left; padding-left:10px; } .One_ShopFootBuy>div:nth-child(2){ margin-left:300px; } .One_ShopFootBuy>div:nth-child(2) .haha{ transition: all 0.5s; } .One_ShopFootBuy{ position: relative; } .One_ShopFootBuy>div:nth-child(2) ol{ width:998px; height:150px; background: black; position: absolute; left:0; top:-150px; background:rgba(0,0,0,0.5); display: none; } .One_ShopFootBuy>div:nth-child(2) ol>li{ text-align: left; color:white; height:30px; line-height: 30px; padding-left:15px; } .One_ShopFootBuy>div:nth-child(2) ul{ display: none; } .One_ShopFootBuy>div:nth-child(2) ul>li img{ width:50px; height:80px; } .One_ShopFootBuy>div:nth-child(2) ul>li:first-child{ position: absolute; left:0; top:-110px; } .One_ShopFootBuy>div:nth-child(2) ul>li:last-child{ position: absolute; right:0; top:-110px; } .One_ShopFootBuy>div:nth-child(2) ol>li:last-child{ margin-left:50px; margin-top:10px; } .One_ShopFootBuy>div:nth-child(2) ol>li:last-child img{ width:150px; height:100px; } .One_ShopFootBuy>div:nth-child(2) img{ vertical-align: middle; width:12px; height:10px; } .One_ShopFootBuy>div:nth-child(3),.One_ShopFootBuy>div:nth-child(2){ width:130px; text-align: center; color:gray; } .One_ShopFootBuy>div:nth-child(3){ width:150px; } .One_ShopFootBuy>div:nth-child(3) ol{ /*width:200px;*/ } .One_ShopFootBuy>div:nth-child(3) ol li{ width:150px; height:25px; line-height: 25px; } .One_ShopFootBuy>div:nth-child(3) ol li:last-child{ margin-left:-30px; } .One_ShopFootBuy>div:nth-child(3) ol li img{ vertical-align: middle; width:20px; height:20px; } .One_ShopFootBuy>div:last-child{ float:right; } .One_ShopFootBuy>div:last-child button{ width:96px; height:50px; background: #e64346; color:white; border:none; outline: none; font-size:16px; } .One_Local{ display: none; } html,body{ width:100%; height:100%; } .One_mb{ width:100%; height:100%; background: #D8D8D8; position: fixed; top:0; left:0; z-index:49999; display: none; opacity: 0.4; } .One_isDel,.One_moveMyGz,.One_clearShop{ width:400px; height:200px; background: white; border:5px solid #C2C2C2; border-radius: 5px; display: none; z-index:50000; position: fixed; top:200px; left:500px; } .One_isDel>p,.One_moveGzIfNull>p,.One_moveMyGz>p,.One_clearShop>p{ height:40px; line-height: 40px; width:100%; background: #F3F3F3; padding:0 5px; } .One_isDel>p span:last-child,.One_moveGzIfNull>p span:last-child,.One_moveMyGz>p span:last-child,.One_clearShop>p span:last-child{ float:right; } .One_isDel>p span:last-child img,.One_moveGzIfNull>p span:last-child img,.One_moveMyGz>p span:last-child img,.One_clearShop>p span:last-child img{ vertical-align: middle; } .One_isDel dl,.One_moveGzIfNull dl,.One_moveMyGz dl,.One_clearShop dl{ margin-left:50px; height:50px; padding-top:20px; } .One_isDel dl dd,.One_moveGzIfNull dl dd,.One_moveMyGz dl dd,.One_clearShop dl dd{ margin-left:10px; } .One_isDel dl dd li:first-child,.One_moveMyGz dl dd li:first-child,.One_clearShop dl dd:last-child{ color:#FF6C00; font-size:18px; font-weight: bold; } .One_isDel dl dd li:last-child,.One_moveMyGz dl dd li:last-child{ color:gray; margin-top:3px; } .One_isDel dl dt,.One_isDel dl dd,.One_moveMyGz dl dt,.One_clearShop dl dt,.One_clearShop dl dd{ float:left; } .One_isDel>div:last-child,.One_moveMyGz>div:last-child{ height:50px; clear:left; padding-top:20px; text-align: center; } .One_isDel>div:last-child button:first-child,.One_moveMyGz>div:last-child button:last-child{ border-radius: 5px; outline: none; padding:5px 10px; border:none; background: #DDDDDD; margin-right:5px; color:gray; } .One_isDel>div:last-child button:last-child,.One_moveMyGz>div:last-child button:first-child{ background: #E13639; color:white; border-radius: 5px; padding:5px; border:none; outline: none; } .One_moveMyGz>div:last-child button:first-child{ padding:5px 10px; } .One_moveGzIfNull{ width:400px; height:150px; background: white; border:5px solid #C2C2C2; border-radius: 5px; display: none; z-index:50000; position: fixed; top:200px; left:500px; } .One_moveGzIfNull dl dt,.One_moveGzIfNull dl dd{ float:left; } .One_moveGzIfNull dl dd{ font-size:17px; font-weight: bold; color:orangered; } .One_DengLu{ width:450px; height:500px; background: white; border:5px solid #C2C2C2; border-radius: 5px; position: fixed; top:70px; left:450px; display: none; z-index:50000; } .One_DengLu>p:first-child{ width:100%; height:40px; line-height: 40px; background:#F3F3F3; padding-left:10px; font-size:13px; color:gray; } .One_DengLu>p:first-child span:last-child{ float:right; padding-right:10px; } .One_DengLu>p:first-child span:last-child img{ vertical-align: middle; width:15px; height:15px; } .One_DengLu>p:nth-child(2){ width:430px; text-align: center; height:40px; line-height: 40px; background: #FFF8F0; color:gray; margin:10px; } .One_DengLu>p:nth-child(2) img{ vertical-align: middle; } .One_DengLu div:nth-child(3) ul>li{ float:left; font-size:18px; width:220px; text-align: center; height:50px; line-height: 50px; } .One_DengLu div:nth-child(3) ul>li:first-child{ color:#E64346; font-weight: bold; } .One_DengLu div:nth-child(3) ol{ text-align: center; } .One_DengLu div:nth-child(3) ol dt img{ width:200px; height:200px; } .One_DengLu div:nth-child(3) ol dd:nth-child(2){ color:black; } .One_DengLu div:nth-child(3) ol dd:nth-child(3){ margin-bottom:25px; } .One_DengLu div:nth-child(3) ol dd{ margin:10px 0; color:#D9D9D9; } .One_DengLu div:nth-child(3) ol dd img{ vertical-align: middle; } .One_DengLu div:nth-child(3) ol font{ float:left; width:50px; text-align: center; } .One_DengLu div:nth-child(3) ol font:last-child{ width:80px; float:right; } .One_DengLu div:nth-child(3) ol font img{ vertical-align: middle; } .One_DengLu div:nth-child(3) ol>li{ display: none; } .One_DengLu div:nth-child(3) ol>li:first-child{ position: absolute; left:120px; top:170px; display: block; } .One_DengLu div:nth-child(3) ol>li:last-child table{ text-align: center; width:300px; text-align: center; margin:0 auto; position: absolute; left:50px; top:150px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:first-child td img,.One_DengLu div:nth-child(3) ol>li:last-child table tr:nth-child(2) td img{ vertical-align:middle; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:first-child td span:first-child{ background: #DBDBDB; padding:10px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:nth-child(2) td span:first-child{ background: #DBDBDB; padding:10px; } /*.One_DengLu div:nth-child(3) ol>li:last-child table tr:nth-child(2) td span:first-child{ margin-left:3px; }*/ .One_DengLu div:nth-child(3) ol>li:last-child table tr:first-child td span:last-child input{ height:36px; width:260px; border:1px solid #DBDBDB; border-left:none; vertical-align: middle; outline: none; margin-top:-3px; padding-left:10px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:nth-child(2) td span:last-child input{ height:36px; width:260px; border:1px solid #DBDBDB; border-left:none; vertical-align: middle; outline: none; margin-top:-3px; padding-left:10px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:nth-child(2) td span:last-child input{ margin-left:-4px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:nth-child(3) td{ float:right; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:nth-child(4) td button{ width:300px; background: #E64346; border:none; outline: none; color:white; text-align: center; height:40px; line-height: 40px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:last-child td li{ float:left; margin:20px 5px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:last-child td li:last-child{ float:right; margin:20px 0; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:last-child td li:last-child img{ width:20px; height:20px; } .One_DengLu div:nth-child(3) ol>li:last-child table tr:last-child td li img{ vertical-align: middle; } .One_RightFix{ position: fixed; top:200px; right:0; } .One_RightFix ul>li{ background: #7A6E6E; color:white; width:35px; height:35px; text-align: center; margin:2px 0; padding:5px; border-radius: 3px; position: relative; } .One_RightFix ul>li img{ vertical-align: middle; text-align: center; margin-top:2px; } .One_RightFix ul>li:first-child{ background: #C91423; height:40px; } .One_RightFix ul>li ol{ position: absolute; top:0; left:40px; } .One_RightFix ul>li ol>li{ width:80px; height:35px; line-height: 35px; text-align: center; background: #C91423; border-radius: 3px; } .One_RightbtmFix{ position: fixed; bottom:0; right:0; } .One_RightbtmFix ul>li{ padding:5px 7px; background: #7A6E6E; text-align: center; margin:2px 0; border-radius: 3px; position: relative; } .One_RightbtmFix ul>li ol{ position: absolute; top:0; left:40px; } .One_RightbtmFix ul>li ol>li{ width:60px; height:33px; background: #C91423; color:white; text-align: center; line-height: 33px; border-radius: 3px; } .One_RightbtmFix ul>li a,.One_RightbtmFix ul>li ol>li a{ color:white; } .hahaha{ transition: all 1.5s; } .fix{ width:1000px; margin:0 auto; position: fixed; bottom:0; left:173px; background: white; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/One_mainFoot.css ================================================ * { margin: 0; padding: 0; box-sizing: border-box; font-size: 12px; } ul, li { list-style: none; } .one_main { width: 100%; height: 335px; margin-top:20px; } .one_main .one_main1 { width: 1000px; height: 100%; margin: 0 auto; } .one_main_div1 { width: 100%; height: 100%; position: relative; } .one_main_ul li{ cursor: pointer; } .aa { width: 100%; height: 305px; position: absolute; bottom: 0; } .aa>div{ } .aa>div:nth-child(3){ width: 100%; height: 100%; text-align: center; line-height: 315px; border: 1px dashed #ccc; } .aa>div:nth-child(4){ width: 100%; height: 100%; text-align: center; line-height: 315px; border: 1px dashed #ccc; } .aa>div>a{ text-decoration: none; color: #015EA5; } .aa>div:nth-child(4){ width: 100%; height: 100%; border: 1px dashed #ccc; } .one_main_div1 .one_main_ul li { float: left; margin-right: 20px; padding-bottom: 5px; } .one_main_div1 .one_main_ul .active{ color: #E9393C; font-weight: 700; border-bottom: 2px solid #E64346 } .one_main_div1_1 { display: none; } .slider { width: 100%; height: 305px; position: relative; z-index: 36666; } .slider .fade li { width: 100%; height: 305px; position: absolute; display: none; } .slider .fade li div{ width: 249.5px; height: 100%; border: 1px dashed #ccc; float: left; text-align: center; padding-top: 22px; position: relative; } .slider .fade li div a{ color: #000000; } .slider .fade li div:hover{ border: 1px solid red; } .fade_div1_p2{ width: 123px; height: 28px; border: 1px solid #999999; text-align: center; border-radius: 5px; line-height: 28px; position: absolute; left: 27%; bottom: 20px; } .fade_div1_p1{ padding-top: 10px; } .fade_div1_p3{ position: absolute; bottom: 55px; left: 42%; color: #E9393C; } .fade_div1_p2:hover{ background: #E64346; color: #fff; border: none; } .fade_div1_p2 img{ width: 18px; height: 16px; position: absolute; top: 6px; left: 25px; } .fade_div1_p2 a{ text-decoration: none; color: #666666; } .fade_div1_p1{ cursor: pointer; } .fade div img{ cursor: pointer; } .slider .fade li:first-child { display: block; } .arrow { display: none; } .slider:hover .arrow { display: block; } .arrow-left, .arrow-right { font-family: "SimSun", "宋体"; width: 30px; height: 60px; background-color: rgba(0, 0, 0, 0.1); position: absolute; top: 50%; margin-top: -30px; cursor: pointer; text-align: center; line-height: 60px; color: #fff; font-weight: 700; font-size: 30px; } .arrow-left:hover, .arrow-right:hover { background-color: rgba(0, 0, 0, .5); } .arrow-left { left: 0; } .arrow-right { right: 3px; } .slider .pagination { position: absolute; top: -20px; right: 0; margin-left: -68px } .slider .pagination ul li { float: left; margin-right: 5px; width: 8px; height: 8px; border-radius: 50%; background-color: #AAAAAA; text-align: center; cursor: pointer; } .slider .pagination ul li.active { width: 30px; height: 8px; background-color: #E4393C; border-radius: 20px; } /*底部*/ .one_footer{ width: 100%;height:114px; background: #EAEAEA; margin-top: 20px; } .footer_head{ width: 100%; height: 102px; line-height: 102px; border-bottom: 1px solid #DEDEDE; text-align: center; } .footer_head ul{ /*width: 1000px;*/ margin: 0 auto; text-align: center; display: inline-block; } .footer_head ul li{ width: 250px; float: left; } .footer_head ul li span{ font-size: 18px; font-weight: bold; margin-left: 5px; } .footer_head ul li img{ width: 40px;height: 44px; vertical-align: middle; } .footer_con{ width: 100%; height: 200px; border-bottom: 1px solid #DEDEDE; } .footer_con .con_1{ width: 1000px; height: 200px; margin: 0 auto; text-align: center; } .footer_con .con_1 ul{ width: 200px; margin: 0 auto; float: left; padding: 10px 0; } .footer_con .con_1 ul h3{ color: #777777; font-size: 14px; } .footer_con .con_1 ul li{ margin-top: 8px; } .footer_con .con_1 ul li a{ text-decoration: none; color: #777777; } .footer_con .con_1 ul li a:hover{ color: red; } .footer_last{ width: 1100px; height: 212px; margin: 0 auto; font-size: 12px; } .footer_last .last_head{ width: 1100px;height: 16px; margin-top: 10px; text-align: center; } .footer_last .last_head li{ width: 70px; height: 16px; float: left; text-align: center; /*margin-right: 5px;*/ border-right: 1px solid darkgray; } .footer_last ul li:last-child{ border-right: none; margin-left: 5px; } .footer_last ul .eng{ width: 85px; margin-left: 5px; } .footer_last .zi{ margin-left: 10px; } .footer_last ul li a{ color:#777777; text-decoration: none; } .footer_last ul li a:hover{ color: red; } .footer_last .last_con{ margin-top: 30px; } .footer_last p{ width: 1000px; text-align: center; margin-top: 8px; } .footer_last .last_con span{ color: #999999; height: 10px; } .footer_last a{ color: #999999; text-decoration: none; margin-left: 5px; } .footer_last .last_con a:hover{ color: red; } .footer_last .last_end{ width: 1000px; height: 50px; text-align: center; margin-top: 20px; } .footer_last .last_end ul{ margin-left: 200px; } .last_end li{ width: 110px; float: left; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/HELP-US-OUT.txt ================================================ I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, comprehensive icon sets or copy and paste your own. Please. Check it out. -Dave Gandy ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/css/font-awesome(1).css ================================================ /*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); font-weight: normal; font-style: normal; } .fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* makes the font 33% larger relative to the icon container */ .fa-lg { font-size: 1.33333333em; line-height: 0.75em; vertical-align: -15%; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-fw { width: 1.28571429em; text-align: center; } .fa-ul { padding-left: 0; margin-left: 2.14285714em; list-style-type: none; } .fa-ul > li { position: relative; } .fa-li { position: absolute; left: -2.14285714em; width: 2.14285714em; top: 0.14285714em; text-align: center; } .fa-li.fa-lg { left: -1.85714286em; } .fa-border { padding: .2em .25em .15em; border: solid 0.08em #eeeeee; border-radius: .1em; } .fa-pull-left { float: left; } .fa-pull-right { float: right; } .fa.fa-pull-left { margin-right: .3em; } .fa.fa-pull-right { margin-left: .3em; } /* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } .fa.pull-left { margin-right: .3em; } .fa.pull-right { margin-left: .3em; } .fa-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } .fa-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } .fa-rotate-90 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .fa-rotate-180 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .fa-rotate-270 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .fa-flip-horizontal { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); } .fa-flip-vertical { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); } :root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical { filter: none; } .fa-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; } .fa-stack-1x, .fa-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; } .fa-stack-1x { line-height: inherit; } .fa-stack-2x { font-size: 2em; } .fa-inverse { color: #ffffff; } /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .fa-glass:before { content: "\f000"; } .fa-music:before { content: "\f001"; } .fa-search:before { content: "\f002"; } .fa-envelope-o:before { content: "\f003"; } .fa-heart:before { content: "\f004"; } .fa-star:before { content: "\f005"; } .fa-star-o:before { content: "\f006"; } .fa-user:before { content: "\f007"; } .fa-film:before { content: "\f008"; } .fa-th-large:before { content: "\f009"; } .fa-th:before { content: "\f00a"; } .fa-th-list:before { content: "\f00b"; } .fa-check:before { content: "\f00c"; } .fa-remove:before, .fa-close:before, .fa-times:before { content: "\f00d"; } .fa-search-plus:before { content: "\f00e"; } .fa-search-minus:before { content: "\f010"; } .fa-power-off:before { content: "\f011"; } .fa-signal:before { content: "\f012"; } .fa-gear:before, .fa-cog:before { content: "\f013"; } .fa-trash-o:before { content: "\f014"; } .fa-home:before { content: "\f015"; } .fa-file-o:before { content: "\f016"; } .fa-clock-o:before { content: "\f017"; } .fa-road:before { content: "\f018"; } .fa-download:before { content: "\f019"; } .fa-arrow-circle-o-down:before { content: "\f01a"; } .fa-arrow-circle-o-up:before { content: "\f01b"; } .fa-inbox:before { content: "\f01c"; } .fa-play-circle-o:before { content: "\f01d"; } .fa-rotate-right:before, .fa-repeat:before { content: "\f01e"; } .fa-refresh:before { content: "\f021"; } .fa-list-alt:before { content: "\f022"; } .fa-lock:before { content: "\f023"; } .fa-flag:before { content: "\f024"; } .fa-headphones:before { content: "\f025"; } .fa-volume-off:before { content: "\f026"; } .fa-volume-down:before { content: "\f027"; } .fa-volume-up:before { content: "\f028"; } .fa-qrcode:before { content: "\f029"; } .fa-barcode:before { content: "\f02a"; } .fa-tag:before { content: "\f02b"; } .fa-tags:before { content: "\f02c"; } .fa-book:before { content: "\f02d"; } .fa-bookmark:before { content: "\f02e"; } .fa-print:before { content: "\f02f"; } .fa-camera:before { content: "\f030"; } .fa-font:before { content: "\f031"; } .fa-bold:before { content: "\f032"; } .fa-italic:before { content: "\f033"; } .fa-text-height:before { content: "\f034"; } .fa-text-width:before { content: "\f035"; } .fa-align-left:before { content: "\f036"; } .fa-align-center:before { content: "\f037"; } .fa-align-right:before { content: "\f038"; } .fa-align-justify:before { content: "\f039"; } .fa-list:before { content: "\f03a"; } .fa-dedent:before, .fa-outdent:before { content: "\f03b"; } .fa-indent:before { content: "\f03c"; } .fa-video-camera:before { content: "\f03d"; } .fa-photo:before, .fa-image:before, .fa-picture-o:before { content: "\f03e"; } .fa-pencil:before { content: "\f040"; } .fa-map-marker:before { content: "\f041"; } .fa-adjust:before { content: "\f042"; } .fa-tint:before { content: "\f043"; } .fa-edit:before, .fa-pencil-square-o:before { content: "\f044"; } .fa-share-square-o:before { content: "\f045"; } .fa-check-square-o:before { content: "\f046"; } .fa-arrows:before { content: "\f047"; } .fa-step-backward:before { content: "\f048"; } .fa-fast-backward:before { content: "\f049"; } .fa-backward:before { content: "\f04a"; } .fa-play:before { content: "\f04b"; } .fa-pause:before { content: "\f04c"; } .fa-stop:before { content: "\f04d"; } .fa-forward:before { content: "\f04e"; } .fa-fast-forward:before { content: "\f050"; } .fa-step-forward:before { content: "\f051"; } .fa-eject:before { content: "\f052"; } .fa-chevron-left:before { content: "\f053"; } .fa-chevron-right:before { content: "\f054"; } .fa-plus-circle:before { content: "\f055"; } .fa-minus-circle:before { content: "\f056"; } .fa-times-circle:before { content: "\f057"; } .fa-check-circle:before { content: "\f058"; } .fa-question-circle:before { content: "\f059"; } .fa-info-circle:before { content: "\f05a"; } .fa-crosshairs:before { content: "\f05b"; } .fa-times-circle-o:before { content: "\f05c"; } .fa-check-circle-o:before { content: "\f05d"; } .fa-ban:before { content: "\f05e"; } .fa-arrow-left:before { content: "\f060"; } .fa-arrow-right:before { content: "\f061"; } .fa-arrow-up:before { content: "\f062"; } .fa-arrow-down:before { content: "\f063"; } .fa-mail-forward:before, .fa-share:before { content: "\f064"; } .fa-expand:before { content: "\f065"; } .fa-compress:before { content: "\f066"; } .fa-plus:before { content: "\f067"; } .fa-minus:before { content: "\f068"; } .fa-asterisk:before { content: "\f069"; } .fa-exclamation-circle:before { content: "\f06a"; } .fa-gift:before { content: "\f06b"; } .fa-leaf:before { content: "\f06c"; } .fa-fire:before { content: "\f06d"; } .fa-eye:before { content: "\f06e"; } .fa-eye-slash:before { content: "\f070"; } .fa-warning:before, .fa-exclamation-triangle:before { content: "\f071"; } .fa-plane:before { content: "\f072"; } .fa-calendar:before { content: "\f073"; } .fa-random:before { content: "\f074"; } .fa-comment:before { content: "\f075"; } .fa-magnet:before { content: "\f076"; } .fa-chevron-up:before { content: "\f077"; } .fa-chevron-down:before { content: "\f078"; } .fa-retweet:before { content: "\f079"; } .fa-shopping-cart:before { content: "\f07a"; } .fa-folder:before { content: "\f07b"; } .fa-folder-open:before { content: "\f07c"; } .fa-arrows-v:before { content: "\f07d"; } .fa-arrows-h:before { content: "\f07e"; } .fa-bar-chart-o:before, .fa-bar-chart:before { content: "\f080"; } .fa-twitter-square:before { content: "\f081"; } .fa-facebook-square:before { content: "\f082"; } .fa-camera-retro:before { content: "\f083"; } .fa-key:before { content: "\f084"; } .fa-gears:before, .fa-cogs:before { content: "\f085"; } .fa-comments:before { content: "\f086"; } .fa-thumbs-o-up:before { content: "\f087"; } .fa-thumbs-o-down:before { content: "\f088"; } .fa-star-half:before { content: "\f089"; } .fa-heart-o:before { content: "\f08a"; } .fa-sign-out:before { content: "\f08b"; } .fa-linkedin-square:before { content: "\f08c"; } .fa-thumb-tack:before { content: "\f08d"; } .fa-external-link:before { content: "\f08e"; } .fa-sign-in:before { content: "\f090"; } .fa-trophy:before { content: "\f091"; } .fa-github-square:before { content: "\f092"; } .fa-upload:before { content: "\f093"; } .fa-lemon-o:before { content: "\f094"; } .fa-phone:before { content: "\f095"; } .fa-square-o:before { content: "\f096"; } .fa-bookmark-o:before { content: "\f097"; } .fa-phone-square:before { content: "\f098"; } .fa-twitter:before { content: "\f099"; } .fa-facebook-f:before, .fa-facebook:before { content: "\f09a"; } .fa-github:before { content: "\f09b"; } .fa-unlock:before { content: "\f09c"; } .fa-credit-card:before { content: "\f09d"; } .fa-feed:before, .fa-rss:before { content: "\f09e"; } .fa-hdd-o:before { content: "\f0a0"; } .fa-bullhorn:before { content: "\f0a1"; } .fa-bell:before { content: "\f0f3"; } .fa-certificate:before { content: "\f0a3"; } .fa-hand-o-right:before { content: "\f0a4"; } .fa-hand-o-left:before { content: "\f0a5"; } .fa-hand-o-up:before { content: "\f0a6"; } .fa-hand-o-down:before { content: "\f0a7"; } .fa-arrow-circle-left:before { content: "\f0a8"; } .fa-arrow-circle-right:before { content: "\f0a9"; } .fa-arrow-circle-up:before { content: "\f0aa"; } .fa-arrow-circle-down:before { content: "\f0ab"; } .fa-globe:before { content: "\f0ac"; } .fa-wrench:before { content: "\f0ad"; } .fa-tasks:before { content: "\f0ae"; } .fa-filter:before { content: "\f0b0"; } .fa-briefcase:before { content: "\f0b1"; } .fa-arrows-alt:before { content: "\f0b2"; } .fa-group:before, .fa-users:before { content: "\f0c0"; } .fa-chain:before, .fa-link:before { content: "\f0c1"; } .fa-cloud:before { content: "\f0c2"; } .fa-flask:before { content: "\f0c3"; } .fa-cut:before, .fa-scissors:before { content: "\f0c4"; } .fa-copy:before, .fa-files-o:before { content: "\f0c5"; } .fa-paperclip:before { content: "\f0c6"; } .fa-save:before, .fa-floppy-o:before { content: "\f0c7"; } .fa-square:before { content: "\f0c8"; } .fa-navicon:before, .fa-reorder:before, .fa-bars:before { content: "\f0c9"; } .fa-list-ul:before { content: "\f0ca"; } .fa-list-ol:before { content: "\f0cb"; } .fa-strikethrough:before { content: "\f0cc"; } .fa-underline:before { content: "\f0cd"; } .fa-table:before { content: "\f0ce"; } .fa-magic:before { content: "\f0d0"; } .fa-truck:before { content: "\f0d1"; } .fa-pinterest:before { content: "\f0d2"; } .fa-pinterest-square:before { content: "\f0d3"; } .fa-google-plus-square:before { content: "\f0d4"; } .fa-google-plus:before { content: "\f0d5"; } .fa-money:before { content: "\f0d6"; } .fa-caret-down:before { content: "\f0d7"; } .fa-caret-up:before { content: "\f0d8"; } .fa-caret-left:before { content: "\f0d9"; } .fa-caret-right:before { content: "\f0da"; } .fa-columns:before { content: "\f0db"; } .fa-unsorted:before, .fa-sort:before { content: "\f0dc"; } .fa-sort-down:before, .fa-sort-desc:before { content: "\f0dd"; } .fa-sort-up:before, .fa-sort-asc:before { content: "\f0de"; } .fa-envelope:before { content: "\f0e0"; } .fa-linkedin:before { content: "\f0e1"; } .fa-rotate-left:before, .fa-undo:before { content: "\f0e2"; } .fa-legal:before, .fa-gavel:before { content: "\f0e3"; } .fa-dashboard:before, .fa-tachometer:before { content: "\f0e4"; } .fa-comment-o:before { content: "\f0e5"; } .fa-comments-o:before { content: "\f0e6"; } .fa-flash:before, .fa-bolt:before { content: "\f0e7"; } .fa-sitemap:before { content: "\f0e8"; } .fa-umbrella:before { content: "\f0e9"; } .fa-paste:before, .fa-clipboard:before { content: "\f0ea"; } .fa-lightbulb-o:before { content: "\f0eb"; } .fa-exchange:before { content: "\f0ec"; } .fa-cloud-download:before { content: "\f0ed"; } .fa-cloud-upload:before { content: "\f0ee"; } .fa-user-md:before { content: "\f0f0"; } .fa-stethoscope:before { content: "\f0f1"; } .fa-suitcase:before { content: "\f0f2"; } .fa-bell-o:before { content: "\f0a2"; } .fa-coffee:before { content: "\f0f4"; } .fa-cutlery:before { content: "\f0f5"; } .fa-file-text-o:before { content: "\f0f6"; } .fa-building-o:before { content: "\f0f7"; } .fa-hospital-o:before { content: "\f0f8"; } .fa-ambulance:before { content: "\f0f9"; } .fa-medkit:before { content: "\f0fa"; } .fa-fighter-jet:before { content: "\f0fb"; } .fa-beer:before { content: "\f0fc"; } .fa-h-square:before { content: "\f0fd"; } .fa-plus-square:before { content: "\f0fe"; } .fa-angle-double-left:before { content: "\f100"; } .fa-angle-double-right:before { content: "\f101"; } .fa-angle-double-up:before { content: "\f102"; } .fa-angle-double-down:before { content: "\f103"; } .fa-angle-left:before { content: "\f104"; } .fa-angle-right:before { content: "\f105"; } .fa-angle-up:before { content: "\f106"; } .fa-angle-down:before { content: "\f107"; } .fa-desktop:before { content: "\f108"; } .fa-laptop:before { content: "\f109"; } .fa-tablet:before { content: "\f10a"; } .fa-mobile-phone:before, .fa-mobile:before { content: "\f10b"; } .fa-circle-o:before { content: "\f10c"; } .fa-quote-left:before { content: "\f10d"; } .fa-quote-right:before { content: "\f10e"; } .fa-spinner:before { content: "\f110"; } .fa-circle:before { content: "\f111"; } .fa-mail-reply:before, .fa-reply:before { content: "\f112"; } .fa-github-alt:before { content: "\f113"; } .fa-folder-o:before { content: "\f114"; } .fa-folder-open-o:before { content: "\f115"; } .fa-smile-o:before { content: "\f118"; } .fa-frown-o:before { content: "\f119"; } .fa-meh-o:before { content: "\f11a"; } .fa-gamepad:before { content: "\f11b"; } .fa-keyboard-o:before { content: "\f11c"; } .fa-flag-o:before { content: "\f11d"; } .fa-flag-checkered:before { content: "\f11e"; } .fa-terminal:before { content: "\f120"; } .fa-code:before { content: "\f121"; } .fa-mail-reply-all:before, .fa-reply-all:before { content: "\f122"; } .fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before { content: "\f123"; } .fa-location-arrow:before { content: "\f124"; } .fa-crop:before { content: "\f125"; } .fa-code-fork:before { content: "\f126"; } .fa-unlink:before, .fa-chain-broken:before { content: "\f127"; } .fa-question:before { content: "\f128"; } .fa-info:before { content: "\f129"; } .fa-exclamation:before { content: "\f12a"; } .fa-superscript:before { content: "\f12b"; } .fa-subscript:before { content: "\f12c"; } .fa-eraser:before { content: "\f12d"; } .fa-puzzle-piece:before { content: "\f12e"; } .fa-microphone:before { content: "\f130"; } .fa-microphone-slash:before { content: "\f131"; } .fa-shield:before { content: "\f132"; } .fa-calendar-o:before { content: "\f133"; } .fa-fire-extinguisher:before { content: "\f134"; } .fa-rocket:before { content: "\f135"; } .fa-maxcdn:before { content: "\f136"; } .fa-chevron-circle-left:before { content: "\f137"; } .fa-chevron-circle-right:before { content: "\f138"; } .fa-chevron-circle-up:before { content: "\f139"; } .fa-chevron-circle-down:before { content: "\f13a"; } .fa-html5:before { content: "\f13b"; } .fa-css3:before { content: "\f13c"; } .fa-anchor:before { content: "\f13d"; } .fa-unlock-alt:before { content: "\f13e"; } .fa-bullseye:before { content: "\f140"; } .fa-ellipsis-h:before { content: "\f141"; } .fa-ellipsis-v:before { content: "\f142"; } .fa-rss-square:before { content: "\f143"; } .fa-play-circle:before { content: "\f144"; } .fa-ticket:before { content: "\f145"; } .fa-minus-square:before { content: "\f146"; } .fa-minus-square-o:before { content: "\f147"; } .fa-level-up:before { content: "\f148"; } .fa-level-down:before { content: "\f149"; } .fa-check-square:before { content: "\f14a"; } .fa-pencil-square:before { content: "\f14b"; } .fa-external-link-square:before { content: "\f14c"; } .fa-share-square:before { content: "\f14d"; } .fa-compass:before { content: "\f14e"; } .fa-toggle-down:before, .fa-caret-square-o-down:before { content: "\f150"; } .fa-toggle-up:before, .fa-caret-square-o-up:before { content: "\f151"; } .fa-toggle-right:before, .fa-caret-square-o-right:before { content: "\f152"; } .fa-euro:before, .fa-eur:before { content: "\f153"; } .fa-gbp:before { content: "\f154"; } .fa-dollar:before, .fa-usd:before { content: "\f155"; } .fa-rupee:before, .fa-inr:before { content: "\f156"; } .fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before { content: "\f157"; } .fa-ruble:before, .fa-rouble:before, .fa-rub:before { content: "\f158"; } .fa-won:before, .fa-krw:before { content: "\f159"; } .fa-bitcoin:before, .fa-btc:before { content: "\f15a"; } .fa-file:before { content: "\f15b"; } .fa-file-text:before { content: "\f15c"; } .fa-sort-alpha-asc:before { content: "\f15d"; } .fa-sort-alpha-desc:before { content: "\f15e"; } .fa-sort-amount-asc:before { content: "\f160"; } .fa-sort-amount-desc:before { content: "\f161"; } .fa-sort-numeric-asc:before { content: "\f162"; } .fa-sort-numeric-desc:before { content: "\f163"; } .fa-thumbs-up:before { content: "\f164"; } .fa-thumbs-down:before { content: "\f165"; } .fa-youtube-square:before { content: "\f166"; } .fa-youtube:before { content: "\f167"; } .fa-xing:before { content: "\f168"; } .fa-xing-square:before { content: "\f169"; } .fa-youtube-play:before { content: "\f16a"; } .fa-dropbox:before { content: "\f16b"; } .fa-stack-overflow:before { content: "\f16c"; } .fa-instagram:before { content: "\f16d"; } .fa-flickr:before { content: "\f16e"; } .fa-adn:before { content: "\f170"; } .fa-bitbucket:before { content: "\f171"; } .fa-bitbucket-square:before { content: "\f172"; } .fa-tumblr:before { content: "\f173"; } .fa-tumblr-square:before { content: "\f174"; } .fa-long-arrow-down:before { content: "\f175"; } .fa-long-arrow-up:before { content: "\f176"; } .fa-long-arrow-left:before { content: "\f177"; } .fa-long-arrow-right:before { content: "\f178"; } .fa-apple:before { content: "\f179"; } .fa-windows:before { content: "\f17a"; } .fa-android:before { content: "\f17b"; } .fa-linux:before { content: "\f17c"; } .fa-dribbble:before { content: "\f17d"; } .fa-skype:before { content: "\f17e"; } .fa-foursquare:before { content: "\f180"; } .fa-trello:before { content: "\f181"; } .fa-female:before { content: "\f182"; } .fa-male:before { content: "\f183"; } .fa-gittip:before, .fa-gratipay:before { content: "\f184"; } .fa-sun-o:before { content: "\f185"; } .fa-moon-o:before { content: "\f186"; } .fa-archive:before { content: "\f187"; } .fa-bug:before { content: "\f188"; } .fa-vk:before { content: "\f189"; } .fa-weibo:before { content: "\f18a"; } .fa-renren:before { content: "\f18b"; } .fa-pagelines:before { content: "\f18c"; } .fa-stack-exchange:before { content: "\f18d"; } .fa-arrow-circle-o-right:before { content: "\f18e"; } .fa-arrow-circle-o-left:before { content: "\f190"; } .fa-toggle-left:before, .fa-caret-square-o-left:before { content: "\f191"; } .fa-dot-circle-o:before { content: "\f192"; } .fa-wheelchair:before { content: "\f193"; } .fa-vimeo-square:before { content: "\f194"; } .fa-turkish-lira:before, .fa-try:before { content: "\f195"; } .fa-plus-square-o:before { content: "\f196"; } .fa-space-shuttle:before { content: "\f197"; } .fa-slack:before { content: "\f198"; } .fa-envelope-square:before { content: "\f199"; } .fa-wordpress:before { content: "\f19a"; } .fa-openid:before { content: "\f19b"; } .fa-institution:before, .fa-bank:before, .fa-university:before { content: "\f19c"; } .fa-mortar-board:before, .fa-graduation-cap:before { content: "\f19d"; } .fa-yahoo:before { content: "\f19e"; } .fa-google:before { content: "\f1a0"; } .fa-reddit:before { content: "\f1a1"; } .fa-reddit-square:before { content: "\f1a2"; } .fa-stumbleupon-circle:before { content: "\f1a3"; } .fa-stumbleupon:before { content: "\f1a4"; } .fa-delicious:before { content: "\f1a5"; } .fa-digg:before { content: "\f1a6"; } .fa-pied-piper-pp:before { content: "\f1a7"; } .fa-pied-piper-alt:before { content: "\f1a8"; } .fa-drupal:before { content: "\f1a9"; } .fa-joomla:before { content: "\f1aa"; } .fa-language:before { content: "\f1ab"; } .fa-fax:before { content: "\f1ac"; } .fa-building:before { content: "\f1ad"; } .fa-child:before { content: "\f1ae"; } .fa-paw:before { content: "\f1b0"; } .fa-spoon:before { content: "\f1b1"; } .fa-cube:before { content: "\f1b2"; } .fa-cubes:before { content: "\f1b3"; } .fa-behance:before { content: "\f1b4"; } .fa-behance-square:before { content: "\f1b5"; } .fa-steam:before { content: "\f1b6"; } .fa-steam-square:before { content: "\f1b7"; } .fa-recycle:before { content: "\f1b8"; } .fa-automobile:before, .fa-car:before { content: "\f1b9"; } .fa-cab:before, .fa-taxi:before { content: "\f1ba"; } .fa-tree:before { content: "\f1bb"; } .fa-spotify:before { content: "\f1bc"; } .fa-deviantart:before { content: "\f1bd"; } .fa-soundcloud:before { content: "\f1be"; } .fa-database:before { content: "\f1c0"; } .fa-file-pdf-o:before { content: "\f1c1"; } .fa-file-word-o:before { content: "\f1c2"; } .fa-file-excel-o:before { content: "\f1c3"; } .fa-file-powerpoint-o:before { content: "\f1c4"; } .fa-file-photo-o:before, .fa-file-picture-o:before, .fa-file-image-o:before { content: "\f1c5"; } .fa-file-zip-o:before, .fa-file-archive-o:before { content: "\f1c6"; } .fa-file-sound-o:before, .fa-file-audio-o:before { content: "\f1c7"; } .fa-file-movie-o:before, .fa-file-video-o:before { content: "\f1c8"; } .fa-file-code-o:before { content: "\f1c9"; } .fa-vine:before { content: "\f1ca"; } .fa-codepen:before { content: "\f1cb"; } .fa-jsfiddle:before { content: "\f1cc"; } .fa-life-bouy:before, .fa-life-buoy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before { content: "\f1cd"; } .fa-circle-o-notch:before { content: "\f1ce"; } .fa-ra:before, .fa-resistance:before, .fa-rebel:before { content: "\f1d0"; } .fa-ge:before, .fa-empire:before { content: "\f1d1"; } .fa-git-square:before { content: "\f1d2"; } .fa-git:before { content: "\f1d3"; } .fa-y-combinator-square:before, .fa-yc-square:before, .fa-hacker-news:before { content: "\f1d4"; } .fa-tencent-weibo:before { content: "\f1d5"; } .fa-qq:before { content: "\f1d6"; } .fa-wechat:before, .fa-weixin:before { content: "\f1d7"; } .fa-send:before, .fa-paper-plane:before { content: "\f1d8"; } .fa-send-o:before, .fa-paper-plane-o:before { content: "\f1d9"; } .fa-history:before { content: "\f1da"; } .fa-circle-thin:before { content: "\f1db"; } .fa-header:before { content: "\f1dc"; } .fa-paragraph:before { content: "\f1dd"; } .fa-sliders:before { content: "\f1de"; } .fa-share-alt:before { content: "\f1e0"; } .fa-share-alt-square:before { content: "\f1e1"; } .fa-bomb:before { content: "\f1e2"; } .fa-soccer-ball-o:before, .fa-futbol-o:before { content: "\f1e3"; } .fa-tty:before { content: "\f1e4"; } .fa-binoculars:before { content: "\f1e5"; } .fa-plug:before { content: "\f1e6"; } .fa-slideshare:before { content: "\f1e7"; } .fa-twitch:before { content: "\f1e8"; } .fa-yelp:before { content: "\f1e9"; } .fa-newspaper-o:before { content: "\f1ea"; } .fa-wifi:before { content: "\f1eb"; } .fa-calculator:before { content: "\f1ec"; } .fa-paypal:before { content: "\f1ed"; } .fa-google-wallet:before { content: "\f1ee"; } .fa-cc-visa:before { content: "\f1f0"; } .fa-cc-mastercard:before { content: "\f1f1"; } .fa-cc-discover:before { content: "\f1f2"; } .fa-cc-amex:before { content: "\f1f3"; } .fa-cc-paypal:before { content: "\f1f4"; } .fa-cc-stripe:before { content: "\f1f5"; } .fa-bell-slash:before { content: "\f1f6"; } .fa-bell-slash-o:before { content: "\f1f7"; } .fa-trash:before { content: "\f1f8"; } .fa-copyright:before { content: "\f1f9"; } .fa-at:before { content: "\f1fa"; } .fa-eyedropper:before { content: "\f1fb"; } .fa-paint-brush:before { content: "\f1fc"; } .fa-birthday-cake:before { content: "\f1fd"; } .fa-area-chart:before { content: "\f1fe"; } .fa-pie-chart:before { content: "\f200"; } .fa-line-chart:before { content: "\f201"; } .fa-lastfm:before { content: "\f202"; } .fa-lastfm-square:before { content: "\f203"; } .fa-toggle-off:before { content: "\f204"; } .fa-toggle-on:before { content: "\f205"; } .fa-bicycle:before { content: "\f206"; } .fa-bus:before { content: "\f207"; } .fa-ioxhost:before { content: "\f208"; } .fa-angellist:before { content: "\f209"; } .fa-cc:before { content: "\f20a"; } .fa-shekel:before, .fa-sheqel:before, .fa-ils:before { content: "\f20b"; } .fa-meanpath:before { content: "\f20c"; } .fa-buysellads:before { content: "\f20d"; } .fa-connectdevelop:before { content: "\f20e"; } .fa-dashcube:before { content: "\f210"; } .fa-forumbee:before { content: "\f211"; } .fa-leanpub:before { content: "\f212"; } .fa-sellsy:before { content: "\f213"; } .fa-shirtsinbulk:before { content: "\f214"; } .fa-simplybuilt:before { content: "\f215"; } .fa-skyatlas:before { content: "\f216"; } .fa-cart-plus:before { content: "\f217"; } .fa-cart-arrow-down:before { content: "\f218"; } .fa-diamond:before { content: "\f219"; } .fa-ship:before { content: "\f21a"; } .fa-user-secret:before { content: "\f21b"; } .fa-motorcycle:before { content: "\f21c"; } .fa-street-view:before { content: "\f21d"; } .fa-heartbeat:before { content: "\f21e"; } .fa-venus:before { content: "\f221"; } .fa-mars:before { content: "\f222"; } .fa-mercury:before { content: "\f223"; } .fa-intersex:before, .fa-transgender:before { content: "\f224"; } .fa-transgender-alt:before { content: "\f225"; } .fa-venus-double:before { content: "\f226"; } .fa-mars-double:before { content: "\f227"; } .fa-venus-mars:before { content: "\f228"; } .fa-mars-stroke:before { content: "\f229"; } .fa-mars-stroke-v:before { content: "\f22a"; } .fa-mars-stroke-h:before { content: "\f22b"; } .fa-neuter:before { content: "\f22c"; } .fa-genderless:before { content: "\f22d"; } .fa-facebook-official:before { content: "\f230"; } .fa-pinterest-p:before { content: "\f231"; } .fa-whatsapp:before { content: "\f232"; } .fa-server:before { content: "\f233"; } .fa-user-plus:before { content: "\f234"; } .fa-user-times:before { content: "\f235"; } .fa-hotel:before, .fa-bed:before { content: "\f236"; } .fa-viacoin:before { content: "\f237"; } .fa-train:before { content: "\f238"; } .fa-subway:before { content: "\f239"; } .fa-medium:before { content: "\f23a"; } .fa-yc:before, .fa-y-combinator:before { content: "\f23b"; } .fa-optin-monster:before { content: "\f23c"; } .fa-opencart:before { content: "\f23d"; } .fa-expeditedssl:before { content: "\f23e"; } .fa-battery-4:before, .fa-battery:before, .fa-battery-full:before { content: "\f240"; } .fa-battery-3:before, .fa-battery-three-quarters:before { content: "\f241"; } .fa-battery-2:before, .fa-battery-half:before { content: "\f242"; } .fa-battery-1:before, .fa-battery-quarter:before { content: "\f243"; } .fa-battery-0:before, .fa-battery-empty:before { content: "\f244"; } .fa-mouse-pointer:before { content: "\f245"; } .fa-i-cursor:before { content: "\f246"; } .fa-object-group:before { content: "\f247"; } .fa-object-ungroup:before { content: "\f248"; } .fa-sticky-note:before { content: "\f249"; } .fa-sticky-note-o:before { content: "\f24a"; } .fa-cc-jcb:before { content: "\f24b"; } .fa-cc-diners-club:before { content: "\f24c"; } .fa-clone:before { content: "\f24d"; } .fa-balance-scale:before { content: "\f24e"; } .fa-hourglass-o:before { content: "\f250"; } .fa-hourglass-1:before, .fa-hourglass-start:before { content: "\f251"; } .fa-hourglass-2:before, .fa-hourglass-half:before { content: "\f252"; } .fa-hourglass-3:before, .fa-hourglass-end:before { content: "\f253"; } .fa-hourglass:before { content: "\f254"; } .fa-hand-grab-o:before, .fa-hand-rock-o:before { content: "\f255"; } .fa-hand-stop-o:before, .fa-hand-paper-o:before { content: "\f256"; } .fa-hand-scissors-o:before { content: "\f257"; } .fa-hand-lizard-o:before { content: "\f258"; } .fa-hand-spock-o:before { content: "\f259"; } .fa-hand-pointer-o:before { content: "\f25a"; } .fa-hand-peace-o:before { content: "\f25b"; } .fa-trademark:before { content: "\f25c"; } .fa-registered:before { content: "\f25d"; } .fa-creative-commons:before { content: "\f25e"; } .fa-gg:before { content: "\f260"; } .fa-gg-circle:before { content: "\f261"; } .fa-tripadvisor:before { content: "\f262"; } .fa-odnoklassniki:before { content: "\f263"; } .fa-odnoklassniki-square:before { content: "\f264"; } .fa-get-pocket:before { content: "\f265"; } .fa-wikipedia-w:before { content: "\f266"; } .fa-safari:before { content: "\f267"; } .fa-chrome:before { content: "\f268"; } .fa-firefox:before { content: "\f269"; } .fa-opera:before { content: "\f26a"; } .fa-internet-explorer:before { content: "\f26b"; } .fa-tv:before, .fa-television:before { content: "\f26c"; } .fa-contao:before { content: "\f26d"; } .fa-500px:before { content: "\f26e"; } .fa-amazon:before { content: "\f270"; } .fa-calendar-plus-o:before { content: "\f271"; } .fa-calendar-minus-o:before { content: "\f272"; } .fa-calendar-times-o:before { content: "\f273"; } .fa-calendar-check-o:before { content: "\f274"; } .fa-industry:before { content: "\f275"; } .fa-map-pin:before { content: "\f276"; } .fa-map-signs:before { content: "\f277"; } .fa-map-o:before { content: "\f278"; } .fa-map:before { content: "\f279"; } .fa-commenting:before { content: "\f27a"; } .fa-commenting-o:before { content: "\f27b"; } .fa-houzz:before { content: "\f27c"; } .fa-vimeo:before { content: "\f27d"; } .fa-black-tie:before { content: "\f27e"; } .fa-fonticons:before { content: "\f280"; } .fa-reddit-alien:before { content: "\f281"; } .fa-edge:before { content: "\f282"; } .fa-credit-card-alt:before { content: "\f283"; } .fa-codiepie:before { content: "\f284"; } .fa-modx:before { content: "\f285"; } .fa-fort-awesome:before { content: "\f286"; } .fa-usb:before { content: "\f287"; } .fa-product-hunt:before { content: "\f288"; } .fa-mixcloud:before { content: "\f289"; } .fa-scribd:before { content: "\f28a"; } .fa-pause-circle:before { content: "\f28b"; } .fa-pause-circle-o:before { content: "\f28c"; } .fa-stop-circle:before { content: "\f28d"; } .fa-stop-circle-o:before { content: "\f28e"; } .fa-shopping-bag:before { content: "\f290"; } .fa-shopping-basket:before { content: "\f291"; } .fa-hashtag:before { content: "\f292"; } .fa-bluetooth:before { content: "\f293"; } .fa-bluetooth-b:before { content: "\f294"; } .fa-percent:before { content: "\f295"; } .fa-gitlab:before { content: "\f296"; } .fa-wpbeginner:before { content: "\f297"; } .fa-wpforms:before { content: "\f298"; } .fa-envira:before { content: "\f299"; } .fa-universal-access:before { content: "\f29a"; } .fa-wheelchair-alt:before { content: "\f29b"; } .fa-question-circle-o:before { content: "\f29c"; } .fa-blind:before { content: "\f29d"; } .fa-audio-description:before { content: "\f29e"; } .fa-volume-control-phone:before { content: "\f2a0"; } .fa-braille:before { content: "\f2a1"; } .fa-assistive-listening-systems:before { content: "\f2a2"; } .fa-asl-interpreting:before, .fa-american-sign-language-interpreting:before { content: "\f2a3"; } .fa-deafness:before, .fa-hard-of-hearing:before, .fa-deaf:before { content: "\f2a4"; } .fa-glide:before { content: "\f2a5"; } .fa-glide-g:before { content: "\f2a6"; } .fa-signing:before, .fa-sign-language:before { content: "\f2a7"; } .fa-low-vision:before { content: "\f2a8"; } .fa-viadeo:before { content: "\f2a9"; } .fa-viadeo-square:before { content: "\f2aa"; } .fa-snapchat:before { content: "\f2ab"; } .fa-snapchat-ghost:before { content: "\f2ac"; } .fa-snapchat-square:before { content: "\f2ad"; } .fa-pied-piper:before { content: "\f2ae"; } .fa-first-order:before { content: "\f2b0"; } .fa-yoast:before { content: "\f2b1"; } .fa-themeisle:before { content: "\f2b2"; } .fa-google-plus-circle:before, .fa-google-plus-official:before { content: "\f2b3"; } .fa-fa:before, .fa-font-awesome:before { content: "\f2b4"; } .fa-handshake-o:before { content: "\f2b5"; } .fa-envelope-open:before { content: "\f2b6"; } .fa-envelope-open-o:before { content: "\f2b7"; } .fa-linode:before { content: "\f2b8"; } .fa-address-book:before { content: "\f2b9"; } .fa-address-book-o:before { content: "\f2ba"; } .fa-vcard:before, .fa-address-card:before { content: "\f2bb"; } .fa-vcard-o:before, .fa-address-card-o:before { content: "\f2bc"; } .fa-user-circle:before { content: "\f2bd"; } .fa-user-circle-o:before { content: "\f2be"; } .fa-user-o:before { content: "\f2c0"; } .fa-id-badge:before { content: "\f2c1"; } .fa-drivers-license:before, .fa-id-card:before { content: "\f2c2"; } .fa-drivers-license-o:before, .fa-id-card-o:before { content: "\f2c3"; } .fa-quora:before { content: "\f2c4"; } .fa-free-code-camp:before { content: "\f2c5"; } .fa-telegram:before { content: "\f2c6"; } .fa-thermometer-4:before, .fa-thermometer:before, .fa-thermometer-full:before { content: "\f2c7"; } .fa-thermometer-3:before, .fa-thermometer-three-quarters:before { content: "\f2c8"; } .fa-thermometer-2:before, .fa-thermometer-half:before { content: "\f2c9"; } .fa-thermometer-1:before, .fa-thermometer-quarter:before { content: "\f2ca"; } .fa-thermometer-0:before, .fa-thermometer-empty:before { content: "\f2cb"; } .fa-shower:before { content: "\f2cc"; } .fa-bathtub:before, .fa-s15:before, .fa-bath:before { content: "\f2cd"; } .fa-podcast:before { content: "\f2ce"; } .fa-window-maximize:before { content: "\f2d0"; } .fa-window-minimize:before { content: "\f2d1"; } .fa-window-restore:before { content: "\f2d2"; } .fa-times-rectangle:before, .fa-window-close:before { content: "\f2d3"; } .fa-times-rectangle-o:before, .fa-window-close-o:before { content: "\f2d4"; } .fa-bandcamp:before { content: "\f2d5"; } .fa-grav:before { content: "\f2d6"; } .fa-etsy:before { content: "\f2d7"; } .fa-imdb:before { content: "\f2d8"; } .fa-ravelry:before { content: "\f2d9"; } .fa-eercast:before { content: "\f2da"; } .fa-microchip:before { content: "\f2db"; } .fa-snowflake-o:before { content: "\f2dc"; } .fa-superpowers:before { content: "\f2dd"; } .fa-wpexplorer:before { content: "\f2de"; } .fa-meetup:before { content: "\f2e0"; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/animated.less ================================================ // Animated Icons // -------------------------- .@{fa-css-prefix}-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } .@{fa-css-prefix}-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/bordered-pulled.less ================================================ // Bordered & Pulled // ------------------------- .@{fa-css-prefix}-border { padding: .2em .25em .15em; border: solid .08em @fa-border-color; border-radius: .1em; } .@{fa-css-prefix}-pull-left { float: left; } .@{fa-css-prefix}-pull-right { float: right; } .@{fa-css-prefix} { &.@{fa-css-prefix}-pull-left { margin-right: .3em; } &.@{fa-css-prefix}-pull-right { margin-left: .3em; } } /* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } .@{fa-css-prefix} { &.pull-left { margin-right: .3em; } &.pull-right { margin-left: .3em; } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/core.less ================================================ // Base Class Definition // ------------------------- .@{fa-css-prefix} { display: inline-block; font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/fixed-width.less ================================================ // Fixed Width Icons // ------------------------- .@{fa-css-prefix}-fw { width: (18em / 14); text-align: center; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/font-awesome.less ================================================ /*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ @import "variables.less"; @import "mixins.less"; @import "path.less"; @import "core.less"; @import "larger.less"; @import "fixed-width.less"; @import "list.less"; @import "bordered-pulled.less"; @import "animated.less"; @import "rotated-flipped.less"; @import "stacked.less"; @import "icons.less"; @import "screen-reader.less"; ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/icons.less ================================================ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .@{fa-css-prefix}-glass:before { content: @fa-var-glass; } .@{fa-css-prefix}-music:before { content: @fa-var-music; } .@{fa-css-prefix}-search:before { content: @fa-var-search; } .@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; } .@{fa-css-prefix}-heart:before { content: @fa-var-heart; } .@{fa-css-prefix}-star:before { content: @fa-var-star; } .@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; } .@{fa-css-prefix}-user:before { content: @fa-var-user; } .@{fa-css-prefix}-film:before { content: @fa-var-film; } .@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } .@{fa-css-prefix}-th:before { content: @fa-var-th; } .@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } .@{fa-css-prefix}-check:before { content: @fa-var-check; } .@{fa-css-prefix}-remove:before, .@{fa-css-prefix}-close:before, .@{fa-css-prefix}-times:before { content: @fa-var-times; } .@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } .@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } .@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } .@{fa-css-prefix}-signal:before { content: @fa-var-signal; } .@{fa-css-prefix}-gear:before, .@{fa-css-prefix}-cog:before { content: @fa-var-cog; } .@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; } .@{fa-css-prefix}-home:before { content: @fa-var-home; } .@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; } .@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; } .@{fa-css-prefix}-road:before { content: @fa-var-road; } .@{fa-css-prefix}-download:before { content: @fa-var-download; } .@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; } .@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; } .@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } .@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; } .@{fa-css-prefix}-rotate-right:before, .@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; } .@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; } .@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } .@{fa-css-prefix}-lock:before { content: @fa-var-lock; } .@{fa-css-prefix}-flag:before { content: @fa-var-flag; } .@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } .@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } .@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } .@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } .@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } .@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } .@{fa-css-prefix}-tag:before { content: @fa-var-tag; } .@{fa-css-prefix}-tags:before { content: @fa-var-tags; } .@{fa-css-prefix}-book:before { content: @fa-var-book; } .@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } .@{fa-css-prefix}-print:before { content: @fa-var-print; } .@{fa-css-prefix}-camera:before { content: @fa-var-camera; } .@{fa-css-prefix}-font:before { content: @fa-var-font; } .@{fa-css-prefix}-bold:before { content: @fa-var-bold; } .@{fa-css-prefix}-italic:before { content: @fa-var-italic; } .@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } .@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } .@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } .@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } .@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } .@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } .@{fa-css-prefix}-list:before { content: @fa-var-list; } .@{fa-css-prefix}-dedent:before, .@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } .@{fa-css-prefix}-indent:before { content: @fa-var-indent; } .@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; } .@{fa-css-prefix}-photo:before, .@{fa-css-prefix}-image:before, .@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; } .@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; } .@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } .@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } .@{fa-css-prefix}-tint:before { content: @fa-var-tint; } .@{fa-css-prefix}-edit:before, .@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; } .@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; } .@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; } .@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; } .@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } .@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } .@{fa-css-prefix}-backward:before { content: @fa-var-backward; } .@{fa-css-prefix}-play:before { content: @fa-var-play; } .@{fa-css-prefix}-pause:before { content: @fa-var-pause; } .@{fa-css-prefix}-stop:before { content: @fa-var-stop; } .@{fa-css-prefix}-forward:before { content: @fa-var-forward; } .@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } .@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } .@{fa-css-prefix}-eject:before { content: @fa-var-eject; } .@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } .@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } .@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } .@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } .@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } .@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } .@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } .@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } .@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } .@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; } .@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; } .@{fa-css-prefix}-ban:before { content: @fa-var-ban; } .@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } .@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } .@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } .@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } .@{fa-css-prefix}-mail-forward:before, .@{fa-css-prefix}-share:before { content: @fa-var-share; } .@{fa-css-prefix}-expand:before { content: @fa-var-expand; } .@{fa-css-prefix}-compress:before { content: @fa-var-compress; } .@{fa-css-prefix}-plus:before { content: @fa-var-plus; } .@{fa-css-prefix}-minus:before { content: @fa-var-minus; } .@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } .@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } .@{fa-css-prefix}-gift:before { content: @fa-var-gift; } .@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } .@{fa-css-prefix}-fire:before { content: @fa-var-fire; } .@{fa-css-prefix}-eye:before { content: @fa-var-eye; } .@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } .@{fa-css-prefix}-warning:before, .@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } .@{fa-css-prefix}-plane:before { content: @fa-var-plane; } .@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } .@{fa-css-prefix}-random:before { content: @fa-var-random; } .@{fa-css-prefix}-comment:before { content: @fa-var-comment; } .@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } .@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } .@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } .@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } .@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } .@{fa-css-prefix}-folder:before { content: @fa-var-folder; } .@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } .@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; } .@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; } .@{fa-css-prefix}-bar-chart-o:before, .@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; } .@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } .@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } .@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } .@{fa-css-prefix}-key:before { content: @fa-var-key; } .@{fa-css-prefix}-gears:before, .@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } .@{fa-css-prefix}-comments:before { content: @fa-var-comments; } .@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; } .@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; } .@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } .@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; } .@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; } .@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; } .@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; } .@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; } .@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; } .@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } .@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } .@{fa-css-prefix}-upload:before { content: @fa-var-upload; } .@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; } .@{fa-css-prefix}-phone:before { content: @fa-var-phone; } .@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; } .@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } .@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } .@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } .@{fa-css-prefix}-facebook-f:before, .@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } .@{fa-css-prefix}-github:before { content: @fa-var-github; } .@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } .@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } .@{fa-css-prefix}-feed:before, .@{fa-css-prefix}-rss:before { content: @fa-var-rss; } .@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } .@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } .@{fa-css-prefix}-bell:before { content: @fa-var-bell; } .@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } .@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; } .@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; } .@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; } .@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; } .@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } .@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } .@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } .@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } .@{fa-css-prefix}-globe:before { content: @fa-var-globe; } .@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } .@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } .@{fa-css-prefix}-filter:before { content: @fa-var-filter; } .@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } .@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } .@{fa-css-prefix}-group:before, .@{fa-css-prefix}-users:before { content: @fa-var-users; } .@{fa-css-prefix}-chain:before, .@{fa-css-prefix}-link:before { content: @fa-var-link; } .@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } .@{fa-css-prefix}-flask:before { content: @fa-var-flask; } .@{fa-css-prefix}-cut:before, .@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; } .@{fa-css-prefix}-copy:before, .@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; } .@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } .@{fa-css-prefix}-save:before, .@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; } .@{fa-css-prefix}-square:before { content: @fa-var-square; } .@{fa-css-prefix}-navicon:before, .@{fa-css-prefix}-reorder:before, .@{fa-css-prefix}-bars:before { content: @fa-var-bars; } .@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } .@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } .@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } .@{fa-css-prefix}-underline:before { content: @fa-var-underline; } .@{fa-css-prefix}-table:before { content: @fa-var-table; } .@{fa-css-prefix}-magic:before { content: @fa-var-magic; } .@{fa-css-prefix}-truck:before { content: @fa-var-truck; } .@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } .@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } .@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } .@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } .@{fa-css-prefix}-money:before { content: @fa-var-money; } .@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } .@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } .@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } .@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } .@{fa-css-prefix}-columns:before { content: @fa-var-columns; } .@{fa-css-prefix}-unsorted:before, .@{fa-css-prefix}-sort:before { content: @fa-var-sort; } .@{fa-css-prefix}-sort-down:before, .@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; } .@{fa-css-prefix}-sort-up:before, .@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; } .@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } .@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } .@{fa-css-prefix}-rotate-left:before, .@{fa-css-prefix}-undo:before { content: @fa-var-undo; } .@{fa-css-prefix}-legal:before, .@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } .@{fa-css-prefix}-dashboard:before, .@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; } .@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; } .@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; } .@{fa-css-prefix}-flash:before, .@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } .@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } .@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } .@{fa-css-prefix}-paste:before, .@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } .@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; } .@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; } .@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; } .@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; } .@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } .@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } .@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } .@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; } .@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } .@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; } .@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; } .@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; } .@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; } .@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } .@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } .@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } .@{fa-css-prefix}-beer:before { content: @fa-var-beer; } .@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } .@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } .@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } .@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } .@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } .@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } .@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } .@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } .@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } .@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } .@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } .@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } .@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } .@{fa-css-prefix}-mobile-phone:before, .@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } .@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; } .@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } .@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } .@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } .@{fa-css-prefix}-circle:before { content: @fa-var-circle; } .@{fa-css-prefix}-mail-reply:before, .@{fa-css-prefix}-reply:before { content: @fa-var-reply; } .@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } .@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; } .@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; } .@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; } .@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; } .@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; } .@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } .@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; } .@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; } .@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } .@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } .@{fa-css-prefix}-code:before { content: @fa-var-code; } .@{fa-css-prefix}-mail-reply-all:before, .@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } .@{fa-css-prefix}-star-half-empty:before, .@{fa-css-prefix}-star-half-full:before, .@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; } .@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } .@{fa-css-prefix}-crop:before { content: @fa-var-crop; } .@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; } .@{fa-css-prefix}-unlink:before, .@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; } .@{fa-css-prefix}-question:before { content: @fa-var-question; } .@{fa-css-prefix}-info:before { content: @fa-var-info; } .@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } .@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } .@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } .@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } .@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } .@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } .@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } .@{fa-css-prefix}-shield:before { content: @fa-var-shield; } .@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; } .@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } .@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } .@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } .@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } .@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } .@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } .@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } .@{fa-css-prefix}-html5:before { content: @fa-var-html5; } .@{fa-css-prefix}-css3:before { content: @fa-var-css3; } .@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } .@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } .@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } .@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } .@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } .@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } .@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } .@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; } .@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } .@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; } .@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; } .@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; } .@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } .@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; } .@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; } .@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } .@{fa-css-prefix}-compass:before { content: @fa-var-compass; } .@{fa-css-prefix}-toggle-down:before, .@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; } .@{fa-css-prefix}-toggle-up:before, .@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; } .@{fa-css-prefix}-toggle-right:before, .@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; } .@{fa-css-prefix}-euro:before, .@{fa-css-prefix}-eur:before { content: @fa-var-eur; } .@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; } .@{fa-css-prefix}-dollar:before, .@{fa-css-prefix}-usd:before { content: @fa-var-usd; } .@{fa-css-prefix}-rupee:before, .@{fa-css-prefix}-inr:before { content: @fa-var-inr; } .@{fa-css-prefix}-cny:before, .@{fa-css-prefix}-rmb:before, .@{fa-css-prefix}-yen:before, .@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; } .@{fa-css-prefix}-ruble:before, .@{fa-css-prefix}-rouble:before, .@{fa-css-prefix}-rub:before { content: @fa-var-rub; } .@{fa-css-prefix}-won:before, .@{fa-css-prefix}-krw:before { content: @fa-var-krw; } .@{fa-css-prefix}-bitcoin:before, .@{fa-css-prefix}-btc:before { content: @fa-var-btc; } .@{fa-css-prefix}-file:before { content: @fa-var-file; } .@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; } .@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; } .@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; } .@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; } .@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; } .@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; } .@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; } .@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } .@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } .@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } .@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } .@{fa-css-prefix}-xing:before { content: @fa-var-xing; } .@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } .@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; } .@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } .@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } .@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } .@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } .@{fa-css-prefix}-adn:before { content: @fa-var-adn; } .@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } .@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; } .@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } .@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } .@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; } .@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; } .@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; } .@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; } .@{fa-css-prefix}-apple:before { content: @fa-var-apple; } .@{fa-css-prefix}-windows:before { content: @fa-var-windows; } .@{fa-css-prefix}-android:before { content: @fa-var-android; } .@{fa-css-prefix}-linux:before { content: @fa-var-linux; } .@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } .@{fa-css-prefix}-skype:before { content: @fa-var-skype; } .@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } .@{fa-css-prefix}-trello:before { content: @fa-var-trello; } .@{fa-css-prefix}-female:before { content: @fa-var-female; } .@{fa-css-prefix}-male:before { content: @fa-var-male; } .@{fa-css-prefix}-gittip:before, .@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; } .@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } .@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } .@{fa-css-prefix}-archive:before { content: @fa-var-archive; } .@{fa-css-prefix}-bug:before { content: @fa-var-bug; } .@{fa-css-prefix}-vk:before { content: @fa-var-vk; } .@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } .@{fa-css-prefix}-renren:before { content: @fa-var-renren; } .@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } .@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } .@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; } .@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; } .@{fa-css-prefix}-toggle-left:before, .@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; } .@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; } .@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } .@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } .@{fa-css-prefix}-turkish-lira:before, .@{fa-css-prefix}-try:before { content: @fa-var-try; } .@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; } .@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; } .@{fa-css-prefix}-slack:before { content: @fa-var-slack; } .@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; } .@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; } .@{fa-css-prefix}-openid:before { content: @fa-var-openid; } .@{fa-css-prefix}-institution:before, .@{fa-css-prefix}-bank:before, .@{fa-css-prefix}-university:before { content: @fa-var-university; } .@{fa-css-prefix}-mortar-board:before, .@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; } .@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; } .@{fa-css-prefix}-google:before { content: @fa-var-google; } .@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; } .@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; } .@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; } .@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } .@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } .@{fa-css-prefix}-digg:before { content: @fa-var-digg; } .@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } .@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } .@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } .@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } .@{fa-css-prefix}-language:before { content: @fa-var-language; } .@{fa-css-prefix}-fax:before { content: @fa-var-fax; } .@{fa-css-prefix}-building:before { content: @fa-var-building; } .@{fa-css-prefix}-child:before { content: @fa-var-child; } .@{fa-css-prefix}-paw:before { content: @fa-var-paw; } .@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; } .@{fa-css-prefix}-cube:before { content: @fa-var-cube; } .@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; } .@{fa-css-prefix}-behance:before { content: @fa-var-behance; } .@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; } .@{fa-css-prefix}-steam:before { content: @fa-var-steam; } .@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; } .@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; } .@{fa-css-prefix}-automobile:before, .@{fa-css-prefix}-car:before { content: @fa-var-car; } .@{fa-css-prefix}-cab:before, .@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; } .@{fa-css-prefix}-tree:before { content: @fa-var-tree; } .@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; } .@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; } .@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; } .@{fa-css-prefix}-database:before { content: @fa-var-database; } .@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; } .@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; } .@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; } .@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; } .@{fa-css-prefix}-file-photo-o:before, .@{fa-css-prefix}-file-picture-o:before, .@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; } .@{fa-css-prefix}-file-zip-o:before, .@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; } .@{fa-css-prefix}-file-sound-o:before, .@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; } .@{fa-css-prefix}-file-movie-o:before, .@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; } .@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; } .@{fa-css-prefix}-vine:before { content: @fa-var-vine; } .@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; } .@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; } .@{fa-css-prefix}-life-bouy:before, .@{fa-css-prefix}-life-buoy:before, .@{fa-css-prefix}-life-saver:before, .@{fa-css-prefix}-support:before, .@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } .@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } .@{fa-css-prefix}-ra:before, .@{fa-css-prefix}-resistance:before, .@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } .@{fa-css-prefix}-ge:before, .@{fa-css-prefix}-empire:before { content: @fa-var-empire; } .@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } .@{fa-css-prefix}-git:before { content: @fa-var-git; } .@{fa-css-prefix}-y-combinator-square:before, .@{fa-css-prefix}-yc-square:before, .@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } .@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } .@{fa-css-prefix}-qq:before { content: @fa-var-qq; } .@{fa-css-prefix}-wechat:before, .@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; } .@{fa-css-prefix}-send:before, .@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; } .@{fa-css-prefix}-send-o:before, .@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; } .@{fa-css-prefix}-history:before { content: @fa-var-history; } .@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; } .@{fa-css-prefix}-header:before { content: @fa-var-header; } .@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } .@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; } .@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; } .@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; } .@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; } .@{fa-css-prefix}-soccer-ball-o:before, .@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; } .@{fa-css-prefix}-tty:before { content: @fa-var-tty; } .@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; } .@{fa-css-prefix}-plug:before { content: @fa-var-plug; } .@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; } .@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; } .@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; } .@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; } .@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; } .@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; } .@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; } .@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; } .@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; } .@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; } .@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; } .@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; } .@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; } .@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; } .@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; } .@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; } .@{fa-css-prefix}-trash:before { content: @fa-var-trash; } .@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; } .@{fa-css-prefix}-at:before { content: @fa-var-at; } .@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; } .@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; } .@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; } .@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; } .@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; } .@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; } .@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; } .@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; } .@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; } .@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; } .@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; } .@{fa-css-prefix}-bus:before { content: @fa-var-bus; } .@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; } .@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; } .@{fa-css-prefix}-cc:before { content: @fa-var-cc; } .@{fa-css-prefix}-shekel:before, .@{fa-css-prefix}-sheqel:before, .@{fa-css-prefix}-ils:before { content: @fa-var-ils; } .@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; } .@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; } .@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; } .@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; } .@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; } .@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; } .@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; } .@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; } .@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; } .@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; } .@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; } .@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; } .@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; } .@{fa-css-prefix}-ship:before { content: @fa-var-ship; } .@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; } .@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; } .@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; } .@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; } .@{fa-css-prefix}-venus:before { content: @fa-var-venus; } .@{fa-css-prefix}-mars:before { content: @fa-var-mars; } .@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } .@{fa-css-prefix}-intersex:before, .@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } .@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } .@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } .@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; } .@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; } .@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; } .@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } .@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } .@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } .@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } .@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; } .@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } .@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } .@{fa-css-prefix}-server:before { content: @fa-var-server; } .@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; } .@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; } .@{fa-css-prefix}-hotel:before, .@{fa-css-prefix}-bed:before { content: @fa-var-bed; } .@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; } .@{fa-css-prefix}-train:before { content: @fa-var-train; } .@{fa-css-prefix}-subway:before { content: @fa-var-subway; } .@{fa-css-prefix}-medium:before { content: @fa-var-medium; } .@{fa-css-prefix}-yc:before, .@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } .@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } .@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } .@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } .@{fa-css-prefix}-battery-4:before, .@{fa-css-prefix}-battery:before, .@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } .@{fa-css-prefix}-battery-3:before, .@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } .@{fa-css-prefix}-battery-2:before, .@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } .@{fa-css-prefix}-battery-1:before, .@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } .@{fa-css-prefix}-battery-0:before, .@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } .@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } .@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } .@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } .@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } .@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } .@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; } .@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } .@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } .@{fa-css-prefix}-clone:before { content: @fa-var-clone; } .@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } .@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; } .@{fa-css-prefix}-hourglass-1:before, .@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } .@{fa-css-prefix}-hourglass-2:before, .@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } .@{fa-css-prefix}-hourglass-3:before, .@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } .@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } .@{fa-css-prefix}-hand-grab-o:before, .@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; } .@{fa-css-prefix}-hand-stop-o:before, .@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; } .@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; } .@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; } .@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; } .@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; } .@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; } .@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } .@{fa-css-prefix}-registered:before { content: @fa-var-registered; } .@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } .@{fa-css-prefix}-gg:before { content: @fa-var-gg; } .@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } .@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } .@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } .@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } .@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } .@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } .@{fa-css-prefix}-safari:before { content: @fa-var-safari; } .@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } .@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } .@{fa-css-prefix}-opera:before { content: @fa-var-opera; } .@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } .@{fa-css-prefix}-tv:before, .@{fa-css-prefix}-television:before { content: @fa-var-television; } .@{fa-css-prefix}-contao:before { content: @fa-var-contao; } .@{fa-css-prefix}-500px:before { content: @fa-var-500px; } .@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } .@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; } .@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; } .@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; } .@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; } .@{fa-css-prefix}-industry:before { content: @fa-var-industry; } .@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } .@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } .@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; } .@{fa-css-prefix}-map:before { content: @fa-var-map; } .@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; } .@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; } .@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } .@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } .@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } .@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } .@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } .@{fa-css-prefix}-edge:before { content: @fa-var-edge; } .@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; } .@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } .@{fa-css-prefix}-modx:before { content: @fa-var-modx; } .@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } .@{fa-css-prefix}-usb:before { content: @fa-var-usb; } .@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } .@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } .@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } .@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } .@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; } .@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } .@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; } .@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } .@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } .@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } .@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } .@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } .@{fa-css-prefix}-percent:before { content: @fa-var-percent; } .@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } .@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } .@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } .@{fa-css-prefix}-envira:before { content: @fa-var-envira; } .@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } .@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; } .@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; } .@{fa-css-prefix}-blind:before { content: @fa-var-blind; } .@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } .@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; } .@{fa-css-prefix}-braille:before { content: @fa-var-braille; } .@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } .@{fa-css-prefix}-asl-interpreting:before, .@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } .@{fa-css-prefix}-deafness:before, .@{fa-css-prefix}-hard-of-hearing:before, .@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } .@{fa-css-prefix}-glide:before { content: @fa-var-glide; } .@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } .@{fa-css-prefix}-signing:before, .@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } .@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } .@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } .@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } .@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } .@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } .@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } .@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } .@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } .@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } .@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } .@{fa-css-prefix}-google-plus-circle:before, .@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; } .@{fa-css-prefix}-fa:before, .@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } .@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; } .@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; } .@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; } .@{fa-css-prefix}-linode:before { content: @fa-var-linode; } .@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; } .@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; } .@{fa-css-prefix}-vcard:before, .@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; } .@{fa-css-prefix}-vcard-o:before, .@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; } .@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; } .@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; } .@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; } .@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; } .@{fa-css-prefix}-drivers-license:before, .@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; } .@{fa-css-prefix}-drivers-license-o:before, .@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; } .@{fa-css-prefix}-quora:before { content: @fa-var-quora; } .@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; } .@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; } .@{fa-css-prefix}-thermometer-4:before, .@{fa-css-prefix}-thermometer:before, .@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; } .@{fa-css-prefix}-thermometer-3:before, .@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; } .@{fa-css-prefix}-thermometer-2:before, .@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; } .@{fa-css-prefix}-thermometer-1:before, .@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; } .@{fa-css-prefix}-thermometer-0:before, .@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; } .@{fa-css-prefix}-shower:before { content: @fa-var-shower; } .@{fa-css-prefix}-bathtub:before, .@{fa-css-prefix}-s15:before, .@{fa-css-prefix}-bath:before { content: @fa-var-bath; } .@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; } .@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; } .@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; } .@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; } .@{fa-css-prefix}-times-rectangle:before, .@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; } .@{fa-css-prefix}-times-rectangle-o:before, .@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; } .@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; } .@{fa-css-prefix}-grav:before { content: @fa-var-grav; } .@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; } .@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; } .@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; } .@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; } .@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; } .@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; } .@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; } .@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; } .@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/larger.less ================================================ // Icon Sizes // ------------------------- /* makes the font 33% larger relative to the icon container */ .@{fa-css-prefix}-lg { font-size: (4em / 3); line-height: (3em / 4); vertical-align: -15%; } .@{fa-css-prefix}-2x { font-size: 2em; } .@{fa-css-prefix}-3x { font-size: 3em; } .@{fa-css-prefix}-4x { font-size: 4em; } .@{fa-css-prefix}-5x { font-size: 5em; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/list.less ================================================ // List Icons // ------------------------- .@{fa-css-prefix}-ul { padding-left: 0; margin-left: @fa-li-width; list-style-type: none; > li { position: relative; } } .@{fa-css-prefix}-li { position: absolute; left: -@fa-li-width; width: @fa-li-width; top: (2em / 14); text-align: center; &.@{fa-css-prefix}-lg { left: (-@fa-li-width + (4em / 14)); } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/mixins.less ================================================ // Mixins // -------------------------- .fa-icon() { display: inline-block; font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .fa-icon-rotate(@degrees, @rotation) { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; -webkit-transform: rotate(@degrees); -ms-transform: rotate(@degrees); transform: rotate(@degrees); } .fa-icon-flip(@horiz, @vert, @rotation) { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; -webkit-transform: scale(@horiz, @vert); -ms-transform: scale(@horiz, @vert); transform: scale(@horiz, @vert); } // Only display content to screen readers. A la Bootstrap 4. // // See: http://a11yproject.com/posts/how-to-hide-content/ .sr-only() { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; } // Use in conjunction with .sr-only to only display content when it's focused. // // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 // // Credit: HTML5 Boilerplate .sr-only-focusable() { &:active, &:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/path.less ================================================ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts font-weight: normal; font-style: normal; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/rotated-flipped.less ================================================ // Rotated & Flipped Icons // ------------------------- .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } // Hook for IE8-9 // ------------------------- :root .@{fa-css-prefix}-rotate-90, :root .@{fa-css-prefix}-rotate-180, :root .@{fa-css-prefix}-rotate-270, :root .@{fa-css-prefix}-flip-horizontal, :root .@{fa-css-prefix}-flip-vertical { filter: none; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/screen-reader.less ================================================ // Screen Readers // ------------------------- .sr-only { .sr-only(); } .sr-only-focusable { .sr-only-focusable(); } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/stacked.less ================================================ // Stacked Icons // ------------------------- .@{fa-css-prefix}-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; } .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; } .@{fa-css-prefix}-stack-1x { line-height: inherit; } .@{fa-css-prefix}-stack-2x { font-size: 2em; } .@{fa-css-prefix}-inverse { color: @fa-inverse; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/less/variables.less ================================================ // Variables // -------------------------- @fa-font-path: "../fonts"; @fa-font-size-base: 14px; @fa-line-height-base: 1; //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly @fa-css-prefix: fa; @fa-version: "4.7.0"; @fa-border-color: #eee; @fa-inverse: #fff; @fa-li-width: (30em / 14); @fa-var-500px: "\f26e"; @fa-var-address-book: "\f2b9"; @fa-var-address-book-o: "\f2ba"; @fa-var-address-card: "\f2bb"; @fa-var-address-card-o: "\f2bc"; @fa-var-adjust: "\f042"; @fa-var-adn: "\f170"; @fa-var-align-center: "\f037"; @fa-var-align-justify: "\f039"; @fa-var-align-left: "\f036"; @fa-var-align-right: "\f038"; @fa-var-amazon: "\f270"; @fa-var-ambulance: "\f0f9"; @fa-var-american-sign-language-interpreting: "\f2a3"; @fa-var-anchor: "\f13d"; @fa-var-android: "\f17b"; @fa-var-angellist: "\f209"; @fa-var-angle-double-down: "\f103"; @fa-var-angle-double-left: "\f100"; @fa-var-angle-double-right: "\f101"; @fa-var-angle-double-up: "\f102"; @fa-var-angle-down: "\f107"; @fa-var-angle-left: "\f104"; @fa-var-angle-right: "\f105"; @fa-var-angle-up: "\f106"; @fa-var-apple: "\f179"; @fa-var-archive: "\f187"; @fa-var-area-chart: "\f1fe"; @fa-var-arrow-circle-down: "\f0ab"; @fa-var-arrow-circle-left: "\f0a8"; @fa-var-arrow-circle-o-down: "\f01a"; @fa-var-arrow-circle-o-left: "\f190"; @fa-var-arrow-circle-o-right: "\f18e"; @fa-var-arrow-circle-o-up: "\f01b"; @fa-var-arrow-circle-right: "\f0a9"; @fa-var-arrow-circle-up: "\f0aa"; @fa-var-arrow-down: "\f063"; @fa-var-arrow-left: "\f060"; @fa-var-arrow-right: "\f061"; @fa-var-arrow-up: "\f062"; @fa-var-arrows: "\f047"; @fa-var-arrows-alt: "\f0b2"; @fa-var-arrows-h: "\f07e"; @fa-var-arrows-v: "\f07d"; @fa-var-asl-interpreting: "\f2a3"; @fa-var-assistive-listening-systems: "\f2a2"; @fa-var-asterisk: "\f069"; @fa-var-at: "\f1fa"; @fa-var-audio-description: "\f29e"; @fa-var-automobile: "\f1b9"; @fa-var-backward: "\f04a"; @fa-var-balance-scale: "\f24e"; @fa-var-ban: "\f05e"; @fa-var-bandcamp: "\f2d5"; @fa-var-bank: "\f19c"; @fa-var-bar-chart: "\f080"; @fa-var-bar-chart-o: "\f080"; @fa-var-barcode: "\f02a"; @fa-var-bars: "\f0c9"; @fa-var-bath: "\f2cd"; @fa-var-bathtub: "\f2cd"; @fa-var-battery: "\f240"; @fa-var-battery-0: "\f244"; @fa-var-battery-1: "\f243"; @fa-var-battery-2: "\f242"; @fa-var-battery-3: "\f241"; @fa-var-battery-4: "\f240"; @fa-var-battery-empty: "\f244"; @fa-var-battery-full: "\f240"; @fa-var-battery-half: "\f242"; @fa-var-battery-quarter: "\f243"; @fa-var-battery-three-quarters: "\f241"; @fa-var-bed: "\f236"; @fa-var-beer: "\f0fc"; @fa-var-behance: "\f1b4"; @fa-var-behance-square: "\f1b5"; @fa-var-bell: "\f0f3"; @fa-var-bell-o: "\f0a2"; @fa-var-bell-slash: "\f1f6"; @fa-var-bell-slash-o: "\f1f7"; @fa-var-bicycle: "\f206"; @fa-var-binoculars: "\f1e5"; @fa-var-birthday-cake: "\f1fd"; @fa-var-bitbucket: "\f171"; @fa-var-bitbucket-square: "\f172"; @fa-var-bitcoin: "\f15a"; @fa-var-black-tie: "\f27e"; @fa-var-blind: "\f29d"; @fa-var-bluetooth: "\f293"; @fa-var-bluetooth-b: "\f294"; @fa-var-bold: "\f032"; @fa-var-bolt: "\f0e7"; @fa-var-bomb: "\f1e2"; @fa-var-book: "\f02d"; @fa-var-bookmark: "\f02e"; @fa-var-bookmark-o: "\f097"; @fa-var-braille: "\f2a1"; @fa-var-briefcase: "\f0b1"; @fa-var-btc: "\f15a"; @fa-var-bug: "\f188"; @fa-var-building: "\f1ad"; @fa-var-building-o: "\f0f7"; @fa-var-bullhorn: "\f0a1"; @fa-var-bullseye: "\f140"; @fa-var-bus: "\f207"; @fa-var-buysellads: "\f20d"; @fa-var-cab: "\f1ba"; @fa-var-calculator: "\f1ec"; @fa-var-calendar: "\f073"; @fa-var-calendar-check-o: "\f274"; @fa-var-calendar-minus-o: "\f272"; @fa-var-calendar-o: "\f133"; @fa-var-calendar-plus-o: "\f271"; @fa-var-calendar-times-o: "\f273"; @fa-var-camera: "\f030"; @fa-var-camera-retro: "\f083"; @fa-var-car: "\f1b9"; @fa-var-caret-down: "\f0d7"; @fa-var-caret-left: "\f0d9"; @fa-var-caret-right: "\f0da"; @fa-var-caret-square-o-down: "\f150"; @fa-var-caret-square-o-left: "\f191"; @fa-var-caret-square-o-right: "\f152"; @fa-var-caret-square-o-up: "\f151"; @fa-var-caret-up: "\f0d8"; @fa-var-cart-arrow-down: "\f218"; @fa-var-cart-plus: "\f217"; @fa-var-cc: "\f20a"; @fa-var-cc-amex: "\f1f3"; @fa-var-cc-diners-club: "\f24c"; @fa-var-cc-discover: "\f1f2"; @fa-var-cc-jcb: "\f24b"; @fa-var-cc-mastercard: "\f1f1"; @fa-var-cc-paypal: "\f1f4"; @fa-var-cc-stripe: "\f1f5"; @fa-var-cc-visa: "\f1f0"; @fa-var-certificate: "\f0a3"; @fa-var-chain: "\f0c1"; @fa-var-chain-broken: "\f127"; @fa-var-check: "\f00c"; @fa-var-check-circle: "\f058"; @fa-var-check-circle-o: "\f05d"; @fa-var-check-square: "\f14a"; @fa-var-check-square-o: "\f046"; @fa-var-chevron-circle-down: "\f13a"; @fa-var-chevron-circle-left: "\f137"; @fa-var-chevron-circle-right: "\f138"; @fa-var-chevron-circle-up: "\f139"; @fa-var-chevron-down: "\f078"; @fa-var-chevron-left: "\f053"; @fa-var-chevron-right: "\f054"; @fa-var-chevron-up: "\f077"; @fa-var-child: "\f1ae"; @fa-var-chrome: "\f268"; @fa-var-circle: "\f111"; @fa-var-circle-o: "\f10c"; @fa-var-circle-o-notch: "\f1ce"; @fa-var-circle-thin: "\f1db"; @fa-var-clipboard: "\f0ea"; @fa-var-clock-o: "\f017"; @fa-var-clone: "\f24d"; @fa-var-close: "\f00d"; @fa-var-cloud: "\f0c2"; @fa-var-cloud-download: "\f0ed"; @fa-var-cloud-upload: "\f0ee"; @fa-var-cny: "\f157"; @fa-var-code: "\f121"; @fa-var-code-fork: "\f126"; @fa-var-codepen: "\f1cb"; @fa-var-codiepie: "\f284"; @fa-var-coffee: "\f0f4"; @fa-var-cog: "\f013"; @fa-var-cogs: "\f085"; @fa-var-columns: "\f0db"; @fa-var-comment: "\f075"; @fa-var-comment-o: "\f0e5"; @fa-var-commenting: "\f27a"; @fa-var-commenting-o: "\f27b"; @fa-var-comments: "\f086"; @fa-var-comments-o: "\f0e6"; @fa-var-compass: "\f14e"; @fa-var-compress: "\f066"; @fa-var-connectdevelop: "\f20e"; @fa-var-contao: "\f26d"; @fa-var-copy: "\f0c5"; @fa-var-copyright: "\f1f9"; @fa-var-creative-commons: "\f25e"; @fa-var-credit-card: "\f09d"; @fa-var-credit-card-alt: "\f283"; @fa-var-crop: "\f125"; @fa-var-crosshairs: "\f05b"; @fa-var-css3: "\f13c"; @fa-var-cube: "\f1b2"; @fa-var-cubes: "\f1b3"; @fa-var-cut: "\f0c4"; @fa-var-cutlery: "\f0f5"; @fa-var-dashboard: "\f0e4"; @fa-var-dashcube: "\f210"; @fa-var-database: "\f1c0"; @fa-var-deaf: "\f2a4"; @fa-var-deafness: "\f2a4"; @fa-var-dedent: "\f03b"; @fa-var-delicious: "\f1a5"; @fa-var-desktop: "\f108"; @fa-var-deviantart: "\f1bd"; @fa-var-diamond: "\f219"; @fa-var-digg: "\f1a6"; @fa-var-dollar: "\f155"; @fa-var-dot-circle-o: "\f192"; @fa-var-download: "\f019"; @fa-var-dribbble: "\f17d"; @fa-var-drivers-license: "\f2c2"; @fa-var-drivers-license-o: "\f2c3"; @fa-var-dropbox: "\f16b"; @fa-var-drupal: "\f1a9"; @fa-var-edge: "\f282"; @fa-var-edit: "\f044"; @fa-var-eercast: "\f2da"; @fa-var-eject: "\f052"; @fa-var-ellipsis-h: "\f141"; @fa-var-ellipsis-v: "\f142"; @fa-var-empire: "\f1d1"; @fa-var-envelope: "\f0e0"; @fa-var-envelope-o: "\f003"; @fa-var-envelope-open: "\f2b6"; @fa-var-envelope-open-o: "\f2b7"; @fa-var-envelope-square: "\f199"; @fa-var-envira: "\f299"; @fa-var-eraser: "\f12d"; @fa-var-etsy: "\f2d7"; @fa-var-eur: "\f153"; @fa-var-euro: "\f153"; @fa-var-exchange: "\f0ec"; @fa-var-exclamation: "\f12a"; @fa-var-exclamation-circle: "\f06a"; @fa-var-exclamation-triangle: "\f071"; @fa-var-expand: "\f065"; @fa-var-expeditedssl: "\f23e"; @fa-var-external-link: "\f08e"; @fa-var-external-link-square: "\f14c"; @fa-var-eye: "\f06e"; @fa-var-eye-slash: "\f070"; @fa-var-eyedropper: "\f1fb"; @fa-var-fa: "\f2b4"; @fa-var-facebook: "\f09a"; @fa-var-facebook-f: "\f09a"; @fa-var-facebook-official: "\f230"; @fa-var-facebook-square: "\f082"; @fa-var-fast-backward: "\f049"; @fa-var-fast-forward: "\f050"; @fa-var-fax: "\f1ac"; @fa-var-feed: "\f09e"; @fa-var-female: "\f182"; @fa-var-fighter-jet: "\f0fb"; @fa-var-file: "\f15b"; @fa-var-file-archive-o: "\f1c6"; @fa-var-file-audio-o: "\f1c7"; @fa-var-file-code-o: "\f1c9"; @fa-var-file-excel-o: "\f1c3"; @fa-var-file-image-o: "\f1c5"; @fa-var-file-movie-o: "\f1c8"; @fa-var-file-o: "\f016"; @fa-var-file-pdf-o: "\f1c1"; @fa-var-file-photo-o: "\f1c5"; @fa-var-file-picture-o: "\f1c5"; @fa-var-file-powerpoint-o: "\f1c4"; @fa-var-file-sound-o: "\f1c7"; @fa-var-file-text: "\f15c"; @fa-var-file-text-o: "\f0f6"; @fa-var-file-video-o: "\f1c8"; @fa-var-file-word-o: "\f1c2"; @fa-var-file-zip-o: "\f1c6"; @fa-var-files-o: "\f0c5"; @fa-var-film: "\f008"; @fa-var-filter: "\f0b0"; @fa-var-fire: "\f06d"; @fa-var-fire-extinguisher: "\f134"; @fa-var-firefox: "\f269"; @fa-var-first-order: "\f2b0"; @fa-var-flag: "\f024"; @fa-var-flag-checkered: "\f11e"; @fa-var-flag-o: "\f11d"; @fa-var-flash: "\f0e7"; @fa-var-flask: "\f0c3"; @fa-var-flickr: "\f16e"; @fa-var-floppy-o: "\f0c7"; @fa-var-folder: "\f07b"; @fa-var-folder-o: "\f114"; @fa-var-folder-open: "\f07c"; @fa-var-folder-open-o: "\f115"; @fa-var-font: "\f031"; @fa-var-font-awesome: "\f2b4"; @fa-var-fonticons: "\f280"; @fa-var-fort-awesome: "\f286"; @fa-var-forumbee: "\f211"; @fa-var-forward: "\f04e"; @fa-var-foursquare: "\f180"; @fa-var-free-code-camp: "\f2c5"; @fa-var-frown-o: "\f119"; @fa-var-futbol-o: "\f1e3"; @fa-var-gamepad: "\f11b"; @fa-var-gavel: "\f0e3"; @fa-var-gbp: "\f154"; @fa-var-ge: "\f1d1"; @fa-var-gear: "\f013"; @fa-var-gears: "\f085"; @fa-var-genderless: "\f22d"; @fa-var-get-pocket: "\f265"; @fa-var-gg: "\f260"; @fa-var-gg-circle: "\f261"; @fa-var-gift: "\f06b"; @fa-var-git: "\f1d3"; @fa-var-git-square: "\f1d2"; @fa-var-github: "\f09b"; @fa-var-github-alt: "\f113"; @fa-var-github-square: "\f092"; @fa-var-gitlab: "\f296"; @fa-var-gittip: "\f184"; @fa-var-glass: "\f000"; @fa-var-glide: "\f2a5"; @fa-var-glide-g: "\f2a6"; @fa-var-globe: "\f0ac"; @fa-var-google: "\f1a0"; @fa-var-google-plus: "\f0d5"; @fa-var-google-plus-circle: "\f2b3"; @fa-var-google-plus-official: "\f2b3"; @fa-var-google-plus-square: "\f0d4"; @fa-var-google-wallet: "\f1ee"; @fa-var-graduation-cap: "\f19d"; @fa-var-gratipay: "\f184"; @fa-var-grav: "\f2d6"; @fa-var-group: "\f0c0"; @fa-var-h-square: "\f0fd"; @fa-var-hacker-news: "\f1d4"; @fa-var-hand-grab-o: "\f255"; @fa-var-hand-lizard-o: "\f258"; @fa-var-hand-o-down: "\f0a7"; @fa-var-hand-o-left: "\f0a5"; @fa-var-hand-o-right: "\f0a4"; @fa-var-hand-o-up: "\f0a6"; @fa-var-hand-paper-o: "\f256"; @fa-var-hand-peace-o: "\f25b"; @fa-var-hand-pointer-o: "\f25a"; @fa-var-hand-rock-o: "\f255"; @fa-var-hand-scissors-o: "\f257"; @fa-var-hand-spock-o: "\f259"; @fa-var-hand-stop-o: "\f256"; @fa-var-handshake-o: "\f2b5"; @fa-var-hard-of-hearing: "\f2a4"; @fa-var-hashtag: "\f292"; @fa-var-hdd-o: "\f0a0"; @fa-var-header: "\f1dc"; @fa-var-headphones: "\f025"; @fa-var-heart: "\f004"; @fa-var-heart-o: "\f08a"; @fa-var-heartbeat: "\f21e"; @fa-var-history: "\f1da"; @fa-var-home: "\f015"; @fa-var-hospital-o: "\f0f8"; @fa-var-hotel: "\f236"; @fa-var-hourglass: "\f254"; @fa-var-hourglass-1: "\f251"; @fa-var-hourglass-2: "\f252"; @fa-var-hourglass-3: "\f253"; @fa-var-hourglass-end: "\f253"; @fa-var-hourglass-half: "\f252"; @fa-var-hourglass-o: "\f250"; @fa-var-hourglass-start: "\f251"; @fa-var-houzz: "\f27c"; @fa-var-html5: "\f13b"; @fa-var-i-cursor: "\f246"; @fa-var-id-badge: "\f2c1"; @fa-var-id-card: "\f2c2"; @fa-var-id-card-o: "\f2c3"; @fa-var-ils: "\f20b"; @fa-var-image: "\f03e"; @fa-var-imdb: "\f2d8"; @fa-var-inbox: "\f01c"; @fa-var-indent: "\f03c"; @fa-var-industry: "\f275"; @fa-var-info: "\f129"; @fa-var-info-circle: "\f05a"; @fa-var-inr: "\f156"; @fa-var-instagram: "\f16d"; @fa-var-institution: "\f19c"; @fa-var-internet-explorer: "\f26b"; @fa-var-intersex: "\f224"; @fa-var-ioxhost: "\f208"; @fa-var-italic: "\f033"; @fa-var-joomla: "\f1aa"; @fa-var-jpy: "\f157"; @fa-var-jsfiddle: "\f1cc"; @fa-var-key: "\f084"; @fa-var-keyboard-o: "\f11c"; @fa-var-krw: "\f159"; @fa-var-language: "\f1ab"; @fa-var-laptop: "\f109"; @fa-var-lastfm: "\f202"; @fa-var-lastfm-square: "\f203"; @fa-var-leaf: "\f06c"; @fa-var-leanpub: "\f212"; @fa-var-legal: "\f0e3"; @fa-var-lemon-o: "\f094"; @fa-var-level-down: "\f149"; @fa-var-level-up: "\f148"; @fa-var-life-bouy: "\f1cd"; @fa-var-life-buoy: "\f1cd"; @fa-var-life-ring: "\f1cd"; @fa-var-life-saver: "\f1cd"; @fa-var-lightbulb-o: "\f0eb"; @fa-var-line-chart: "\f201"; @fa-var-link: "\f0c1"; @fa-var-linkedin: "\f0e1"; @fa-var-linkedin-square: "\f08c"; @fa-var-linode: "\f2b8"; @fa-var-linux: "\f17c"; @fa-var-list: "\f03a"; @fa-var-list-alt: "\f022"; @fa-var-list-ol: "\f0cb"; @fa-var-list-ul: "\f0ca"; @fa-var-location-arrow: "\f124"; @fa-var-lock: "\f023"; @fa-var-long-arrow-down: "\f175"; @fa-var-long-arrow-left: "\f177"; @fa-var-long-arrow-right: "\f178"; @fa-var-long-arrow-up: "\f176"; @fa-var-low-vision: "\f2a8"; @fa-var-magic: "\f0d0"; @fa-var-magnet: "\f076"; @fa-var-mail-forward: "\f064"; @fa-var-mail-reply: "\f112"; @fa-var-mail-reply-all: "\f122"; @fa-var-male: "\f183"; @fa-var-map: "\f279"; @fa-var-map-marker: "\f041"; @fa-var-map-o: "\f278"; @fa-var-map-pin: "\f276"; @fa-var-map-signs: "\f277"; @fa-var-mars: "\f222"; @fa-var-mars-double: "\f227"; @fa-var-mars-stroke: "\f229"; @fa-var-mars-stroke-h: "\f22b"; @fa-var-mars-stroke-v: "\f22a"; @fa-var-maxcdn: "\f136"; @fa-var-meanpath: "\f20c"; @fa-var-medium: "\f23a"; @fa-var-medkit: "\f0fa"; @fa-var-meetup: "\f2e0"; @fa-var-meh-o: "\f11a"; @fa-var-mercury: "\f223"; @fa-var-microchip: "\f2db"; @fa-var-microphone: "\f130"; @fa-var-microphone-slash: "\f131"; @fa-var-minus: "\f068"; @fa-var-minus-circle: "\f056"; @fa-var-minus-square: "\f146"; @fa-var-minus-square-o: "\f147"; @fa-var-mixcloud: "\f289"; @fa-var-mobile: "\f10b"; @fa-var-mobile-phone: "\f10b"; @fa-var-modx: "\f285"; @fa-var-money: "\f0d6"; @fa-var-moon-o: "\f186"; @fa-var-mortar-board: "\f19d"; @fa-var-motorcycle: "\f21c"; @fa-var-mouse-pointer: "\f245"; @fa-var-music: "\f001"; @fa-var-navicon: "\f0c9"; @fa-var-neuter: "\f22c"; @fa-var-newspaper-o: "\f1ea"; @fa-var-object-group: "\f247"; @fa-var-object-ungroup: "\f248"; @fa-var-odnoklassniki: "\f263"; @fa-var-odnoklassniki-square: "\f264"; @fa-var-opencart: "\f23d"; @fa-var-openid: "\f19b"; @fa-var-opera: "\f26a"; @fa-var-optin-monster: "\f23c"; @fa-var-outdent: "\f03b"; @fa-var-pagelines: "\f18c"; @fa-var-paint-brush: "\f1fc"; @fa-var-paper-plane: "\f1d8"; @fa-var-paper-plane-o: "\f1d9"; @fa-var-paperclip: "\f0c6"; @fa-var-paragraph: "\f1dd"; @fa-var-paste: "\f0ea"; @fa-var-pause: "\f04c"; @fa-var-pause-circle: "\f28b"; @fa-var-pause-circle-o: "\f28c"; @fa-var-paw: "\f1b0"; @fa-var-paypal: "\f1ed"; @fa-var-pencil: "\f040"; @fa-var-pencil-square: "\f14b"; @fa-var-pencil-square-o: "\f044"; @fa-var-percent: "\f295"; @fa-var-phone: "\f095"; @fa-var-phone-square: "\f098"; @fa-var-photo: "\f03e"; @fa-var-picture-o: "\f03e"; @fa-var-pie-chart: "\f200"; @fa-var-pied-piper: "\f2ae"; @fa-var-pied-piper-alt: "\f1a8"; @fa-var-pied-piper-pp: "\f1a7"; @fa-var-pinterest: "\f0d2"; @fa-var-pinterest-p: "\f231"; @fa-var-pinterest-square: "\f0d3"; @fa-var-plane: "\f072"; @fa-var-play: "\f04b"; @fa-var-play-circle: "\f144"; @fa-var-play-circle-o: "\f01d"; @fa-var-plug: "\f1e6"; @fa-var-plus: "\f067"; @fa-var-plus-circle: "\f055"; @fa-var-plus-square: "\f0fe"; @fa-var-plus-square-o: "\f196"; @fa-var-podcast: "\f2ce"; @fa-var-power-off: "\f011"; @fa-var-print: "\f02f"; @fa-var-product-hunt: "\f288"; @fa-var-puzzle-piece: "\f12e"; @fa-var-qq: "\f1d6"; @fa-var-qrcode: "\f029"; @fa-var-question: "\f128"; @fa-var-question-circle: "\f059"; @fa-var-question-circle-o: "\f29c"; @fa-var-quora: "\f2c4"; @fa-var-quote-left: "\f10d"; @fa-var-quote-right: "\f10e"; @fa-var-ra: "\f1d0"; @fa-var-random: "\f074"; @fa-var-ravelry: "\f2d9"; @fa-var-rebel: "\f1d0"; @fa-var-recycle: "\f1b8"; @fa-var-reddit: "\f1a1"; @fa-var-reddit-alien: "\f281"; @fa-var-reddit-square: "\f1a2"; @fa-var-refresh: "\f021"; @fa-var-registered: "\f25d"; @fa-var-remove: "\f00d"; @fa-var-renren: "\f18b"; @fa-var-reorder: "\f0c9"; @fa-var-repeat: "\f01e"; @fa-var-reply: "\f112"; @fa-var-reply-all: "\f122"; @fa-var-resistance: "\f1d0"; @fa-var-retweet: "\f079"; @fa-var-rmb: "\f157"; @fa-var-road: "\f018"; @fa-var-rocket: "\f135"; @fa-var-rotate-left: "\f0e2"; @fa-var-rotate-right: "\f01e"; @fa-var-rouble: "\f158"; @fa-var-rss: "\f09e"; @fa-var-rss-square: "\f143"; @fa-var-rub: "\f158"; @fa-var-ruble: "\f158"; @fa-var-rupee: "\f156"; @fa-var-s15: "\f2cd"; @fa-var-safari: "\f267"; @fa-var-save: "\f0c7"; @fa-var-scissors: "\f0c4"; @fa-var-scribd: "\f28a"; @fa-var-search: "\f002"; @fa-var-search-minus: "\f010"; @fa-var-search-plus: "\f00e"; @fa-var-sellsy: "\f213"; @fa-var-send: "\f1d8"; @fa-var-send-o: "\f1d9"; @fa-var-server: "\f233"; @fa-var-share: "\f064"; @fa-var-share-alt: "\f1e0"; @fa-var-share-alt-square: "\f1e1"; @fa-var-share-square: "\f14d"; @fa-var-share-square-o: "\f045"; @fa-var-shekel: "\f20b"; @fa-var-sheqel: "\f20b"; @fa-var-shield: "\f132"; @fa-var-ship: "\f21a"; @fa-var-shirtsinbulk: "\f214"; @fa-var-shopping-bag: "\f290"; @fa-var-shopping-basket: "\f291"; @fa-var-shopping-cart: "\f07a"; @fa-var-shower: "\f2cc"; @fa-var-sign-in: "\f090"; @fa-var-sign-language: "\f2a7"; @fa-var-sign-out: "\f08b"; @fa-var-signal: "\f012"; @fa-var-signing: "\f2a7"; @fa-var-simplybuilt: "\f215"; @fa-var-sitemap: "\f0e8"; @fa-var-skyatlas: "\f216"; @fa-var-skype: "\f17e"; @fa-var-slack: "\f198"; @fa-var-sliders: "\f1de"; @fa-var-slideshare: "\f1e7"; @fa-var-smile-o: "\f118"; @fa-var-snapchat: "\f2ab"; @fa-var-snapchat-ghost: "\f2ac"; @fa-var-snapchat-square: "\f2ad"; @fa-var-snowflake-o: "\f2dc"; @fa-var-soccer-ball-o: "\f1e3"; @fa-var-sort: "\f0dc"; @fa-var-sort-alpha-asc: "\f15d"; @fa-var-sort-alpha-desc: "\f15e"; @fa-var-sort-amount-asc: "\f160"; @fa-var-sort-amount-desc: "\f161"; @fa-var-sort-asc: "\f0de"; @fa-var-sort-desc: "\f0dd"; @fa-var-sort-down: "\f0dd"; @fa-var-sort-numeric-asc: "\f162"; @fa-var-sort-numeric-desc: "\f163"; @fa-var-sort-up: "\f0de"; @fa-var-soundcloud: "\f1be"; @fa-var-space-shuttle: "\f197"; @fa-var-spinner: "\f110"; @fa-var-spoon: "\f1b1"; @fa-var-spotify: "\f1bc"; @fa-var-square: "\f0c8"; @fa-var-square-o: "\f096"; @fa-var-stack-exchange: "\f18d"; @fa-var-stack-overflow: "\f16c"; @fa-var-star: "\f005"; @fa-var-star-half: "\f089"; @fa-var-star-half-empty: "\f123"; @fa-var-star-half-full: "\f123"; @fa-var-star-half-o: "\f123"; @fa-var-star-o: "\f006"; @fa-var-steam: "\f1b6"; @fa-var-steam-square: "\f1b7"; @fa-var-step-backward: "\f048"; @fa-var-step-forward: "\f051"; @fa-var-stethoscope: "\f0f1"; @fa-var-sticky-note: "\f249"; @fa-var-sticky-note-o: "\f24a"; @fa-var-stop: "\f04d"; @fa-var-stop-circle: "\f28d"; @fa-var-stop-circle-o: "\f28e"; @fa-var-street-view: "\f21d"; @fa-var-strikethrough: "\f0cc"; @fa-var-stumbleupon: "\f1a4"; @fa-var-stumbleupon-circle: "\f1a3"; @fa-var-subscript: "\f12c"; @fa-var-subway: "\f239"; @fa-var-suitcase: "\f0f2"; @fa-var-sun-o: "\f185"; @fa-var-superpowers: "\f2dd"; @fa-var-superscript: "\f12b"; @fa-var-support: "\f1cd"; @fa-var-table: "\f0ce"; @fa-var-tablet: "\f10a"; @fa-var-tachometer: "\f0e4"; @fa-var-tag: "\f02b"; @fa-var-tags: "\f02c"; @fa-var-tasks: "\f0ae"; @fa-var-taxi: "\f1ba"; @fa-var-telegram: "\f2c6"; @fa-var-television: "\f26c"; @fa-var-tencent-weibo: "\f1d5"; @fa-var-terminal: "\f120"; @fa-var-text-height: "\f034"; @fa-var-text-width: "\f035"; @fa-var-th: "\f00a"; @fa-var-th-large: "\f009"; @fa-var-th-list: "\f00b"; @fa-var-themeisle: "\f2b2"; @fa-var-thermometer: "\f2c7"; @fa-var-thermometer-0: "\f2cb"; @fa-var-thermometer-1: "\f2ca"; @fa-var-thermometer-2: "\f2c9"; @fa-var-thermometer-3: "\f2c8"; @fa-var-thermometer-4: "\f2c7"; @fa-var-thermometer-empty: "\f2cb"; @fa-var-thermometer-full: "\f2c7"; @fa-var-thermometer-half: "\f2c9"; @fa-var-thermometer-quarter: "\f2ca"; @fa-var-thermometer-three-quarters: "\f2c8"; @fa-var-thumb-tack: "\f08d"; @fa-var-thumbs-down: "\f165"; @fa-var-thumbs-o-down: "\f088"; @fa-var-thumbs-o-up: "\f087"; @fa-var-thumbs-up: "\f164"; @fa-var-ticket: "\f145"; @fa-var-times: "\f00d"; @fa-var-times-circle: "\f057"; @fa-var-times-circle-o: "\f05c"; @fa-var-times-rectangle: "\f2d3"; @fa-var-times-rectangle-o: "\f2d4"; @fa-var-tint: "\f043"; @fa-var-toggle-down: "\f150"; @fa-var-toggle-left: "\f191"; @fa-var-toggle-off: "\f204"; @fa-var-toggle-on: "\f205"; @fa-var-toggle-right: "\f152"; @fa-var-toggle-up: "\f151"; @fa-var-trademark: "\f25c"; @fa-var-train: "\f238"; @fa-var-transgender: "\f224"; @fa-var-transgender-alt: "\f225"; @fa-var-trash: "\f1f8"; @fa-var-trash-o: "\f014"; @fa-var-tree: "\f1bb"; @fa-var-trello: "\f181"; @fa-var-tripadvisor: "\f262"; @fa-var-trophy: "\f091"; @fa-var-truck: "\f0d1"; @fa-var-try: "\f195"; @fa-var-tty: "\f1e4"; @fa-var-tumblr: "\f173"; @fa-var-tumblr-square: "\f174"; @fa-var-turkish-lira: "\f195"; @fa-var-tv: "\f26c"; @fa-var-twitch: "\f1e8"; @fa-var-twitter: "\f099"; @fa-var-twitter-square: "\f081"; @fa-var-umbrella: "\f0e9"; @fa-var-underline: "\f0cd"; @fa-var-undo: "\f0e2"; @fa-var-universal-access: "\f29a"; @fa-var-university: "\f19c"; @fa-var-unlink: "\f127"; @fa-var-unlock: "\f09c"; @fa-var-unlock-alt: "\f13e"; @fa-var-unsorted: "\f0dc"; @fa-var-upload: "\f093"; @fa-var-usb: "\f287"; @fa-var-usd: "\f155"; @fa-var-user: "\f007"; @fa-var-user-circle: "\f2bd"; @fa-var-user-circle-o: "\f2be"; @fa-var-user-md: "\f0f0"; @fa-var-user-o: "\f2c0"; @fa-var-user-plus: "\f234"; @fa-var-user-secret: "\f21b"; @fa-var-user-times: "\f235"; @fa-var-users: "\f0c0"; @fa-var-vcard: "\f2bb"; @fa-var-vcard-o: "\f2bc"; @fa-var-venus: "\f221"; @fa-var-venus-double: "\f226"; @fa-var-venus-mars: "\f228"; @fa-var-viacoin: "\f237"; @fa-var-viadeo: "\f2a9"; @fa-var-viadeo-square: "\f2aa"; @fa-var-video-camera: "\f03d"; @fa-var-vimeo: "\f27d"; @fa-var-vimeo-square: "\f194"; @fa-var-vine: "\f1ca"; @fa-var-vk: "\f189"; @fa-var-volume-control-phone: "\f2a0"; @fa-var-volume-down: "\f027"; @fa-var-volume-off: "\f026"; @fa-var-volume-up: "\f028"; @fa-var-warning: "\f071"; @fa-var-wechat: "\f1d7"; @fa-var-weibo: "\f18a"; @fa-var-weixin: "\f1d7"; @fa-var-whatsapp: "\f232"; @fa-var-wheelchair: "\f193"; @fa-var-wheelchair-alt: "\f29b"; @fa-var-wifi: "\f1eb"; @fa-var-wikipedia-w: "\f266"; @fa-var-window-close: "\f2d3"; @fa-var-window-close-o: "\f2d4"; @fa-var-window-maximize: "\f2d0"; @fa-var-window-minimize: "\f2d1"; @fa-var-window-restore: "\f2d2"; @fa-var-windows: "\f17a"; @fa-var-won: "\f159"; @fa-var-wordpress: "\f19a"; @fa-var-wpbeginner: "\f297"; @fa-var-wpexplorer: "\f2de"; @fa-var-wpforms: "\f298"; @fa-var-wrench: "\f0ad"; @fa-var-xing: "\f168"; @fa-var-xing-square: "\f169"; @fa-var-y-combinator: "\f23b"; @fa-var-y-combinator-square: "\f1d4"; @fa-var-yahoo: "\f19e"; @fa-var-yc: "\f23b"; @fa-var-yc-square: "\f1d4"; @fa-var-yelp: "\f1e9"; @fa-var-yen: "\f157"; @fa-var-yoast: "\f2b1"; @fa-var-youtube: "\f167"; @fa-var-youtube-play: "\f16a"; @fa-var-youtube-square: "\f166"; ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_animated.scss ================================================ // Spinning Icons // -------------------------- .#{$fa-css-prefix}-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } .#{$fa-css-prefix}-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_bordered-pulled.scss ================================================ // Bordered & Pulled // ------------------------- .#{$fa-css-prefix}-border { padding: .2em .25em .15em; border: solid .08em $fa-border-color; border-radius: .1em; } .#{$fa-css-prefix}-pull-left { float: left; } .#{$fa-css-prefix}-pull-right { float: right; } .#{$fa-css-prefix} { &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } } /* Deprecated as of 4.4.0 */ .pull-right { float: right; } .pull-left { float: left; } .#{$fa-css-prefix} { &.pull-left { margin-right: .3em; } &.pull-right { margin-left: .3em; } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_core.scss ================================================ // Base Class Definition // ------------------------- .#{$fa-css-prefix} { display: inline-block; font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_fixed-width.scss ================================================ // Fixed Width Icons // ------------------------- .#{$fa-css-prefix}-fw { width: (18em / 14); text-align: center; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_icons.scss ================================================ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } .#{$fa-css-prefix}-music:before { content: $fa-var-music; } .#{$fa-css-prefix}-search:before { content: $fa-var-search; } .#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } .#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } .#{$fa-css-prefix}-star:before { content: $fa-var-star; } .#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } .#{$fa-css-prefix}-user:before { content: $fa-var-user; } .#{$fa-css-prefix}-film:before { content: $fa-var-film; } .#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } .#{$fa-css-prefix}-th:before { content: $fa-var-th; } .#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } .#{$fa-css-prefix}-check:before { content: $fa-var-check; } .#{$fa-css-prefix}-remove:before, .#{$fa-css-prefix}-close:before, .#{$fa-css-prefix}-times:before { content: $fa-var-times; } .#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } .#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } .#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } .#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } .#{$fa-css-prefix}-gear:before, .#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } .#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } .#{$fa-css-prefix}-home:before { content: $fa-var-home; } .#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } .#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } .#{$fa-css-prefix}-road:before { content: $fa-var-road; } .#{$fa-css-prefix}-download:before { content: $fa-var-download; } .#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } .#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } .#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } .#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } .#{$fa-css-prefix}-rotate-right:before, .#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } .#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } .#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } .#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } .#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } .#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } .#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } .#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } .#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } .#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } .#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } .#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } .#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } .#{$fa-css-prefix}-book:before { content: $fa-var-book; } .#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } .#{$fa-css-prefix}-print:before { content: $fa-var-print; } .#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } .#{$fa-css-prefix}-font:before { content: $fa-var-font; } .#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } .#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } .#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } .#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } .#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } .#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } .#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } .#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } .#{$fa-css-prefix}-list:before { content: $fa-var-list; } .#{$fa-css-prefix}-dedent:before, .#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } .#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } .#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } .#{$fa-css-prefix}-photo:before, .#{$fa-css-prefix}-image:before, .#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } .#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } .#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } .#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } .#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } .#{$fa-css-prefix}-edit:before, .#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } .#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } .#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } .#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } .#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } .#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } .#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } .#{$fa-css-prefix}-play:before { content: $fa-var-play; } .#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } .#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } .#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } .#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } .#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } .#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } .#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } .#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } .#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } .#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } .#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } .#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } .#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } .#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } .#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } .#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } .#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } .#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } .#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } .#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } .#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } .#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } .#{$fa-css-prefix}-mail-forward:before, .#{$fa-css-prefix}-share:before { content: $fa-var-share; } .#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } .#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } .#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } .#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } .#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } .#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } .#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } .#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } .#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } .#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } .#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } .#{$fa-css-prefix}-warning:before, .#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } .#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } .#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } .#{$fa-css-prefix}-random:before { content: $fa-var-random; } .#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } .#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } .#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } .#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } .#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } .#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } .#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } .#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } .#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } .#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } .#{$fa-css-prefix}-bar-chart-o:before, .#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; } .#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } .#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } .#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } .#{$fa-css-prefix}-key:before { content: $fa-var-key; } .#{$fa-css-prefix}-gears:before, .#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } .#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } .#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } .#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } .#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } .#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } .#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } .#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } .#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } .#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } .#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } .#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } .#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } .#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } .#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } .#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } .#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } .#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } .#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } .#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } .#{$fa-css-prefix}-facebook-f:before, .#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } .#{$fa-css-prefix}-github:before { content: $fa-var-github; } .#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } .#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } .#{$fa-css-prefix}-feed:before, .#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } .#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } .#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } .#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } .#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } .#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } .#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } .#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } .#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } .#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } .#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } .#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } .#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } .#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } .#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } .#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } .#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } .#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } .#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } .#{$fa-css-prefix}-group:before, .#{$fa-css-prefix}-users:before { content: $fa-var-users; } .#{$fa-css-prefix}-chain:before, .#{$fa-css-prefix}-link:before { content: $fa-var-link; } .#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } .#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } .#{$fa-css-prefix}-cut:before, .#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } .#{$fa-css-prefix}-copy:before, .#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } .#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } .#{$fa-css-prefix}-save:before, .#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } .#{$fa-css-prefix}-square:before { content: $fa-var-square; } .#{$fa-css-prefix}-navicon:before, .#{$fa-css-prefix}-reorder:before, .#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } .#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } .#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } .#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } .#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } .#{$fa-css-prefix}-table:before { content: $fa-var-table; } .#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } .#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } .#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } .#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } .#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } .#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } .#{$fa-css-prefix}-money:before { content: $fa-var-money; } .#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } .#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } .#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } .#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } .#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } .#{$fa-css-prefix}-unsorted:before, .#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } .#{$fa-css-prefix}-sort-down:before, .#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } .#{$fa-css-prefix}-sort-up:before, .#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } .#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } .#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } .#{$fa-css-prefix}-rotate-left:before, .#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } .#{$fa-css-prefix}-legal:before, .#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } .#{$fa-css-prefix}-dashboard:before, .#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } .#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } .#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } .#{$fa-css-prefix}-flash:before, .#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } .#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } .#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } .#{$fa-css-prefix}-paste:before, .#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } .#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } .#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } .#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } .#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } .#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } .#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } .#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } .#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } .#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } .#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } .#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } .#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } .#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } .#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } .#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } .#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } .#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } .#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } .#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } .#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } .#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } .#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } .#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } .#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } .#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } .#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } .#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } .#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } .#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } .#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } .#{$fa-css-prefix}-mobile-phone:before, .#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } .#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } .#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } .#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } .#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } .#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } .#{$fa-css-prefix}-mail-reply:before, .#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } .#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } .#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } .#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } .#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } .#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } .#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } .#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } .#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } .#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } .#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } .#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } .#{$fa-css-prefix}-code:before { content: $fa-var-code; } .#{$fa-css-prefix}-mail-reply-all:before, .#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } .#{$fa-css-prefix}-star-half-empty:before, .#{$fa-css-prefix}-star-half-full:before, .#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } .#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } .#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } .#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } .#{$fa-css-prefix}-unlink:before, .#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } .#{$fa-css-prefix}-question:before { content: $fa-var-question; } .#{$fa-css-prefix}-info:before { content: $fa-var-info; } .#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } .#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } .#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } .#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } .#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } .#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } .#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } .#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } .#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } .#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } .#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } .#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } .#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } .#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } .#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } .#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } .#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } .#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } .#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } .#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } .#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } .#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } .#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } .#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } .#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } .#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } .#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } .#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } .#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } .#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } .#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } .#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } .#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } .#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } .#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } .#{$fa-css-prefix}-toggle-down:before, .#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } .#{$fa-css-prefix}-toggle-up:before, .#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } .#{$fa-css-prefix}-toggle-right:before, .#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } .#{$fa-css-prefix}-euro:before, .#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } .#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } .#{$fa-css-prefix}-dollar:before, .#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } .#{$fa-css-prefix}-rupee:before, .#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } .#{$fa-css-prefix}-cny:before, .#{$fa-css-prefix}-rmb:before, .#{$fa-css-prefix}-yen:before, .#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } .#{$fa-css-prefix}-ruble:before, .#{$fa-css-prefix}-rouble:before, .#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } .#{$fa-css-prefix}-won:before, .#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } .#{$fa-css-prefix}-bitcoin:before, .#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } .#{$fa-css-prefix}-file:before { content: $fa-var-file; } .#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } .#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } .#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } .#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } .#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } .#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } .#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } .#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } .#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } .#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } .#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } .#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } .#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } .#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } .#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } .#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } .#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } .#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } .#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } .#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } .#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } .#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } .#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } .#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } .#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } .#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } .#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } .#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } .#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } .#{$fa-css-prefix}-android:before { content: $fa-var-android; } .#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } .#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } .#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } .#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } .#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } .#{$fa-css-prefix}-female:before { content: $fa-var-female; } .#{$fa-css-prefix}-male:before { content: $fa-var-male; } .#{$fa-css-prefix}-gittip:before, .#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } .#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } .#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } .#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } .#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } .#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } .#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } .#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } .#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } .#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } .#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } .#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } .#{$fa-css-prefix}-toggle-left:before, .#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } .#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } .#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } .#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } .#{$fa-css-prefix}-turkish-lira:before, .#{$fa-css-prefix}-try:before { content: $fa-var-try; } .#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } .#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; } .#{$fa-css-prefix}-slack:before { content: $fa-var-slack; } .#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; } .#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; } .#{$fa-css-prefix}-openid:before { content: $fa-var-openid; } .#{$fa-css-prefix}-institution:before, .#{$fa-css-prefix}-bank:before, .#{$fa-css-prefix}-university:before { content: $fa-var-university; } .#{$fa-css-prefix}-mortar-board:before, .#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; } .#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; } .#{$fa-css-prefix}-google:before { content: $fa-var-google; } .#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; } .#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; } .#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; } .#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } .#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } .#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } .#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } .#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } .#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } .#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } .#{$fa-css-prefix}-language:before { content: $fa-var-language; } .#{$fa-css-prefix}-fax:before { content: $fa-var-fax; } .#{$fa-css-prefix}-building:before { content: $fa-var-building; } .#{$fa-css-prefix}-child:before { content: $fa-var-child; } .#{$fa-css-prefix}-paw:before { content: $fa-var-paw; } .#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; } .#{$fa-css-prefix}-cube:before { content: $fa-var-cube; } .#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; } .#{$fa-css-prefix}-behance:before { content: $fa-var-behance; } .#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; } .#{$fa-css-prefix}-steam:before { content: $fa-var-steam; } .#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; } .#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; } .#{$fa-css-prefix}-automobile:before, .#{$fa-css-prefix}-car:before { content: $fa-var-car; } .#{$fa-css-prefix}-cab:before, .#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; } .#{$fa-css-prefix}-tree:before { content: $fa-var-tree; } .#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; } .#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; } .#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; } .#{$fa-css-prefix}-database:before { content: $fa-var-database; } .#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; } .#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; } .#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; } .#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; } .#{$fa-css-prefix}-file-photo-o:before, .#{$fa-css-prefix}-file-picture-o:before, .#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; } .#{$fa-css-prefix}-file-zip-o:before, .#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; } .#{$fa-css-prefix}-file-sound-o:before, .#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; } .#{$fa-css-prefix}-file-movie-o:before, .#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; } .#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; } .#{$fa-css-prefix}-vine:before { content: $fa-var-vine; } .#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; } .#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; } .#{$fa-css-prefix}-life-bouy:before, .#{$fa-css-prefix}-life-buoy:before, .#{$fa-css-prefix}-life-saver:before, .#{$fa-css-prefix}-support:before, .#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } .#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } .#{$fa-css-prefix}-ra:before, .#{$fa-css-prefix}-resistance:before, .#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } .#{$fa-css-prefix}-ge:before, .#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } .#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } .#{$fa-css-prefix}-git:before { content: $fa-var-git; } .#{$fa-css-prefix}-y-combinator-square:before, .#{$fa-css-prefix}-yc-square:before, .#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } .#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } .#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } .#{$fa-css-prefix}-wechat:before, .#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; } .#{$fa-css-prefix}-send:before, .#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; } .#{$fa-css-prefix}-send-o:before, .#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } .#{$fa-css-prefix}-history:before { content: $fa-var-history; } .#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } .#{$fa-css-prefix}-header:before { content: $fa-var-header; } .#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } .#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; } .#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; } .#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; } .#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; } .#{$fa-css-prefix}-soccer-ball-o:before, .#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; } .#{$fa-css-prefix}-tty:before { content: $fa-var-tty; } .#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; } .#{$fa-css-prefix}-plug:before { content: $fa-var-plug; } .#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; } .#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; } .#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; } .#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; } .#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; } .#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; } .#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; } .#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; } .#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; } .#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; } .#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; } .#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; } .#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; } .#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; } .#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; } .#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; } .#{$fa-css-prefix}-trash:before { content: $fa-var-trash; } .#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; } .#{$fa-css-prefix}-at:before { content: $fa-var-at; } .#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; } .#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; } .#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; } .#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; } .#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; } .#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; } .#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; } .#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; } .#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; } .#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; } .#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; } .#{$fa-css-prefix}-bus:before { content: $fa-var-bus; } .#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; } .#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; } .#{$fa-css-prefix}-cc:before { content: $fa-var-cc; } .#{$fa-css-prefix}-shekel:before, .#{$fa-css-prefix}-sheqel:before, .#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } .#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } .#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } .#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } .#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } .#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } .#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } .#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } .#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } .#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } .#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } .#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } .#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } .#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } .#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } .#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } .#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } .#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } .#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } .#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } .#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } .#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } .#{$fa-css-prefix}-intersex:before, .#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } .#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } .#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } .#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } .#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } .#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } .#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } .#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } .#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } .#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } .#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } .#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } .#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } .#{$fa-css-prefix}-server:before { content: $fa-var-server; } .#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } .#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } .#{$fa-css-prefix}-hotel:before, .#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } .#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } .#{$fa-css-prefix}-train:before { content: $fa-var-train; } .#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } .#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } .#{$fa-css-prefix}-yc:before, .#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } .#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } .#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } .#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } .#{$fa-css-prefix}-battery-4:before, .#{$fa-css-prefix}-battery:before, .#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } .#{$fa-css-prefix}-battery-3:before, .#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } .#{$fa-css-prefix}-battery-2:before, .#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } .#{$fa-css-prefix}-battery-1:before, .#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } .#{$fa-css-prefix}-battery-0:before, .#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } .#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } .#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } .#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } .#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } .#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } .#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } .#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } .#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } .#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } .#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } .#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } .#{$fa-css-prefix}-hourglass-1:before, .#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } .#{$fa-css-prefix}-hourglass-2:before, .#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } .#{$fa-css-prefix}-hourglass-3:before, .#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } .#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } .#{$fa-css-prefix}-hand-grab-o:before, .#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } .#{$fa-css-prefix}-hand-stop-o:before, .#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } .#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } .#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } .#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } .#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } .#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } .#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } .#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } .#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } .#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } .#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } .#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } .#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } .#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } .#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } .#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } .#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } .#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } .#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } .#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } .#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } .#{$fa-css-prefix}-tv:before, .#{$fa-css-prefix}-television:before { content: $fa-var-television; } .#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } .#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } .#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } .#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } .#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } .#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } .#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } .#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } .#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } .#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } .#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } .#{$fa-css-prefix}-map:before { content: $fa-var-map; } .#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } .#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } .#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } .#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } .#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } .#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } .#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } .#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } .#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } .#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } .#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } .#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } .#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } .#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } .#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } .#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } .#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } .#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } .#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } .#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } .#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } .#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } .#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } .#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } .#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } .#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } .#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } .#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } .#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } .#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } .#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } .#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } .#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } .#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } .#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } .#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } .#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } .#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } .#{$fa-css-prefix}-asl-interpreting:before, .#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } .#{$fa-css-prefix}-deafness:before, .#{$fa-css-prefix}-hard-of-hearing:before, .#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } .#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } .#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } .#{$fa-css-prefix}-signing:before, .#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } .#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } .#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } .#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } .#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } .#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } .#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } .#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } .#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } .#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } .#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } .#{$fa-css-prefix}-google-plus-circle:before, .#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } .#{$fa-css-prefix}-fa:before, .#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } .#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; } .#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; } .#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; } .#{$fa-css-prefix}-linode:before { content: $fa-var-linode; } .#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; } .#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; } .#{$fa-css-prefix}-vcard:before, .#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; } .#{$fa-css-prefix}-vcard-o:before, .#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; } .#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; } .#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; } .#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; } .#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; } .#{$fa-css-prefix}-drivers-license:before, .#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; } .#{$fa-css-prefix}-drivers-license-o:before, .#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; } .#{$fa-css-prefix}-quora:before { content: $fa-var-quora; } .#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; } .#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; } .#{$fa-css-prefix}-thermometer-4:before, .#{$fa-css-prefix}-thermometer:before, .#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; } .#{$fa-css-prefix}-thermometer-3:before, .#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; } .#{$fa-css-prefix}-thermometer-2:before, .#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; } .#{$fa-css-prefix}-thermometer-1:before, .#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; } .#{$fa-css-prefix}-thermometer-0:before, .#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; } .#{$fa-css-prefix}-shower:before { content: $fa-var-shower; } .#{$fa-css-prefix}-bathtub:before, .#{$fa-css-prefix}-s15:before, .#{$fa-css-prefix}-bath:before { content: $fa-var-bath; } .#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; } .#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; } .#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; } .#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; } .#{$fa-css-prefix}-times-rectangle:before, .#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; } .#{$fa-css-prefix}-times-rectangle-o:before, .#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; } .#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; } .#{$fa-css-prefix}-grav:before { content: $fa-var-grav; } .#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; } .#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; } .#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; } .#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; } .#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; } .#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; } .#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; } .#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; } .#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_larger.scss ================================================ // Icon Sizes // ------------------------- /* makes the font 33% larger relative to the icon container */ .#{$fa-css-prefix}-lg { font-size: (4em / 3); line-height: (3em / 4); vertical-align: -15%; } .#{$fa-css-prefix}-2x { font-size: 2em; } .#{$fa-css-prefix}-3x { font-size: 3em; } .#{$fa-css-prefix}-4x { font-size: 4em; } .#{$fa-css-prefix}-5x { font-size: 5em; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_list.scss ================================================ // List Icons // ------------------------- .#{$fa-css-prefix}-ul { padding-left: 0; margin-left: $fa-li-width; list-style-type: none; > li { position: relative; } } .#{$fa-css-prefix}-li { position: absolute; left: -$fa-li-width; width: $fa-li-width; top: (2em / 14); text-align: center; &.#{$fa-css-prefix}-lg { left: -$fa-li-width + (4em / 14); } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_mixins.scss ================================================ // Mixins // -------------------------- @mixin fa-icon() { display: inline-block; font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration font-size: inherit; // can't have font-size inherit on line above, so need to override text-rendering: auto; // optimizelegibility throws things off #1094 -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @mixin fa-icon-rotate($degrees, $rotation) { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; -webkit-transform: rotate($degrees); -ms-transform: rotate($degrees); transform: rotate($degrees); } @mixin fa-icon-flip($horiz, $vert, $rotation) { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; -webkit-transform: scale($horiz, $vert); -ms-transform: scale($horiz, $vert); transform: scale($horiz, $vert); } // Only display content to screen readers. A la Bootstrap 4. // // See: http://a11yproject.com/posts/how-to-hide-content/ @mixin sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; } // Use in conjunction with .sr-only to only display content when it's focused. // // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 // // Credit: HTML5 Boilerplate @mixin sr-only-focusable { &:active, &:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_path.scss ================================================ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts font-weight: normal; font-style: normal; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_rotated-flipped.scss ================================================ // Rotated & Flipped Icons // ------------------------- .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } // Hook for IE8-9 // ------------------------- :root .#{$fa-css-prefix}-rotate-90, :root .#{$fa-css-prefix}-rotate-180, :root .#{$fa-css-prefix}-rotate-270, :root .#{$fa-css-prefix}-flip-horizontal, :root .#{$fa-css-prefix}-flip-vertical { filter: none; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_screen-reader.scss ================================================ // Screen Readers // ------------------------- .sr-only { @include sr-only(); } .sr-only-focusable { @include sr-only-focusable(); } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_stacked.scss ================================================ // Stacked Icons // ------------------------- .#{$fa-css-prefix}-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; } .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; } .#{$fa-css-prefix}-stack-1x { line-height: inherit; } .#{$fa-css-prefix}-stack-2x { font-size: 2em; } .#{$fa-css-prefix}-inverse { color: $fa-inverse; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/_variables.scss ================================================ // Variables // -------------------------- $fa-font-path: "../fonts" !default; $fa-font-size-base: 14px !default; $fa-line-height-base: 1 !default; //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly $fa-css-prefix: fa !default; $fa-version: "4.7.0" !default; $fa-border-color: #eee !default; $fa-inverse: #fff !default; $fa-li-width: (30em / 14) !default; $fa-var-500px: "\f26e"; $fa-var-address-book: "\f2b9"; $fa-var-address-book-o: "\f2ba"; $fa-var-address-card: "\f2bb"; $fa-var-address-card-o: "\f2bc"; $fa-var-adjust: "\f042"; $fa-var-adn: "\f170"; $fa-var-align-center: "\f037"; $fa-var-align-justify: "\f039"; $fa-var-align-left: "\f036"; $fa-var-align-right: "\f038"; $fa-var-amazon: "\f270"; $fa-var-ambulance: "\f0f9"; $fa-var-american-sign-language-interpreting: "\f2a3"; $fa-var-anchor: "\f13d"; $fa-var-android: "\f17b"; $fa-var-angellist: "\f209"; $fa-var-angle-double-down: "\f103"; $fa-var-angle-double-left: "\f100"; $fa-var-angle-double-right: "\f101"; $fa-var-angle-double-up: "\f102"; $fa-var-angle-down: "\f107"; $fa-var-angle-left: "\f104"; $fa-var-angle-right: "\f105"; $fa-var-angle-up: "\f106"; $fa-var-apple: "\f179"; $fa-var-archive: "\f187"; $fa-var-area-chart: "\f1fe"; $fa-var-arrow-circle-down: "\f0ab"; $fa-var-arrow-circle-left: "\f0a8"; $fa-var-arrow-circle-o-down: "\f01a"; $fa-var-arrow-circle-o-left: "\f190"; $fa-var-arrow-circle-o-right: "\f18e"; $fa-var-arrow-circle-o-up: "\f01b"; $fa-var-arrow-circle-right: "\f0a9"; $fa-var-arrow-circle-up: "\f0aa"; $fa-var-arrow-down: "\f063"; $fa-var-arrow-left: "\f060"; $fa-var-arrow-right: "\f061"; $fa-var-arrow-up: "\f062"; $fa-var-arrows: "\f047"; $fa-var-arrows-alt: "\f0b2"; $fa-var-arrows-h: "\f07e"; $fa-var-arrows-v: "\f07d"; $fa-var-asl-interpreting: "\f2a3"; $fa-var-assistive-listening-systems: "\f2a2"; $fa-var-asterisk: "\f069"; $fa-var-at: "\f1fa"; $fa-var-audio-description: "\f29e"; $fa-var-automobile: "\f1b9"; $fa-var-backward: "\f04a"; $fa-var-balance-scale: "\f24e"; $fa-var-ban: "\f05e"; $fa-var-bandcamp: "\f2d5"; $fa-var-bank: "\f19c"; $fa-var-bar-chart: "\f080"; $fa-var-bar-chart-o: "\f080"; $fa-var-barcode: "\f02a"; $fa-var-bars: "\f0c9"; $fa-var-bath: "\f2cd"; $fa-var-bathtub: "\f2cd"; $fa-var-battery: "\f240"; $fa-var-battery-0: "\f244"; $fa-var-battery-1: "\f243"; $fa-var-battery-2: "\f242"; $fa-var-battery-3: "\f241"; $fa-var-battery-4: "\f240"; $fa-var-battery-empty: "\f244"; $fa-var-battery-full: "\f240"; $fa-var-battery-half: "\f242"; $fa-var-battery-quarter: "\f243"; $fa-var-battery-three-quarters: "\f241"; $fa-var-bed: "\f236"; $fa-var-beer: "\f0fc"; $fa-var-behance: "\f1b4"; $fa-var-behance-square: "\f1b5"; $fa-var-bell: "\f0f3"; $fa-var-bell-o: "\f0a2"; $fa-var-bell-slash: "\f1f6"; $fa-var-bell-slash-o: "\f1f7"; $fa-var-bicycle: "\f206"; $fa-var-binoculars: "\f1e5"; $fa-var-birthday-cake: "\f1fd"; $fa-var-bitbucket: "\f171"; $fa-var-bitbucket-square: "\f172"; $fa-var-bitcoin: "\f15a"; $fa-var-black-tie: "\f27e"; $fa-var-blind: "\f29d"; $fa-var-bluetooth: "\f293"; $fa-var-bluetooth-b: "\f294"; $fa-var-bold: "\f032"; $fa-var-bolt: "\f0e7"; $fa-var-bomb: "\f1e2"; $fa-var-book: "\f02d"; $fa-var-bookmark: "\f02e"; $fa-var-bookmark-o: "\f097"; $fa-var-braille: "\f2a1"; $fa-var-briefcase: "\f0b1"; $fa-var-btc: "\f15a"; $fa-var-bug: "\f188"; $fa-var-building: "\f1ad"; $fa-var-building-o: "\f0f7"; $fa-var-bullhorn: "\f0a1"; $fa-var-bullseye: "\f140"; $fa-var-bus: "\f207"; $fa-var-buysellads: "\f20d"; $fa-var-cab: "\f1ba"; $fa-var-calculator: "\f1ec"; $fa-var-calendar: "\f073"; $fa-var-calendar-check-o: "\f274"; $fa-var-calendar-minus-o: "\f272"; $fa-var-calendar-o: "\f133"; $fa-var-calendar-plus-o: "\f271"; $fa-var-calendar-times-o: "\f273"; $fa-var-camera: "\f030"; $fa-var-camera-retro: "\f083"; $fa-var-car: "\f1b9"; $fa-var-caret-down: "\f0d7"; $fa-var-caret-left: "\f0d9"; $fa-var-caret-right: "\f0da"; $fa-var-caret-square-o-down: "\f150"; $fa-var-caret-square-o-left: "\f191"; $fa-var-caret-square-o-right: "\f152"; $fa-var-caret-square-o-up: "\f151"; $fa-var-caret-up: "\f0d8"; $fa-var-cart-arrow-down: "\f218"; $fa-var-cart-plus: "\f217"; $fa-var-cc: "\f20a"; $fa-var-cc-amex: "\f1f3"; $fa-var-cc-diners-club: "\f24c"; $fa-var-cc-discover: "\f1f2"; $fa-var-cc-jcb: "\f24b"; $fa-var-cc-mastercard: "\f1f1"; $fa-var-cc-paypal: "\f1f4"; $fa-var-cc-stripe: "\f1f5"; $fa-var-cc-visa: "\f1f0"; $fa-var-certificate: "\f0a3"; $fa-var-chain: "\f0c1"; $fa-var-chain-broken: "\f127"; $fa-var-check: "\f00c"; $fa-var-check-circle: "\f058"; $fa-var-check-circle-o: "\f05d"; $fa-var-check-square: "\f14a"; $fa-var-check-square-o: "\f046"; $fa-var-chevron-circle-down: "\f13a"; $fa-var-chevron-circle-left: "\f137"; $fa-var-chevron-circle-right: "\f138"; $fa-var-chevron-circle-up: "\f139"; $fa-var-chevron-down: "\f078"; $fa-var-chevron-left: "\f053"; $fa-var-chevron-right: "\f054"; $fa-var-chevron-up: "\f077"; $fa-var-child: "\f1ae"; $fa-var-chrome: "\f268"; $fa-var-circle: "\f111"; $fa-var-circle-o: "\f10c"; $fa-var-circle-o-notch: "\f1ce"; $fa-var-circle-thin: "\f1db"; $fa-var-clipboard: "\f0ea"; $fa-var-clock-o: "\f017"; $fa-var-clone: "\f24d"; $fa-var-close: "\f00d"; $fa-var-cloud: "\f0c2"; $fa-var-cloud-download: "\f0ed"; $fa-var-cloud-upload: "\f0ee"; $fa-var-cny: "\f157"; $fa-var-code: "\f121"; $fa-var-code-fork: "\f126"; $fa-var-codepen: "\f1cb"; $fa-var-codiepie: "\f284"; $fa-var-coffee: "\f0f4"; $fa-var-cog: "\f013"; $fa-var-cogs: "\f085"; $fa-var-columns: "\f0db"; $fa-var-comment: "\f075"; $fa-var-comment-o: "\f0e5"; $fa-var-commenting: "\f27a"; $fa-var-commenting-o: "\f27b"; $fa-var-comments: "\f086"; $fa-var-comments-o: "\f0e6"; $fa-var-compass: "\f14e"; $fa-var-compress: "\f066"; $fa-var-connectdevelop: "\f20e"; $fa-var-contao: "\f26d"; $fa-var-copy: "\f0c5"; $fa-var-copyright: "\f1f9"; $fa-var-creative-commons: "\f25e"; $fa-var-credit-card: "\f09d"; $fa-var-credit-card-alt: "\f283"; $fa-var-crop: "\f125"; $fa-var-crosshairs: "\f05b"; $fa-var-css3: "\f13c"; $fa-var-cube: "\f1b2"; $fa-var-cubes: "\f1b3"; $fa-var-cut: "\f0c4"; $fa-var-cutlery: "\f0f5"; $fa-var-dashboard: "\f0e4"; $fa-var-dashcube: "\f210"; $fa-var-database: "\f1c0"; $fa-var-deaf: "\f2a4"; $fa-var-deafness: "\f2a4"; $fa-var-dedent: "\f03b"; $fa-var-delicious: "\f1a5"; $fa-var-desktop: "\f108"; $fa-var-deviantart: "\f1bd"; $fa-var-diamond: "\f219"; $fa-var-digg: "\f1a6"; $fa-var-dollar: "\f155"; $fa-var-dot-circle-o: "\f192"; $fa-var-download: "\f019"; $fa-var-dribbble: "\f17d"; $fa-var-drivers-license: "\f2c2"; $fa-var-drivers-license-o: "\f2c3"; $fa-var-dropbox: "\f16b"; $fa-var-drupal: "\f1a9"; $fa-var-edge: "\f282"; $fa-var-edit: "\f044"; $fa-var-eercast: "\f2da"; $fa-var-eject: "\f052"; $fa-var-ellipsis-h: "\f141"; $fa-var-ellipsis-v: "\f142"; $fa-var-empire: "\f1d1"; $fa-var-envelope: "\f0e0"; $fa-var-envelope-o: "\f003"; $fa-var-envelope-open: "\f2b6"; $fa-var-envelope-open-o: "\f2b7"; $fa-var-envelope-square: "\f199"; $fa-var-envira: "\f299"; $fa-var-eraser: "\f12d"; $fa-var-etsy: "\f2d7"; $fa-var-eur: "\f153"; $fa-var-euro: "\f153"; $fa-var-exchange: "\f0ec"; $fa-var-exclamation: "\f12a"; $fa-var-exclamation-circle: "\f06a"; $fa-var-exclamation-triangle: "\f071"; $fa-var-expand: "\f065"; $fa-var-expeditedssl: "\f23e"; $fa-var-external-link: "\f08e"; $fa-var-external-link-square: "\f14c"; $fa-var-eye: "\f06e"; $fa-var-eye-slash: "\f070"; $fa-var-eyedropper: "\f1fb"; $fa-var-fa: "\f2b4"; $fa-var-facebook: "\f09a"; $fa-var-facebook-f: "\f09a"; $fa-var-facebook-official: "\f230"; $fa-var-facebook-square: "\f082"; $fa-var-fast-backward: "\f049"; $fa-var-fast-forward: "\f050"; $fa-var-fax: "\f1ac"; $fa-var-feed: "\f09e"; $fa-var-female: "\f182"; $fa-var-fighter-jet: "\f0fb"; $fa-var-file: "\f15b"; $fa-var-file-archive-o: "\f1c6"; $fa-var-file-audio-o: "\f1c7"; $fa-var-file-code-o: "\f1c9"; $fa-var-file-excel-o: "\f1c3"; $fa-var-file-image-o: "\f1c5"; $fa-var-file-movie-o: "\f1c8"; $fa-var-file-o: "\f016"; $fa-var-file-pdf-o: "\f1c1"; $fa-var-file-photo-o: "\f1c5"; $fa-var-file-picture-o: "\f1c5"; $fa-var-file-powerpoint-o: "\f1c4"; $fa-var-file-sound-o: "\f1c7"; $fa-var-file-text: "\f15c"; $fa-var-file-text-o: "\f0f6"; $fa-var-file-video-o: "\f1c8"; $fa-var-file-word-o: "\f1c2"; $fa-var-file-zip-o: "\f1c6"; $fa-var-files-o: "\f0c5"; $fa-var-film: "\f008"; $fa-var-filter: "\f0b0"; $fa-var-fire: "\f06d"; $fa-var-fire-extinguisher: "\f134"; $fa-var-firefox: "\f269"; $fa-var-first-order: "\f2b0"; $fa-var-flag: "\f024"; $fa-var-flag-checkered: "\f11e"; $fa-var-flag-o: "\f11d"; $fa-var-flash: "\f0e7"; $fa-var-flask: "\f0c3"; $fa-var-flickr: "\f16e"; $fa-var-floppy-o: "\f0c7"; $fa-var-folder: "\f07b"; $fa-var-folder-o: "\f114"; $fa-var-folder-open: "\f07c"; $fa-var-folder-open-o: "\f115"; $fa-var-font: "\f031"; $fa-var-font-awesome: "\f2b4"; $fa-var-fonticons: "\f280"; $fa-var-fort-awesome: "\f286"; $fa-var-forumbee: "\f211"; $fa-var-forward: "\f04e"; $fa-var-foursquare: "\f180"; $fa-var-free-code-camp: "\f2c5"; $fa-var-frown-o: "\f119"; $fa-var-futbol-o: "\f1e3"; $fa-var-gamepad: "\f11b"; $fa-var-gavel: "\f0e3"; $fa-var-gbp: "\f154"; $fa-var-ge: "\f1d1"; $fa-var-gear: "\f013"; $fa-var-gears: "\f085"; $fa-var-genderless: "\f22d"; $fa-var-get-pocket: "\f265"; $fa-var-gg: "\f260"; $fa-var-gg-circle: "\f261"; $fa-var-gift: "\f06b"; $fa-var-git: "\f1d3"; $fa-var-git-square: "\f1d2"; $fa-var-github: "\f09b"; $fa-var-github-alt: "\f113"; $fa-var-github-square: "\f092"; $fa-var-gitlab: "\f296"; $fa-var-gittip: "\f184"; $fa-var-glass: "\f000"; $fa-var-glide: "\f2a5"; $fa-var-glide-g: "\f2a6"; $fa-var-globe: "\f0ac"; $fa-var-google: "\f1a0"; $fa-var-google-plus: "\f0d5"; $fa-var-google-plus-circle: "\f2b3"; $fa-var-google-plus-official: "\f2b3"; $fa-var-google-plus-square: "\f0d4"; $fa-var-google-wallet: "\f1ee"; $fa-var-graduation-cap: "\f19d"; $fa-var-gratipay: "\f184"; $fa-var-grav: "\f2d6"; $fa-var-group: "\f0c0"; $fa-var-h-square: "\f0fd"; $fa-var-hacker-news: "\f1d4"; $fa-var-hand-grab-o: "\f255"; $fa-var-hand-lizard-o: "\f258"; $fa-var-hand-o-down: "\f0a7"; $fa-var-hand-o-left: "\f0a5"; $fa-var-hand-o-right: "\f0a4"; $fa-var-hand-o-up: "\f0a6"; $fa-var-hand-paper-o: "\f256"; $fa-var-hand-peace-o: "\f25b"; $fa-var-hand-pointer-o: "\f25a"; $fa-var-hand-rock-o: "\f255"; $fa-var-hand-scissors-o: "\f257"; $fa-var-hand-spock-o: "\f259"; $fa-var-hand-stop-o: "\f256"; $fa-var-handshake-o: "\f2b5"; $fa-var-hard-of-hearing: "\f2a4"; $fa-var-hashtag: "\f292"; $fa-var-hdd-o: "\f0a0"; $fa-var-header: "\f1dc"; $fa-var-headphones: "\f025"; $fa-var-heart: "\f004"; $fa-var-heart-o: "\f08a"; $fa-var-heartbeat: "\f21e"; $fa-var-history: "\f1da"; $fa-var-home: "\f015"; $fa-var-hospital-o: "\f0f8"; $fa-var-hotel: "\f236"; $fa-var-hourglass: "\f254"; $fa-var-hourglass-1: "\f251"; $fa-var-hourglass-2: "\f252"; $fa-var-hourglass-3: "\f253"; $fa-var-hourglass-end: "\f253"; $fa-var-hourglass-half: "\f252"; $fa-var-hourglass-o: "\f250"; $fa-var-hourglass-start: "\f251"; $fa-var-houzz: "\f27c"; $fa-var-html5: "\f13b"; $fa-var-i-cursor: "\f246"; $fa-var-id-badge: "\f2c1"; $fa-var-id-card: "\f2c2"; $fa-var-id-card-o: "\f2c3"; $fa-var-ils: "\f20b"; $fa-var-image: "\f03e"; $fa-var-imdb: "\f2d8"; $fa-var-inbox: "\f01c"; $fa-var-indent: "\f03c"; $fa-var-industry: "\f275"; $fa-var-info: "\f129"; $fa-var-info-circle: "\f05a"; $fa-var-inr: "\f156"; $fa-var-instagram: "\f16d"; $fa-var-institution: "\f19c"; $fa-var-internet-explorer: "\f26b"; $fa-var-intersex: "\f224"; $fa-var-ioxhost: "\f208"; $fa-var-italic: "\f033"; $fa-var-joomla: "\f1aa"; $fa-var-jpy: "\f157"; $fa-var-jsfiddle: "\f1cc"; $fa-var-key: "\f084"; $fa-var-keyboard-o: "\f11c"; $fa-var-krw: "\f159"; $fa-var-language: "\f1ab"; $fa-var-laptop: "\f109"; $fa-var-lastfm: "\f202"; $fa-var-lastfm-square: "\f203"; $fa-var-leaf: "\f06c"; $fa-var-leanpub: "\f212"; $fa-var-legal: "\f0e3"; $fa-var-lemon-o: "\f094"; $fa-var-level-down: "\f149"; $fa-var-level-up: "\f148"; $fa-var-life-bouy: "\f1cd"; $fa-var-life-buoy: "\f1cd"; $fa-var-life-ring: "\f1cd"; $fa-var-life-saver: "\f1cd"; $fa-var-lightbulb-o: "\f0eb"; $fa-var-line-chart: "\f201"; $fa-var-link: "\f0c1"; $fa-var-linkedin: "\f0e1"; $fa-var-linkedin-square: "\f08c"; $fa-var-linode: "\f2b8"; $fa-var-linux: "\f17c"; $fa-var-list: "\f03a"; $fa-var-list-alt: "\f022"; $fa-var-list-ol: "\f0cb"; $fa-var-list-ul: "\f0ca"; $fa-var-location-arrow: "\f124"; $fa-var-lock: "\f023"; $fa-var-long-arrow-down: "\f175"; $fa-var-long-arrow-left: "\f177"; $fa-var-long-arrow-right: "\f178"; $fa-var-long-arrow-up: "\f176"; $fa-var-low-vision: "\f2a8"; $fa-var-magic: "\f0d0"; $fa-var-magnet: "\f076"; $fa-var-mail-forward: "\f064"; $fa-var-mail-reply: "\f112"; $fa-var-mail-reply-all: "\f122"; $fa-var-male: "\f183"; $fa-var-map: "\f279"; $fa-var-map-marker: "\f041"; $fa-var-map-o: "\f278"; $fa-var-map-pin: "\f276"; $fa-var-map-signs: "\f277"; $fa-var-mars: "\f222"; $fa-var-mars-double: "\f227"; $fa-var-mars-stroke: "\f229"; $fa-var-mars-stroke-h: "\f22b"; $fa-var-mars-stroke-v: "\f22a"; $fa-var-maxcdn: "\f136"; $fa-var-meanpath: "\f20c"; $fa-var-medium: "\f23a"; $fa-var-medkit: "\f0fa"; $fa-var-meetup: "\f2e0"; $fa-var-meh-o: "\f11a"; $fa-var-mercury: "\f223"; $fa-var-microchip: "\f2db"; $fa-var-microphone: "\f130"; $fa-var-microphone-slash: "\f131"; $fa-var-minus: "\f068"; $fa-var-minus-circle: "\f056"; $fa-var-minus-square: "\f146"; $fa-var-minus-square-o: "\f147"; $fa-var-mixcloud: "\f289"; $fa-var-mobile: "\f10b"; $fa-var-mobile-phone: "\f10b"; $fa-var-modx: "\f285"; $fa-var-money: "\f0d6"; $fa-var-moon-o: "\f186"; $fa-var-mortar-board: "\f19d"; $fa-var-motorcycle: "\f21c"; $fa-var-mouse-pointer: "\f245"; $fa-var-music: "\f001"; $fa-var-navicon: "\f0c9"; $fa-var-neuter: "\f22c"; $fa-var-newspaper-o: "\f1ea"; $fa-var-object-group: "\f247"; $fa-var-object-ungroup: "\f248"; $fa-var-odnoklassniki: "\f263"; $fa-var-odnoklassniki-square: "\f264"; $fa-var-opencart: "\f23d"; $fa-var-openid: "\f19b"; $fa-var-opera: "\f26a"; $fa-var-optin-monster: "\f23c"; $fa-var-outdent: "\f03b"; $fa-var-pagelines: "\f18c"; $fa-var-paint-brush: "\f1fc"; $fa-var-paper-plane: "\f1d8"; $fa-var-paper-plane-o: "\f1d9"; $fa-var-paperclip: "\f0c6"; $fa-var-paragraph: "\f1dd"; $fa-var-paste: "\f0ea"; $fa-var-pause: "\f04c"; $fa-var-pause-circle: "\f28b"; $fa-var-pause-circle-o: "\f28c"; $fa-var-paw: "\f1b0"; $fa-var-paypal: "\f1ed"; $fa-var-pencil: "\f040"; $fa-var-pencil-square: "\f14b"; $fa-var-pencil-square-o: "\f044"; $fa-var-percent: "\f295"; $fa-var-phone: "\f095"; $fa-var-phone-square: "\f098"; $fa-var-photo: "\f03e"; $fa-var-picture-o: "\f03e"; $fa-var-pie-chart: "\f200"; $fa-var-pied-piper: "\f2ae"; $fa-var-pied-piper-alt: "\f1a8"; $fa-var-pied-piper-pp: "\f1a7"; $fa-var-pinterest: "\f0d2"; $fa-var-pinterest-p: "\f231"; $fa-var-pinterest-square: "\f0d3"; $fa-var-plane: "\f072"; $fa-var-play: "\f04b"; $fa-var-play-circle: "\f144"; $fa-var-play-circle-o: "\f01d"; $fa-var-plug: "\f1e6"; $fa-var-plus: "\f067"; $fa-var-plus-circle: "\f055"; $fa-var-plus-square: "\f0fe"; $fa-var-plus-square-o: "\f196"; $fa-var-podcast: "\f2ce"; $fa-var-power-off: "\f011"; $fa-var-print: "\f02f"; $fa-var-product-hunt: "\f288"; $fa-var-puzzle-piece: "\f12e"; $fa-var-qq: "\f1d6"; $fa-var-qrcode: "\f029"; $fa-var-question: "\f128"; $fa-var-question-circle: "\f059"; $fa-var-question-circle-o: "\f29c"; $fa-var-quora: "\f2c4"; $fa-var-quote-left: "\f10d"; $fa-var-quote-right: "\f10e"; $fa-var-ra: "\f1d0"; $fa-var-random: "\f074"; $fa-var-ravelry: "\f2d9"; $fa-var-rebel: "\f1d0"; $fa-var-recycle: "\f1b8"; $fa-var-reddit: "\f1a1"; $fa-var-reddit-alien: "\f281"; $fa-var-reddit-square: "\f1a2"; $fa-var-refresh: "\f021"; $fa-var-registered: "\f25d"; $fa-var-remove: "\f00d"; $fa-var-renren: "\f18b"; $fa-var-reorder: "\f0c9"; $fa-var-repeat: "\f01e"; $fa-var-reply: "\f112"; $fa-var-reply-all: "\f122"; $fa-var-resistance: "\f1d0"; $fa-var-retweet: "\f079"; $fa-var-rmb: "\f157"; $fa-var-road: "\f018"; $fa-var-rocket: "\f135"; $fa-var-rotate-left: "\f0e2"; $fa-var-rotate-right: "\f01e"; $fa-var-rouble: "\f158"; $fa-var-rss: "\f09e"; $fa-var-rss-square: "\f143"; $fa-var-rub: "\f158"; $fa-var-ruble: "\f158"; $fa-var-rupee: "\f156"; $fa-var-s15: "\f2cd"; $fa-var-safari: "\f267"; $fa-var-save: "\f0c7"; $fa-var-scissors: "\f0c4"; $fa-var-scribd: "\f28a"; $fa-var-search: "\f002"; $fa-var-search-minus: "\f010"; $fa-var-search-plus: "\f00e"; $fa-var-sellsy: "\f213"; $fa-var-send: "\f1d8"; $fa-var-send-o: "\f1d9"; $fa-var-server: "\f233"; $fa-var-share: "\f064"; $fa-var-share-alt: "\f1e0"; $fa-var-share-alt-square: "\f1e1"; $fa-var-share-square: "\f14d"; $fa-var-share-square-o: "\f045"; $fa-var-shekel: "\f20b"; $fa-var-sheqel: "\f20b"; $fa-var-shield: "\f132"; $fa-var-ship: "\f21a"; $fa-var-shirtsinbulk: "\f214"; $fa-var-shopping-bag: "\f290"; $fa-var-shopping-basket: "\f291"; $fa-var-shopping-cart: "\f07a"; $fa-var-shower: "\f2cc"; $fa-var-sign-in: "\f090"; $fa-var-sign-language: "\f2a7"; $fa-var-sign-out: "\f08b"; $fa-var-signal: "\f012"; $fa-var-signing: "\f2a7"; $fa-var-simplybuilt: "\f215"; $fa-var-sitemap: "\f0e8"; $fa-var-skyatlas: "\f216"; $fa-var-skype: "\f17e"; $fa-var-slack: "\f198"; $fa-var-sliders: "\f1de"; $fa-var-slideshare: "\f1e7"; $fa-var-smile-o: "\f118"; $fa-var-snapchat: "\f2ab"; $fa-var-snapchat-ghost: "\f2ac"; $fa-var-snapchat-square: "\f2ad"; $fa-var-snowflake-o: "\f2dc"; $fa-var-soccer-ball-o: "\f1e3"; $fa-var-sort: "\f0dc"; $fa-var-sort-alpha-asc: "\f15d"; $fa-var-sort-alpha-desc: "\f15e"; $fa-var-sort-amount-asc: "\f160"; $fa-var-sort-amount-desc: "\f161"; $fa-var-sort-asc: "\f0de"; $fa-var-sort-desc: "\f0dd"; $fa-var-sort-down: "\f0dd"; $fa-var-sort-numeric-asc: "\f162"; $fa-var-sort-numeric-desc: "\f163"; $fa-var-sort-up: "\f0de"; $fa-var-soundcloud: "\f1be"; $fa-var-space-shuttle: "\f197"; $fa-var-spinner: "\f110"; $fa-var-spoon: "\f1b1"; $fa-var-spotify: "\f1bc"; $fa-var-square: "\f0c8"; $fa-var-square-o: "\f096"; $fa-var-stack-exchange: "\f18d"; $fa-var-stack-overflow: "\f16c"; $fa-var-star: "\f005"; $fa-var-star-half: "\f089"; $fa-var-star-half-empty: "\f123"; $fa-var-star-half-full: "\f123"; $fa-var-star-half-o: "\f123"; $fa-var-star-o: "\f006"; $fa-var-steam: "\f1b6"; $fa-var-steam-square: "\f1b7"; $fa-var-step-backward: "\f048"; $fa-var-step-forward: "\f051"; $fa-var-stethoscope: "\f0f1"; $fa-var-sticky-note: "\f249"; $fa-var-sticky-note-o: "\f24a"; $fa-var-stop: "\f04d"; $fa-var-stop-circle: "\f28d"; $fa-var-stop-circle-o: "\f28e"; $fa-var-street-view: "\f21d"; $fa-var-strikethrough: "\f0cc"; $fa-var-stumbleupon: "\f1a4"; $fa-var-stumbleupon-circle: "\f1a3"; $fa-var-subscript: "\f12c"; $fa-var-subway: "\f239"; $fa-var-suitcase: "\f0f2"; $fa-var-sun-o: "\f185"; $fa-var-superpowers: "\f2dd"; $fa-var-superscript: "\f12b"; $fa-var-support: "\f1cd"; $fa-var-table: "\f0ce"; $fa-var-tablet: "\f10a"; $fa-var-tachometer: "\f0e4"; $fa-var-tag: "\f02b"; $fa-var-tags: "\f02c"; $fa-var-tasks: "\f0ae"; $fa-var-taxi: "\f1ba"; $fa-var-telegram: "\f2c6"; $fa-var-television: "\f26c"; $fa-var-tencent-weibo: "\f1d5"; $fa-var-terminal: "\f120"; $fa-var-text-height: "\f034"; $fa-var-text-width: "\f035"; $fa-var-th: "\f00a"; $fa-var-th-large: "\f009"; $fa-var-th-list: "\f00b"; $fa-var-themeisle: "\f2b2"; $fa-var-thermometer: "\f2c7"; $fa-var-thermometer-0: "\f2cb"; $fa-var-thermometer-1: "\f2ca"; $fa-var-thermometer-2: "\f2c9"; $fa-var-thermometer-3: "\f2c8"; $fa-var-thermometer-4: "\f2c7"; $fa-var-thermometer-empty: "\f2cb"; $fa-var-thermometer-full: "\f2c7"; $fa-var-thermometer-half: "\f2c9"; $fa-var-thermometer-quarter: "\f2ca"; $fa-var-thermometer-three-quarters: "\f2c8"; $fa-var-thumb-tack: "\f08d"; $fa-var-thumbs-down: "\f165"; $fa-var-thumbs-o-down: "\f088"; $fa-var-thumbs-o-up: "\f087"; $fa-var-thumbs-up: "\f164"; $fa-var-ticket: "\f145"; $fa-var-times: "\f00d"; $fa-var-times-circle: "\f057"; $fa-var-times-circle-o: "\f05c"; $fa-var-times-rectangle: "\f2d3"; $fa-var-times-rectangle-o: "\f2d4"; $fa-var-tint: "\f043"; $fa-var-toggle-down: "\f150"; $fa-var-toggle-left: "\f191"; $fa-var-toggle-off: "\f204"; $fa-var-toggle-on: "\f205"; $fa-var-toggle-right: "\f152"; $fa-var-toggle-up: "\f151"; $fa-var-trademark: "\f25c"; $fa-var-train: "\f238"; $fa-var-transgender: "\f224"; $fa-var-transgender-alt: "\f225"; $fa-var-trash: "\f1f8"; $fa-var-trash-o: "\f014"; $fa-var-tree: "\f1bb"; $fa-var-trello: "\f181"; $fa-var-tripadvisor: "\f262"; $fa-var-trophy: "\f091"; $fa-var-truck: "\f0d1"; $fa-var-try: "\f195"; $fa-var-tty: "\f1e4"; $fa-var-tumblr: "\f173"; $fa-var-tumblr-square: "\f174"; $fa-var-turkish-lira: "\f195"; $fa-var-tv: "\f26c"; $fa-var-twitch: "\f1e8"; $fa-var-twitter: "\f099"; $fa-var-twitter-square: "\f081"; $fa-var-umbrella: "\f0e9"; $fa-var-underline: "\f0cd"; $fa-var-undo: "\f0e2"; $fa-var-universal-access: "\f29a"; $fa-var-university: "\f19c"; $fa-var-unlink: "\f127"; $fa-var-unlock: "\f09c"; $fa-var-unlock-alt: "\f13e"; $fa-var-unsorted: "\f0dc"; $fa-var-upload: "\f093"; $fa-var-usb: "\f287"; $fa-var-usd: "\f155"; $fa-var-user: "\f007"; $fa-var-user-circle: "\f2bd"; $fa-var-user-circle-o: "\f2be"; $fa-var-user-md: "\f0f0"; $fa-var-user-o: "\f2c0"; $fa-var-user-plus: "\f234"; $fa-var-user-secret: "\f21b"; $fa-var-user-times: "\f235"; $fa-var-users: "\f0c0"; $fa-var-vcard: "\f2bb"; $fa-var-vcard-o: "\f2bc"; $fa-var-venus: "\f221"; $fa-var-venus-double: "\f226"; $fa-var-venus-mars: "\f228"; $fa-var-viacoin: "\f237"; $fa-var-viadeo: "\f2a9"; $fa-var-viadeo-square: "\f2aa"; $fa-var-video-camera: "\f03d"; $fa-var-vimeo: "\f27d"; $fa-var-vimeo-square: "\f194"; $fa-var-vine: "\f1ca"; $fa-var-vk: "\f189"; $fa-var-volume-control-phone: "\f2a0"; $fa-var-volume-down: "\f027"; $fa-var-volume-off: "\f026"; $fa-var-volume-up: "\f028"; $fa-var-warning: "\f071"; $fa-var-wechat: "\f1d7"; $fa-var-weibo: "\f18a"; $fa-var-weixin: "\f1d7"; $fa-var-whatsapp: "\f232"; $fa-var-wheelchair: "\f193"; $fa-var-wheelchair-alt: "\f29b"; $fa-var-wifi: "\f1eb"; $fa-var-wikipedia-w: "\f266"; $fa-var-window-close: "\f2d3"; $fa-var-window-close-o: "\f2d4"; $fa-var-window-maximize: "\f2d0"; $fa-var-window-minimize: "\f2d1"; $fa-var-window-restore: "\f2d2"; $fa-var-windows: "\f17a"; $fa-var-won: "\f159"; $fa-var-wordpress: "\f19a"; $fa-var-wpbeginner: "\f297"; $fa-var-wpexplorer: "\f2de"; $fa-var-wpforms: "\f298"; $fa-var-wrench: "\f0ad"; $fa-var-xing: "\f168"; $fa-var-xing-square: "\f169"; $fa-var-y-combinator: "\f23b"; $fa-var-y-combinator-square: "\f1d4"; $fa-var-yahoo: "\f19e"; $fa-var-yc: "\f23b"; $fa-var-yc-square: "\f1d4"; $fa-var-yelp: "\f1e9"; $fa-var-yen: "\f157"; $fa-var-yoast: "\f2b1"; $fa-var-youtube: "\f167"; $fa-var-youtube-play: "\f16a"; $fa-var-youtube-square: "\f166"; ================================================ FILE: gmall-cart-web/src/main/resources/static/css/font-awesome-4.7.0/scss/font-awesome.scss ================================================ /*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ @import "variables"; @import "mixins"; @import "path"; @import "core"; @import "larger"; @import "fixed-width"; @import "list"; @import "bordered-pulled"; @import "animated"; @import "rotated-flipped"; @import "stacked"; @import "icons"; @import "screen-reader"; ================================================ FILE: gmall-cart-web/src/main/resources/static/css/index.css ================================================ *{ margin: 0; padding: 0; box-sizing: border-box; } ul{ list-style: none; } .header-left>li:first-child img{ margin-top:-3px; } .header-right>li>div,.header-left>li>div{ z-index:40000; background: white; } img{ vertical-align: middle; } header{ width: 100%; background: #E3E4E5; min-width: 990px; } .header-right>li{ /*position: relative;*/ } .header{ width: 1000px; margin: 0 auto; overflow: hidden; } .header-left>li>a,.header-right>li>a{ text-decoration: none; color: #999; font-size: 12px; } .header-left>li>a:hover,.header-right>li>a:hover{ color: red; } .header-left>li:nth-of-type(2)>a:hover{ color: #5C5452; } .header-left>li:nth-of-type(2):hover{ background: white; } .header-left{ float: left; overflow: hidden; vertical-align: middle; } .header-right{ float: right; overflow: hidden; } .header-left>li,.header-right li{ float: left; line-height: 30px; /*position: relative;*/ padding: 0 8px; /*border: 1px solid red;*/ } .header-l-d{ position: absolute; border:gainsboro 1px solid ; z-index: 99; overflow: hidden; margin-left: -11px; background: white; border-top: 0; display: none; width: 295px; } .header-l-d ul{ float: left; } .header-l-d ul li{ margin:0 8px; } .header-l-d ul li a{ text-decoration: none; color: #5C5452; font-size: 12px; padding: 3px 5px; /*border: 1px solid red;*/ } .header-l-d ul li a:hover{ background: gainsboro; color: red; } .header-left>li:nth-of-type(2){ padding: 0 25px 0 10px; } .aacnm a{ text-decoration: none; font-size: 12px; color: gray; } .header-r-1{ display: none; overflow: hidden; position: absolute; background: white; border: 1px solid gainsboro;border-top: 0; margin-left: -8px; /*padding: 15px;*/ } .header-right>li>div,.header-left>li>div{ z-index:40000; background: white; } .header-r-1 div{ border-bottom: 1px solid gainsboro; overflow: hidden; padding: 0 15px; } .header-r-1 div:nth-of-type(3){ border: 0; padding: 15px; } .header-right li:nth-of-type(6):hover,.header-right li:nth-of-type(12):hover,.header-right li:nth-of-type(14):hover{ background: white; } .header-r-1 div ol{ float: left; width: 120px; line-height: 25px !important; } .header-r-1 div h4{ font-size: 12px; color:#716d6d; } .header-r-1 div h4 a:nth-of-type(2){ float: right; } .header-r-1 div a:hover{ color: red; } .header-r-11{ width: 275px; } .header-r-2{ width: 180px; min-width: 180px; } .header-r-2 div{ padding: 0; } .header-r-2 div h4{ margin-left: 15px; } .header-r-2 div ol{ width: auto; margin: 0 15px; } .header-r-4:hover{ background: url(../image/1fb04a3972bf9f4592bdb705fe497c08.png) no-repeat 25px 24px; z-index: 10; } .h-r-1{ position: absolute; border: 1px solid gainsboro; margin-left:-134px; width: 190px; border-top: 0; display: none; } .h-r-1>div{ padding:10px 5px; overflow: hidden; line-height: 20px; border-bottom: 1px solid gainsboro; } .h-r-1>div p{ font-size: 12px; color: red; } .h-r-1img2{ vertical-align: middle; } .h-r-1img{ float: left; border: 2px solid gainsboro; padding: 1px; margin-right: 5px; }.h-r-1img img{ width: 72px; } .header i{ color: #C1C1C1; } .spacer{ padding: 0 !important; display: inline-block; width: 1px; height: 10px; background: #C1C1C1; margin-top: 11px; } .header-r-3{ width: 1001px; margin-left: -880px; z-index: 11; overflow: hidden; box-sizing: border-box; padding-bottom: 10px; } .header-r-3 div{ float: left; border: 0; padding: 0 0 0 15px; border-left: 1px solid gainsboro; }.header-r-3 div:nth-of-type(3){ border-left: 1px solid gainsboro; padding: 0 0 0 15px; } .header-r-3 div:nth-of-type(1){ border:0; } .header-r-3 div ol{ width: 102px; } ================================================ FILE: gmall-cart-web/src/main/resources/static/css/success.css ================================================ * { margin: 0; padding: 0; box-sizing: border-box; text-decoration: none; } ol, ul { list-style: none; } a { text-decoration: none; } .alert-info { width: 100%; height: 30px; line-height: 30px; background: #e3e4e5; border-bottom: solid 1px #ddd; } .alert-info .hd_wrap_top { width: 1210px; background: #e3e4e5; color: #999; margin: 0 auto; } .alert-info .hd_wrap_top .hd_wrap_left { float: left; } .alert-info .hd_wrap_top .hd_wrap_left .hd_home { float: left; height: 30px; padding: 0 2px; } .alert-info .hd_wrap_top .hd_wrap_left .hd_home i { position: relative; display: inline; font-size: 16px; color: #5c5452; padding-right: 5px; } .alert-info .hd_wrap_top .hd_wrap_left .hd_home a { color: #999; text-decoration: none; display: inline-block; font-size: 12px; } .alert-info .hd_wrap_top .hd_wrap_left .hd_home a:hover { color: red; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown { z-index: 13; float: left; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dt { padding: 0 25px 0 10px; float: left; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dt i { color: #5C5452; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dt span { font-size: 12px; display: inline-block; cursor: pointer; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dt span:hover { color: red; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dd { width: 301px; padding: 10px 0 10px 10px; line-height: 24px; top: 30px; background: #fff; border: 1px solid #ddd; border-top: none; display: none; position: absolute; float: left; z-index: 999; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dd li { width: 55px; float: left; padding: 2px 0; display: list-item; text-align: -webkit-match-parent; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dd li a { height: 24px; text-decoration: none; color: #999999; font-size: 11px; text-align: center; line-height: 24px; padding: 0 8px; display: inline-block; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dd li .most { background: red; color: #fff; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dd li .most:hover { background: red; color: #fff; } .alert-info .hd_wrap_top .hd_wrap_left .dorpdown .dd li a:hover { color: red; background: #F5F5F5; } .alert-info .hd_wrap_top .hd_wrap_right { float: right; } .alert-info .hd_wrap_top .hd_wrap_right .forel { margin-right: 5px; height: 30px; } .alert-info .hd_wrap_top .hd_wrap_right .forel .link_login { font-family: "verdana,simsun"; width: 72px; height: 14px; display: inline-block; } .alert-info .hd_wrap_top .hd_wrap_right .forel .link_regist { color: red; display: inline-block; } .alert-info .hd_wrap_top .hd_wrap_right .spacer { width: 1px; height: 12px; margin-top: 9px; padding: 0; background: #ccc; overflow: hidden; margin-left: 6px; margin-right: 6px; text-align: center; line-height: 12px; } .alert-info .hd_wrap_top .hd_wrap_right li { float: left; height: 30px; } .alert-info .hd_wrap_top .hd_wrap_right li a { width: 48px; height: 14px; display: inline-block; font-size: 12px; text-decoration: none; color: #999999; } .alert-info .hd_wrap_top .hd_wrap_right li a:hover { color: red; } .alert-info .hd_wrap_top .hd_wrap_right li span { width: 12px; height: 15px; display: inline-block; margin-left: 7px; font-size: 2px; color: #ccc; font-style: normal; font-weight: lighter; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj { border: 0; position: relative; top: 0; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol { width: 265px; padding: 5px 0 10px 10px; background: white; position: absolute; border: 1px solid #ddd; display: none; z-index: 999; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol li { width: 50%; height: 25px; border: 0; float: left; text-align: left; line-height: 30px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol li a { width: 100%; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol li:hover a { color: red; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol .hd_list_sp { width: 100%; height: 40px; line-height: 40px; overflow: hidden; border-top: 1px solid #f1f1f1; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol .hd_list_sp .sp { display: inline-block; width: 50px; float: left; font-weight: 600; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol .hd_list_sp .span1 { display: block; width: 50px; float: right; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol .hd_list_sp .span1:hover { color: red; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol div { width: 90%; margin: 0 auto; } .alert-info .hd_wrap_top .hd_wrap_right .hd_dj .hd_dj_ol div img { width: 20%; height: 40px; margin-left: 2%; } .alert-info .hd_wrap_top .hd_wrap_right .hd_kh { position: relative; } .alert-info .hd_wrap_top .hd_wrap_right .hd_kh .hd_kh_ol { width: 170px; border: 1px solid #ddd; margin-top: -2px; background: white; display: none; position: absolute; z-index: 999; top: 31px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_kh .hd_kh_ol h6 { width: 100%; text-align: left; padding-left: 10px; float: left; font-weight: 600; color: dimgray; } .alert-info .hd_wrap_top .hd_wrap_right .hd_kh .hd_kh_ol li { width: 50%; height: 25px; line-height: 25px; text-align: left; } .alert-info .hd_wrap_top .hd_wrap_right .hd_kh .hd_kh_ol li a { width: 100%; margin-left: 8px; display: inline-block; font-size: 11px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_kh .hd_kh_ol li:hover a { color: red; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang { position: relative; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh { width: 1210px; height: 188px; padding: 17px 0; position: absolute; left: -1057px; border: 1px solid #e3e4e5; border-top: none; display: none; background: #fff; z-index: 1000; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol { width: 1210px; height: 188px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol li { float: left; text-align: left; border-right: 1px solid #E3E4E5; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol li a:hover { color: #f30213; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol .hd_li { width: 366px; height: 150px; padding-left: 19px; padding-right: 0; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol .hd_li .tit { width: 100%; height: 28px; line-height: 28px; font-weight: bolder; color: #666666; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol .hd_li .item { width: 85px; height: 24px; line-height: 24px; float: left; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol .hd_li .item a { width: 100%; display: inline-block; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol .hd_l2, .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol .hd_l3 { width: 278px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_daohang .hd_dh .hd_ol .hd_l4 { width: 279px; border: none; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing { position: relative; border-left: 1px solid #e3e4e5; border-right: 1px solid #e3e4e5; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj { width: 192px; height: 310px; border: 1px solid #E3E4E5; border-top: none; border-bottom: 3px solid #666666; position: absolute; display: none; left: -127px; top: 30px; z-index: 1000; background: #fff; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list { width: 192px; height: 101px; padding: 15px 0; border-bottom: 1px solid #E3E4E5; float: left; text-align: left; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_img { width: 70px; height: 70px; float: left; margin: 0 5px; margin-left: 5px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_dt { width: 94px; height: 70px; float: left; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_dt p { margin-bottom: 0; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_dt .p1 { font-weight: bolder; color: #999; line-height: 17px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_dt .p1 a { width: 100%; display: inline-block; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_dt .p2 { line-height: 14px; color: #f30213; cursor: pointer; font-size: 12px; margin-top: 3px; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_dt .img1 { width: 81px; height: 24px; margin-top: 5px; float: left; } .alert-info .hd_wrap_top .hd_wrap_right .hd_jing .hd_jing_sj .hd_jing_list .hd_jing_dt .img2 { width: 58px; height: 25px; float: left; } .nav-tabs-justified { width: 1349px; border-bottom: 2px solid #f30213; } .nav-tabs-justified .nav_wrap { width: 1210px; margin: 0 auto; } .nav-tabs-justified .nav_wrap .nav_top { width: 100%; height: 87px; padding: 18px 0; } .nav-tabs-justified .nav_wrap .nav_top div { float: left; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_one { width: 134px; height: 50px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_one img { width: 100%; height: 100%; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_two { width: 594px; height: 40px; margin-top: 5px; padding: 4px; margin-left: 245px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_two input { width: 504px; height: 36px; float: left; border: 2px solid #F30213; outline: none; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_two button { width: 82px; height: 36px; font-size: 16px; border: 0; color: white; background: #F30213; float: left; outline: none; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three { float: left; height: 36px; margin-top: 9px; margin-left: 35px; width: 140px; height: 36px; border: 1px solid #DFDFDF; background: #F9F9F9; position: relative; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .cw-icon { width: 91px; height: 34px; padding: 0 28px 0 19px; background: #F9F9F9; line-height: 34px; position: relative; cursor: default; zoom: 1; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .cw-icon i { display: block; position: absolute; overflow: hidden; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .cw-icon .ci-left { top: 9px; left: 90px; width: 16px; height: 16px; background: url(//misc.360buyimg.com/jdf/1.0.0/unit/shoppingcart/5.0.0/i/settleup-@1x.png) no-repeat; background-size: 16px 16px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .cw-icon .ci-right { display: none; top: 13px; right: 12px; height: 10px; width: 10px; background: url(//misc.360buyimg.com/jdf/1.0.0/unit/shoppingcart/5.0.0/i/right-@1x.png) no-repeat; background-size: 10px 10px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .cw-icon .ci-count { width: auto !important; min-width: 16px !important; position: absolute; top: 8px; left: 106px; display: inline-block; padding: 1px; font-size: 12px; line-height: 14px; letter-spacing: -1px; color: #fff; background-color: #da1026; border-radius: 7px; min-width: 14px; text-align: center; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .cw-icon a { color: #f30213; text-decoration: none; display: inline-block; font-size: 11px; width: 60px; height: 14px; line-height: 14px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer { display: none; position: absolute; width: 308px; height: 160px; top: 32px; right: 0; z-index: 55; background: #fff; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer .spacer { position: absolute; right: 0; top: -7px; width: 138px; height: 12px; background: #fff; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content { position: relative; z-index: 2; width: 100%; background: #fff; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smt { width: 308px; padding-top: 10px; height: 30px; margin-top: 5px; margin-left: 5px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smt .fl { float: left; font-size: 12px; font-weight: bold; color: #8C8C8C; margin: 0; padding: 0; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc:hover { background: #F5F5F5; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc { width: 100%; background: #fff; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-sigle { margin-top: 0; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift { width: 308px; background: #F5F5F5; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li { line-height: 17px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-img { float: left; width: 50px; height: 50px; border: 1px solid #ddd; margin-right: 5px; margin-left: 5px; font-size: 0; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-img a { color: #666; text-decoration: none; display: inline-block; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-name { float: left; width: 140px; height: 52px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-name a { color: #666; text-decoration: none; display: inline-block; font-size: 12px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-name a:hover { color: red; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-detail { float: right; text-align: right; overflow: hidden; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-detail .p-price { font-weight: 700; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-detail .p-price strong { font-weight: bold; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-detail .delete { color: #666; text-decoration: none; margin-right: 10px; display: inline-block; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .p-detail a:hover { color: red; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .gift { height: 17px; width: 282px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smc #mcart-gift li .gift a { color: #999; text-decoration: none; display: inline-block; margin-top: 1px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smb { width: 100%; height: 40px; line-height: 40px; padding-top: 7px; background: #F5F5F5; overflow: hidden; text-align: right; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smb .p-total { float: left; line-height: 29px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smb .p-total b, .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smb .p-total strong { font-weight: bold; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer #settleup-content .smb a { float: right; height: 26px; padding: 0 5px; background: #E4393C; color: #fff; text-align: center; font-weight: 700; line-height: 26px; border-radius: 3px; text-decoration: none; margin-right: 15px; font-size: 13px; } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .dorpdown-layer:hover { background: #fff; border: 1px solid #ddd; box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three .nav_top_three:hover { border: none; background: #fff; box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); } .nav-tabs-justified .nav_wrap .nav_top .nav_top_three:hover .dorpdown-layer { width: 308px; display: block; } .nav-tabs-justified .nav_wrap nav { width: 100%; margin: 0 auto; } .nav-tabs-justified .nav_wrap nav .nav_min { width: 1210px; margin: 0 auto; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down { width: 70%; height: 50px; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul { width: 100%; clear: both; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .ul_li { width: 9%; height: 20px; margin-top: 20px; line-height: 20px; float: left; text-align: center; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 { height: 35px; margin-top: 15px; line-height: 35px; text-align: center; background: #F30213; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 a { color: white; text-decoration: none; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 a:hover { color: white; text-decoration: none; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul a { color: black; text-decoration: none; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul a:hover { color: red; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 { position: relative; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol { width: 203px; height: 500px; background: white; box-shadow: 0 0 5px darkgray; position: absolute; top: 35px; left: 0; z-index: 22; display: none; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 { width: 100%; height: 30px; line-height: 30px; text-indent: 1em; background: white; text-align: left; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen { width: 1023px; height: 500px; background: #F5F5F5; position: absolute; top: 2px; left: 203px; clear: both; display: none; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left { width: 800px; height: 500px; padding: 10px; float: left; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_p1 { width: 100%; height: 25px; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_p1 span { padding: 3px 5px; color: white; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_p1 .span_1:hover { background: red; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_p1 .span_1 { background: darkgray; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_p1 .span_2 { background: rgba(0, 0, 0, 0.4); margin-right: 5px; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_div1 { width: 800px; border-bottom: 1px solid lavender; text-align: center; overflow: hidden; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_div1 p { width: 80px; float: left; font-size: 11px; margin: 0; font-weight: 700; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_div1 .fen-left-ul { width: 700px; float: right; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_div1 .fen-left-ul .lu-li { margin: 0; padding: 0; font-size: 11px; text-indent: 0; float: left; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_left .fen_left_div1 .fen-left-ul .lu-li .lu-li-a { text-decoration: none; border-left: 1px solid lavender; padding: 0 8px; font-weight: 200; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right { width: 203px; height: 499px; padding: 10px; float: right; box-shadow: 2px 1px 5px rgba(0, 0, 0, 0.2); } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right .fen_right_one { width: 162px; height: 140px; margin-left: 10px; margin-top: 15px; overflow: hidden; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right .fen_right_one .a-1 { display: block; width: 74px; height: 35px; margin-left: 0; float: left; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right .fen_right_one .a-1 .image { width: 100%; height: 100%; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right .fen_right_two { width: 150px; height: 150px; margin-left: 5px; margin-top: 15px; padding: 0; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right .fen_right_two img { width: 100%; height: 100%; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right .fen_right_three { width: 150px; height: 150px; margin-left: 5px; margin-top: 15px; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 #fen .fen_right .fen_right_three img { width: 100%; height: 100%; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1 a { text-decoration: none; color: dimgray; font-weight: 700; margin-left: 3px; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol .li-1:hover { background: lavender; } .nav-tabs-justified .nav_wrap nav .nav_min .nav_down .nav_down_ul .nav_down_ul_1 .nav_down_ul_ol li a:hover { color: red; } .main { width: 100%; } .main .success-wrap { width: 100%; height: 145px; background: #f5f5f5; margin-bottom: 20px; } .main .success-wrap .w { width: 1210px; margin: 0 auto; } .main .success-wrap .w .m { overflow: hidden; zoom: 1; width: 1210px; height: 127px; } .main .success-wrap .w .succeed-box .success-cont { display: inline-block; display: block; font-family: "Microsoft YaHei"; } .main .success-wrap .w .succeed-box .success-cont .success-lcol { float: left; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .success-top { position: relative; padding-left: 35px; margin: 20px 0; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .success-top .succ-icon { position: absolute; top: 0; left: 0; display: block; width: 25px; height: 25px; overflow: hidden; background: url(//misc.360buyimg.com/user/cart/widget/addtocart-201608/i/addtocart-icons.png) 0 0 no-repeat; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .success-top h3 { font-size: 18px; line-height: 25px; font-weight: 400; color: #71b247; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item { width: 592px; height: 62px; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .p-img { float: left; width: 60px; margin-right: 10px; border: 1px solid #e8e8e8; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .p-info { float: left; width: 520px; margin: 0; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .p-info .p-name { width: 100%; line-height: 28px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .p-info .p-name a { color: #333; text-decoration: none; display: inline-block; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .p-info .p-name a:hover { color: red; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .p-info .p-extra { display: inline-block; color: #aaa; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .p-info .p-extra .txt { float: left; max-width: 135px; margin-right: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .main .success-wrap .w .succeed-box .success-cont .success-lcol .p-item .clr { display: block; overflow: hidden; clear: both; height: 0; line-height: 0; font-size: 0; } .main .success-wrap .w .succeed-box .success-cont .success-btns { float: right; font-size: 0; overflow: hidden; } .main .success-wrap .w .succeed-box .success-cont .success-btns .success-ad { float: right; height: 70px; width: 106px; margin: 10px 0; } .main .success-wrap .w .succeed-box .success-cont .success-btns .success-ad a { display: inline-block; color: #666; text-decoration: none; } .main .success-wrap .w .succeed-box .success-cont .success-btns .clr { display: block; overflow: hidden; clear: both; height: 0; line-height: 0; font-size: 0; } .main .success-wrap .w .succeed-box .success-cont .success-btns .bg_shop { width: 336px; height: 36px; } .main .success-wrap .w .succeed-box .success-cont .success-btns .bg_shop .btn-tobback { padding: 0 30px; margin-right: 10px; background: #fff; color: #e4393c; border: 1px solid #fff; display: inline-block; height: 34px; line-height: 36px; font-size: 16px; vertical-align: middle; text-decoration: none; } .main .success-wrap .w .succeed-box .success-cont .success-btns .bg_shop .btn-tobback:hover { border: 1px solid red; } .main .success-wrap .w .succeed-box .success-cont .success-btns .bg_shop .btn-addtocart { position: relative; padding: 0 30px; padding-left: 30px; background: #e4393c; border: 1px solid #e4393c; color: #fff; display: inline-block; height: 34px; line-height: 36px; font-size: 16px; vertical-align: middle; text-decoration: none; } .main .success-wrap .w .succeed-box .success-cont .success-btns .bg_shop .btn-addtocart b { position: absolute; top: 8px; right: 15px; width: 10px; height: 20px; overflow: hidden; background: url(//misc.360buyimg.com/user/cart/widget/addtocart-201608/i/addtocart-icons.png) -20px -81px no-repeat; } .main .success-wrap .w .succeed-box .success-cont .success-btns .bg_shop .btn-addtocart:hover { background: #c91623; } .hd_shopping { width: 1210px; margin: 0 auto; font-size: 14px; color: #666; height: 40px; line-height: 40px; font-weight: bold; } .banner { width: 1210px; height: 300px; margin: 0 auto; list-style: none; } .banner .swiper-slide { width: 1210px; height: 300px; } .banner .swiper-slide ul { width: 100%; height: 100%; } .banner .swiper-slide ul li { float: left; margin-bottom: 40px; } .banner .swiper-slide ul li div { float: left; position: relative; width: 270px; height: 100px; background: #fff; overflow: hidden; margin: 0 30px 0 0; } .banner .swiper-slide ul li div img { width: 98px; height: 98px; vertical-align: middle; border: 1px solid #EEEEEE; } .banner .swiper-slide ul li div p { position: absolute; top: 0; left: 110px; font-size: 12px; color: #333333; } .banner .swiper-slide ul li div p a { text-decoration: none; color: #333333; width: 160px; height: 36px; line-height: 18px; margin-bottom: 4px; display: inline-block; font-size: 12px; overflow: hidden; } .banner .swiper-slide ul li div a:hover { color: red; } .banner .swiper-slide ul li div span { position: absolute; left: 110px; top: 40px; font-size: 13px; color: #D91F20; font-family: arial; font-style: normal; display: inline-block; } .banner .swiper-slide ul li div button { width: 110px; height: 30px; line-height: 30px; border: 1px solid #DDDDDD; text-align: center; background: white; font-size: 12px; color: #333333; position: absolute; left: 110px; top: 62px; border-radius: 2px; } .banner .swiper-slide ul li div button b { display: inline-block; height: 18px; width: 18px; margin-right: 5px; background-position: 0 -57px; background-repeat: no-repeat; overflow: hidden; vertical-align: middle; background-image: url(//misc.360buyimg.com/user/cart/widget/addtocart-201608/i/addtocart-icons.png); } .banner .swiper-slide ul li div button:hover { background: #E4393C; color: white; border: 1px solid red; } .banner .swiper-slide ul li div button:hover b { background-position: -28px -57px; } .banner .pag1 { width: 1230px; height: 30px; line-height: 30px; } .banner .pag1 .la { cursor: pointer; display: inline; line-height: 12px; background-color: whitesmoke; padding: 4px 9px; margin: 0px 8px; border-width: 1px; border-style: solid; border-color: white; border-image: initial; border-radius: 15px; } .banner .pag1 .active { color: #e4393c; background-color: white; border-color: #e4393c; border-radius: 15px; } .banner1 { width: 1210px; height: 300px; margin: 0 auto; list-style: none; } .banner1 .swiper-slide { width: 1210px; height: 300px; } .banner1 .swiper-slide ul { width: 100%; height: 100%; } .banner1 .swiper-slide ul li { float: left; margin-bottom: 40px; } .banner1 .swiper-slide ul li div { float: left; position: relative; width: 270px; height: 100px; background: #fff; overflow: hidden; margin: 0 30px 0 0; } .banner1 .swiper-slide ul li div img { width: 98px; height: 98px; vertical-align: middle; border: 1px solid #EEEEEE; } .banner1 .swiper-slide ul li div p { position: absolute; top: 0; left: 110px; font-size: 12px; color: #333333; } .banner1 .swiper-slide ul li div p a { text-decoration: none; color: #333333; width: 160px; height: 36px; line-height: 18px; margin-bottom: 4px; display: inline-block; font-size: 12px; overflow: hidden; } .banner1 .swiper-slide ul li div a:hover { color: red; } .banner1 .swiper-slide ul li div span { position: absolute; left: 110px; top: 40px; font-size: 13px; color: #D91F20; font-style: normal; display: inline-block; font-family: arial; } .banner1 .swiper-slide ul li div button { width: 110px; height: 30px; line-height: 30px; border: 1px solid #DDDDDD; text-align: center; background: white; font-size: 12px; color: #333333; position: absolute; left: 110px; top: 62px; border-radius: 2px; } .banner1 .swiper-slide ul li div button b { display: inline-block; height: 18px; width: 18px; margin-right: 5px; background-position: 0 -57px; background-repeat: no-repeat; overflow: hidden; vertical-align: middle; background-image: url(//misc.360buyimg.com/user/cart/widget/addtocart-201608/i/addtocart-icons.png); } .banner1 .swiper-slide ul li div button:hover { background: #E4393C; color: white; border: 1px solid red; } .banner1 .swiper-slide ul li div button:hover b { background-position: -28px -57px; } .banner1 .pag2 { width: 1230px; height: 30px; line-height: 30px; } .banner1 .pag2 .llll { cursor: pointer; display: inline; line-height: 12px; background-color: whitesmoke; padding: 4px 9px; margin: 0px 8px; border-width: 1px; border-style: solid; border-color: white; border-image: initial; border-radius: 15px; } .banner1 .pag2 .active { color: #e4393c; background-color: white; border-color: #e4393c; border-radius: 15px; } .share_money_top { width: 1210px; height: 30px; margin: 0 auto; } .share_money_top p { font-size: 13px; width: 42px; height: 30px !important; line-height: 30px !important; font-weight: bold; float: left; } .share_money_top a { margin-right: 0; float: right; color: #666; height: 30px; line-height: 30px; text-decoration: none; display: inline-block; } .share_res_lost { width: 1210px; height: 296px; margin: 0 auto; margin-top: 10px; } .share_res_lost .share_res_list { float: left; margin-right: 17px; width: 285px; height: 282px; float: left; } .share_res_lost .share_res_list .list_inner { width: 285px; height: 282px; border: 1px solid #f1f1f1; position: relative; padding-left: 38px; padding-right: 37px; } .share_res_lost .share_res_list .list_inner .list_name { width: 99%; height: 22px; margin-top: 15px; margin-bottom: 3px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .share_res_lost .share_res_list .list_inner .list_name a { font: 700 16px/22px "Microsoft YaHei"; color: #666; text-decoration: none; display: inline-block; } .share_res_lost .share_res_list .list_inner .list_info { width: 100%; height: 24px; margin-bottom: 10px; overflow: hidden; text-align: center; } .share_res_lost .share_res_list .list_inner .list_info a { height: 24px; color: #666; text-decoration: none; display: inline-block; } .share_res_lost .share_res_list .list_inner .list_info a em { display: inline-block; height: 24px; font: 12px/24px "Microsoft YaHei"; color: #e4393c; } .share_res_lost .share_res_list .list_inner .list_goods { width: 211px; height: 162px; overflow: hidden; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover { float: left; width: 155px; height: 155px; border: 1px solid #f1f1f1; overflow: hidden; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a { color: #666; text-decoration: none; display: inline-block; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol { width: 178px; height: 35px; background: white; position: absolute; border: 1px solid darkgray; top: 40px; left: 10px; display: none; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol li { width: 35px; height: 32px; border-right: 1px solid darkgray; float: left; text-align: center; line-height: 34px; font-size: 16px; color: forestgreen; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol .glyphicon-share { position: relative; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol .glyphicon-share .wang { width: 100px; height: 150px; background: white; border: 0; position: absolute; top: 32px; left: 0; display: none; z-index: 33; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol .glyphicon-share .wang p { width: 100px; height: 30px; margin: 0; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol .glyphicon-share .wang p img { width: 20px; height: 20px; float: left; margin-top: 5px; margin-left: 5px; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol .glyphicon-share .wang p span { display: block; width: 70px; height: 27px; line-height: 27px; font-size: 12px; margin-left: 5px; color: darkgray; float: right; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol .glyphicon-share .wang p:hover { background: lavender; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a .a_ol li:hover { background: lightcyan; } .share_res_lost .share_res_list .list_inner .list_goods .list_cover a img { border: 0; vertical-align: middle; width: 155px; height: 155px; } .share_res_lost .share_res_list .list_inner .list_goods .list_ul { float: left; position: relative; width: 52px; height: 156px; border-right: 1px solid #f1f1f1; border-bottom: 1px solid #f1f1f1; } .share_res_lost .share_res_list .list_inner .list_goods .list_ul .list_goods_item { float: left; width: 52px; height: 52px; } .share_res_lost .share_res_list .list_inner .list_goods .list_ul .list_goods_item a { display: inline-block; width: 50px; height: 50px; border: 1px solid #f1f1f1; border-left: none; color: #666; text-decoration: none; } .share_res_lost .share_res_list .list_inner .list_goods .list_ul .list_goods_item a img { width: 50px; height: 50px; vertical-align: middle; } .share_res_lost .share_res_list .list_inner .list_goods .list_ul .list_num { width: 50px; height: 51px; border-right: none !important; border-bottom: none !important; background: #fff; font: 30px/50px arial; color: #999; text-align: center; } .share_res_lost .share_res_list .list_inner .list_btn_info { width: 100%; height: 32px; margin-top: 5px; margin-bottom: 7px; overflow: hidden; text-align: center; position: relative; padding-left: 2px; padding-right: 5px; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-follow:hover .btnico { background-position: -56px 0; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-link:hover .btnico { background-position: -140px 0; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-follow { text-decoration: none; display: inline-block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; float: left; margin: 2px 0; color: #333; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-follow .btnico { width: 28px; height: 28px; background: url(//misc.360buyimg.com/user/lib/share-rec/1.0.0/widget/share-rec/i/share-rec.png) 0 0 no-repeat; margin-right: 5px; display: inline-block; position: relative; vertical-align: middle; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-follow .btntxt { display: inline; margin-left: 5px; font-style: normal; } .share_res_lost .share_res_list .list_inner .list_btn_info .list_gap { width: 1px; height: 32px; border-left: 1px solid #f1f1f1; position: absolute; left: 50%; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-link { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; float: right; margin: 2px 0; color: #333; text-decoration: none; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-link .btnico { width: 28px; height: 28px; background: url(//misc.360buyimg.com/user/lib/share-rec/1.0.0/widget/share-rec/i/share-rec.png) -84px 0; margin-right: 5px; display: inline-block; position: relative; vertical-align: middle; } .share_res_lost .share_res_list .list_inner .list_btn_info .btn-link .btntxt { display: inline; margin-left: 5px; font-style: normal; } .carousel_last { width: 1210px; height: 272px; margin: 0 auto; font-family: "Microsoft YaHei"; overflow: hidden; zoom: 1; } .carousel_last .card-lists { width: 1210px; height: 234px; margin-bottom: 10px; } .carousel_last .card-lists ul { width: 1240px; height: 234px; display: block; } .carousel_last .card-lists ul .card_01:hover { border: 1px solid red; } .carousel_last .card-lists ul .card_02:hover { border: 1px solid #8855BB; } .carousel_last .card-lists ul .card_03:hover { border: 1px solid #00AA66; } .carousel_last .card-lists ul .card_04:hover { border: 1px solid #EEBB22; } .carousel_last .card-lists ul li { width: 286px; height: 234px; float: left; margin-right: 22px; display: list-item; text-align: -webkit-match-parent; border: 1px solid #ddd; border-radius: 10px; } .carousel_last .card-lists ul li .card-item01 { width: 284px; height: 113px; background: #e56; } .carousel_last .card-lists ul li .card-item02 { width: 284px; height: 113px; background: #8855BB; } .carousel_last .card-lists ul li .card-item03 { width: 284px; height: 113px; background: #00AA66; } .carousel_last .card-lists ul li .card-item04 { width: 284px; height: 113px; background: #EEBB22; } .carousel_last .card-lists ul li .card-item { width: 284px; position: relative; padding-bottom: 30px; border-radius: 10px; text-align: center; } .carousel_last .card-lists ul li .card-item .card-msg { position: relative; width: 284px; height: 113px; color: #fff; border-radius: 10px 10px 0 0; } .carousel_last .card-lists ul li .card-item .card-msg a { color: #fff; text-decoration: none; display: inline-block; } .carousel_last .card-lists ul li .card-item .card-msg a h5 { font-size: 16px; padding: 18px 0 0; } .carousel_last .card-lists ul li .card-item .card-msg a h4 { width: 284px; font-size: 32px; display: block; line-height: 30px; font-weight: bold; } .carousel_last .card-lists ul li .card-item .card-msg .msg-bottom { position: absolute; display: block; left: 0; bottom: 0px; width: 100%; height: 8px; overflow: hidden; background: url(//misc.360buyimg.com/user/cart/widget/addtocart-201608/i/addtocart-icons.png) 0 -35px repeat-x; } .carousel_last .card-lists ul li .card-item .p-price { width: 100%; height: 19px; margin: 30px 0 10px; overflow: hidden; } .carousel_last .card-lists ul li .card-item .p-price strong { color: #e56; font-size: 16px; font-family: verdana; font-weight: 400; } .carousel_last .card-lists ul li .card-item .p-price strong em { font-style: normal; } .carousel_last .card-lists ul li .card-item .p-price strong i { font-family: arial; font-style: normal; } .carousel_last .card-lists ul li .card-item .card-opbtns { width: 284px; height: 30px; } .carousel_last .card-lists ul li .card-item .card-opbtns .btn-append { display: inline-block; height: 28px; line-height: 28px; padding: 0 20px; border: 1px solid #999; color: #666; border-radius: 3px; text-decoration: none; font-size: 12px; } .carousel_last .card-lists ul li .card-item .card-opbtns .btn-append b { display: inline-block; height: 18px; width: 18px; margin-right: 5px; background-position: 0 -57px; background-repeat: no-repeat; overflow: hidden; vertical-align: middle; background-image: url(//misc.360buyimg.com/user/cart/widget/addtocart-201608/i/addtocart-icons.png); } .carousel_last .card-lists ul li .card-item .card-opbtns .btn-append:hover { border-color: #e4393c; background: #e4393c; color: #fff; } .carousel_last .card-lists ul li .card-item .card-opbtns .btn-append:hover b { background-position: -28px -57px; } footer { width: 100%; height: 322px; padding-bottom: 18px; background: #eaeaea; overflow: hidden; z-index: 9999; } footer .bg_top { margin: 0 auto; width: 1210px; height: 102px; } footer .bg_top .slogen { padding-left: 65px; margin-right: -23px; position: relative; padding: 30px 0 30px 55px; overflow: hidden; } footer .bg_top .slogen .fore1 i { background-position: 0 0px; } footer .bg_top .slogen .fore2 i { background-position: 0 -43px; } footer .bg_top .slogen .fore3 i { background-position: 0 -86px; } footer .bg_top .slogen .fore4 i { background-position: 0 -129px; } footer .bg_top .slogen .item { float: left; position: relative; width: 292px; height: 42px; line-height: 42px; font-size: 18px; font-weight: 700; text-indent: 46px; color: #444; } footer .bg_top .slogen .item i { display: block; position: absolute; top: 0; left: 0; width: 36px; height: 42px; text-indent: -9999px; background-image: url(//misc.360buyimg.com/jdf/1.0.0/unit/service/5.0.0/i/ico_service.png); background-repeat: no-repeat; } footer .dj_help { border-top: solid 1px #dedede; border-bottom: solid 1px #dedede; } footer .dj_help .dj_w { width: 1210px; height: 200px; margin: 0 auto; } footer .dj_help .dj_w .dj_wrap { width: 1350px; height: 200px; padding: 20px 0 20px 55px; margin-right: -340px; } footer .dj_help .dj_w .dj_wrap dl { width: 255px; height: 160px; float: left; line-height: 22px; } footer .dj_help .dj_w .dj_wrap dl dt { width: 255px; height: 28px; padding-bottom: 6px; font-weight: 700; font-size: 14px; color: #777; display: inline-block; } footer .dj_help .dj_w .dj_wrap dl dd { font-size: 12px; height: 22px; overflow: hidden; display: block; } footer .dj_help .dj_w .dj_wrap dl dd a { text-decoration: none; cursor: auto; display: inline-block; color: #666666; } footer .dj_help .dj_w .dj_wrap dl dd a:hover { color: red; } .bg_info_footer { width: 100%; height: 192px; padding-bottom: 30px; background: #eaeaea; text-align: center; } .bg_info_footer .bg_wrap { width: 1210px; height: 162px; margin: 0 auto; } .bg_info_footer .bg_wrap .bg_links { width: 1210px; height: 18px; } .bg_info_footer .bg_wrap .bg_links p { display: block; } .bg_info_footer .bg_wrap .bg_links p a { cursor: auto; display: inline-block; color: #666; text-decoration: none; font-size: 11px; } .bg_info_footer .bg_wrap .bg_links p .copyright_split { color: #ccc; margin: 0 9px; } .bg_info_footer .bg_wrap .bg_links p a:hover { color: red; } .bg_info_footer .bg_wrap .bg_info_sky { padding: 10px 0; line-height: 22px; color: #999; width: 1210px; height: 108px; margin: 0 auto; } .bg_info_footer .bg_wrap .bg_info_sky p { margin: 0 0 1px !important; display: block; } .bg_info_footer .bg_wrap .bg_info_sky p a { color: #999; display: inline-block; font-size: 10px; text-decoration: none; } .bg_info_footer .bg_wrap .bg_info_sky p .copyright_split { color: #ccc; margin: 0 9px; } .bg_info_footer .bg_wrap .bg_info_sky p a:hover { color: red; } .bg_info_footer .bg_wrap .bg_info_dy { width: 1210px; height: 36px; margin: 0 auto; float: left; } .bg_info_footer .bg_wrap .bg_info_dy .copyright_auth_ico_1 { background-position: 0 0; } .bg_info_footer .bg_wrap .bg_info_dy .copyright_auth_ico_2 { background-position: -104px 0; } .bg_info_footer .bg_wrap .bg_info_dy .copyright_auth_ico_3 { background-position: 0 -33px; } .bg_info_footer .bg_wrap .bg_info_dy .copyright_auth_ico_4 { background-position: -104px -33px; } .bg_info_footer .bg_wrap .bg_info_dy .copyright_auth_ico_5 { background-position: 0 -66px; } .bg_info_footer .bg_wrap .bg_info_dy .copyright_auth_ico_6 { background-position: -104px -66px; } .bg_info_footer .bg_wrap .bg_info_dy .copyright_auth_ico { overflow: hidden; display: inline-block; margin: 0 3px; width: 103px; height: 32px; background-image: url(//misc.360buyimg.com/jdf/1.0.0/unit/global-footer/5.0.0/i/ico_footer.png); line-height: 1000px; } .bg_info_footer .bg_wrap .bg_info_dy a:hover { color: #f30213; } /*# sourceMappingURL=success.css.map */ ================================================ FILE: gmall-cart-web/src/main/resources/static/js/index.js ================================================ $('.header-right li:nth-of-type(6)').hover(function(){ $('.header-r-11').css('display','block') },function(){ $('.header-r-11').css('display','none') }) $('.header-right li:nth-of-type(12)').hover(function(){ $('.header-r-2').css('display','block') },function(){ $('.header-r-2').css('display','none') }) $('.header-right li:nth-of-type(14)').hover(function(){ $('.header-r-3').css('display','block') },function(){ $('.header-r-3').css('display','none') }) $('.header-l-2').hover(function(){ $('.header-l-d').css('display','block') },function(){ $('.header-l-d').css('display','none') }) $('.header-r-4').hover(function(){ $('.h-r-1').css('display','block') },function(){ $('.h-r-1').css('display','none') }) ================================================ FILE: gmall-cart-web/src/main/resources/static/js/success.js ================================================ //下拉菜单 $(function(){ $(".hd_wrap_left>.dorpdown").mouseover(function(){ $(this).children(".dd").show(); $(this).css("background", "#fff"); }).mouseout(function(){ $(this).children(".dd").hide(); $(this).css("background", "#E3E4E5") }); $(".hd_wrap_right>.hd_dj").mouseover(function(){ $(this).children(".hd_dj_ol").show(); $(this).css("background", "#fff"); }).mouseout(function(){ $(this).children(".hd_dj_ol").hide(); $(this).css("background", "#E3E4E5"); }); $(".hd_wrap_right>.hd_kh").mouseover(function(){ $(this).children(".hd_kh_ol").show(); $(this).css("background", "#fff"); }).mouseout(function(){ $(this).children(".hd_kh_ol").hide(); $(this).css("background", "#E3E4E5"); });$(".hd_wrap_right>.hd_daohang").mouseover(function(){ $(this).children(".hd_dh").show(); $(this).css("background", "#fff"); }).mouseout(function(){ $(this).children(".hd_dh").hide(); $(this).css("background", "#E3E4E5"); });$(".hd_wrap_right>.hd_jing").mouseover(function(){ $(this).children(".hd_jing_sj").show() }).mouseout(function(){ $(this).children(".hd_jing_sj").hide() });$(".nav_top_three").mouseover(function(){ $.get("/miniCart",function (data) { $(".dorpdown-layer").remove(); $(".nav_top_three").append(data); }) // $(this).children(".dorpdown-layer").show() // $(this).css("background", "#fff"); }).mouseout(function(){ $(this).children(".dorpdown-layer").hide() }); $(".nav_down_ul_1").mouseover(function(){ $(this).children(".nav_down_ul_ol").show(); }).mouseout(function(){ $(this).children(".nav_down_ul_ol").hide(); }) $(".li-1").mouseover(function(){ $(this).children("#fen").show(); }).mouseout(function(){ $(this).children("#fen").hide(); }) $(".list_goods>.list_cover>a").mouseover(function(){ $(this).children(".a_ol").show(); }).mouseout(function(){ $(this).children(".a_ol").hide(); }) $(".glyphicon-share").mouseover(function(){ $(this).children(".wang").show(); }).mouseout(function(){ $(this).children(".wang").hide(); }) }); window.onload = function(){ var mySwiper = new Swiper ('.banner1',{ loop: true, // 如果需要分页器 pagination: '.swiper-pagination', //小圆点显示 paginationType:'custom', paginationCustomRender: function(swiper, current, total) { var _html = ''; for(var i = 1; i <= total; i++) { if(current == i) { _html += '
  • ' + i + '
  • '; } else { _html += '
  • ' + i + '
  • '; } } return _html; //返回所有的页码html } }) //给每个页码绑定跳转的事件 $('.banner1').on('mouseover', 'li', function() { var index = this.innerHTML; mySwiper.slideTo(index, 500, false); //切换到第一个slide,速度为1秒 }) var Banner = new Swiper ('.banner',{ loop: true, // 如果需要分页器 pagination: '.swiper-pagination', //小圆点显示 paginationType:'custom', paginationCustomRender: function(swiper, current, total) { var _html = ''; for(var i = 1; i <= total; i++) { if(current == i) { _html += '
  • ' + i + '
  • '; } else { _html += '
  • ' + i + '
  • '; } } return _html; //返回所有的页码html } }) //给每个页码绑定跳转的事件 $('.banner').on('mouseover', 'li', function() { var index = this.innerHTML; Banner.slideTo(index, 500, false); //切换到第一个slide,速度为1秒 }) } ================================================ FILE: gmall-cart-web/src/main/resources/templates/One_JDshop.html ================================================ 我的购物车-京东商城
    全部商品3 京东大药房
    配送至: 上海徐汇区
      1. 北京
      2. 上海
      3. 天津
      4. 重庆
      5. 河北
      6. 山西
      7. 河南
      8. 辽宁
      9. 吉林
      10. 黑龙江
      11. 内蒙古
      12. 江苏
      13. 山东
      14. 安徽
      15. 浙江
      16. 福建
      17. 湖北
      18. 湖南
      19. 广东
      20. 广西
      21. 江西
      22. 四川
      23. 海南
      24. 贵州
      25. 云南
      26. 西藏
      27. 陕西
      28. 甘肃
      29. 青海
      30. 宁夏
      31. 新疆
      32. 港澳
      33. 台湾
      34. 钓鱼岛
      35. 海外
      1. 朝阳区
      2. 海淀区
      3. 西城区
      4. 东城区
      5. 崇文区
      6. 宣武区
      7. 丰台区
      8. 石景山区
      9. 门头沟
      10. 房山区
      11. 通州区
      12. 大兴区
      13. 顺义区
      14. 怀柔区
      15. 密云区
      16. 昌平区
      17. 平谷区
      18. 延庆县
      1. 三环以内
      2. 三环到四环之间
      3. 四环到五环之间
      4. 五环到六环之间
      5. 六环以外
      6. 西三旗
      7. 西二旗
    • 全选
    • 商品
    • 单价
    • 数量
    • 小计
    • 操作
    京东自营
    已免运费
    • 活动商品购满¥22000.00,即可享受满减 > 去凑单 >
      1. TCL 55A950C 55英寸32核 尺码: 55时 超薄曲面 人工智能

        人工智能 HDR曲面超薄4K电视金属机

        支持7天无理由退货

      2. ¥4599.00

        更多促销

        每满1000.00减100.00
        每满1000.00减100.00
        满699.00、899.00、999.00可换购商品
        不实用活动优惠
      3. - 5 +

        有货

      4. ¥22995.00

      5. 删除

        移到我的关注

        加到我的关注

      【赠品】京东(JD)京东自营冰箱(三门/对开门)清洗..X5 查看价格
    • 活动商品购满¥39.00,即可加价换购商品1件 > 去凑单 >
      1. 帮包适(Pampers)超薄 颜色:L【9-14kg】

        千爽 婴儿纸尿裤 大号L164

        不支持7天无理由退货

      2. ¥219.00

        更多促销

        每满1000.00减100.00
        每满1000.00减100.00
        满699.00、899.00、999.00可换购商品
        不实用活动优惠
      3. - 2 +

        有货

      4. ¥438.00

        12.02Kg

      5. 删除

        移到我的关注

        加到我的关注

    • 活动商品购满¥30.00,即可加价换购商品一件 > 去凑单 >
      1. 德国 进口牛奶 欧德宝

        (Oldenburger)超高温处理全脂纯牛

        不支持7天无理由退货

      2. ¥118.00

        更多促销

        每满1000.00减100.00
        每满1000.00减100.00
        满699.00、899.00、999.00可换购商品
        不实用活动优惠
      3. - 1 +

        有货

      4. ¥118.00

        12.96kg

      5. 删除

        移到我的关注

        加到我的关注

    • 全选
    • 删除选中的商品
    • 移到我的关注
    • 清除下柜商品
    已选择8件商品
    1. 普通商品7件
    1. 总价:¥23551.00
    2. 已节省:-¥0.00
    • 全选
    • 删除选中的商品
    • 移到我的关注
    • 清除下柜商品
    已选择8件商品
    1. 普通商品7件
    1. 总价:¥23551.00
    2. 已节省:-¥0.00

    删除

  • 删除商品?
  • 您可以选择移到关注,或删除商品。
  • 删除

    请至少选中一件商品!

    删除

  • 移到关注
  • 移动后选中商品将不再购物车中显示
  • 提示

    没有下柜商品!

    您尚未登录

    京东不会以任何理由要求您转账汇款,谨防诈骗。

    • 扫码登陆
    • 账户登录
    1. 打开手机京东  扫描二维码
      免输入   更快   更安全  
      QQ 微信 立即注册
    2. 忘记密码
    3. QQ
    4. 微信
    5. 立即注册
    • 我的关注
      1. 常购商品
      1. 京东卡
    • 猜你喜欢
    • 随手购
    • 我的关注
    • 最近浏览
    • 诺基亚8 (Nokia8) 手机 黑 标配

      ¥5999.00

        购物车

      科尔沁 休闲肉脯零食 内蒙古特产 手撕风干牛肉干孜然味400g

      ¥99.00

        购物车

      机械师游戏本(MACHENIKE) T58 七代i7/GTX1050 4G独显笔记本电脑 单色

      ¥5699.00

        购物车

      福临门 东北优质 大米 8kg

      ¥49.90

        购物车

    • 联想(Lenovo) ideaPad110 15.6英寸商务办公家用影音笔记本电脑 四核A6-

      ¥2999.00

        购物车

      统一 阿萨姆奶茶500ml*15瓶 整箱

      ¥49.99

        购物车

      (Lenovo)扬天V110 14英寸商务笔记本电脑(N3350 4G 500G 集显

      ¥2399.00

        购物车

      水星(MERCURY)MW325R 300M智能wifi无线路由器增强四天线

      ¥55.00

        购物车

    • 魅族 PRO 7 4GB+128GB 全网通公开版 静谧黑 移动联通电信4G手机 双卡双待

      ¥2899.00

        购物车

      韩国 东远 金枪鱼罐头 沙拉酱味100g*2罐

      ¥15.80

        购物车

      炫龙(Shinelon)毁灭者DCPro-4681S1N 15.6英寸游戏笔记本电脑

      ¥4799.00

        购物车

      福临门 五常长粒香 五常大米 中粮出品 大米 5kg

      ¥39.90

        购物车

    < >
    • 诺基亚8 (Nokia8) 手机 黑 标配

      ¥5999.00

        购物车

      科尔沁 休闲肉脯零食 内蒙古特产 手撕风干牛肉干孜然味400g

      ¥99.00

        购物车

      机械师游戏本(MACHENIKE) T58 七代i7/GTX1050 4G独显笔记本电脑 单色

      ¥5699.00

        购物车

      福临门 东北优质 大米 8kg

      ¥49.90

        购物车

    < >
    登录后将显示您之前关注的商品
    暂时无结果
    ================================================ FILE: gmall-cart-web/src/main/resources/templates/cartList.html ================================================ 购物车
    全部商品
    • 全选
    • 商品
    • 单价
    • 数量
    • 小计
    • 操作

    删除

  • 删除商品?
  • 您可以选择移到关注,或删除商品。
  • 删除

    请至少选中一件商品!

    删除

  • 移到关注
  • 移动后选中商品将不再购物车中显示
  • 提示

    没有下柜商品!
    ================================================ FILE: gmall-cart-web/src/main/resources/templates/cartListInner.html ================================================ Title
      1. TCL 55A950C 55英寸32核

      2. 4599.00

      3. - 5 +

      4. ¥22995.00

      5. 删除

    • 全选
    • 删除选中的商品
    • 移到我的关注
    • 清除下柜商品
     
    1. 总价:¥0.00
    ================================================ FILE: gmall-cart-web/src/main/resources/templates/success.html ================================================ ================================================ FILE: gmall-cart-web/src/test/java/com/lee/gmall/cart/GmallCartWebApplicationTests.java ================================================ package com.lee.gmall.cart; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GmallCartWebApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: gmall-common-util/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-common-util 1.0-SNAPSHOT com.lee.gmall gmall-parent 1.0-SNAPSHOT com.alibaba fastjson org.springframework.boot spring-boot-starter-test org.springframework.boot spring-boot-starter-web org.apache.httpcomponents httpclient org.apache.commons commons-lang3 commons-beanutils commons-beanutils commons-codec commons-codec com.alibaba dubbo ${dubbo.version} com.101tec zkclient ${zkclient.version} com.gitee.reger spring-boot-starter-dubbo ${dubbo-starter.version} ================================================ FILE: gmall-common-util/src/main/java/com/lee/gmall/util/HttpClientUtil.java ================================================ package com.lee.gmall.util; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; /** * @param * @return */ public class HttpClientUtil { public static String doGet(String url) { // 创建Httpclient对象 CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建http GET请求 HttpGet httpGet = new HttpGet(url); CloseableHttpResponse response = null; try { // 执行请求 response = httpclient.execute(httpGet); // 判断返回状态是否为200 if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = response.getEntity(); String result = EntityUtils.toString(entity, "UTF-8"); EntityUtils.consume(entity); httpclient.close(); return result; } httpclient.close(); }catch (IOException e){ e.printStackTrace(); return null; } return null; } public static void download(String url,String fileName) { // 创建Httpclient对象 CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建http GET请求 HttpGet httpGet = new HttpGet(url); CloseableHttpResponse response = null; try { // 执行请求 response = httpclient.execute(httpGet); // 判断返回状态是否为200 if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = response.getEntity(); // String result = EntityUtils.toString(entity, "UTF-8"); byte[] bytes = EntityUtils.toByteArray(entity); File file =new File(fileName); // InputStream in = entity.getContent(); FileOutputStream fout = new FileOutputStream(file); fout.write(bytes); EntityUtils.consume(entity); httpclient.close(); fout.flush(); fout.close(); return ; } httpclient.close(); }catch (IOException e){ e.printStackTrace(); return ; } return ; } } ================================================ FILE: gmall-item-web/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-item-web 0.0.1-SNAPSHOT gmall-item-web Demo project for Spring Boot 1.8 com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-web-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-item-web/src/main/java/com/lee/gmall/item/GmallItemWebApplication.java ================================================ package com.lee.gmall.item; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Configuration; @SpringBootApplication public class GmallItemWebApplication { public static void main(String[] args) { SpringApplication.run(GmallItemWebApplication.class, args); } } ================================================ FILE: gmall-item-web/src/main/java/com/lee/gmall/item/controller/ItemController.java ================================================ package com.lee.gmall.item.controller; import com.alibaba.dubbo.config.annotation.Reference; import com.alibaba.fastjson.JSON; import com.lee.gmall.bean.*; import com.lee.gmall.service.SkuService; import com.lee.gmall.service.SpuService; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import javax.crypto.interfaces.PBEKey; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller public class ItemController { @Reference SkuService skuService; @Reference SpuService spuService; @RequestMapping("index") public String index(ModelMap map) { map.put("hello", "hello,thymeleaf"); List userInfos = new ArrayList<>(); for (int i = 0; i < 5; i++) { UserInfo userInfo = new UserInfo(); userInfo.setNickName("小" + i); userInfo.setPhoneNum("111111"); userInfos.add(userInfo); } map.put("userInfos", userInfos); return "demo"; } @RequestMapping("{skuId}.html") public String item(@PathVariable String skuId, ModelMap map) { //查询并返回sku SkuInfo skuInfo = skuService.getSkuById(skuId); map.put("skuInfo", skuInfo); //查询并返回销售属性列表和销售属性值列表,并通过设置isCheck属性把页面上skuId对应的销售属性值标红 Map idMap = new HashMap<>(); idMap.put("spuId", skuInfo.getSpuId()); idMap.put("skuId", skuId); List saleAttrListBySpuId = spuService.getSpuSaleAttrListCheckBySku(idMap); map.put("spuSaleAttrListCheckBySku", saleAttrListBySpuId); //将当前sku对应的兄弟sku列表所对应的销售属性值列表组合成map,然后转化为Json返回给前台,用于点击销售属性值时页面间的切换 List skuInfos = spuService.getSkuSaleAttrValueListBySpu(skuInfo.getSpuId()); Map map1 = new HashMap<>(); for (SkuInfo skuInfo1 : skuInfos) { String value = skuInfo1.getId(); String key = ""; List skuSaleAttrValueList = skuInfo1.getSkuSaleAttrValueList(); for (SkuSaleAttrValue saleAttrValue : skuSaleAttrValueList ) { key = key + "|" + saleAttrValue.getSaleAttrValueId(); } map1.put(key, value); } String skuJson = JSON.toJSONString(map1); map.put("skuJson", skuJson); return "item"; } } ================================================ FILE: gmall-item-web/src/main/resources/application.properties ================================================ server.port=8082 #zookeeper spring.dubbo.registry.address=192.168.159.129:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-item-web spring.dubbo.protocol.name=dubbo spring.dubbo.consumer.check=false spring.dubbo.consumer.timeout=60000 #thymeleaf spring.thymeleaf.mode=LEGACYHTML5 spring.thymeleaf.cache=false #MVC #spring.resources.static-locations=classpath:/static/ #logging.level.root=debug ================================================ FILE: gmall-item-web/src/main/resources/static/bootstrap/css/bootstrap.css ================================================ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { margin: .67em 0; font-size: 2em; } mark { color: #000; background: #ff0; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { margin: 0; font: inherit; color: inherit; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { padding: .35em .625em .75em; margin: 0 2px; border: 1px solid #c0c0c0; } legend { padding: 0; border: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-spacing: 0; border-collapse: collapse; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { color: #000 !important; text-shadow: none !important; background: transparent !important; -webkit-box-shadow: none !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\002a"; } .glyphicon-plus:before { content: "\002b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a:focus { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { font-weight: normal; line-height: 1; color: #777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { padding: .2em; background-color: #fcf8e3; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777; } .text-primary { color: #337ab7; } a.text-primary:hover, a.text-primary:focus { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover, a.text-success:focus { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover, a.text-info:focus { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover, a.text-warning:focus { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover, a.text-danger:focus { color: #843534; } .bg-primary { color: #fff; background-color: #337ab7; } a.bg-primary:hover, a.bg-primary:focus { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover, a.bg-success:focus { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover, a.bg-info:focus { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover, a.bg-warning:focus { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover, a.bg-danger:focus { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; margin-left: -5px; list-style: none; } .list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857143; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777; } .initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; color: #777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; text-align: right; border-right: 5px solid #eee; border-left: 0; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; } code, kbd, pre, samp { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; -webkit-box-shadow: none; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; color: #333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .row { margin-right: -15px; margin-left: -15px; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; } .col-xs-pull-12 { right: 100%; } .col-xs-pull-11 { right: 91.66666667%; } .col-xs-pull-10 { right: 83.33333333%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-8 { right: 66.66666667%; } .col-xs-pull-7 { right: 58.33333333%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-5 { right: 41.66666667%; } .col-xs-pull-4 { right: 33.33333333%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-2 { right: 16.66666667%; } .col-xs-pull-1 { right: 8.33333333%; } .col-xs-pull-0 { right: auto; } .col-xs-push-12 { left: 100%; } .col-xs-push-11 { left: 91.66666667%; } .col-xs-push-10 { left: 83.33333333%; } .col-xs-push-9 { left: 75%; } .col-xs-push-8 { left: 66.66666667%; } .col-xs-push-7 { left: 58.33333333%; } .col-xs-push-6 { left: 50%; } .col-xs-push-5 { left: 41.66666667%; } .col-xs-push-4 { left: 33.33333333%; } .col-xs-push-3 { left: 25%; } .col-xs-push-2 { left: 16.66666667%; } .col-xs-push-1 { left: 8.33333333%; } .col-xs-push-0 { left: auto; } .col-xs-offset-12 { margin-left: 100%; } .col-xs-offset-11 { margin-left: 91.66666667%; } .col-xs-offset-10 { margin-left: 83.33333333%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-8 { margin-left: 66.66666667%; } .col-xs-offset-7 { margin-left: 58.33333333%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-5 { margin-left: 41.66666667%; } .col-xs-offset-4 { margin-left: 33.33333333%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-2 { margin-left: 16.66666667%; } .col-xs-offset-1 { margin-left: 8.33333333%; } .col-xs-offset-0 { margin-left: 0; } @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; } .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; } .col-sm-8 { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; } .col-sm-6 { width: 50%; } .col-sm-5 { width: 41.66666667%; } .col-sm-4 { width: 33.33333333%; } .col-sm-3 { width: 25%; } .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } .col-sm-pull-12 { right: 100%; } .col-sm-pull-11 { right: 91.66666667%; } .col-sm-pull-10 { right: 83.33333333%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-8 { right: 66.66666667%; } .col-sm-pull-7 { right: 58.33333333%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-5 { right: 41.66666667%; } .col-sm-pull-4 { right: 33.33333333%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-2 { right: 16.66666667%; } .col-sm-pull-1 { right: 8.33333333%; } .col-sm-pull-0 { right: auto; } .col-sm-push-12 { left: 100%; } .col-sm-push-11 { left: 91.66666667%; } .col-sm-push-10 { left: 83.33333333%; } .col-sm-push-9 { left: 75%; } .col-sm-push-8 { left: 66.66666667%; } .col-sm-push-7 { left: 58.33333333%; } .col-sm-push-6 { left: 50%; } .col-sm-push-5 { left: 41.66666667%; } .col-sm-push-4 { left: 33.33333333%; } .col-sm-push-3 { left: 25%; } .col-sm-push-2 { left: 16.66666667%; } .col-sm-push-1 { left: 8.33333333%; } .col-sm-push-0 { left: auto; } .col-sm-offset-12 { margin-left: 100%; } .col-sm-offset-11 { margin-left: 91.66666667%; } .col-sm-offset-10 { margin-left: 83.33333333%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-8 { margin-left: 66.66666667%; } .col-sm-offset-7 { margin-left: 58.33333333%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-5 { margin-left: 41.66666667%; } .col-sm-offset-4 { margin-left: 33.33333333%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-2 { margin-left: 16.66666667%; } .col-sm-offset-1 { margin-left: 8.33333333%; } .col-sm-offset-0 { margin-left: 0; } } @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; } .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; } .col-md-6 { width: 50%; } .col-md-5 { width: 41.66666667%; } .col-md-4 { width: 33.33333333%; } .col-md-3 { width: 25%; } .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } .col-md-pull-12 { right: 100%; } .col-md-pull-11 { right: 91.66666667%; } .col-md-pull-10 { right: 83.33333333%; } .col-md-pull-9 { right: 75%; } .col-md-pull-8 { right: 66.66666667%; } .col-md-pull-7 { right: 58.33333333%; } .col-md-pull-6 { right: 50%; } .col-md-pull-5 { right: 41.66666667%; } .col-md-pull-4 { right: 33.33333333%; } .col-md-pull-3 { right: 25%; } .col-md-pull-2 { right: 16.66666667%; } .col-md-pull-1 { right: 8.33333333%; } .col-md-pull-0 { right: auto; } .col-md-push-12 { left: 100%; } .col-md-push-11 { left: 91.66666667%; } .col-md-push-10 { left: 83.33333333%; } .col-md-push-9 { left: 75%; } .col-md-push-8 { left: 66.66666667%; } .col-md-push-7 { left: 58.33333333%; } .col-md-push-6 { left: 50%; } .col-md-push-5 { left: 41.66666667%; } .col-md-push-4 { left: 33.33333333%; } .col-md-push-3 { left: 25%; } .col-md-push-2 { left: 16.66666667%; } .col-md-push-1 { left: 8.33333333%; } .col-md-push-0 { left: auto; } .col-md-offset-12 { margin-left: 100%; } .col-md-offset-11 { margin-left: 91.66666667%; } .col-md-offset-10 { margin-left: 83.33333333%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-8 { margin-left: 66.66666667%; } .col-md-offset-7 { margin-left: 58.33333333%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-5 { margin-left: 41.66666667%; } .col-md-offset-4 { margin-left: 33.33333333%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-2 { margin-left: 16.66666667%; } .col-md-offset-1 { margin-left: 8.33333333%; } .col-md-offset-0 { margin-left: 0; } } @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; } .col-lg-pull-12 { right: 100%; } .col-lg-pull-11 { right: 91.66666667%; } .col-lg-pull-10 { right: 83.33333333%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-8 { right: 66.66666667%; } .col-lg-pull-7 { right: 58.33333333%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-5 { right: 41.66666667%; } .col-lg-pull-4 { right: 33.33333333%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-2 { right: 16.66666667%; } .col-lg-pull-1 { right: 8.33333333%; } .col-lg-pull-0 { right: auto; } .col-lg-push-12 { left: 100%; } .col-lg-push-11 { left: 91.66666667%; } .col-lg-push-10 { left: 83.33333333%; } .col-lg-push-9 { left: 75%; } .col-lg-push-8 { left: 66.66666667%; } .col-lg-push-7 { left: 58.33333333%; } .col-lg-push-6 { left: 50%; } .col-lg-push-5 { left: 41.66666667%; } .col-lg-push-4 { left: 33.33333333%; } .col-lg-push-3 { left: 25%; } .col-lg-push-2 { left: 16.66666667%; } .col-lg-push-1 { left: 8.33333333%; } .col-lg-push-0 { left: auto; } .col-lg-offset-12 { margin-left: 100%; } .col-lg-offset-11 { margin-left: 91.66666667%; } .col-lg-offset-10 { margin-left: 83.33333333%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-8 { margin-left: 66.66666667%; } .col-lg-offset-7 { margin-left: 58.33333333%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-5 { margin-left: 41.66666667%; } .col-lg-offset-4 { margin-left: 33.33333333%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-2 { margin-left: 16.66666667%; } .col-lg-offset-1 { margin-left: 8.33333333%; } .col-lg-offset-0 { margin-left: 0; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { border-top: 0; } .table > tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; display: table-column; float: none; } table td[class*="col-"], table th[class*="col-"] { position: static; display: table-cell; float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { min-height: .01%; overflow-x: auto; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.42857143; color: #555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control::-ms-expand { background-color: transparent; border: 0; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 34px; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm, .input-group-sm input[type="date"], .input-group-sm input[type="time"], .input-group-sm input[type="datetime-local"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg, .input-group-lg input[type="date"], .input-group-lg input[type="time"], .input-group-lg input[type="datetime-local"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-top: 4px \9; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { min-height: 34px; padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; } .form-control-static.input-lg, .form-control-static.input-sm { padding-right: 0; padding-left: 0; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm, select[multiple].input-sm { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 6px 10px; font-size: 12px; line-height: 1.5; } .input-lg { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg { height: 46px; line-height: 46px; } textarea.input-lg, select[multiple].input-lg { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; min-height: 38px; padding: 11px 16px; font-size: 18px; line-height: 1.3333333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg + .form-control-feedback, .form-group-lg .form-control + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm + .form-control-feedback, .form-group-sm .form-control + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-success .form-control:focus { border-color: #2b542c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; background-color: #dff0d8; border-color: #3c763d; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-warning .form-control:focus { border-color: #66512c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; background-color: #fcf8e3; border-color: #8a6d3b; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-error .form-control:focus { border-color: #843534; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; background-color: #f2dede; border-color: #a94442; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { padding-top: 7px; margin-top: 0; margin-bottom: 0; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0; text-align: right; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 11px; font-size: 18px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; } a.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:focus, .btn-default.focus { color: #333; background-color: #e6e6e6; border-color: #8c8c8c; } .btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active:hover, .btn-default.active:hover, .open > .dropdown-toggle.btn-default:hover, .btn-default:active:focus, .btn-default.active:focus, .open > .dropdown-toggle.btn-default:focus, .btn-default:active.focus, .btn-default.active.focus, .open > .dropdown-toggle.btn-default.focus { color: #333; background-color: #d4d4d4; border-color: #8c8c8c; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #286090; border-color: #122b40; } .btn-primary:hover { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active:hover, .btn-primary.active:hover, .open > .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .dropdown-toggle.btn-primary.focus { color: #fff; background-color: #204d74; border-color: #122b40; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #449d44; border-color: #255625; } .btn-success:hover { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus { color: #fff; background-color: #398439; border-color: #255625; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #31b0d5; border-color: #1b6d85; } .btn-info:hover { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active:hover, .btn-info.active:hover, .open > .dropdown-toggle.btn-info:hover, .btn-info:active:focus, .btn-info.active:focus, .open > .dropdown-toggle.btn-info:focus, .btn-info:active.focus, .btn-info.active.focus, .open > .dropdown-toggle.btn-info.focus { color: #fff; background-color: #269abc; border-color: #1b6d85; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:focus, .btn-warning.focus { color: #fff; background-color: #ec971f; border-color: #985f0d; } .btn-warning:hover { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active:hover, .btn-warning.active:hover, .open > .dropdown-toggle.btn-warning:hover, .btn-warning:active:focus, .btn-warning.active:focus, .open > .dropdown-toggle.btn-warning:focus, .btn-warning:active.focus, .btn-warning.active.focus, .open > .dropdown-toggle.btn-warning.focus { color: #fff; background-color: #d58512; border-color: #985f0d; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #c9302c; border-color: #761c19; } .btn-danger:hover { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus { color: #fff; background-color: #ac2925; border-color: #761c19; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { font-weight: normal; color: #337ab7; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity .15s linear; -o-transition: opacity .15s linear; transition: opacity .15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-duration: .35s; -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: #262626; text-decoration: none; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; background-color: #337ab7; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { right: 0; left: auto; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857143; color: #777; white-space: nowrap; } .dropdown-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; border-bottom: 4px dashed; border-bottom: 4px solid \9; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { right: auto; left: 0; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group .form-control:focus { z-index: 3; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 46px; line-height: 46px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555; text-align: center; background-color: #eee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { z-index: 2; margin-left: -1px; } .nav { padding-left: 0; margin-bottom: 0; list-style: none; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eee; } .nav > li.disabled > a { color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eee #eee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0; padding-left: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #555; background-color: #e7e7e7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #777; } .navbar-default .navbar-link:hover { color: #333; } .navbar-default .btn-link { color: #777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #333; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #080808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { color: #fff; background-color: #080808; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; } .breadcrumb > .active { color: #777; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { z-index: 2; color: #23527c; background-color: #eee; border-color: #ddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 3; color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #777; cursor: not-allowed; background-color: #fff; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } a.label:hover, a.label:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } .label-default { background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { background-color: #5e5e5e; } .label-primary { background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #286090; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: middle; background-color: #777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { padding-right: 15px; padding-left: 15px; border-radius: 6px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron, .container-fluid .jumbotron { padding-right: 60px; padding-left: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: border .2s ease-in-out; -o-transition: border .2s ease-in-out; transition: border .2s ease-in-out; } .thumbnail > img, .thumbnail a > img { margin-right: auto; margin-left: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #337ab7; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable, .alert-dismissible { padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #2b542c; } .alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #245269; } .alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .alert-warning hr { border-top-color: #f7e1b5; } .alert-warning .alert-link { color: #66512c; } .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .alert-danger hr { border-top-color: #e4b9c0; } .alert-danger .alert-link { color: #843534; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); } .progress-bar { float: left; width: 0; height: 100%; font-size: 12px; line-height: 20px; color: #fff; text-align: center; background-color: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { overflow: hidden; zoom: 1; } .media-body { width: 10000px; } .media-object { display: block; } .media-object.img-thumbnail { max-width: none; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-left-radius: 4px; border-top-right-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item, button.list-group-item { color: #555; } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, button.list-group-item:hover, a.list-group-item:focus, button.list-group-item:focus { color: #555; text-decoration: none; background-color: #f5f5f5; } button.list-group-item { width: 100%; text-align: left; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { color: #777; cursor: not-allowed; background-color: #eee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { color: #777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } a.list-group-item-success, button.list-group-item-success { color: #3c763d; } a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, button.list-group-item-success:hover, a.list-group-item-success:focus, button.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, button.list-group-item-success.active, a.list-group-item-success.active:hover, button.list-group-item-success.active:hover, a.list-group-item-success.active:focus, button.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; } .list-group-item-info { color: #31708f; background-color: #d9edf7; } a.list-group-item-info, button.list-group-item-info { color: #31708f; } a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, button.list-group-item-info:hover, a.list-group-item-info:focus, button.list-group-item-info:focus { color: #31708f; background-color: #c4e3f3; } a.list-group-item-info.active, button.list-group-item-info.active, a.list-group-item-info.active:hover, button.list-group-item-info.active:hover, a.list-group-item-info.active:focus, button.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; } .list-group-item-warning { color: #8a6d3b; background-color: #fcf8e3; } a.list-group-item-warning, button.list-group-item-warning { color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, button.list-group-item-warning:hover, a.list-group-item-warning:focus, button.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, button.list-group-item-warning.active, a.list-group-item-warning.active:hover, button.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, button.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; } .list-group-item-danger { color: #a94442; background-color: #f2dede; } a.list-group-item-danger, button.list-group-item-danger { color: #a94442; } a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, button.list-group-item-danger:hover, a.list-group-item-danger:focus, button.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, button.list-group-item-danger.active, a.list-group-item-danger.active:hover, button.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, button.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #fff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .list-group + .panel-footer { border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { margin-bottom: 0; } .panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption { padding-right: 15px; padding-left: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { margin-bottom: 0; border: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; background-color: #337ab7; border-color: #337ab7; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #337ab7; } .panel-primary > .panel-heading .badge { color: #337ab7; background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { color: #d9edf7; background-color: #31708f; } .panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { border-color: #faebcc; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #a94442; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; } .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, .15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); opacity: .2; } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; filter: alpha(opacity=50); opacity: .5; } button.close { -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; } .modal-open { overflow: hidden; } .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; -o-transition: -o-transform .3s ease-out; transition: transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; outline: 0; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; } .modal-backdrop.fade { filter: alpha(opacity=0); opacity: 0; } .modal-backdrop.in { filter: alpha(opacity=50); opacity: .5; } .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857143; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); box-shadow: 0 5px 15px rgba(0, 0, 0, .5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; filter: alpha(opacity=0); opacity: 0; line-break: auto; } .tooltip.in { filter: alpha(opacity=90); opacity: .9; } .tooltip.top { padding: 5px 0; margin-top: -3px; } .tooltip.right { padding: 0 5px; margin-left: 3px; } .tooltip.bottom { padding: 5px 0; margin-top: 3px; } .tooltip.left { padding: 0 5px; margin-left: -3px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { right: 5px; bottom: 0; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2); line-break: auto; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { padding: 8px 14px; margin: 0; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover > .arrow { border-width: 11px; } .popover > .arrow:after { content: ""; border-width: 10px; } .popover.top > .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999; border-top-color: rgba(0, 0, 0, .25); border-bottom-width: 0; } .popover.top > .arrow:after { bottom: 1px; margin-left: -10px; content: " "; border-top-color: #fff; border-bottom-width: 0; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999; border-right-color: rgba(0, 0, 0, .25); border-left-width: 0; } .popover.right > .arrow:after { bottom: -10px; left: 1px; content: " "; border-right-color: #fff; border-left-width: 0; } .popover.bottom > .arrow { top: -11px; left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, .25); } .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; content: " "; border-top-width: 0; border-bottom-color: #fff; } .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, .25); } .popover.left > .arrow:after { right: 1px; bottom: -10px; content: " "; border-right-width: 0; border-left-color: #fff; } .carousel { position: relative; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner > .item { position: relative; display: none; -webkit-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform .6s ease-in-out; -o-transition: -o-transform .6s ease-in-out; transition: transform .6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { left: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { left: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { left: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); background-color: rgba(0, 0, 0, 0); filter: alpha(opacity=50); opacity: .5; } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x; } .carousel-control.right { right: 0; left: auto; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; filter: alpha(opacity=90); outline: 0; opacity: .9; } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -10px; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; font-family: serif; line-height: 1; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff; border-radius: 10px; } .carousel-indicators .active { width: 12px; height: 12px; margin: 0; background-color: #fff; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -10px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -10px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -10px; } .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-header:before, .modal-header:after, .modal-footer:before, .modal-footer:after { display: table; content: " "; } .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-header:after, .modal-footer:after { clear: both; } .center-block { display: block; margin-right: auto; margin-left: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { display: table !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { display: table !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg-block { display: block !important; } } @media (min-width: 1200px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1200px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: gmall-item-web/src/main/resources/static/bootstrap/js/bootstrap.js ================================================ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-2016 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4') } }(jQuery); /* ======================================================================== * Bootstrap: transition.js v3.3.7 * http://getbootstrap.com/javascript/#transitions * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // ============================================================ function transitionEnd() { var el = document.createElement('bootstrap') var transEndEventNames = { WebkitTransition : 'webkitTransitionEnd', MozTransition : 'transitionend', OTransition : 'oTransitionEnd otransitionend', transition : 'transitionend' } for (var name in transEndEventNames) { if (el.style[name] !== undefined) { return { end: transEndEventNames[name] } } } return false // explicit for ie8 ( ._.) } // http://blog.alexmaccaw.com/css-transitions $.fn.emulateTransitionEnd = function (duration) { var called = false var $el = this $(this).one('bsTransitionEnd', function () { called = true }) var callback = function () { if (!called) $($el).trigger($.support.transition.end) } setTimeout(callback, duration) return this } $(function () { $.support.transition = transitionEnd() if (!$.support.transition) return $.event.special.bsTransitionEnd = { bindType: $.support.transition.end, delegateType: $.support.transition.end, handle: function (e) { if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } } }) }(jQuery); /* ======================================================================== * Bootstrap: alert.js v3.3.7 * http://getbootstrap.com/javascript/#alerts * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ====================== var dismiss = '[data-dismiss="alert"]' var Alert = function (el) { $(el).on('click', dismiss, this.close) } Alert.VERSION = '3.3.7' Alert.TRANSITION_DURATION = 150 Alert.prototype.close = function (e) { var $this = $(this) var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = $(selector === '#' ? [] : selector) if (e) e.preventDefault() if (!$parent.length) { $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) if (e.isDefaultPrevented()) return $parent.removeClass('in') function removeElement() { // detach from parent, fire event then clean up data $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent .one('bsTransitionEnd', removeElement) .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } // ALERT PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') if (!data) $this.data('bs.alert', (data = new Alert(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.alert $.fn.alert = Plugin $.fn.alert.Constructor = Alert // ALERT NO CONFLICT // ================= $.fn.alert.noConflict = function () { $.fn.alert = old return this } // ALERT DATA-API // ============== $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) }(jQuery); /* ======================================================================== * Bootstrap: button.js v3.3.7 * http://getbootstrap.com/javascript/#buttons * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { this.$element = $(element) this.options = $.extend({}, Button.DEFAULTS, options) this.isLoading = false } Button.VERSION = '3.3.7' Button.DEFAULTS = { loadingText: 'loading...' } Button.prototype.setState = function (state) { var d = 'disabled' var $el = this.$element var val = $el.is('input') ? 'val' : 'html' var data = $el.data() state += 'Text' if (data.resetText == null) $el.data('resetText', $el[val]()) // push to event loop to allow forms to submit setTimeout($.proxy(function () { $el[val](data[state] == null ? this.options[state] : data[state]) if (state == 'loadingText') { this.isLoading = true $el.addClass(d).attr(d, d).prop(d, true) } else if (this.isLoading) { this.isLoading = false $el.removeClass(d).removeAttr(d).prop(d, false) } }, this), 0) } Button.prototype.toggle = function () { var changed = true var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') if ($input.prop('type') == 'radio') { if ($input.prop('checked')) changed = false $parent.find('.active').removeClass('active') this.$element.addClass('active') } else if ($input.prop('type') == 'checkbox') { if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false this.$element.toggleClass('active') } $input.prop('checked', this.$element.hasClass('active')) if (changed) $input.trigger('change') } else { this.$element.attr('aria-pressed', !this.$element.hasClass('active')) this.$element.toggleClass('active') } } // BUTTON PLUGIN DEFINITION // ======================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.button') var options = typeof option == 'object' && option if (!data) $this.data('bs.button', (data = new Button(this, options))) if (option == 'toggle') data.toggle() else if (option) data.setState(option) }) } var old = $.fn.button $.fn.button = Plugin $.fn.button.Constructor = Button // BUTTON NO CONFLICT // ================== $.fn.button.noConflict = function () { $.fn.button = old return this } // BUTTON DATA-API // =============== $(document) .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { var $btn = $(e.target).closest('.btn') Plugin.call($btn, 'toggle') if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) { // Prevent double click on radios, and the double selections (so cancellation) on checkboxes e.preventDefault() // The target component still receive the focus if ($btn.is('input,button')) $btn.trigger('focus') else $btn.find('input:visible,button:visible').first().trigger('focus') } }) .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) }) }(jQuery); /* ======================================================================== * Bootstrap: carousel.js v3.3.7 * http://getbootstrap.com/javascript/#carousel * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= var Carousel = function (element, options) { this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') this.options = options this.paused = null this.sliding = null this.interval = null this.$active = null this.$items = null this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } Carousel.VERSION = '3.3.7' Carousel.TRANSITION_DURATION = 600 Carousel.DEFAULTS = { interval: 5000, pause: 'hover', wrap: true, keyboard: true } Carousel.prototype.keydown = function (e) { if (/input|textarea/i.test(e.target.tagName)) return switch (e.which) { case 37: this.prev(); break case 39: this.next(); break default: return } e.preventDefault() } Carousel.prototype.cycle = function (e) { e || (this.paused = false) this.interval && clearInterval(this.interval) this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) return this } Carousel.prototype.getItemIndex = function (item) { this.$items = item.parent().children('.item') return this.$items.index(item || this.$active) } Carousel.prototype.getItemForDirection = function (direction, active) { var activeIndex = this.getItemIndex(active) var willWrap = (direction == 'prev' && activeIndex === 0) || (direction == 'next' && activeIndex == (this.$items.length - 1)) if (willWrap && !this.options.wrap) return active var delta = direction == 'prev' ? -1 : 1 var itemIndex = (activeIndex + delta) % this.$items.length return this.$items.eq(itemIndex) } Carousel.prototype.to = function (pos) { var that = this var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) if (pos > (this.$items.length - 1) || pos < 0) return if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" if (activeIndex == pos) return this.pause().cycle() return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) } Carousel.prototype.pause = function (e) { e || (this.paused = true) if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } this.interval = clearInterval(this.interval) return this } Carousel.prototype.next = function () { if (this.sliding) return return this.slide('next') } Carousel.prototype.prev = function () { if (this.sliding) return return this.slide('prev') } Carousel.prototype.slide = function (type, next) { var $active = this.$element.find('.item.active') var $next = next || this.getItemForDirection(type, $active) var isCycling = this.interval var direction = type == 'next' ? 'left' : 'right' var that = this if ($next.hasClass('active')) return (this.sliding = false) var relatedTarget = $next[0] var slideEvent = $.Event('slide.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) this.$element.trigger(slideEvent) if (slideEvent.isDefaultPrevented()) return this.sliding = true isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) $nextIndicator && $nextIndicator.addClass('active') } var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" if ($.support.transition && this.$element.hasClass('slide')) { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) $active .one('bsTransitionEnd', function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) that.sliding = false setTimeout(function () { that.$element.trigger(slidEvent) }, 0) }) .emulateTransitionEnd(Carousel.TRANSITION_DURATION) } else { $active.removeClass('active') $next.addClass('active') this.sliding = false this.$element.trigger(slidEvent) } isCycling && this.cycle() return this } // CAROUSEL PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.carousel') var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) var action = typeof option == 'string' ? option : options.slide if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) if (typeof option == 'number') data.to(option) else if (action) data[action]() else if (options.interval) data.pause().cycle() }) } var old = $.fn.carousel $.fn.carousel = Plugin $.fn.carousel.Constructor = Carousel // CAROUSEL NO CONFLICT // ==================== $.fn.carousel.noConflict = function () { $.fn.carousel = old return this } // CAROUSEL DATA-API // ================= var clickHandler = function (e) { var href var $this = $(this) var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 if (!$target.hasClass('carousel')) return var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false Plugin.call($target, options) if (slideIndex) { $target.data('bs.carousel').to(slideIndex) } e.preventDefault() } $(document) .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) $(window).on('load', function () { $('[data-ride="carousel"]').each(function () { var $carousel = $(this) Plugin.call($carousel, $carousel.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: collapse.js v3.3.7 * http://getbootstrap.com/javascript/#collapse * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ /* jshint latedef: false */ +function ($) { 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ var Collapse = function (element, options) { this.$element = $(element) this.options = $.extend({}, Collapse.DEFAULTS, options) this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + '[data-toggle="collapse"][data-target="#' + element.id + '"]') this.transitioning = null if (this.options.parent) { this.$parent = this.getParent() } else { this.addAriaAndCollapsedClass(this.$element, this.$trigger) } if (this.options.toggle) this.toggle() } Collapse.VERSION = '3.3.7' Collapse.TRANSITION_DURATION = 350 Collapse.DEFAULTS = { toggle: true } Collapse.prototype.dimension = function () { var hasWidth = this.$element.hasClass('width') return hasWidth ? 'width' : 'height' } Collapse.prototype.show = function () { if (this.transitioning || this.$element.hasClass('in')) return var activesData var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') if (actives && actives.length) { activesData = actives.data('bs.collapse') if (activesData && activesData.transitioning) return } var startEvent = $.Event('show.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return if (actives && actives.length) { Plugin.call(actives, 'hide') activesData || actives.data('bs.collapse', null) } var dimension = this.dimension() this.$element .removeClass('collapse') .addClass('collapsing')[dimension](0) .attr('aria-expanded', true) this.$trigger .removeClass('collapsed') .attr('aria-expanded', true) this.transitioning = 1 var complete = function () { this.$element .removeClass('collapsing') .addClass('collapse in')[dimension]('') this.transitioning = 0 this.$element .trigger('shown.bs.collapse') } if (!$.support.transition) return complete.call(this) var scrollSize = $.camelCase(['scroll', dimension].join('-')) this.$element .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) } Collapse.prototype.hide = function () { if (this.transitioning || !this.$element.hasClass('in')) return var startEvent = $.Event('hide.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return var dimension = this.dimension() this.$element[dimension](this.$element[dimension]())[0].offsetHeight this.$element .addClass('collapsing') .removeClass('collapse in') .attr('aria-expanded', false) this.$trigger .addClass('collapsed') .attr('aria-expanded', false) this.transitioning = 1 var complete = function () { this.transitioning = 0 this.$element .removeClass('collapsing') .addClass('collapse') .trigger('hidden.bs.collapse') } if (!$.support.transition) return complete.call(this) this.$element [dimension](0) .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION) } Collapse.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() } Collapse.prototype.getParent = function () { return $(this.options.parent) .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') .each($.proxy(function (i, element) { var $element = $(element) this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) }, this)) .end() } Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { var isOpen = $element.hasClass('in') $element.attr('aria-expanded', isOpen) $trigger .toggleClass('collapsed', !isOpen) .attr('aria-expanded', isOpen) } function getTargetFromTrigger($trigger) { var href var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 return $(target) } // COLLAPSE PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.collapse $.fn.collapse = Plugin $.fn.collapse.Constructor = Collapse // COLLAPSE NO CONFLICT // ==================== $.fn.collapse.noConflict = function () { $.fn.collapse = old return this } // COLLAPSE DATA-API // ================= $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { var $this = $(this) if (!$this.attr('data-target')) e.preventDefault() var $target = getTargetFromTrigger($this) var data = $target.data('bs.collapse') var option = data ? 'toggle' : $this.data() Plugin.call($target, option) }) }(jQuery); /* ======================================================================== * Bootstrap: dropdown.js v3.3.7 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= var backdrop = '.dropdown-backdrop' var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } Dropdown.VERSION = '3.3.7' function getParent($this) { var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = selector && $(selector) return $parent && $parent.length ? $parent : $this.parent() } function clearMenus(e) { if (e && e.which === 3) return $(backdrop).remove() $(toggle).each(function () { var $this = $(this) var $parent = getParent($this) var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this.attr('aria-expanded', 'false') $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget)) }) } Dropdown.prototype.toggle = function (e) { var $this = $(this) if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') clearMenus() if (!isActive) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we use a backdrop because click events don't delegate $(document.createElement('div')) .addClass('dropdown-backdrop') .insertAfter($(this)) .on('click', clearMenus) } var relatedTarget = { relatedTarget: this } $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this .trigger('focus') .attr('aria-expanded', 'true') $parent .toggleClass('open') .trigger($.Event('shown.bs.dropdown', relatedTarget)) } return false } Dropdown.prototype.keydown = function (e) { if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return var $this = $(this) e.preventDefault() e.stopPropagation() if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') if (!isActive && e.which != 27 || isActive && e.which == 27) { if (e.which == 27) $parent.find(toggle).trigger('focus') return $this.trigger('click') } var desc = ' li:not(.disabled):visible a' var $items = $parent.find('.dropdown-menu' + desc) if (!$items.length) return var index = $items.index(e.target) if (e.which == 38 && index > 0) index-- // up if (e.which == 40 && index < $items.length - 1) index++ // down if (!~index) index = 0 $items.eq(index).trigger('focus') } // DROPDOWN PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.dropdown') if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.dropdown $.fn.dropdown = Plugin $.fn.dropdown.Constructor = Dropdown // DROPDOWN NO CONFLICT // ==================== $.fn.dropdown.noConflict = function () { $.fn.dropdown = old return this } // APPLY TO STANDARD DROPDOWN ELEMENTS // =================================== $(document) .on('click.bs.dropdown.data-api', clearMenus) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) }(jQuery); /* ======================================================================== * Bootstrap: modal.js v3.3.7 * http://getbootstrap.com/javascript/#modals * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // MODAL CLASS DEFINITION // ====================== var Modal = function (element, options) { this.options = options this.$body = $(document.body) this.$element = $(element) this.$dialog = this.$element.find('.modal-dialog') this.$backdrop = null this.isShown = null this.originalBodyPad = null this.scrollbarWidth = 0 this.ignoreBackdropClick = false if (this.options.remote) { this.$element .find('.modal-content') .load(this.options.remote, $.proxy(function () { this.$element.trigger('loaded.bs.modal') }, this)) } } Modal.VERSION = '3.3.7' Modal.TRANSITION_DURATION = 300 Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.DEFAULTS = { backdrop: true, keyboard: true, show: true } Modal.prototype.toggle = function (_relatedTarget) { return this.isShown ? this.hide() : this.show(_relatedTarget) } Modal.prototype.show = function (_relatedTarget) { var that = this var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) this.$element.trigger(e) if (this.isShown || e.isDefaultPrevented()) return this.isShown = true this.checkScrollbar() this.setScrollbar() this.$body.addClass('modal-open') this.escape() this.resize() this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.$dialog.on('mousedown.dismiss.bs.modal', function () { that.$element.one('mouseup.dismiss.bs.modal', function (e) { if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true }) }) this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') if (!that.$element.parent().length) { that.$element.appendTo(that.$body) // don't move modals dom position } that.$element .show() .scrollTop(0) that.adjustDialog() if (transition) { that.$element[0].offsetWidth // force reflow } that.$element.addClass('in') that.enforceFocus() var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) transition ? that.$dialog // wait for modal to slide in .one('bsTransitionEnd', function () { that.$element.trigger('focus').trigger(e) }) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : that.$element.trigger('focus').trigger(e) }) } Modal.prototype.hide = function (e) { if (e) e.preventDefault() e = $.Event('hide.bs.modal') this.$element.trigger(e) if (!this.isShown || e.isDefaultPrevented()) return this.isShown = false this.escape() this.resize() $(document).off('focusin.bs.modal') this.$element .removeClass('in') .off('click.dismiss.bs.modal') .off('mouseup.dismiss.bs.modal') this.$dialog.off('mousedown.dismiss.bs.modal') $.support.transition && this.$element.hasClass('fade') ? this.$element .one('bsTransitionEnd', $.proxy(this.hideModal, this)) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : this.hideModal() } Modal.prototype.enforceFocus = function () { $(document) .off('focusin.bs.modal') // guard against infinite focus loop .on('focusin.bs.modal', $.proxy(function (e) { if (document !== e.target && this.$element[0] !== e.target && !this.$element.has(e.target).length) { this.$element.trigger('focus') } }, this)) } Modal.prototype.escape = function () { if (this.isShown && this.options.keyboard) { this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { e.which == 27 && this.hide() }, this)) } else if (!this.isShown) { this.$element.off('keydown.dismiss.bs.modal') } } Modal.prototype.resize = function () { if (this.isShown) { $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) } else { $(window).off('resize.bs.modal') } } Modal.prototype.hideModal = function () { var that = this this.$element.hide() this.backdrop(function () { that.$body.removeClass('modal-open') that.resetAdjustments() that.resetScrollbar() that.$element.trigger('hidden.bs.modal') }) } Modal.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove() this.$backdrop = null } Modal.prototype.backdrop = function (callback) { var that = this var animate = this.$element.hasClass('fade') ? 'fade' : '' if (this.isShown && this.options.backdrop) { var doAnimate = $.support.transition && animate this.$backdrop = $(document.createElement('div')) .addClass('modal-backdrop ' + animate) .appendTo(this.$body) this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { if (this.ignoreBackdropClick) { this.ignoreBackdropClick = false return } if (e.target !== e.currentTarget) return this.options.backdrop == 'static' ? this.$element[0].focus() : this.hide() }, this)) if (doAnimate) this.$backdrop[0].offsetWidth // force reflow this.$backdrop.addClass('in') if (!callback) return doAnimate ? this.$backdrop .one('bsTransitionEnd', callback) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callback() } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass('in') var callbackRemove = function () { that.removeBackdrop() callback && callback() } $.support.transition && this.$element.hasClass('fade') ? this.$backdrop .one('bsTransitionEnd', callbackRemove) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callbackRemove() } else if (callback) { callback() } } // these following methods are used to handle overflowing modals Modal.prototype.handleUpdate = function () { this.adjustDialog() } Modal.prototype.adjustDialog = function () { var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight this.$element.css({ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' }) } Modal.prototype.resetAdjustments = function () { this.$element.css({ paddingLeft: '', paddingRight: '' }) } Modal.prototype.checkScrollbar = function () { var fullWindowWidth = window.innerWidth if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 var documentElementRect = document.documentElement.getBoundingClientRect() fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) } this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth this.scrollbarWidth = this.measureScrollbar() } Modal.prototype.setScrollbar = function () { var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) this.originalBodyPad = document.body.style.paddingRight || '' if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) } Modal.prototype.resetScrollbar = function () { this.$body.css('padding-right', this.originalBodyPad) } Modal.prototype.measureScrollbar = function () { // thx walsh var scrollDiv = document.createElement('div') scrollDiv.className = 'modal-scrollbar-measure' this.$body.append(scrollDiv) var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth this.$body[0].removeChild(scrollDiv) return scrollbarWidth } // MODAL PLUGIN DEFINITION // ======================= function Plugin(option, _relatedTarget) { return this.each(function () { var $this = $(this) var data = $this.data('bs.modal') var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data) $this.data('bs.modal', (data = new Modal(this, options))) if (typeof option == 'string') data[option](_relatedTarget) else if (options.show) data.show(_relatedTarget) }) } var old = $.fn.modal $.fn.modal = Plugin $.fn.modal.Constructor = Modal // MODAL NO CONFLICT // ================= $.fn.modal.noConflict = function () { $.fn.modal = old return this } // MODAL DATA-API // ============== $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { var $this = $(this) var href = $this.attr('href') var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) if ($this.is('a')) e.preventDefault() $target.one('show.bs.modal', function (showEvent) { if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown $target.one('hidden.bs.modal', function () { $this.is(':visible') && $this.trigger('focus') }) }) Plugin.call($target, option, this) }) }(jQuery); /* ======================================================================== * Bootstrap: tooltip.js v3.3.7 * http://getbootstrap.com/javascript/#tooltip * Inspired by the original jQuery.tipsy by Jason Frame * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TOOLTIP PUBLIC CLASS DEFINITION // =============================== var Tooltip = function (element, options) { this.type = null this.options = null this.enabled = null this.timeout = null this.hoverState = null this.$element = null this.inState = null this.init('tooltip', element, options) } Tooltip.VERSION = '3.3.7' Tooltip.TRANSITION_DURATION = 150 Tooltip.DEFAULTS = { animation: true, placement: 'top', selector: false, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, container: false, viewport: { selector: 'body', padding: 0 } } Tooltip.prototype.init = function (type, element, options) { this.enabled = true this.type = type this.$element = $(element) this.options = this.getOptions(options) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) this.inState = { click: false, hover: false, focus: false } if (this.$element[0] instanceof document.constructor && !this.options.selector) { throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') } var triggers = this.options.trigger.split(' ') for (var i = triggers.length; i--;) { var trigger = triggers[i] if (trigger == 'click') { this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) } else if (trigger != 'manual') { var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } } this.options.selector ? (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : this.fixTitle() } Tooltip.prototype.getDefaults = function () { return Tooltip.DEFAULTS } Tooltip.prototype.getOptions = function (options) { options = $.extend({}, this.getDefaults(), this.$element.data(), options) if (options.delay && typeof options.delay == 'number') { options.delay = { show: options.delay, hide: options.delay } } return options } Tooltip.prototype.getDelegateOptions = function () { var options = {} var defaults = this.getDefaults() this._options && $.each(this._options, function (key, value) { if (defaults[key] != value) options[key] = value }) return options } Tooltip.prototype.enter = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true } if (self.tip().hasClass('in') || self.hoverState == 'in') { self.hoverState = 'in' return } clearTimeout(self.timeout) self.hoverState = 'in' if (!self.options.delay || !self.options.delay.show) return self.show() self.timeout = setTimeout(function () { if (self.hoverState == 'in') self.show() }, self.options.delay.show) } Tooltip.prototype.isInStateTrue = function () { for (var key in this.inState) { if (this.inState[key]) return true } return false } Tooltip.prototype.leave = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false } if (self.isInStateTrue()) return clearTimeout(self.timeout) self.hoverState = 'out' if (!self.options.delay || !self.options.delay.hide) return self.hide() self.timeout = setTimeout(function () { if (self.hoverState == 'out') self.hide() }, self.options.delay.hide) } Tooltip.prototype.show = function () { var e = $.Event('show.bs.' + this.type) if (this.hasContent() && this.enabled) { this.$element.trigger(e) var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) if (e.isDefaultPrevented() || !inDom) return var that = this var $tip = this.tip() var tipId = this.getUID(this.type) this.setContent() $tip.attr('id', tipId) this.$element.attr('aria-describedby', tipId) if (this.options.animation) $tip.addClass('fade') var placement = typeof this.options.placement == 'function' ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement var autoToken = /\s?auto?\s?/i var autoPlace = autoToken.test(placement) if (autoPlace) placement = placement.replace(autoToken, '') || 'top' $tip .detach() .css({ top: 0, left: 0, display: 'block' }) .addClass(placement) .data('bs.' + this.type, this) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.$element.trigger('inserted.bs.' + this.type) var pos = this.getPosition() var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (autoPlace) { var orgPlacement = placement var viewportDim = this.getPosition(this.$viewport) placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : placement $tip .removeClass(orgPlacement) .addClass(placement) } var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) this.applyPlacement(calculatedOffset, placement) var complete = function () { var prevHoverState = that.hoverState that.$element.trigger('shown.bs.' + that.type) that.hoverState = null if (prevHoverState == 'out') that.leave(that) } $.support.transition && this.$tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() } } Tooltip.prototype.applyPlacement = function (offset, placement) { var $tip = this.tip() var width = $tip[0].offsetWidth var height = $tip[0].offsetHeight // manually read margins because getBoundingClientRect includes difference var marginTop = parseInt($tip.css('margin-top'), 10) var marginLeft = parseInt($tip.css('margin-left'), 10) // we must check for NaN for ie 8/9 if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginLeft)) marginLeft = 0 offset.top += marginTop offset.left += marginLeft // $.fn.offset doesn't round pixel values // so we use setOffset directly with our own function B-0 $.offset.setOffset($tip[0], $.extend({ using: function (props) { $tip.css({ top: Math.round(props.top), left: Math.round(props.left) }) } }, offset), 0) $tip.addClass('in') // check to see if placing tip in new offset caused the tip to resize itself var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (placement == 'top' && actualHeight != height) { offset.top = offset.top + height - actualHeight } var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) if (delta.left) offset.left += delta.left else offset.top += delta.top var isVertical = /top|bottom/.test(placement) var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' $tip.offset(offset) this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) } Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { this.arrow() .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') .css(isVertical ? 'top' : 'left', '') } Tooltip.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) $tip.removeClass('fade in top bottom left right') } Tooltip.prototype.hide = function (callback) { var that = this var $tip = $(this.$tip) var e = $.Event('hide.bs.' + this.type) function complete() { if (that.hoverState != 'in') $tip.detach() if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary. that.$element .removeAttr('aria-describedby') .trigger('hidden.bs.' + that.type) } callback && callback() } this.$element.trigger(e) if (e.isDefaultPrevented()) return $tip.removeClass('in') $.support.transition && $tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() this.hoverState = null return this } Tooltip.prototype.fixTitle = function () { var $e = this.$element if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') } } Tooltip.prototype.hasContent = function () { return this.getTitle() } Tooltip.prototype.getPosition = function ($element) { $element = $element || this.$element var el = $element[0] var isBody = el.tagName == 'BODY' var elRect = el.getBoundingClientRect() if (elRect.width == null) { // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) } var isSvg = window.SVGElement && el instanceof window.SVGElement // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3. // See https://github.com/twbs/bootstrap/issues/20280 var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset()) var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null return $.extend({}, elRect, scroll, outerDims, elOffset) } Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } } Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { var delta = { top: 0, left: 0 } if (!this.$viewport) return delta var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 var viewportDimensions = this.getPosition(this.$viewport) if (/right|left/.test(placement)) { var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight if (topEdgeOffset < viewportDimensions.top) { // top overflow delta.top = viewportDimensions.top - topEdgeOffset } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset } } else { var leftEdgeOffset = pos.left - viewportPadding var rightEdgeOffset = pos.left + viewportPadding + actualWidth if (leftEdgeOffset < viewportDimensions.left) { // left overflow delta.left = viewportDimensions.left - leftEdgeOffset } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset } } return delta } Tooltip.prototype.getTitle = function () { var title var $e = this.$element var o = this.options title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) return title } Tooltip.prototype.getUID = function (prefix) { do prefix += ~~(Math.random() * 1000000) while (document.getElementById(prefix)) return prefix } Tooltip.prototype.tip = function () { if (!this.$tip) { this.$tip = $(this.options.template) if (this.$tip.length != 1) { throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') } } return this.$tip } Tooltip.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) } Tooltip.prototype.enable = function () { this.enabled = true } Tooltip.prototype.disable = function () { this.enabled = false } Tooltip.prototype.toggleEnabled = function () { this.enabled = !this.enabled } Tooltip.prototype.toggle = function (e) { var self = this if (e) { self = $(e.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(e.currentTarget, this.getDelegateOptions()) $(e.currentTarget).data('bs.' + this.type, self) } } if (e) { self.inState.click = !self.inState.click if (self.isInStateTrue()) self.enter(self) else self.leave(self) } else { self.tip().hasClass('in') ? self.leave(self) : self.enter(self) } } Tooltip.prototype.destroy = function () { var that = this clearTimeout(this.timeout) this.hide(function () { that.$element.off('.' + that.type).removeData('bs.' + that.type) if (that.$tip) { that.$tip.detach() } that.$tip = null that.$arrow = null that.$viewport = null that.$element = null }) } // TOOLTIP PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tooltip') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tooltip $.fn.tooltip = Plugin $.fn.tooltip.Constructor = Tooltip // TOOLTIP NO CONFLICT // =================== $.fn.tooltip.noConflict = function () { $.fn.tooltip = old return this } }(jQuery); /* ======================================================================== * Bootstrap: popover.js v3.3.7 * http://getbootstrap.com/javascript/#popovers * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // POPOVER PUBLIC CLASS DEFINITION // =============================== var Popover = function (element, options) { this.init('popover', element, options) } if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') Popover.VERSION = '3.3.7' Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { placement: 'right', trigger: 'click', content: '', template: '' }) // NOTE: POPOVER EXTENDS tooltip.js // ================================ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) Popover.prototype.constructor = Popover Popover.prototype.getDefaults = function () { return Popover.DEFAULTS } Popover.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() var content = this.getContent() $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' ](content) $tip.removeClass('fade top bottom left right in') // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do // this manually by checking the contents. if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() } Popover.prototype.hasContent = function () { return this.getTitle() || this.getContent() } Popover.prototype.getContent = function () { var $e = this.$element var o = this.options return $e.attr('data-content') || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) } Popover.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.arrow')) } // POPOVER PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.popover') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.popover', (data = new Popover(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.popover $.fn.popover = Plugin $.fn.popover.Constructor = Popover // POPOVER NO CONFLICT // =================== $.fn.popover.noConflict = function () { $.fn.popover = old return this } }(jQuery); /* ======================================================================== * Bootstrap: scrollspy.js v3.3.7 * http://getbootstrap.com/javascript/#scrollspy * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // SCROLLSPY CLASS DEFINITION // ========================== function ScrollSpy(element, options) { this.$body = $(document.body) this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.selector = (this.options.target || '') + ' .nav li > a' this.offsets = [] this.targets = [] this.activeTarget = null this.scrollHeight = 0 this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) this.refresh() this.process() } ScrollSpy.VERSION = '3.3.7' ScrollSpy.DEFAULTS = { offset: 10 } ScrollSpy.prototype.getScrollHeight = function () { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) } ScrollSpy.prototype.refresh = function () { var that = this var offsetMethod = 'offset' var offsetBase = 0 this.offsets = [] this.targets = [] this.scrollHeight = this.getScrollHeight() if (!$.isWindow(this.$scrollElement[0])) { offsetMethod = 'position' offsetBase = this.$scrollElement.scrollTop() } this.$body .find(this.selector) .map(function () { var $el = $(this) var href = $el.data('target') || $el.attr('href') var $href = /^#./.test(href) && $(href) return ($href && $href.length && $href.is(':visible') && [[$href[offsetMethod]().top + offsetBase, href]]) || null }) .sort(function (a, b) { return a[0] - b[0] }) .each(function () { that.offsets.push(this[0]) that.targets.push(this[1]) }) } ScrollSpy.prototype.process = function () { var scrollTop = this.$scrollElement.scrollTop() + this.options.offset var scrollHeight = this.getScrollHeight() var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() var offsets = this.offsets var targets = this.targets var activeTarget = this.activeTarget var i if (this.scrollHeight != scrollHeight) { this.refresh() } if (scrollTop >= maxScroll) { return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) } if (activeTarget && scrollTop < offsets[0]) { this.activeTarget = null return this.clear() } for (i = offsets.length; i--;) { activeTarget != targets[i] && scrollTop >= offsets[i] && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) && this.activate(targets[i]) } } ScrollSpy.prototype.activate = function (target) { this.activeTarget = target this.clear() var selector = this.selector + '[data-target="' + target + '"],' + this.selector + '[href="' + target + '"]' var active = $(selector) .parents('li') .addClass('active') if (active.parent('.dropdown-menu').length) { active = active .closest('li.dropdown') .addClass('active') } active.trigger('activate.bs.scrollspy') } ScrollSpy.prototype.clear = function () { $(this.selector) .parentsUntil(this.options.target, '.active') .removeClass('active') } // SCROLLSPY PLUGIN DEFINITION // =========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.scrollspy') var options = typeof option == 'object' && option if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.scrollspy $.fn.scrollspy = Plugin $.fn.scrollspy.Constructor = ScrollSpy // SCROLLSPY NO CONFLICT // ===================== $.fn.scrollspy.noConflict = function () { $.fn.scrollspy = old return this } // SCROLLSPY DATA-API // ================== $(window).on('load.bs.scrollspy.data-api', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) Plugin.call($spy, $spy.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: tab.js v3.3.7 * http://getbootstrap.com/javascript/#tabs * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TAB CLASS DEFINITION // ==================== var Tab = function (element) { // jscs:disable requireDollarBeforejQueryAssignment this.element = $(element) // jscs:enable requireDollarBeforejQueryAssignment } Tab.VERSION = '3.3.7' Tab.TRANSITION_DURATION = 150 Tab.prototype.show = function () { var $this = this.element var $ul = $this.closest('ul:not(.dropdown-menu)') var selector = $this.data('target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } if ($this.parent('li').hasClass('active')) return var $previous = $ul.find('.active:last a') var hideEvent = $.Event('hide.bs.tab', { relatedTarget: $this[0] }) var showEvent = $.Event('show.bs.tab', { relatedTarget: $previous[0] }) $previous.trigger(hideEvent) $this.trigger(showEvent) if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return var $target = $(selector) this.activate($this.closest('li'), $ul) this.activate($target, $target.parent(), function () { $previous.trigger({ type: 'hidden.bs.tab', relatedTarget: $this[0] }) $this.trigger({ type: 'shown.bs.tab', relatedTarget: $previous[0] }) }) } Tab.prototype.activate = function (element, container, callback) { var $active = container.find('> .active') var transition = callback && $.support.transition && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) function next() { $active .removeClass('active') .find('> .dropdown-menu > .active') .removeClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', false) element .addClass('active') .find('[data-toggle="tab"]') .attr('aria-expanded', true) if (transition) { element[0].offsetWidth // reflow for transition element.addClass('in') } else { element.removeClass('fade') } if (element.parent('.dropdown-menu').length) { element .closest('li.dropdown') .addClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', true) } callback && callback() } $active.length && transition ? $active .one('bsTransitionEnd', next) .emulateTransitionEnd(Tab.TRANSITION_DURATION) : next() $active.removeClass('in') } // TAB PLUGIN DEFINITION // ===================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tab') if (!data) $this.data('bs.tab', (data = new Tab(this))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tab $.fn.tab = Plugin $.fn.tab.Constructor = Tab // TAB NO CONFLICT // =============== $.fn.tab.noConflict = function () { $.fn.tab = old return this } // TAB DATA-API // ============ var clickHandler = function (e) { e.preventDefault() Plugin.call($(this), 'show') } $(document) .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) }(jQuery); /* ======================================================================== * Bootstrap: affix.js v3.3.7 * http://getbootstrap.com/javascript/#affix * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // AFFIX CLASS DEFINITION // ====================== var Affix = function (element, options) { this.options = $.extend({}, Affix.DEFAULTS, options) this.$target = $(this.options.target) .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) this.$element = $(element) this.affixed = null this.unpin = null this.pinnedOffset = null this.checkPosition() } Affix.VERSION = '3.3.7' Affix.RESET = 'affix affix-top affix-bottom' Affix.DEFAULTS = { offset: 0, target: window } Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { var scrollTop = this.$target.scrollTop() var position = this.$element.offset() var targetHeight = this.$target.height() if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false if (this.affixed == 'bottom') { if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' } var initializing = this.affixed == null var colliderTop = initializing ? scrollTop : position.top var colliderHeight = initializing ? targetHeight : height if (offsetTop != null && scrollTop <= offsetTop) return 'top' if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' return false } Affix.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset this.$element.removeClass(Affix.RESET).addClass('affix') var scrollTop = this.$target.scrollTop() var position = this.$element.offset() return (this.pinnedOffset = position.top - scrollTop) } Affix.prototype.checkPositionWithEventLoop = function () { setTimeout($.proxy(this.checkPosition, this), 1) } Affix.prototype.checkPosition = function () { if (!this.$element.is(':visible')) return var height = this.$element.height() var offset = this.options.offset var offsetTop = offset.top var offsetBottom = offset.bottom var scrollHeight = Math.max($(document).height(), $(document.body).height()) if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) if (this.affixed != affix) { if (this.unpin != null) this.$element.css('top', '') var affixType = 'affix' + (affix ? '-' + affix : '') var e = $.Event(affixType + '.bs.affix') this.$element.trigger(e) if (e.isDefaultPrevented()) return this.affixed = affix this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null this.$element .removeClass(Affix.RESET) .addClass(affixType) .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') } if (affix == 'bottom') { this.$element.offset({ top: scrollHeight - height - offsetBottom }) } } // AFFIX PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.affix') var options = typeof option == 'object' && option if (!data) $this.data('bs.affix', (data = new Affix(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.affix $.fn.affix = Plugin $.fn.affix.Constructor = Affix // AFFIX NO CONFLICT // ================= $.fn.affix.noConflict = function () { $.fn.affix = old return this } // AFFIX DATA-API // ============== $(window).on('load', function () { $('[data-spy="affix"]').each(function () { var $spy = $(this) var data = $spy.data() data.offset = data.offset || {} if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom if (data.offsetTop != null) data.offset.top = data.offsetTop Plugin.call($spy, data) }) }) }(jQuery); ================================================ FILE: gmall-item-web/src/main/resources/static/js/index.js ================================================ $(".header_ul_left>.glyphicon-map-marker").mouseover(function(){ $(this).children("#beijing").show(); }).mouseout(function(){ $(this).children("#beijing").hide(); }) $(".header_ul_right>.jingdong").mouseover(function(){ $(this).children(".jingdong_ol").show(); }).mouseout(function(){ $(this).children(".jingdong_ol").hide(); }) $(".header_ul_right>.fuwu").mouseover(function(){ $(this).children(".fuwu_ol").show(); }).mouseout(function(){ $(this).children(".fuwu_ol").hide(); }) $(".header_ul_right>.daohang").mouseover(function(){ $(this).children(".daohang_ol").show(); }).mouseout(function(){ $(this).children(".daohang_ol").hide(); }) ================================================ FILE: gmall-item-web/src/main/resources/static/js/jquery1.9.js ================================================ /*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license //@ sourceMappingURL=jquery.min.map */(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
    a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
    t
    ",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
    ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
    ",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) }b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("").appendTo("body"); _e.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); _e.css({position:"absolute",top:-1000,left:-1000}); _e.bind("load",cb); _f(_b); function _f(_10){ var _11=$(_a); if(_c.url){ _11.attr("action",_c.url); } var t=_11.attr("target"),a=_11.attr("action"); _11.attr("target",_d); var _12=$(); try{ for(var n in _10){ var _13=$("").val(_10[n]).appendTo(_11); _12=_12.add(_13); } _14(); _11[0].submit(); } finally{ _11.attr("action",a); t?_11.attr("target",t):_11.removeAttr("target"); _12.remove(); } }; function _14(){ var f=$("#"+_d); if(!f.length){ return; } try{ var s=f.contents()[0].readyState; if(s&&s.toLowerCase()=="uninitialized"){ setTimeout(_14,100); } } catch(e){ cb(); } }; var _15=10; function cb(){ var f=$("#"+_d); if(!f.length){ return; } f.unbind(); var _16=""; try{ var _17=f.contents().find("body"); _16=_17.html(); if(_16==""){ if(--_15){ setTimeout(cb,100); return; } } var ta=_17.find(">textarea"); if(ta.length){ _16=ta.val(); }else{ var pre=_17.find(">pre"); if(pre.length){ _16=pre.html(); } } } catch(e){ } _c.success.call(_a,_16); setTimeout(function(){ f.unbind(); f.remove(); },100); }; }; function _9(_18,_19){ var _1a=$.data(_18,"form").options; var _1b=new FormData($(_18)[0]); for(var _1c in _19){ _1b.append(_1c,_19[_1c]); } $.ajax({url:_1a.url,type:"post",xhr:function(){ var xhr=$.ajaxSettings.xhr(); if(xhr.upload){ xhr.upload.addEventListener("progress",function(e){ if(e.lengthComputable){ var _1d=e.total; var _1e=e.loaded||e.position; var _1f=Math.ceil(_1e*100/_1d); _1a.onProgress.call(_18,_1f); } },false); } return xhr; },data:_1b,dataType:"html",cache:false,contentType:false,processData:false,complete:function(res){ _1a.success.call(_18,res.responseText); }}); }; function _20(_21,_22){ var _23=$.data(_21,"form").options; if(typeof _22=="string"){ var _24={}; if(_23.onBeforeLoad.call(_21,_24)==false){ return; } $.ajax({url:_22,data:_24,dataType:"json",success:function(_25){ _26(_25); },error:function(){ _23.onLoadError.apply(_21,arguments); }}); }else{ _26(_22); } function _26(_27){ var _28=$(_21); for(var _29 in _27){ var val=_27[_29]; if(!_2a(_29,val)){ if(!_2b(_29,val)){ _28.find("input[name=\""+_29+"\"]").val(val); _28.find("textarea[name=\""+_29+"\"]").val(val); _28.find("select[name=\""+_29+"\"]").val(val); } } } _23.onLoadSuccess.call(_21,_27); _28.form("validate"); }; function _2a(_2c,val){ var _2d=["switchbutton","radiobutton","checkbox"]; for(var i=0;i<_2d.length;i++){ var _2e=_2d[i]; var cc=$(_21).find("["+_2e+"Name=\""+_2c+"\"]"); if(cc.length){ cc[_2e]("uncheck"); cc.each(function(){ if(_2f($(this)[_2e]("options").value,val)){ $(this)[_2e]("check"); } }); return true; } } var cc=$(_21).find("input[name=\""+_2c+"\"][type=radio], input[name=\""+_2c+"\"][type=checkbox]"); if(cc.length){ cc._propAttr("checked",false); cc.each(function(){ if(_2f($(this).val(),val)){ $(this)._propAttr("checked",true); } }); return true; } return false; }; function _2f(v,val){ if(v==String(val)||$.inArray(v,$.isArray(val)?val:[val])>=0){ return true; }else{ return false; } }; function _2b(_30,val){ var _31=$(_21).find("[textboxName=\""+_30+"\"],[sliderName=\""+_30+"\"]"); if(_31.length){ for(var i=0;i<_23.fieldTypes.length;i++){ var _32=_23.fieldTypes[i]; var _33=_31.data(_32); if(_33){ if(_33.options.multiple||_33.options.range){ _31[_32]("setValues",val); }else{ _31[_32]("setValue",val); } return true; } } } return false; }; }; function _34(_35){ $("input,select,textarea",_35).each(function(){ if($(this).hasClass("textbox-value")){ return; } var t=this.type,tag=this.tagName.toLowerCase(); if(t=="text"||t=="hidden"||t=="password"||tag=="textarea"){ this.value=""; }else{ if(t=="file"){ var _36=$(this); if(!_36.hasClass("textbox-value")){ var _37=_36.clone().val(""); _37.insertAfter(_36); if(_36.data("validatebox")){ _36.validatebox("destroy"); _37.validatebox(); }else{ _36.remove(); } } }else{ if(t=="checkbox"||t=="radio"){ this.checked=false; }else{ if(tag=="select"){ this.selectedIndex=-1; } } } } }); var tmp=$(); var _38=$(_35); var _39=$.data(_35,"form").options; for(var i=0;i<_39.fieldTypes.length;i++){ var _3a=_39.fieldTypes[i]; var _3b=_38.find("."+_3a+"-f").not(tmp); if(_3b.length&&_3b[_3a]){ _3b[_3a]("clear"); tmp=tmp.add(_3b); } } _38.form("validate"); }; function _3c(_3d){ _3d.reset(); var _3e=$(_3d); var _3f=$.data(_3d,"form").options; for(var i=_3f.fieldTypes.length-1;i>=0;i--){ var _40=_3f.fieldTypes[i]; var _41=_3e.find("."+_40+"-f"); if(_41.length&&_41[_40]){ _41[_40]("reset"); } } _3e.form("validate"); }; function _42(_43){ var _44=$.data(_43,"form").options; $(_43).unbind(".form"); if(_44.ajax){ $(_43).bind("submit.form",function(){ setTimeout(function(){ _1(_43,_44); },0); return false; }); } $(_43).bind("_change.form",function(e,t){ if($.inArray(t,_44.dirtyFields)==-1){ _44.dirtyFields.push(t); } _44.onChange.call(this,t); }).bind("change.form",function(e){ var t=e.target; if(!$(t).hasClass("textbox-text")){ if($.inArray(t,_44.dirtyFields)==-1){ _44.dirtyFields.push(t); } _44.onChange.call(this,t); } }); _45(_43,_44.novalidate); }; function _46(_47,_48){ _48=_48||{}; var _49=$.data(_47,"form"); if(_49){ $.extend(_49.options,_48); }else{ $.data(_47,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_47),_48)}); } }; function _4a(_4b){ if($.fn.validatebox){ var t=$(_4b); t.find(".validatebox-text:not(:disabled)").validatebox("validate"); var _4c=t.find(".validatebox-invalid"); _4c.filter(":not(:disabled):first").focus(); return _4c.length==0; } return true; }; function _45(_4d,_4e){ var _4f=$.data(_4d,"form").options; _4f.novalidate=_4e; $(_4d).find(".validatebox-text:not(:disabled)").validatebox(_4e?"disableValidation":"enableValidation"); }; $.fn.form=function(_50,_51){ if(typeof _50=="string"){ this.each(function(){ _46(this); }); return $.fn.form.methods[_50](this,_51); } return this.each(function(){ _46(this,_50); _42(this); }); }; $.fn.form.methods={options:function(jq){ return $.data(jq[0],"form").options; },submit:function(jq,_52){ return jq.each(function(){ _1(this,_52); }); },load:function(jq,_53){ return jq.each(function(){ _20(this,_53); }); },clear:function(jq){ return jq.each(function(){ _34(this); }); },reset:function(jq){ return jq.each(function(){ _3c(this); }); },validate:function(jq){ return _4a(jq[0]); },disableValidation:function(jq){ return jq.each(function(){ _45(this,true); }); },enableValidation:function(jq){ return jq.each(function(){ _45(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(_54){ var t=$(_54); return $.extend({},$.parser.parseOptions(_54,[{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(_55){ return $(this).form("validate"); },onProgress:function(_56){ },success:function(_57){ },onBeforeLoad:function(_58){ },onLoadSuccess:function(_59){ },onLoadError:function(){ },onChange:function(_5a){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.layout.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ var _1=false; function _2(_3,_4){ var _5=$.data(_3,"layout"); var _6=_5.options; var _7=_5.panels; var cc=$(_3); if(_4){ $.extend(_6,{width:_4.width,height:_4.height}); } if(_3.tagName.toLowerCase()=="body"){ cc._size("fit"); }else{ cc._size(_6); } var _8={top:0,left:0,width:cc.width(),height:cc.height()}; _9(_a(_7.expandNorth)?_7.expandNorth:_7.north,"n"); _9(_a(_7.expandSouth)?_7.expandSouth:_7.south,"s"); _b(_a(_7.expandEast)?_7.expandEast:_7.east,"e"); _b(_a(_7.expandWest)?_7.expandWest:_7.west,"w"); _7.center.panel("resize",_8); function _9(pp,_c){ if(!pp.length||!_a(pp)){ return; } var _d=pp.panel("options"); pp.panel("resize",{width:cc.width(),height:_d.height}); var _e=pp.panel("panel").outerHeight(); pp.panel("move",{left:0,top:(_c=="n"?0:cc.height()-_e)}); _8.height-=_e; if(_c=="n"){ _8.top+=_e; if(!_d.split&&_d.border){ _8.top--; } } if(!_d.split&&_d.border){ _8.height++; } }; function _b(pp,_f){ if(!pp.length||!_a(pp)){ return; } var _10=pp.panel("options"); pp.panel("resize",{width:_10.width,height:_8.height}); var _11=pp.panel("panel").outerWidth(); pp.panel("move",{left:(_f=="e"?cc.width()-_11:0),top:_8.top}); _8.width-=_11; if(_f=="w"){ _8.left+=_11; if(!_10.split&&_10.border){ _8.left--; } } if(!_10.split&&_10.border){ _8.width++; } }; }; function _12(_13){ var cc=$(_13); cc.addClass("layout"); function _14(el){ var _15=$.fn.layout.parsePanelOptions(el); if("north,south,east,west,center".indexOf(_15.region)>=0){ _19(_13,_15,el); } }; var _16=cc.layout("options"); var _17=_16.onAdd; _16.onAdd=function(){ }; cc.find(">div,>form>div").each(function(){ _14(this); }); _16.onAdd=_17; cc.append("
    "); cc.bind("_resize",function(e,_18){ if($(this).hasClass("easyui-fluid")||_18){ _2(_13); } return false; }); }; function _19(_1a,_1b,el){ _1b.region=_1b.region||"center"; var _1c=$.data(_1a,"layout").panels; var cc=$(_1a); var dir=_1b.region; if(_1c[dir].length){ return; } var pp=$(el); if(!pp.length){ pp=$("
    ").appendTo(cc); } var _1d=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,onOpen:function(){ var _1e=$(this).panel("header").children("div.panel-tool"); _1e.children("a.panel-tool-collapse").hide(); var _1f={north:"up",south:"down",east:"right",west:"left"}; if(!_1f[dir]){ return; } var _20="layout-button-"+_1f[dir]; var t=_1e.children("a."+_20); if(!t.length){ t=$("").addClass(_20).appendTo(_1e); t.bind("click",{dir:dir},function(e){ _39(_1a,e.data.dir); return false; }); } $(this).panel("options").collapsible?t.show():t.hide(); }},_1b,{cls:((_1b.cls||"")+" layout-panel layout-panel-"+dir),bodyCls:((_1b.bodyCls||"")+" layout-body")}); pp.panel(_1d); _1c[dir]=pp; var _21={north:"s",south:"n",east:"w",west:"e"}; var _22=pp.panel("panel"); if(pp.panel("options").split){ _22.addClass("layout-split-"+dir); } _22.resizable($.extend({},{handles:(_21[dir]||""),disabled:(!pp.panel("options").split),onStartResize:function(e){ _1=true; if(dir=="north"||dir=="south"){ var _23=$(">div.layout-split-proxy-v",_1a); }else{ var _23=$(">div.layout-split-proxy-h",_1a); } var top=0,_24=0,_25=0,_26=0; var pos={display:"block"}; if(dir=="north"){ pos.top=parseInt(_22.css("top"))+_22.outerHeight()-_23.height(); pos.left=parseInt(_22.css("left")); pos.width=_22.outerWidth(); pos.height=_23.height(); }else{ if(dir=="south"){ pos.top=parseInt(_22.css("top")); pos.left=parseInt(_22.css("left")); pos.width=_22.outerWidth(); pos.height=_23.height(); }else{ if(dir=="east"){ pos.top=parseInt(_22.css("top"))||0; pos.left=parseInt(_22.css("left"))||0; pos.width=_23.width(); pos.height=_22.outerHeight(); }else{ if(dir=="west"){ pos.top=parseInt(_22.css("top"))||0; pos.left=_22.outerWidth()-_23.width(); pos.width=_23.width(); pos.height=_22.outerHeight(); } } } } _23.css(pos); $("
    ").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc); },onResize:function(e){ if(dir=="north"||dir=="south"){ var _27=_28(this); $(this).resizable("options").maxHeight=_27; var _29=$(">div.layout-split-proxy-v",_1a); var top=dir=="north"?e.data.height-_29.height():$(_1a).height()-e.data.height; _29.css("top",top); }else{ var _2a=_28(this); $(this).resizable("options").maxWidth=_2a; var _29=$(">div.layout-split-proxy-h",_1a); var _2b=dir=="west"?e.data.width-_29.width():$(_1a).width()-e.data.width; _29.css("left",_2b); } return false; },onStopResize:function(e){ cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide(); pp.panel("resize",e.data); _2(_1a); _1=false; cc.find(">div.layout-mask").remove(); }},_1b)); cc.layout("options").onAdd.call(_1a,dir); function _28(p){ var _2c="expand"+dir.substring(0,1).toUpperCase()+dir.substring(1); var _2d=_1c["center"]; var _2e=(dir=="north"||dir=="south")?"minHeight":"minWidth"; var _2f=(dir=="north"||dir=="south")?"maxHeight":"maxWidth"; var _30=(dir=="north"||dir=="south")?"_outerHeight":"_outerWidth"; var _31=$.parser.parseValue(_2f,_1c[dir].panel("options")[_2f],$(_1a)); var _32=$.parser.parseValue(_2e,_2d.panel("options")[_2e],$(_1a)); var _33=_2d.panel("panel")[_30]()-_32; if(_a(_1c[_2c])){ _33+=_1c[_2c][_30]()-1; }else{ _33+=$(p)[_30](); } if(_33>_31){ _33=_31; } return _33; }; }; function _34(_35,_36){ var _37=$.data(_35,"layout").panels; if(_37[_36].length){ _37[_36].panel("destroy"); _37[_36]=$(); var _38="expand"+_36.substring(0,1).toUpperCase()+_36.substring(1); if(_37[_38]){ _37[_38].panel("destroy"); _37[_38]=undefined; } $(_35).layout("options").onRemove.call(_35,_36); } }; function _39(_3a,_3b,_3c){ if(_3c==undefined){ _3c="normal"; } var _3d=$.data(_3a,"layout").panels; var p=_3d[_3b]; var _3e=p.panel("options"); if(_3e.onBeforeCollapse.call(p)==false){ return; } var _3f="expand"+_3b.substring(0,1).toUpperCase()+_3b.substring(1); if(!_3d[_3f]){ _3d[_3f]=_40(_3b); var ep=_3d[_3f].panel("panel"); if(!_3e.expandMode){ ep.css("cursor","default"); }else{ ep.bind("click",function(){ if(_3e.expandMode=="dock"){ _4f(_3a,_3b); }else{ p.panel("expand",false).panel("open"); var _41=_42(); p.panel("resize",_41.collapse); p.panel("panel").unbind(".layout").bind("mouseleave.layout",{region:_3b},function(e){ $(this).stop(true,true); if(_1==true){ return; } if($("body>div.combo-p>div.combo-panel:visible").length){ return; } _39(_3a,e.data.region); }); p.panel("panel").animate(_41.expand,function(){ $(_3a).layout("options").onExpand.call(_3a,_3b); }); } return false; }); } } var _43=_42(); if(!_a(_3d[_3f])){ _3d.center.panel("resize",_43.resizeC); } p.panel("panel").animate(_43.collapse,_3c,function(){ p.panel("collapse",false).panel("close"); _3d[_3f].panel("open").panel("resize",_43.expandP); $(this).unbind(".layout"); $(_3a).layout("options").onCollapse.call(_3a,_3b); }); function _40(dir){ var _44={"east":"left","west":"right","north":"down","south":"up"}; var _45=(_3e.region=="north"||_3e.region=="south"); var _46="layout-button-"+_44[dir]; var p=$("
    ").appendTo(_3a); p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:" ",titleDirection:_3e.titleDirection,iconCls:(_3e.hideCollapsedContent?null:_3e.iconCls),closed:true,minWidth:0,minHeight:0,doSize:false,region:_3e.region,collapsedSize:_3e.collapsedSize,noheader:(!_45&&_3e.hideExpandTool),tools:((_45&&_3e.hideExpandTool)?null:[{iconCls:_46,handler:function(){ _4f(_3a,_3b); return false; }}]),onResize:function(){ var _47=$(this).children(".layout-expand-title"); if(_47.length){ _47._outerWidth($(this).height()); var _48=($(this).width()-Math.min(_47._outerWidth(),_47._outerHeight()))/2; var top=Math.max(_47._outerWidth(),_47._outerHeight()); if(_47.hasClass("layout-expand-title-down")){ _48+=Math.min(_47._outerWidth(),_47._outerHeight()); top=0; } _47.css({left:(_48+"px"),top:(top+"px")}); } }})); if(!_3e.hideCollapsedContent){ var _49=typeof _3e.collapsedContent=="function"?_3e.collapsedContent.call(p[0],_3e.title):_3e.collapsedContent; _45?p.panel("setTitle",_49):p.html(_49); } p.panel("panel").hover(function(){ $(this).addClass("layout-expand-over"); },function(){ $(this).removeClass("layout-expand-over"); }); return p; }; function _42(){ var cc=$(_3a); var _4a=_3d.center.panel("options"); var _4b=_3e.collapsedSize; if(_3b=="east"){ var _4c=p.panel("panel")._outerWidth(); var _4d=_4a.width+_4c-_4b; if(_3e.split||!_3e.border){ _4d++; } return {resizeC:{width:_4d},expand:{left:cc.width()-_4c},expandP:{top:_4a.top,left:cc.width()-_4b,width:_4b,height:_4a.height},collapse:{left:cc.width(),top:_4a.top,height:_4a.height}}; }else{ if(_3b=="west"){ var _4c=p.panel("panel")._outerWidth(); var _4d=_4a.width+_4c-_4b; if(_3e.split||!_3e.border){ _4d++; } return {resizeC:{width:_4d,left:_4b-1},expand:{left:0},expandP:{left:0,top:_4a.top,width:_4b,height:_4a.height},collapse:{left:-_4c,top:_4a.top,height:_4a.height}}; }else{ if(_3b=="north"){ var _4e=p.panel("panel")._outerHeight(); var hh=_4a.height; if(!_a(_3d.expandNorth)){ hh+=_4e-_4b+((_3e.split||!_3e.border)?1:0); } _3d.east.add(_3d.west).add(_3d.expandEast).add(_3d.expandWest).panel("resize",{top:_4b-1,height:hh}); return {resizeC:{top:_4b-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_4b},collapse:{top:-_4e,width:cc.width()}}; }else{ if(_3b=="south"){ var _4e=p.panel("panel")._outerHeight(); var hh=_4a.height; if(!_a(_3d.expandSouth)){ hh+=_4e-_4b+((_3e.split||!_3e.border)?1:0); } _3d.east.add(_3d.west).add(_3d.expandEast).add(_3d.expandWest).panel("resize",{height:hh}); return {resizeC:{height:hh},expand:{top:cc.height()-_4e},expandP:{top:cc.height()-_4b,left:0,width:cc.width(),height:_4b},collapse:{top:cc.height(),width:cc.width()}}; } } } } }; }; function _4f(_50,_51){ var _52=$.data(_50,"layout").panels; var p=_52[_51]; var _53=p.panel("options"); if(_53.onBeforeExpand.call(p)==false){ return; } var _54="expand"+_51.substring(0,1).toUpperCase()+_51.substring(1); if(_52[_54]){ _52[_54].panel("close"); p.panel("panel").stop(true,true); p.panel("expand",false).panel("open"); var _55=_56(); p.panel("resize",_55.collapse); p.panel("panel").animate(_55.expand,function(){ _2(_50); $(_50).layout("options").onExpand.call(_50,_51); }); } function _56(){ var cc=$(_50); var _57=_52.center.panel("options"); if(_51=="east"&&_52.expandEast){ return {collapse:{left:cc.width(),top:_57.top,height:_57.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}}; }else{ if(_51=="west"&&_52.expandWest){ return {collapse:{left:-p.panel("panel")._outerWidth(),top:_57.top,height:_57.height},expand:{left:0}}; }else{ if(_51=="north"&&_52.expandNorth){ return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}}; }else{ if(_51=="south"&&_52.expandSouth){ return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}}; } } } } }; }; function _a(pp){ if(!pp){ return false; } if(pp.length){ return pp.panel("panel").is(":visible"); }else{ return false; } }; function _58(_59){ var _5a=$.data(_59,"layout"); var _5b=_5a.options; var _5c=_5a.panels; var _5d=_5b.onCollapse; _5b.onCollapse=function(){ }; _5e("east"); _5e("west"); _5e("north"); _5e("south"); _5b.onCollapse=_5d; function _5e(_5f){ var p=_5c[_5f]; if(p.length&&p.panel("options").collapsed){ _39(_59,_5f,0); } }; }; function _60(_61,_62,_63){ var p=$(_61).layout("panel",_62); p.panel("options").split=_63; var cls="layout-split-"+_62; var _64=p.panel("panel").removeClass(cls); if(_63){ _64.addClass(cls); } _64.resizable({disabled:(!_63)}); _2(_61); }; $.fn.layout=function(_65,_66){ if(typeof _65=="string"){ return $.fn.layout.methods[_65](this,_66); } _65=_65||{}; return this.each(function(){ var _67=$.data(this,"layout"); if(_67){ $.extend(_67.options,_65); }else{ var _68=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_65); $.data(this,"layout",{options:_68,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}}); _12(this); } _2(this); _58(this); }); }; $.fn.layout.methods={options:function(jq){ return $.data(jq[0],"layout").options; },resize:function(jq,_69){ return jq.each(function(){ _2(this,_69); }); },panel:function(jq,_6a){ return $.data(jq[0],"layout").panels[_6a]; },collapse:function(jq,_6b){ return jq.each(function(){ _39(this,_6b); }); },expand:function(jq,_6c){ return jq.each(function(){ _4f(this,_6c); }); },add:function(jq,_6d){ return jq.each(function(){ _19(this,_6d); _2(this); if($(this).layout("panel",_6d.region).panel("options").collapsed){ _39(this,_6d.region,0); } }); },remove:function(jq,_6e){ return jq.each(function(){ _34(this,_6e); _2(this); }); },split:function(jq,_6f){ return jq.each(function(){ _60(this,_6f,true); }); },unsplit:function(jq,_70){ return jq.each(function(){ _60(this,_70,false); }); }}; $.fn.layout.parseOptions=function(_71){ return $.extend({},$.parser.parseOptions(_71,[{fit:"boolean"}])); }; $.fn.layout.defaults={fit:false,onExpand:function(_72){ },onCollapse:function(_73){ },onAdd:function(_74){ },onRemove:function(_75){ }}; $.fn.layout.parsePanelOptions=function(_76){ var t=$(_76); return $.extend({},$.fn.panel.parseOptions(_76),$.parser.parseOptions(_76,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}])); }; $.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:32,expandMode:"float",hideExpandTool:false,hideCollapsedContent:true,collapsedContent:function(_77){ var p=$(this); var _78=p.panel("options"); if(_78.region=="north"||_78.region=="south"){ return _77; } var cc=[]; if(_78.iconCls){ cc.push("
    "); } cc.push("
    "); cc.push(_77); cc.push("
    "); return cc.join(""); },minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.linkbutton.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2,_3){ var _4=$.data(_2,"linkbutton").options; if(_3){ $.extend(_4,_3); } if(_4.width||_4.height||_4.fit){ var _5=$(_2); var _6=_5.parent(); var _7=_5.is(":visible"); if(!_7){ var _8=$("
    ").insertBefore(_2); var _9={position:_5.css("position"),display:_5.css("display"),left:_5.css("left")}; _5.appendTo("body"); _5.css({position:"absolute",display:"inline-block",left:-20000}); } _5._size(_4,_6); var _a=_5.find(".l-btn-left"); _a.css("margin-top",0); _a.css("margin-top",parseInt((_5.height()-_a.height())/2)+"px"); if(!_7){ _5.insertAfter(_8); _5.css(_9); _8.remove(); } } }; function _b(_c){ var _d=$.data(_c,"linkbutton").options; var t=$(_c).empty(); t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected l-btn-outline"); t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_d.size); if(_d.plain){ t.addClass("l-btn-plain"); } if(_d.outline){ t.addClass("l-btn-outline"); } if(_d.selected){ t.addClass(_d.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); } t.attr("group",_d.group||""); t.attr("id",_d.id||""); var _e=$("").appendTo(t); if(_d.text){ $("").html(_d.text).appendTo(_e); }else{ $(" ").appendTo(_e); } if(_d.iconCls){ $(" ").addClass(_d.iconCls).appendTo(_e); _e.addClass("l-btn-icon-"+_d.iconAlign); } t.unbind(".linkbutton").bind("focus.linkbutton",function(){ if(!_d.disabled){ $(this).addClass("l-btn-focus"); } }).bind("blur.linkbutton",function(){ $(this).removeClass("l-btn-focus"); }).bind("click.linkbutton",function(){ if(!_d.disabled){ if(_d.toggle){ if(_d.selected){ $(this).linkbutton("unselect"); }else{ $(this).linkbutton("select"); } } _d.onClick.call(this); } }); _f(_c,_d.selected); _10(_c,_d.disabled); }; function _f(_11,_12){ var _13=$.data(_11,"linkbutton").options; if(_12){ if(_13.group){ $("a.l-btn[group=\""+_13.group+"\"]").each(function(){ var o=$(this).linkbutton("options"); if(o.toggle){ $(this).removeClass("l-btn-selected l-btn-plain-selected"); o.selected=false; } }); } $(_11).addClass(_13.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); _13.selected=true; }else{ if(!_13.group){ $(_11).removeClass("l-btn-selected l-btn-plain-selected"); _13.selected=false; } } }; function _10(_14,_15){ var _16=$.data(_14,"linkbutton"); var _17=_16.options; $(_14).removeClass("l-btn-disabled l-btn-plain-disabled"); if(_15){ _17.disabled=true; var _18=$(_14).attr("href"); if(_18){ _16.href=_18; $(_14).attr("href","javascript:;"); } if(_14.onclick){ _16.onclick=_14.onclick; _14.onclick=null; } _17.plain?$(_14).addClass("l-btn-disabled l-btn-plain-disabled"):$(_14).addClass("l-btn-disabled"); }else{ _17.disabled=false; if(_16.href){ $(_14).attr("href",_16.href); } if(_16.onclick){ _14.onclick=_16.onclick; } } }; $.fn.linkbutton=function(_19,_1a){ if(typeof _19=="string"){ return $.fn.linkbutton.methods[_19](this,_1a); } _19=_19||{}; return this.each(function(){ var _1b=$.data(this,"linkbutton"); if(_1b){ $.extend(_1b.options,_19); }else{ $.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_19)}); $(this)._propAttr("disabled",false); $(this).bind("_resize",function(e,_1c){ if($(this).hasClass("easyui-fluid")||_1c){ _1(this); } return false; }); } _b(this); _1(this); }); }; $.fn.linkbutton.methods={options:function(jq){ return $.data(jq[0],"linkbutton").options; },resize:function(jq,_1d){ return jq.each(function(){ _1(this,_1d); }); },enable:function(jq){ return jq.each(function(){ _10(this,false); }); },disable:function(jq){ return jq.each(function(){ _10(this,true); }); },select:function(jq){ return jq.each(function(){ _f(this,true); }); },unselect:function(jq){ return jq.each(function(){ _f(this,false); }); }}; $.fn.linkbutton.parseOptions=function(_1e){ var t=$(_1e); return $.extend({},$.parser.parseOptions(_1e,["id","iconCls","iconAlign","group","size","text",{plain:"boolean",toggle:"boolean",selected:"boolean",outline:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:($.trim(t.html())||undefined),iconCls:(t.attr("icon")||t.attr("iconCls"))}); }; $.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,outline:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.maskedbox.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$(_2).data("maskedbox"); var _4=_3.options; $(_2).textbox(_4); $(_2).maskedbox("initValue",_4.value); }; function _5(_6,_7){ var _8=$(_6).maskedbox("options"); var tt=(_7||$(_6).maskedbox("getText")||"").split(""); var vv=[]; for(var i=0;i<_8.mask.length;i++){ if(_8.masks[_8.mask[i]]){ var t=tt[i]; vv.push(t!=_8.promptChar?t:" "); } } return vv.join(""); }; function _9(_a,_b){ var _c=$(_a).maskedbox("options"); var cc=_b.split(""); var tt=[]; for(var i=0;i<_c.mask.length;i++){ var m=_c.mask[i]; var r=_c.masks[m]; if(r){ var c=cc.shift(); if(c!=undefined){ var d=new RegExp(r,"i"); if(d.test(c)){ tt.push(c); continue; } } tt.push(_c.promptChar); }else{ tt.push(m); } } return tt.join(""); }; function _d(_e,c){ var _f=$(_e).maskedbox("options"); var _10=$(_e).maskedbox("getSelectionRange"); var _11=_12(_e,_10.start); var end=_12(_e,_10.end); if(_11!=-1){ var r=new RegExp(_f.masks[_f.mask[_11]],"i"); if(r.test(c)){ var vv=_5(_e).split(""); var _13=_11-_14(_e,_11); var _15=end-_14(_e,end); vv.splice(_13,_15-_13,c); $(_e).maskedbox("setValue",_9(_e,vv.join(""))); _11=_12(_e,++_11); $(_e).maskedbox("setSelectionRange",{start:_11,end:_11}); } } }; function _16(_17,_18){ var _19=$(_17).maskedbox("options"); var vv=_5(_17).split(""); var _1a=$(_17).maskedbox("getSelectionRange"); if(_1a.start==_1a.end){ if(_18){ var _1b=_1c(_17,_1a.start); }else{ var _1b=_12(_17,_1a.start); } var _1d=_1b-_14(_17,_1b); if(_1d>=0){ vv.splice(_1d,1); } }else{ var _1b=_12(_17,_1a.start); var end=_1c(_17,_1a.end); var _1d=_1b-_14(_17,_1b); var _1e=end-_14(_17,end); vv.splice(_1d,_1e-_1d+1); } $(_17).maskedbox("setValue",_9(_17,vv.join(""))); $(_17).maskedbox("setSelectionRange",{start:_1b,end:_1b}); }; function _14(_1f,pos){ var _20=$(_1f).maskedbox("options"); var _21=0; if(pos>=_20.mask.length){ pos--; } for(var i=pos;i>=0;i--){ if(_20.masks[_20.mask[i]]==undefined){ _21++; } } return _21; }; function _12(_22,pos){ var _23=$(_22).maskedbox("options"); var m=_23.mask[pos]; var r=_23.masks[m]; while(pos<_23.mask.length&&!r){ pos++; m=_23.mask[pos]; r=_23.masks[m]; } return pos; }; function _1c(_24,pos){ var _25=$(_24).maskedbox("options"); var m=_25.mask[--pos]; var r=_25.masks[m]; while(pos>=0&&!r){ pos--; m=_25.mask[pos]; r=_25.masks[m]; } return pos<0?0:pos; }; function _26(e){ if(e.metaKey||e.ctrlKey){ return; } var _27=e.data.target; var _28=$(_27).maskedbox("options"); var _29=[9,13,35,36,37,39]; if($.inArray(e.keyCode,_29)!=-1){ return true; } if(e.keyCode>=96&&e.keyCode<=105){ e.keyCode-=48; } var c=String.fromCharCode(e.keyCode); if(e.keyCode>=65&&e.keyCode<=90&&!e.shiftKey){ c=c.toLowerCase(); }else{ if(e.keyCode==189){ c="-"; }else{ if(e.keyCode==187){ c="+"; }else{ if(e.keyCode==190){ c="."; } } } } if(e.keyCode==8){ _16(_27,true); }else{ if(e.keyCode==46){ _16(_27,false); }else{ _d(_27,c); } } return false; }; $.extend($.fn.textbox.methods,{inputMask:function(jq,_2a){ return jq.each(function(){ var _2b=this; var _2c=$.extend({},$.fn.maskedbox.defaults,_2a); $.data(_2b,"maskedbox",{options:_2c}); var _2d=$(_2b).textbox("textbox"); _2d.unbind(".maskedbox"); for(var _2e in _2c.inputEvents){ _2d.bind(_2e+".maskedbox",{target:_2b},_2c.inputEvents[_2e]); } }); }}); $.fn.maskedbox=function(_2f,_30){ if(typeof _2f=="string"){ var _31=$.fn.maskedbox.methods[_2f]; if(_31){ return _31(this,_30); }else{ return this.textbox(_2f,_30); } } _2f=_2f||{}; return this.each(function(){ var _32=$.data(this,"maskedbox"); if(_32){ $.extend(_32.options,_2f); }else{ $.data(this,"maskedbox",{options:$.extend({},$.fn.maskedbox.defaults,$.fn.maskedbox.parseOptions(this),_2f)}); } _1(this); }); }; $.fn.maskedbox.methods={options:function(jq){ var _33=jq.textbox("options"); return $.extend($.data(jq[0],"maskedbox").options,{width:_33.width,value:_33.value,originalValue:_33.originalValue,disabled:_33.disabled,readonly:_33.readonly}); },initValue:function(jq,_34){ return jq.each(function(){ _34=_9(this,_5(this,_34)); $(this).textbox("initValue",_34); }); },setValue:function(jq,_35){ return jq.each(function(){ _35=_9(this,_5(this,_35)); $(this).textbox("setValue",_35); }); }}; $.fn.maskedbox.parseOptions=function(_36){ var t=$(_36); return $.extend({},$.fn.textbox.parseOptions(_36),$.parser.parseOptions(_36,["mask","promptChar"]),{}); }; $.fn.maskedbox.defaults=$.extend({},$.fn.textbox.defaults,{mask:"",promptChar:"_",masks:{"9":"[0-9]","a":"[a-zA-Z]","*":"[0-9a-zA-Z]"},inputEvents:{keydown:_26}}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.menu.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ $(function(){ $(document).unbind(".menu").bind("mousedown.menu",function(e){ var m=$(e.target).closest("div.menu,div.combo-p"); if(m.length){ return; } $("body>div.menu-top:visible").not(".menu-inline").menu("hide"); _1($("body>div.menu:visible").not(".menu-inline")); }); }); function _2(_3){ var _4=$.data(_3,"menu").options; $(_3).addClass("menu-top"); _4.inline?$(_3).addClass("menu-inline"):$(_3).appendTo("body"); $(_3).bind("_resize",function(e,_5){ if($(this).hasClass("easyui-fluid")||_5){ $(_3).menu("resize",_3); } return false; }); var _6=_7($(_3)); for(var i=0;i<_6.length;i++){ _b(_3,_6[i]); } function _7(_8){ var _9=[]; _8.addClass("menu"); _9.push(_8); if(!_8.hasClass("menu-content")){ _8.children("div").each(function(){ var _a=$(this).children("div"); if(_a.length){ _a.appendTo("body"); this.submenu=_a; var mm=_7(_a); _9=_9.concat(mm); } }); } return _9; }; }; function _b(_c,_d){ var _e=$(_d).addClass("menu"); if(!_e.data("menu")){ _e.data("menu",{options:$.parser.parseOptions(_e[0],["width","height"])}); } if(!_e.hasClass("menu-content")){ _e.children("div").each(function(){ _f(_c,this); }); $("
    ").prependTo(_e); } _10(_c,_e); if(!_e.hasClass("menu-inline")){ _e.hide(); } _11(_c,_e); }; function _f(_12,div,_13){ var _14=$(div); var _15=$.extend({},$.parser.parseOptions(_14[0],["id","name","iconCls","href",{separator:"boolean"}]),{disabled:(_14.attr("disabled")?true:undefined),text:$.trim(_14.html()),onclick:_14[0].onclick},_13||{}); _15.onclick=_15.onclick||_15.handler||null; _14.data("menuitem",{options:_15}); if(_15.separator){ _14.addClass("menu-sep"); } if(!_14.hasClass("menu-sep")){ _14.addClass("menu-item"); _14.empty().append($("
    ").html(_15.text)); if(_15.iconCls){ $("
    ").addClass(_15.iconCls).appendTo(_14); } if(_15.id){ _14.attr("id",_15.id); } if(_15.onclick){ if(typeof _15.onclick=="string"){ _14.attr("onclick",_15.onclick); }else{ _14[0].onclick=eval(_15.onclick); } } if(_15.disabled){ _16(_12,_14[0],true); } if(_14[0].submenu){ $("
    ").appendTo(_14); } } }; function _10(_17,_18){ var _19=$.data(_17,"menu").options; var _1a=_18.attr("style")||""; var _1b=_18.is(":visible"); _18.css({display:"block",left:-10000,height:"auto",overflow:"hidden"}); _18.find(".menu-item").each(function(){ $(this)._outerHeight(_19.itemHeight); $(this).find(".menu-text").css({height:(_19.itemHeight-2)+"px",lineHeight:(_19.itemHeight-2)+"px"}); }); _18.removeClass("menu-noline").addClass(_19.noline?"menu-noline":""); var _1c=_18.data("menu").options; var _1d=_1c.width; var _1e=_1c.height; if(isNaN(parseInt(_1d))){ _1d=0; _18.find("div.menu-text").each(function(){ if(_1d<$(this).outerWidth()){ _1d=$(this).outerWidth(); } }); _1d=_1d?_1d+40:""; } var _1f=_18.outerHeight(); if(isNaN(parseInt(_1e))){ _1e=_1f; if(_18.hasClass("menu-top")&&_19.alignTo){ var at=$(_19.alignTo); var h1=at.offset().top-$(document).scrollTop(); var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight(); _1e=Math.min(_1e,Math.max(h1,h2)); }else{ if(_1e>$(window)._outerHeight()){ _1e=$(window).height(); } } } _18.attr("style",_1a); _18.show(); _18._size($.extend({},_1c,{width:_1d,height:_1e,minWidth:_1c.minWidth||_19.minWidth,maxWidth:_1c.maxWidth||_19.maxWidth})); _18.find(".easyui-fluid").triggerHandler("_resize",[true]); _18.css("overflow",_18.outerHeight()<_1f?"auto":"hidden"); _18.children("div.menu-line")._outerHeight(_1f-2); if(!_1b){ _18.hide(); } }; function _11(_20,_21){ var _22=$.data(_20,"menu"); var _23=_22.options; _21.unbind(".menu"); for(var _24 in _23.events){ _21.bind(_24+".menu",{target:_20},_23.events[_24]); } }; function _25(e){ var _26=e.data.target; var _27=$.data(_26,"menu"); if(_27.timer){ clearTimeout(_27.timer); _27.timer=null; } }; function _28(e){ var _29=e.data.target; var _2a=$.data(_29,"menu"); if(_2a.options.hideOnUnhover){ _2a.timer=setTimeout(function(){ _2b(_29,$(_29).hasClass("menu-inline")); },_2a.options.duration); } }; function _2c(e){ var _2d=e.data.target; var _2e=$(e.target).closest(".menu-item"); if(_2e.length){ _2e.siblings().each(function(){ if(this.submenu){ _1(this.submenu); } $(this).removeClass("menu-active"); }); _2e.addClass("menu-active"); if(_2e.hasClass("menu-item-disabled")){ _2e.addClass("menu-active-disabled"); return; } var _2f=_2e[0].submenu; if(_2f){ $(_2d).menu("show",{menu:_2f,parent:_2e}); } } }; function _30(e){ var _31=$(e.target).closest(".menu-item"); if(_31.length){ _31.removeClass("menu-active menu-active-disabled"); var _32=_31[0].submenu; if(_32){ if(e.pageX>=parseInt(_32.css("left"))){ _31.addClass("menu-active"); }else{ _1(_32); } }else{ _31.removeClass("menu-active"); } } }; function _33(e){ var _34=e.data.target; var _35=$(e.target).closest(".menu-item"); if(_35.length){ var _36=$(_34).data("menu").options; var _37=_35.data("menuitem").options; if(_37.disabled){ return; } if(!_35[0].submenu){ _2b(_34,_36.inline); if(_37.href){ location.href=_37.href; } } _35.trigger("mouseenter"); _36.onClick.call(_34,$(_34).menu("getItem",_35[0])); } }; function _2b(_38,_39){ var _3a=$.data(_38,"menu"); if(_3a){ if($(_38).is(":visible")){ _1($(_38)); if(_39){ $(_38).show(); }else{ _3a.options.onHide.call(_38); } } } return false; }; function _3b(_3c,_3d){ _3d=_3d||{}; var _3e,top; var _3f=$.data(_3c,"menu").options; var _40=$(_3d.menu||_3c); $(_3c).menu("resize",_40[0]); if(_40.hasClass("menu-top")){ $.extend(_3f,_3d); _3e=_3f.left; top=_3f.top; if(_3f.alignTo){ var at=$(_3f.alignTo); _3e=at.offset().left; top=at.offset().top+at._outerHeight(); if(_3f.align=="right"){ _3e+=at.outerWidth()-_40.outerWidth(); } } if(_3e+_40.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ _3e=$(window)._outerWidth()+$(document).scrollLeft()-_40.outerWidth()-5; } if(_3e<0){ _3e=0; } top=_41(top,_3f.alignTo); }else{ var _42=_3d.parent; _3e=_42.offset().left+_42.outerWidth()-2; if(_3e+_40.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){ _3e=_42.offset().left-_40.outerWidth()+2; } top=_41(_42.offset().top-3); } function _41(top,_43){ if(top+_40.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ if(_43){ top=$(_43).offset().top-_40._outerHeight(); }else{ top=$(window)._outerHeight()+$(document).scrollTop()-_40.outerHeight(); } } if(top<0){ top=0; } return top; }; _40.css(_3f.position.call(_3c,_40[0],_3e,top)); _40.show(0,function(){ if(!_40[0].shadow){ _40[0].shadow=$("
    ").insertAfter(_40); } _40[0].shadow.css({display:(_40.hasClass("menu-inline")?"none":"block"),zIndex:$.fn.menu.defaults.zIndex++,left:_40.css("left"),top:_40.css("top"),width:_40.outerWidth(),height:_40.outerHeight()}); _40.css("z-index",$.fn.menu.defaults.zIndex++); if(_40.hasClass("menu-top")){ _3f.onShow.call(_3c); } }); }; function _1(_44){ if(_44&&_44.length){ _45(_44); _44.find("div.menu-item").each(function(){ if(this.submenu){ _1(this.submenu); } $(this).removeClass("menu-active"); }); } function _45(m){ m.stop(true,true); if(m[0].shadow){ m[0].shadow.hide(); } m.hide(); }; }; function _46(_47,_48){ var _49=null; var fn=$.isFunction(_48)?_48:function(_4a){ for(var p in _48){ if(_4a[p]!=_48[p]){ return false; } } return true; }; function _4b(_4c){ _4c.children("div.menu-item").each(function(){ var _4d=$(this).data("menuitem").options; if(fn.call(_47,_4d)==true){ _49=$(_47).menu("getItem",this); }else{ if(this.submenu&&!_49){ _4b(this.submenu); } } }); }; _4b($(_47)); return _49; }; function _16(_4e,_4f,_50){ var t=$(_4f); if(t.hasClass("menu-item")){ var _51=t.data("menuitem").options; _51.disabled=_50; if(_50){ t.addClass("menu-item-disabled"); t[0].onclick=null; }else{ t.removeClass("menu-item-disabled"); t[0].onclick=_51.onclick; } } }; function _52(_53,_54){ var _55=$.data(_53,"menu").options; var _56=$(_53); if(_54.parent){ if(!_54.parent.submenu){ var _57=$("
    ").appendTo("body"); _54.parent.submenu=_57; $("
    ").appendTo(_54.parent); _b(_53,_57); } _56=_54.parent.submenu; } var div=$("
    ").appendTo(_56); _f(_53,div,_54); }; function _58(_59,_5a){ function _5b(el){ if(el.submenu){ el.submenu.children("div.menu-item").each(function(){ _5b(this); }); var _5c=el.submenu[0].shadow; if(_5c){ _5c.remove(); } el.submenu.remove(); } $(el).remove(); }; _5b(_5a); }; function _5d(_5e,_5f,_60){ var _61=$(_5f).parent(); if(_60){ $(_5f).show(); }else{ $(_5f).hide(); } _10(_5e,_61); }; function _62(_63){ $(_63).children("div.menu-item").each(function(){ _58(_63,this); }); if(_63.shadow){ _63.shadow.remove(); } $(_63).remove(); }; $.fn.menu=function(_64,_65){ if(typeof _64=="string"){ return $.fn.menu.methods[_64](this,_65); } _64=_64||{}; return this.each(function(){ var _66=$.data(this,"menu"); if(_66){ $.extend(_66.options,_64); }else{ _66=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_64)}); _2(this); } $(this).css({left:_66.options.left,top:_66.options.top}); }); }; $.fn.menu.methods={options:function(jq){ return $.data(jq[0],"menu").options; },show:function(jq,pos){ return jq.each(function(){ _3b(this,pos); }); },hide:function(jq){ return jq.each(function(){ _2b(this); }); },destroy:function(jq){ return jq.each(function(){ _62(this); }); },setText:function(jq,_67){ return jq.each(function(){ var _68=$(_67.target).data("menuitem").options; _68.text=_67.text; $(_67.target).children("div.menu-text").html(_67.text); }); },setIcon:function(jq,_69){ return jq.each(function(){ var _6a=$(_69.target).data("menuitem").options; _6a.iconCls=_69.iconCls; $(_69.target).children("div.menu-icon").remove(); if(_69.iconCls){ $("
    ").addClass(_69.iconCls).appendTo(_69.target); } }); },getItem:function(jq,_6b){ var _6c=$(_6b).data("menuitem").options; return $.extend({},_6c,{target:$(_6b)[0]}); },findItem:function(jq,_6d){ if(typeof _6d=="string"){ return _46(jq[0],function(_6e){ return $("
    "+_6e.text+"
    ").text()==_6d; }); }else{ return _46(jq[0],_6d); } },appendItem:function(jq,_6f){ return jq.each(function(){ _52(this,_6f); }); },removeItem:function(jq,_70){ return jq.each(function(){ _58(this,_70); }); },enableItem:function(jq,_71){ return jq.each(function(){ _16(this,_71,false); }); },disableItem:function(jq,_72){ return jq.each(function(){ _16(this,_72,true); }); },showItem:function(jq,_73){ return jq.each(function(){ _5d(this,_73,true); }); },hideItem:function(jq,_74){ return jq.each(function(){ _5d(this,_74,false); }); },resize:function(jq,_75){ return jq.each(function(){ _10(this,_75?$(_75):$(this)); }); }}; $.fn.menu.parseOptions=function(_76){ return $.extend({},$.parser.parseOptions(_76,[{minWidth:"number",itemHeight:"number",duration:"number",hideOnUnhover:"boolean"},{fit:"boolean",inline:"boolean",noline:"boolean"}])); }; $.fn.menu.defaults={zIndex:110000,left:0,top:0,alignTo:null,align:"left",minWidth:150,itemHeight:32,duration:100,hideOnUnhover:true,inline:false,fit:false,noline:false,events:{mouseenter:_25,mouseleave:_28,mouseover:_2c,mouseout:_30,click:_33},position:function(_77,_78,top){ return {left:_78,top:top}; },onShow:function(){ },onHide:function(){ },onClick:function(_79){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.menubutton.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"menubutton").options; var _4=$(_2); _4.linkbutton(_3); if(_3.hasDownArrow){ _4.removeClass(_3.cls.btn1+" "+_3.cls.btn2).addClass("m-btn"); _4.removeClass("m-btn-small m-btn-medium m-btn-large").addClass("m-btn-"+_3.size); var _5=_4.find(".l-btn-left"); $("").addClass(_3.cls.arrow).appendTo(_5); $("").addClass("m-btn-line").appendTo(_5); } $(_2).menubutton("resize"); if(_3.menu){ $(_3.menu).menu({duration:_3.duration}); var _6=$(_3.menu).menu("options"); var _7=_6.onShow; var _8=_6.onHide; $.extend(_6,{onShow:function(){ var _9=$(this).menu("options"); var _a=$(_9.alignTo); var _b=_a.menubutton("options"); _a.addClass((_b.plain==true)?_b.cls.btn2:_b.cls.btn1); _7.call(this); },onHide:function(){ var _c=$(this).menu("options"); var _d=$(_c.alignTo); var _e=_d.menubutton("options"); _d.removeClass((_e.plain==true)?_e.cls.btn2:_e.cls.btn1); _8.call(this); }}); } }; function _f(_10){ var _11=$.data(_10,"menubutton").options; var btn=$(_10); var t=btn.find("."+_11.cls.trigger); if(!t.length){ t=btn; } t.unbind(".menubutton"); var _12=null; t.bind(_11.showEvent+".menubutton",function(){ if(!_13()){ _12=setTimeout(function(){ _14(_10); },_11.duration); return false; } }).bind(_11.hideEvent+".menubutton",function(){ if(_12){ clearTimeout(_12); } $(_11.menu).triggerHandler("mouseleave"); }); function _13(){ return $(_10).linkbutton("options").disabled; }; }; function _14(_15){ var _16=$(_15).menubutton("options"); if(_16.disabled||!_16.menu){ return; } $("body>div.menu-top").menu("hide"); var btn=$(_15); var mm=$(_16.menu); if(mm.length){ mm.menu("options").alignTo=btn; mm.menu("show",{alignTo:btn,align:_16.menuAlign}); } btn.blur(); }; $.fn.menubutton=function(_17,_18){ if(typeof _17=="string"){ var _19=$.fn.menubutton.methods[_17]; if(_19){ return _19(this,_18); }else{ return this.linkbutton(_17,_18); } } _17=_17||{}; return this.each(function(){ var _1a=$.data(this,"menubutton"); if(_1a){ $.extend(_1a.options,_17); }else{ $.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_17)}); $(this)._propAttr("disabled",false); } _1(this); _f(this); }); }; $.fn.menubutton.methods={options:function(jq){ var _1b=jq.linkbutton("options"); return $.extend($.data(jq[0],"menubutton").options,{toggle:_1b.toggle,selected:_1b.selected,disabled:_1b.disabled}); },destroy:function(jq){ return jq.each(function(){ var _1c=$(this).menubutton("options"); if(_1c.menu){ $(_1c.menu).menu("destroy"); } $(this).remove(); }); }}; $.fn.menubutton.parseOptions=function(_1d){ var t=$(_1d); return $.extend({},$.fn.linkbutton.parseOptions(_1d),$.parser.parseOptions(_1d,["menu",{plain:"boolean",hasDownArrow:"boolean",duration:"number"}])); }; $.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,hasDownArrow:true,menu:null,menuAlign:"left",duration:100,showEvent:"mouseenter",hideEvent:"mouseleave",cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.messager.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(){ $(document).unbind(".messager").bind("keydown.messager",function(e){ if(e.keyCode==27){ $("body").children("div.messager-window").children("div.messager-body").each(function(){ $(this).dialog("close"); }); }else{ if(e.keyCode==9){ var _2=$("body").children("div.messager-window"); if(!_2.length){ return; } var _3=_2.find(".messager-input,.messager-button .l-btn"); for(var i=0;i<_3.length;i++){ if($(_3[i]).is(":focus")){ $(_3[i>=_3.length-1?0:i+1]).focus(); return false; } } }else{ if(e.keyCode==13){ var _4=$(e.target).closest("input.messager-input"); if(_4.length){ var _5=_4.closest(".messager-body"); _6(_5,_4.val()); } } } } }); }; function _7(){ $(document).unbind(".messager"); }; function _8(_9){ var _a=$.extend({},$.messager.defaults,{modal:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},title:"",width:300,height:150,minHeight:0,showType:"slide",showSpeed:600,content:_9.msg,timeout:4000},_9); var _b=$("
    ").appendTo("body"); _b.dialog($.extend({},_a,{noheader:(_a.title?false:true),openAnimation:(_a.showType),closeAnimation:(_a.showType=="show"?"hide":_a.showType),openDuration:_a.showSpeed,closeDuration:_a.showSpeed,onOpen:function(){ _b.dialog("dialog").hover(function(){ if(_a.timer){ clearTimeout(_a.timer); } },function(){ _c(); }); _c(); function _c(){ if(_a.timeout>0){ _a.timer=setTimeout(function(){ if(_b.length&&_b.data("dialog")){ _b.dialog("close"); } },_a.timeout); } }; if(_9.onOpen){ _9.onOpen.call(this); }else{ _a.onOpen.call(this); } },onClose:function(){ if(_a.timer){ clearTimeout(_a.timer); } if(_9.onClose){ _9.onClose.call(this); }else{ _a.onClose.call(this); } _b.dialog("destroy"); }})); _b.dialog("dialog").css(_a.style); _b.dialog("open"); return _b; }; function _d(_e){ _1(); var _f=$("
    ").appendTo("body"); _f.dialog($.extend({},_e,{noheader:(_e.title?false:true),onClose:function(){ _7(); if(_e.onClose){ _e.onClose.call(this); } _f.dialog("destroy"); }})); var win=_f.dialog("dialog").addClass("messager-window"); win.find(".dialog-button").addClass("messager-button").find("a:first").focus(); return _f; }; function _6(dlg,_10){ var _11=dlg.dialog("options"); dlg.dialog("close"); _11.fn(_10); }; $.messager={show:function(_12){ return _8(_12); },alert:function(_13,msg,_14,fn){ var _15=typeof _13=="object"?_13:{title:_13,msg:msg,icon:_14,fn:fn}; var cls=_15.icon?"messager-icon messager-"+_15.icon:""; _15=$.extend({},$.messager.defaults,{content:"
    "+"
    "+_15.msg+"
    "+"
    "},_15); if(!_15.buttons){ _15.buttons=[{text:_15.ok,onClick:function(){ _6(dlg); }}]; } var dlg=_d(_15); return dlg; },confirm:function(_16,msg,fn){ var _17=typeof _16=="object"?_16:{title:_16,msg:msg,fn:fn}; _17=$.extend({},$.messager.defaults,{content:"
    "+"
    "+_17.msg+"
    "+"
    "},_17); if(!_17.buttons){ _17.buttons=[{text:_17.ok,onClick:function(){ _6(dlg,true); }},{text:_17.cancel,onClick:function(){ _6(dlg,false); }}]; } var dlg=_d(_17); return dlg; },prompt:function(_18,msg,fn){ var _19=typeof _18=="object"?_18:{title:_18,msg:msg,fn:fn}; _19=$.extend({},$.messager.defaults,{content:"
    "+"
    "+_19.msg+"
    "+"
    "+"
    "+"
    "},_19); if(!_19.buttons){ _19.buttons=[{text:_19.ok,onClick:function(){ _6(dlg,dlg.find(".messager-input").val()); }},{text:_19.cancel,onClick:function(){ _6(dlg); }}]; } var dlg=_d(_19); dlg.find(".messager-input").focus(); return dlg; },progress:function(_1a){ var _1b={bar:function(){ return $("body>div.messager-window").find("div.messager-p-bar"); },close:function(){ var dlg=$("body>div.messager-window>div.messager-body:has(div.messager-progress)"); if(dlg.length){ dlg.dialog("close"); } }}; if(typeof _1a=="string"){ var _1c=_1b[_1a]; return _1c(); } _1a=_1a||{}; var _1d=$.extend({},{title:"",minHeight:0,content:undefined,msg:"",text:undefined,interval:300},_1a); var dlg=_d($.extend({},$.messager.defaults,{content:"
    "+_1d.msg+"
    ",closable:false,doSize:false},_1d,{onClose:function(){ if(this.timer){ clearInterval(this.timer); } if(_1a.onClose){ _1a.onClose.call(this); }else{ $.messager.defaults.onClose.call(this); } }})); var bar=dlg.find("div.messager-p-bar"); bar.progressbar({text:_1d.text}); dlg.dialog("resize"); if(_1d.interval){ dlg[0].timer=setInterval(function(){ var v=bar.progressbar("getValue"); v+=10; if(v>100){ v=0; } bar.progressbar("setValue",v); },_1d.interval); } return dlg; }}; $.messager.defaults=$.extend({},$.fn.dialog.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",minHeight:150,modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){ }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.mobile.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ $.fn.navpanel=function(_1,_2){ if(typeof _1=="string"){ var _3=$.fn.navpanel.methods[_1]; return _3?_3(this,_2):this.panel(_1,_2); }else{ _1=_1||{}; return this.each(function(){ var _4=$.data(this,"navpanel"); if(_4){ $.extend(_4.options,_1); }else{ _4=$.data(this,"navpanel",{options:$.extend({},$.fn.navpanel.defaults,$.fn.navpanel.parseOptions(this),_1)}); } $(this).panel(_4.options); }); } }; $.fn.navpanel.methods={options:function(jq){ return $.data(jq[0],"navpanel").options; }}; $.fn.navpanel.parseOptions=function(_5){ return $.extend({},$.fn.panel.parseOptions(_5),$.parser.parseOptions(_5,[])); }; $.fn.navpanel.defaults=$.extend({},$.fn.panel.defaults,{fit:true,border:false,cls:"navpanel"}); $.parser.plugins.push("navpanel"); })(jQuery); (function($){ $(function(){ $.mobile.init(); }); $.mobile={defaults:{animation:"slide",direction:"left",reverseDirections:{up:"down",down:"up",left:"right",right:"left"}},panels:[],init:function(_6){ $.mobile.panels=[]; var _7=$(_6||"body").children(".navpanel:visible"); if(_7.length){ _7.not(":first").children(".panel-body").navpanel("close"); var p=_7.eq(0).children(".panel-body"); $.mobile.panels.push({panel:p,animation:$.mobile.defaults.animation,direction:$.mobile.defaults.direction}); } $(document).unbind(".mobile").bind("click.mobile",function(e){ var a=$(e.target).closest("a"); if(a.length){ var _8=$.parser.parseOptions(a[0],["animation","direction",{back:"boolean"}]); if(_8.back){ $.mobile.back(); e.preventDefault(); }else{ var _9=$.trim(a.attr("href")); if(/^#/.test(_9)){ var to=$(_9); if(to.length&&to.hasClass("panel-body")){ $.mobile.go(to,_8.animation,_8.direction); e.preventDefault(); } } } } }); $(window).unbind(".mobile").bind("hashchange.mobile",function(){ var _a=$.mobile.panels.length; if(_a>1){ var _b=location.hash; var p=$.mobile.panels[_a-2]; if(!_b||_b=="#&"+p.panel.attr("id")){ $.mobile._back(); } } }); },nav:function(_c,to,_d,_e){ if(window.WebKitAnimationEvent){ _d=_d!=undefined?_d:$.mobile.defaults.animation; _e=_e!=undefined?_e:$.mobile.defaults.direction; var _f="m-"+_d+(_e?"-"+_e:""); var p1=$(_c).panel("open").panel("resize").panel("panel"); var p2=$(to).panel("open").panel("resize").panel("panel"); p1.add(p2).bind("webkitAnimationEnd",function(){ $(this).unbind("webkitAnimationEnd"); var p=$(this).children(".panel-body"); if($(this).hasClass("m-in")){ p.panel("open").panel("resize"); }else{ p.panel("close"); } $(this).removeClass(_f+" m-in m-out"); }); p2.addClass(_f+" m-in"); p1.addClass(_f+" m-out"); }else{ $(to).panel("open").panel("resize"); $(_c).panel("close"); } },_go:function(_10,_11,_12){ _11=_11!=undefined?_11:$.mobile.defaults.animation; _12=_12!=undefined?_12:$.mobile.defaults.direction; var _13=$.mobile.panels[$.mobile.panels.length-1].panel; var to=$(_10); if(_13[0]!=to[0]){ $.mobile.nav(_13,to,_11,_12); $.mobile.panels.push({panel:to,animation:_11,direction:_12}); } },_back:function(){ if($.mobile.panels.length<2){ return; } var p1=$.mobile.panels.pop(); var p2=$.mobile.panels[$.mobile.panels.length-1]; var _14=p1.animation; var _15=$.mobile.defaults.reverseDirections[p1.direction]||""; $.mobile.nav(p1.panel,p2.panel,_14,_15); },go:function(_16,_17,_18){ _17=_17!=undefined?_17:$.mobile.defaults.animation; _18=_18!=undefined?_18:$.mobile.defaults.direction; location.hash="#&"+$(_16).attr("id"); $.mobile._go(_16,_17,_18); },back:function(){ history.go(-1); }}; $.map(["validatebox","textbox","passwordbox","filebox","searchbox","combo","combobox","combogrid","combotree","combotreegrid","datebox","datetimebox","numberbox","spinner","numberspinner","timespinner","datetimespinner"],function(_19){ if($.fn[_19]){ $.extend($.fn[_19].defaults,{iconWidth:28,tipPosition:"bottom"}); } }); $.map(["spinner","numberspinner","timespinner","datetimespinner"],function(_1a){ if($.fn[_1a]){ $.extend($.fn[_1a].defaults,{iconWidth:56,spinAlign:"horizontal"}); } }); if($.fn.menu){ $.extend($.fn.menu.defaults,{itemHeight:30,noline:true}); } })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.numberbox.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"numberbox"); var _4=_3.options; $(_2).addClass("numberbox-f").textbox(_4); $(_2).textbox("textbox").css({imeMode:"disabled"}); $(_2).attr("numberboxName",$(_2).attr("textboxName")); _3.numberbox=$(_2).next(); _3.numberbox.addClass("numberbox"); var _5=_4.parser.call(_2,_4.value); var _6=_4.formatter.call(_2,_5); $(_2).numberbox("initValue",_5).numberbox("setText",_6); }; function _7(_8,_9){ var _a=$.data(_8,"numberbox"); var _b=_a.options; _b.value=parseFloat(_9); var _9=_b.parser.call(_8,_9); var _c=_b.formatter.call(_8,_9); _b.value=_9; $(_8).textbox("setText",_c).textbox("setValue",_9); _c=_b.formatter.call(_8,$(_8).textbox("getValue")); $(_8).textbox("setText",_c); }; $.fn.numberbox=function(_d,_e){ if(typeof _d=="string"){ var _f=$.fn.numberbox.methods[_d]; if(_f){ return _f(this,_e); }else{ return this.textbox(_d,_e); } } _d=_d||{}; return this.each(function(){ var _10=$.data(this,"numberbox"); if(_10){ $.extend(_10.options,_d); }else{ _10=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_d)}); } _1(this); }); }; $.fn.numberbox.methods={options:function(jq){ var _11=jq.data("textbox")?jq.textbox("options"):{}; return $.extend($.data(jq[0],"numberbox").options,{width:_11.width,originalValue:_11.originalValue,disabled:_11.disabled,readonly:_11.readonly}); },cloneFrom:function(jq,_12){ return jq.each(function(){ $(this).textbox("cloneFrom",_12); $.data(this,"numberbox",{options:$.extend(true,{},$(_12).numberbox("options"))}); $(this).addClass("numberbox-f"); }); },fix:function(jq){ return jq.each(function(){ var _13=$(this).numberbox("options"); _13.value=null; var _14=_13.parser.call(this,$(this).numberbox("getText")); $(this).numberbox("setValue",_14); }); },setValue:function(jq,_15){ return jq.each(function(){ _7(this,_15); }); },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(_16){ var t=$(_16); return $.extend({},$.fn.textbox.parseOptions(_16),$.parser.parseOptions(_16,["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 _17=e.data.target; var _18=$(_17).numberbox("options"); return _18.filter.call(_17,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 _19=$(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==_19.decimalSeparator){ return (s.indexOf(c)==-1)?true:false; }else{ if(c==_19.groupSeparator){ return true; }else{ if("0123456789".indexOf(c)>=0){ return true; }else{ return false; } } } },formatter:function(_1a){ if(!_1a){ return _1a; } _1a=_1a+""; var _1b=$(this).numberbox("options"); var s1=_1a,s2=""; var _1c=_1a.indexOf("."); if(_1c>=0){ s1=_1a.substring(0,_1c); s2=_1a.substring(_1c+1,_1a.length); } if(_1b.groupSeparator){ var p=/(\d+)(\d{3})/; while(p.test(s1)){ s1=s1.replace(p,"$1"+_1b.groupSeparator+"$2"); } } if(s2){ return _1b.prefix+s1+_1b.decimalSeparator+s2+_1b.suffix; }else{ return _1b.prefix+s1+_1b.suffix; } },parser:function(s){ s=s+""; var _1d=$(this).numberbox("options"); if(_1d.prefix){ s=$.trim(s.replace(new RegExp("\\"+$.trim(_1d.prefix),"g"),"")); } if(_1d.suffix){ s=$.trim(s.replace(new RegExp("\\"+$.trim(_1d.suffix),"g"),"")); } if(parseFloat(s)!=_1d.value){ if(_1d.groupSeparator){ s=$.trim(s.replace(new RegExp("\\"+_1d.groupSeparator,"g"),"")); } if(_1d.decimalSeparator){ s=$.trim(s.replace(new RegExp("\\"+_1d.decimalSeparator,"g"),".")); } s=s.replace(/\s/g,""); } var val=parseFloat(s).toFixed(_1d.precision); if(isNaN(val)){ val=""; }else{ if(typeof (_1d.min)=="number"&&val<_1d.min){ val=_1d.min.toFixed(_1d.precision); }else{ if(typeof (_1d.max)=="number"&&val>_1d.max){ val=_1d.max.toFixed(_1d.precision); } } } return val; }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.numberspinner.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ $(_2).addClass("numberspinner-f"); var _3=$.data(_2,"numberspinner").options; $(_2).numberbox($.extend({},_3,{doSize:false})).spinner(_3); $(_2).numberbox("setValue",_3.value); }; function _4(_5,_6){ var _7=$.data(_5,"numberspinner").options; var v=parseFloat($(_5).numberbox("getValue")||_7.value)||0; if(_6){ v-=_7.increment; }else{ v+=_7.increment; } $(_5).numberbox("setValue",v); }; $.fn.numberspinner=function(_8,_9){ if(typeof _8=="string"){ var _a=$.fn.numberspinner.methods[_8]; if(_a){ return _a(this,_9); }else{ return this.numberbox(_8,_9); } } _8=_8||{}; return this.each(function(){ var _b=$.data(this,"numberspinner"); if(_b){ $.extend(_b.options,_8); }else{ $.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_8)}); } _1(this); }); }; $.fn.numberspinner.methods={options:function(jq){ var _c=jq.numberbox("options"); return $.extend($.data(jq[0],"numberspinner").options,{width:_c.width,value:_c.value,originalValue:_c.originalValue,disabled:_c.disabled,readonly:_c.readonly}); }}; $.fn.numberspinner.parseOptions=function(_d){ return $.extend({},$.fn.spinner.parseOptions(_d),$.fn.numberbox.parseOptions(_d),{}); }; $.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(_e){ _4(this,_e); }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.pagination.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"pagination"); var _4=_3.options; var bb=_3.bb={}; if(_4.buttons&&!$.isArray(_4.buttons)){ $(_4.buttons).insertAfter(_2); } var _5=$(_2).addClass("pagination").html("
    "); var tr=_5.find("tr"); var aa=$.extend([],_4.layout); if(!_4.showPageList){ _6(aa,"list"); } if(!_4.showPageInfo){ _6(aa,"info"); } if(!_4.showRefresh){ _6(aa,"refresh"); } if(aa[0]=="sep"){ aa.shift(); } if(aa[aa.length-1]=="sep"){ aa.pop(); } for(var _7=0;_7"); ps.bind("change",function(){ _4.pageSize=parseInt($(this).val()); _4.onChangePageSize.call(_2,_4.pageSize); _10(_2,_4.pageNumber); }); for(var i=0;i<_4.pageList.length;i++){ $("").text(_4.pageList[i]).appendTo(ps); } $("").append(ps).appendTo(tr); }else{ if(_8=="sep"){ $("
    ").appendTo(tr); }else{ if(_8=="first"){ bb.first=_9("first"); }else{ if(_8=="prev"){ bb.prev=_9("prev"); }else{ if(_8=="next"){ bb.next=_9("next"); }else{ if(_8=="last"){ bb.last=_9("last"); }else{ if(_8=="manual"){ $("").html(_4.beforePageText).appendTo(tr).wrap(""); bb.num=$("").appendTo(tr).wrap(""); bb.num.unbind(".pagination").bind("keydown.pagination",function(e){ if(e.keyCode==13){ var _a=parseInt($(this).val())||1; _10(_2,_a); return false; } }); bb.after=$("").appendTo(tr).wrap(""); }else{ if(_8=="refresh"){ bb.refresh=_9("refresh"); }else{ if(_8=="links"){ $("").appendTo(tr); }else{ if(_8=="info"){ if(_7==aa.length-1){ $("
    ").appendTo(_5); }else{ $("
    ").appendTo(tr); } } } } } } } } } } } } if(_4.buttons){ $("
    ").appendTo(tr); if($.isArray(_4.buttons)){ for(var i=0;i<_4.buttons.length;i++){ var _b=_4.buttons[i]; if(_b=="-"){ $("
    ").appendTo(tr); }else{ var td=$("").appendTo(tr); var a=$("").appendTo(td); a[0].onclick=eval(_b.handler||function(){ }); a.linkbutton($.extend({},_b,{plain:true})); } } }else{ var td=$("").appendTo(tr); $(_4.buttons).appendTo(td).show(); } } $("
    ").appendTo(_5); function _9(_c){ var _d=_4.nav[_c]; var a=$("").appendTo(tr); a.wrap(""); a.linkbutton({iconCls:_d.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){ _d.handler.call(_2); }); return a; }; function _6(aa,_e){ var _f=$.inArray(_e,aa); if(_f>=0){ aa.splice(_f,1); } return aa; }; }; function _10(_11,_12){ var _13=$.data(_11,"pagination").options; _14(_11,{pageNumber:_12}); _13.onSelectPage.call(_11,_13.pageNumber,_13.pageSize); }; function _14(_15,_16){ var _17=$.data(_15,"pagination"); var _18=_17.options; var bb=_17.bb; $.extend(_18,_16||{}); var ps=$(_15).find("select.pagination-page-list"); if(ps.length){ ps.val(_18.pageSize+""); _18.pageSize=parseInt(ps.val()); } var _19=Math.ceil(_18.total/_18.pageSize)||1; if(_18.pageNumber<1){ _18.pageNumber=1; } if(_18.pageNumber>_19){ _18.pageNumber=_19; } if(_18.total==0){ _18.pageNumber=0; _19=0; } if(bb.num){ bb.num.val(_18.pageNumber); } if(bb.after){ bb.after.html(_18.afterPageText.replace(/{pages}/,_19)); } var td=$(_15).find("td.pagination-links"); if(td.length){ td.empty(); var _1a=_18.pageNumber-Math.floor(_18.links/2); if(_1a<1){ _1a=1; } var _1b=_1a+_18.links-1; if(_1b>_19){ _1b=_19; } _1a=_1b-_18.links+1; if(_1a<1){ _1a=1; } for(var i=_1a;i<=_1b;i++){ var a=$("").appendTo(td); a.linkbutton({plain:true,text:i}); if(i==_18.pageNumber){ a.linkbutton("select"); }else{ a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){ _10(_15,e.data.pageNumber); }); } } } var _1c=_18.displayMsg; _1c=_1c.replace(/{from}/,_18.total==0?0:_18.pageSize*(_18.pageNumber-1)+1); _1c=_1c.replace(/{to}/,Math.min(_18.pageSize*(_18.pageNumber),_18.total)); _1c=_1c.replace(/{total}/,_18.total); $(_15).find("div.pagination-info").html(_1c); if(bb.first){ bb.first.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)}); } if(bb.prev){ bb.prev.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)}); } if(bb.next){ bb.next.linkbutton({disabled:(_18.pageNumber==_19)}); } if(bb.last){ bb.last.linkbutton({disabled:(_18.pageNumber==_19)}); } _1d(_15,_18.loading); }; function _1d(_1e,_1f){ var _20=$.data(_1e,"pagination"); var _21=_20.options; _21.loading=_1f; if(_21.showRefresh&&_20.bb.refresh){ _20.bb.refresh.linkbutton({iconCls:(_21.loading?"pagination-loading":"pagination-load")}); } }; $.fn.pagination=function(_22,_23){ if(typeof _22=="string"){ return $.fn.pagination.methods[_22](this,_23); } _22=_22||{}; return this.each(function(){ var _24; var _25=$.data(this,"pagination"); if(_25){ _24=$.extend(_25.options,_22); }else{ _24=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_22); $.data(this,"pagination",{options:_24}); } _1(this); _14(this); }); }; $.fn.pagination.methods={options:function(jq){ return $.data(jq[0],"pagination").options; },loading:function(jq){ return jq.each(function(){ _1d(this,true); }); },loaded:function(jq){ return jq.each(function(){ _1d(this,false); }); },refresh:function(jq,_26){ return jq.each(function(){ _14(this,_26); }); },select:function(jq,_27){ return jq.each(function(){ _10(this,_27); }); }}; $.fn.pagination.parseOptions=function(_28){ var t=$(_28); return $.extend({},$.parser.parseOptions(_28,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showPageInfo:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)}); }; $.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showPageInfo:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh","info"],onSelectPage:function(_29,_2a){ },onBeforeRefresh:function(_2b,_2c){ },onRefresh:function(_2d,_2e){ },onChangePageSize:function(_2f){ },beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){ var _30=$(this).pagination("options"); if(_30.pageNumber>1){ $(this).pagination("select",1); } }},prev:{iconCls:"pagination-prev",handler:function(){ var _31=$(this).pagination("options"); if(_31.pageNumber>1){ $(this).pagination("select",_31.pageNumber-1); } }},next:{iconCls:"pagination-next",handler:function(){ var _32=$(this).pagination("options"); var _33=Math.ceil(_32.total/_32.pageSize); if(_32.pageNumber<_33){ $(this).pagination("select",_32.pageNumber+1); } }},last:{iconCls:"pagination-last",handler:function(){ var _34=$(this).pagination("options"); var _35=Math.ceil(_34.total/_34.pageSize); if(_34.pageNumber<_35){ $(this).pagination("select",_35); } }},refresh:{iconCls:"pagination-refresh",handler:function(){ var _36=$(this).pagination("options"); if(_36.onBeforeRefresh.call(this,_36.pageNumber,_36.pageSize)!=false){ $(this).pagination("select",_36.pageNumber); _36.onRefresh.call(this,_36.pageNumber,_36.pageSize); } }}}}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.panel.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ $.fn._remove=function(){ return this.each(function(){ $(this).remove(); try{ this.outerHTML=""; } catch(err){ } }); }; function _1(_2){ _2._remove(); }; function _3(_4,_5){ var _6=$.data(_4,"panel"); var _7=_6.options; var _8=_6.panel; var _9=_8.children(".panel-header"); var _a=_8.children(".panel-body"); var _b=_8.children(".panel-footer"); var _c=(_7.halign=="left"||_7.halign=="right"); if(_5){ $.extend(_7,{width:_5.width,height:_5.height,minWidth:_5.minWidth,maxWidth:_5.maxWidth,minHeight:_5.minHeight,maxHeight:_5.maxHeight,left:_5.left,top:_5.top}); _7.hasResized=false; } var _d=_8.outerWidth(); var _e=_8.outerHeight(); _8._size(_7); var _f=_8.outerWidth(); var _10=_8.outerHeight(); if(_7.hasResized&&(_d==_f&&_e==_10)){ return; } _7.hasResized=true; if(!_c){ _9._outerWidth(_8.width()); } _a._outerWidth(_8.width()); if(!isNaN(parseInt(_7.height))){ if(_c){ if(_7.header){ var _11=$(_7.header)._outerWidth(); }else{ _9.css("width",""); var _11=_9._outerWidth(); } var _12=_9.find(".panel-title"); _11+=Math.min(_12._outerWidth(),_12._outerHeight()); var _13=_8.height(); _9._outerWidth(_11)._outerHeight(_13); _12._outerWidth(_9.height()); _a._outerWidth(_8.width()-_11-_b._outerWidth())._outerHeight(_13); _b._outerHeight(_13); _a.css({left:"",right:""}); if(_9.length){ _a.css(_7.halign,(_9.position()[_7.halign]+_11)+"px"); } _7.panelCssWidth=_8.css("width"); if(_7.collapsed){ _8._outerWidth(_11+_b._outerWidth()); } }else{ _a._outerHeight(_8.height()-_9._outerHeight()-_b._outerHeight()); } }else{ _a.css("height",""); var min=$.parser.parseValue("minHeight",_7.minHeight,_8.parent()); var max=$.parser.parseValue("maxHeight",_7.maxHeight,_8.parent()); var _14=_9._outerHeight()+_b._outerHeight()+_8._outerHeight()-_8.height(); _a._size("minHeight",min?(min-_14):""); _a._size("maxHeight",max?(max-_14):""); } _8.css({height:(_c?undefined:""),minHeight:"",maxHeight:"",left:_7.left,top:_7.top}); _7.onResize.apply(_4,[_7.width,_7.height]); $(_4).panel("doLayout"); }; function _15(_16,_17){ var _18=$.data(_16,"panel"); var _19=_18.options; var _1a=_18.panel; if(_17){ if(_17.left!=null){ _19.left=_17.left; } if(_17.top!=null){ _19.top=_17.top; } } _1a.css({left:_19.left,top:_19.top}); _1a.find(".tooltip-f").each(function(){ $(this).tooltip("reposition"); }); _19.onMove.apply(_16,[_19.left,_19.top]); }; function _1b(_1c){ $(_1c).addClass("panel-body")._size("clear"); var _1d=$("
    ").insertBefore(_1c); _1d[0].appendChild(_1c); _1d.bind("_resize",function(e,_1e){ if($(this).hasClass("easyui-fluid")||_1e){ _3(_1c,{}); } return false; }); return _1d; }; function _1f(_20){ var _21=$.data(_20,"panel"); var _22=_21.options; var _23=_21.panel; _23.css(_22.style); _23.addClass(_22.cls); _23.removeClass("panel-hleft panel-hright").addClass("panel-h"+_22.halign); _24(); _25(); var _26=$(_20).panel("header"); var _27=$(_20).panel("body"); var _28=$(_20).siblings(".panel-footer"); if(_22.border){ _26.removeClass("panel-header-noborder"); _27.removeClass("panel-body-noborder"); _28.removeClass("panel-footer-noborder"); }else{ _26.addClass("panel-header-noborder"); _27.addClass("panel-body-noborder"); _28.addClass("panel-footer-noborder"); } _26.addClass(_22.headerCls); _27.addClass(_22.bodyCls); $(_20).attr("id",_22.id||""); if(_22.content){ $(_20).panel("clear"); $(_20).html(_22.content); $.parser.parse($(_20)); } function _24(){ if(_22.noheader||(!_22.title&&!_22.header)){ _1(_23.children(".panel-header")); _23.children(".panel-body").addClass("panel-body-noheader"); }else{ if(_22.header){ $(_22.header).addClass("panel-header").prependTo(_23); }else{ var _29=_23.children(".panel-header"); if(!_29.length){ _29=$("
    ").prependTo(_23); } if(!$.isArray(_22.tools)){ _29.find("div.panel-tool .panel-tool-a").appendTo(_22.tools); } _29.empty(); var _2a=$("
    ").html(_22.title).appendTo(_29); if(_22.iconCls){ _2a.addClass("panel-with-icon"); $("
    ").addClass(_22.iconCls).appendTo(_29); } if(_22.halign=="left"||_22.halign=="right"){ _2a.addClass("panel-title-"+_22.titleDirection); } var _2b=$("
    ").appendTo(_29); _2b.bind("click",function(e){ e.stopPropagation(); }); if(_22.tools){ if($.isArray(_22.tools)){ $.map(_22.tools,function(t){ _2c(_2b,t.iconCls,eval(t.handler)); }); }else{ $(_22.tools).children().each(function(){ $(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(_2b); }); } } if(_22.collapsible){ _2c(_2b,"panel-tool-collapse",function(){ if(_22.collapsed==true){ _57(_20,true); }else{ _43(_20,true); } }); } if(_22.minimizable){ _2c(_2b,"panel-tool-min",function(){ _62(_20); }); } if(_22.maximizable){ _2c(_2b,"panel-tool-max",function(){ if(_22.maximized==true){ _66(_20); }else{ _42(_20); } }); } if(_22.closable){ _2c(_2b,"panel-tool-close",function(){ _44(_20); }); } } _23.children("div.panel-body").removeClass("panel-body-noheader"); } }; function _2c(c,_2d,_2e){ var a=$("").addClass(_2d).appendTo(c); a.bind("click",_2e); }; function _25(){ if(_22.footer){ $(_22.footer).addClass("panel-footer").appendTo(_23); $(_20).addClass("panel-body-nobottom"); }else{ _23.children(".panel-footer").remove(); $(_20).removeClass("panel-body-nobottom"); } }; }; function _2f(_30,_31){ var _32=$.data(_30,"panel"); var _33=_32.options; if(_34){ _33.queryParams=_31; } if(!_33.href){ return; } if(!_32.isLoaded||!_33.cache){ var _34=$.extend({},_33.queryParams); if(_33.onBeforeLoad.call(_30,_34)==false){ return; } _32.isLoaded=false; if(_33.loadingMessage){ $(_30).panel("clear"); $(_30).html($("
    ").html(_33.loadingMessage)); } _33.loader.call(_30,_34,function(_35){ var _36=_33.extractor.call(_30,_35); $(_30).panel("clear"); $(_30).html(_36); $.parser.parse($(_30)); _33.onLoad.apply(_30,arguments); _32.isLoaded=true; },function(){ _33.onLoadError.apply(_30,arguments); }); } }; function _37(_38){ var t=$(_38); t.find(".combo-f").each(function(){ $(this).combo("destroy"); }); t.find(".m-btn").each(function(){ $(this).menubutton("destroy"); }); t.find(".s-btn").each(function(){ $(this).splitbutton("destroy"); }); t.find(".tooltip-f").each(function(){ $(this).tooltip("destroy"); }); t.children("div").each(function(){ $(this)._size("unfit"); }); t.empty(); }; function _39(_3a){ $(_3a).panel("doLayout",true); }; function _3b(_3c,_3d){ var _3e=$.data(_3c,"panel"); var _3f=_3e.options; var _40=_3e.panel; if(_3d!=true){ if(_3f.onBeforeOpen.call(_3c)==false){ return; } } _40.stop(true,true); if($.isFunction(_3f.openAnimation)){ _3f.openAnimation.call(_3c,cb); }else{ switch(_3f.openAnimation){ case "slide": _40.slideDown(_3f.openDuration,cb); break; case "fade": _40.fadeIn(_3f.openDuration,cb); break; case "show": _40.show(_3f.openDuration,cb); break; default: _40.show(); cb(); } } function cb(){ _3f.closed=false; _3f.minimized=false; var _41=_40.children(".panel-header").find("a.panel-tool-restore"); if(_41.length){ _3f.maximized=true; } _3f.onOpen.call(_3c); if(_3f.maximized==true){ _3f.maximized=false; _42(_3c); } if(_3f.collapsed==true){ _3f.collapsed=false; _43(_3c); } if(!_3f.collapsed){ if(_3f.href&&(!_3e.isLoaded||!_3f.cache)){ _2f(_3c); _39(_3c); _3f.doneLayout=true; } } if(!_3f.doneLayout){ _3f.doneLayout=true; _39(_3c); } }; }; function _44(_45,_46){ var _47=$.data(_45,"panel"); var _48=_47.options; var _49=_47.panel; if(_46!=true){ if(_48.onBeforeClose.call(_45)==false){ return; } } _49.find(".tooltip-f").each(function(){ $(this).tooltip("hide"); }); _49.stop(true,true); _49._size("unfit"); if($.isFunction(_48.closeAnimation)){ _48.closeAnimation.call(_45,cb); }else{ switch(_48.closeAnimation){ case "slide": _49.slideUp(_48.closeDuration,cb); break; case "fade": _49.fadeOut(_48.closeDuration,cb); break; case "hide": _49.hide(_48.closeDuration,cb); break; default: _49.hide(); cb(); } } function cb(){ _48.closed=true; _48.onClose.call(_45); }; }; function _4a(_4b,_4c){ var _4d=$.data(_4b,"panel"); var _4e=_4d.options; var _4f=_4d.panel; if(_4c!=true){ if(_4e.onBeforeDestroy.call(_4b)==false){ return; } } $(_4b).panel("clear").panel("clear","footer"); _1(_4f); _4e.onDestroy.call(_4b); }; function _43(_50,_51){ var _52=$.data(_50,"panel").options; var _53=$.data(_50,"panel").panel; var _54=_53.children(".panel-body"); var _55=_53.children(".panel-header"); var _56=_55.find("a.panel-tool-collapse"); if(_52.collapsed==true){ return; } _54.stop(true,true); if(_52.onBeforeCollapse.call(_50)==false){ return; } _56.addClass("panel-tool-expand"); if(_51==true){ if(_52.halign=="left"||_52.halign=="right"){ _53.animate({width:_55._outerWidth()+_53.children(".panel-footer")._outerWidth()},function(){ cb(); }); }else{ _54.slideUp("normal",function(){ cb(); }); } }else{ if(_52.halign=="left"||_52.halign=="right"){ _53._outerWidth(_55._outerWidth()+_53.children(".panel-footer")._outerWidth()); } cb(); } function cb(){ _54.hide(); _52.collapsed=true; _52.onCollapse.call(_50); }; }; function _57(_58,_59){ var _5a=$.data(_58,"panel").options; var _5b=$.data(_58,"panel").panel; var _5c=_5b.children(".panel-body"); var _5d=_5b.children(".panel-header").find("a.panel-tool-collapse"); if(_5a.collapsed==false){ return; } _5c.stop(true,true); if(_5a.onBeforeExpand.call(_58)==false){ return; } _5d.removeClass("panel-tool-expand"); if(_59==true){ if(_5a.halign=="left"||_5a.halign=="right"){ _5c.show(); _5b.animate({width:_5a.panelCssWidth},function(){ cb(); }); }else{ _5c.slideDown("normal",function(){ cb(); }); } }else{ if(_5a.halign=="left"||_5a.halign=="right"){ _5b.css("width",_5a.panelCssWidth); } cb(); } function cb(){ _5c.show(); _5a.collapsed=false; _5a.onExpand.call(_58); _2f(_58); _39(_58); }; }; function _42(_5e){ var _5f=$.data(_5e,"panel").options; var _60=$.data(_5e,"panel").panel; var _61=_60.children(".panel-header").find("a.panel-tool-max"); if(_5f.maximized==true){ return; } _61.addClass("panel-tool-restore"); if(!$.data(_5e,"panel").original){ $.data(_5e,"panel").original={width:_5f.width,height:_5f.height,left:_5f.left,top:_5f.top,fit:_5f.fit}; } _5f.left=0; _5f.top=0; _5f.fit=true; _3(_5e); _5f.minimized=false; _5f.maximized=true; _5f.onMaximize.call(_5e); }; function _62(_63){ var _64=$.data(_63,"panel").options; var _65=$.data(_63,"panel").panel; _65._size("unfit"); _65.hide(); _64.minimized=true; _64.maximized=false; _64.onMinimize.call(_63); }; function _66(_67){ var _68=$.data(_67,"panel").options; var _69=$.data(_67,"panel").panel; var _6a=_69.children(".panel-header").find("a.panel-tool-max"); if(_68.maximized==false){ return; } _69.show(); _6a.removeClass("panel-tool-restore"); $.extend(_68,$.data(_67,"panel").original); _3(_67); _68.minimized=false; _68.maximized=false; $.data(_67,"panel").original=null; _68.onRestore.call(_67); }; function _6b(_6c,_6d){ $.data(_6c,"panel").options.title=_6d; $(_6c).panel("header").find("div.panel-title").html(_6d); }; var _6e=null; $(window).unbind(".panel").bind("resize.panel",function(){ if(_6e){ clearTimeout(_6e); } _6e=setTimeout(function(){ var _6f=$("body.layout"); if(_6f.length){ _6f.layout("resize"); $("body").children(".easyui-fluid:visible").each(function(){ $(this).triggerHandler("_resize"); }); }else{ $("body").panel("doLayout"); } _6e=null; },100); }); $.fn.panel=function(_70,_71){ if(typeof _70=="string"){ return $.fn.panel.methods[_70](this,_71); } _70=_70||{}; return this.each(function(){ var _72=$.data(this,"panel"); var _73; if(_72){ _73=$.extend(_72.options,_70); _72.isLoaded=false; }else{ _73=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_70); $(this).attr("title",""); _72=$.data(this,"panel",{options:_73,panel:_1b(this),isLoaded:false}); } _1f(this); $(this).show(); if(_73.doSize==true){ _72.panel.css("display","block"); _3(this); } if(_73.closed==true||_73.minimized==true){ _72.panel.hide(); }else{ _3b(this); } }); }; $.fn.panel.methods={options:function(jq){ return $.data(jq[0],"panel").options; },panel:function(jq){ return $.data(jq[0],"panel").panel; },header:function(jq){ return $.data(jq[0],"panel").panel.children(".panel-header"); },footer:function(jq){ return jq.panel("panel").children(".panel-footer"); },body:function(jq){ return $.data(jq[0],"panel").panel.children(".panel-body"); },setTitle:function(jq,_74){ return jq.each(function(){ _6b(this,_74); }); },open:function(jq,_75){ return jq.each(function(){ _3b(this,_75); }); },close:function(jq,_76){ return jq.each(function(){ _44(this,_76); }); },destroy:function(jq,_77){ return jq.each(function(){ _4a(this,_77); }); },clear:function(jq,_78){ return jq.each(function(){ _37(_78=="footer"?$(this).panel("footer"):this); }); },refresh:function(jq,_79){ return jq.each(function(){ var _7a=$.data(this,"panel"); _7a.isLoaded=false; if(_79){ if(typeof _79=="string"){ _7a.options.href=_79; }else{ _7a.options.queryParams=_79; } } _2f(this); }); },resize:function(jq,_7b){ return jq.each(function(){ _3(this,_7b||{}); }); },doLayout:function(jq,all){ return jq.each(function(){ _7c(this,"body"); _7c($(this).siblings(".panel-footer")[0],"footer"); function _7c(_7d,_7e){ if(!_7d){ return; } var _7f=_7d==$("body")[0]; var s=$(_7d).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_80,el){ var p=$(el).parents(".panel-"+_7e+":first"); return _7f?p.length==0:p[0]==_7d; }); s.each(function(){ $(this).triggerHandler("_resize",[all||false]); }); }; }); },move:function(jq,_81){ return jq.each(function(){ _15(this,_81); }); },maximize:function(jq){ return jq.each(function(){ _42(this); }); },minimize:function(jq){ return jq.each(function(){ _62(this); }); },restore:function(jq){ return jq.each(function(){ _66(this); }); },collapse:function(jq,_82){ return jq.each(function(){ _43(this,_82); }); },expand:function(jq,_83){ return jq.each(function(){ _57(this,_83); }); }}; $.fn.panel.parseOptions=function(_84){ var t=$(_84); var hh=t.children(".panel-header,header"); var ff=t.children(".panel-footer,footer"); return $.extend({},$.parser.parseOptions(_84,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method","header","footer","halign","titleDirection",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined),header:(hh.length?hh.removeClass("panel-header"):undefined),footer:(ff.length?ff.removeClass("panel-footer"):undefined)}); }; $.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,halign:"top",titleDirection:"down",collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,header:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_85,_86,_87){ var _88=$(this).panel("options"); if(!_88.href){ return false; } $.ajax({type:_88.method,url:_88.href,cache:false,data:_85,dataType:"html",success:function(_89){ _86(_89); },error:function(){ _87.apply(this,arguments); }}); },extractor:function(_8a){ var _8b=/]*>((.|[\n\r])*)<\/body>/im; var _8c=_8b.exec(_8a); if(_8c){ return _8c[1]; }else{ return _8a; } },onBeforeLoad:function(_8d){ },onLoad:function(){ },onLoadError:function(){ },onBeforeOpen:function(){ },onOpen:function(){ },onBeforeClose:function(){ },onClose:function(){ },onBeforeDestroy:function(){ },onDestroy:function(){ },onResize:function(_8e,_8f){ },onMove:function(_90,top){ },onMaximize:function(){ },onRestore:function(){ },onMinimize:function(){ },onBeforeCollapse:function(){ },onBeforeExpand:function(){ },onCollapse:function(){ },onExpand:function(){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.parser.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ $.easyui={indexOfArray:function(a,o,id){ for(var i=0,_1=a.length;i<_1;i++){ if(id==undefined){ if(a[i]==o){ return i; } }else{ if(a[i][o]==id){ return i; } } } return -1; },removeArrayItem:function(a,o,id){ if(typeof o=="string"){ for(var i=0,_2=a.length;i<_2;i++){ if(a[i][o]==id){ a.splice(i,1); return; } } }else{ var _3=this.indexOfArray(a,o); if(_3!=-1){ a.splice(_3,1); } } },addArrayItem:function(a,o,r){ var _4=this.indexOfArray(a,o,r?r[o]:undefined); if(_4==-1){ a.push(r?r:o); }else{ a[_4]=r?r:o; } },getArrayItem:function(a,o,id){ var _5=this.indexOfArray(a,o,id); return _5==-1?null:a[_5]; },forEach:function(_6,_7,_8){ var _9=[]; for(var i=0;i<_6.length;i++){ _9.push(_6[i]); } while(_9.length){ var _a=_9.shift(); if(_8(_a)==false){ return; } if(_7&&_a.children){ for(var i=_a.children.length-1;i>=0;i--){ _9.unshift(_a.children[i]); } } } }}; $.parser={auto:true,emptyFn:function(){ },onComplete:function(_b){ },plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","sidemenu","menubutton","splitbutton","switchbutton","progressbar","radiobutton","checkbox","tree","textbox","passwordbox","maskedbox","filebox","combo","combobox","combotree","combogrid","combotreegrid","tagbox","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","datalist","tabs","accordion","window","dialog","form"],parse:function(_c){ var aa=[]; for(var i=0;i<$.parser.plugins.length;i++){ var _d=$.parser.plugins[i]; var r=$(".easyui-"+_d,_c); if(r.length){ if(r[_d]){ r.each(function(){ $(this)[_d]($.data(this,"options")||{}); }); }else{ aa.push({name:_d,jq:r}); } } } if(aa.length&&window.easyloader){ var _e=[]; for(var i=0;i=0){ _13+=_12[0].offsetWidth-_12[0].clientWidth; v=Math.floor((_12.width()-_13)*v/100); }else{ _13+=_12[0].offsetHeight-_12[0].clientHeight; v=Math.floor((_12.height()-_13)*v/100); } }else{ v=parseInt(v)||undefined; } return v; },parseOptions:function(_15,_16){ var t=$(_15); var _17={}; var s=$.trim(t.attr("data-options")); if(s){ if(s.substring(0,1)!="{"){ s="{"+s+"}"; } _17=(new Function("return "+s))(); } $.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){ var pv=$.trim(_15.style[p]||""); if(pv){ if(pv.indexOf("%")==-1){ pv=parseInt(pv); if(isNaN(pv)){ pv=undefined; } } _17[p]=pv; } }); if(_16){ var _18={}; for(var i=0;i<_16.length;i++){ var pp=_16[i]; if(typeof pp=="string"){ _18[pp]=t.attr(pp); }else{ for(var _19 in pp){ var _1a=pp[_19]; if(_1a=="boolean"){ _18[_19]=t.attr(_19)?(t.attr(_19)=="true"):undefined; }else{ if(_1a=="number"){ _18[_19]=t.attr(_19)=="0"?0:parseFloat(t.attr(_19))||undefined; } } } } } $.extend(_17,_18); } return _17; }}; $(function(){ var d=$("
    ").appendTo("body"); $._boxModel=d.outerWidth()!=100; d.remove(); d=$("
    ").appendTo("body"); $._positionFixed=(d.css("position")=="fixed"); d.remove(); if(!window.easyloader&&$.parser.auto){ $.parser.parse(); } }); $.fn._outerWidth=function(_1b){ if(_1b==undefined){ if(this[0]==window){ return this.width()||document.body.clientWidth; } return this.outerWidth()||0; } return this._size("width",_1b); }; $.fn._outerHeight=function(_1c){ if(_1c==undefined){ if(this[0]==window){ return this.height()||document.body.clientHeight; } return this.outerHeight()||0; } return this._size("height",_1c); }; $.fn._scrollLeft=function(_1d){ if(_1d==undefined){ return this.scrollLeft(); }else{ return this.each(function(){ $(this).scrollLeft(_1d); }); } }; $.fn._propAttr=$.fn.prop||$.fn.attr; $.fn._size=function(_1e,_1f){ if(typeof _1e=="string"){ if(_1e=="clear"){ return this.each(function(){ $(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""}); }); }else{ if(_1e=="fit"){ return this.each(function(){ _20(this,this.tagName=="BODY"?$("body"):$(this).parent(),true); }); }else{ if(_1e=="unfit"){ return this.each(function(){ _20(this,$(this).parent(),false); }); }else{ if(_1f==undefined){ return _21(this[0],_1e); }else{ return this.each(function(){ _21(this,_1e,_1f); }); } } } } }else{ return this.each(function(){ _1f=_1f||$(this).parent(); $.extend(_1e,_20(this,_1f,_1e.fit)||{}); var r1=_22(this,"width",_1f,_1e); var r2=_22(this,"height",_1f,_1e); if(r1||r2){ $(this).addClass("easyui-fluid"); }else{ $(this).removeClass("easyui-fluid"); } }); } function _20(_23,_24,fit){ if(!_24.length){ return false; } var t=$(_23)[0]; var p=_24[0]; var _25=p.fcount||0; if(fit){ if(!t.fitted){ t.fitted=true; p.fcount=_25+1; $(p).addClass("panel-noscroll"); if(p.tagName=="BODY"){ $("html").addClass("panel-fit"); } } return {width:($(p).width()||1),height:($(p).height()||1)}; }else{ if(t.fitted){ t.fitted=false; p.fcount=_25-1; if(p.fcount==0){ $(p).removeClass("panel-noscroll"); if(p.tagName=="BODY"){ $("html").removeClass("panel-fit"); } } } return false; } }; function _22(_26,_27,_28,_29){ var t=$(_26); var p=_27; var p1=p.substr(0,1).toUpperCase()+p.substr(1); var min=$.parser.parseValue("min"+p1,_29["min"+p1],_28); var max=$.parser.parseValue("max"+p1,_29["max"+p1],_28); var val=$.parser.parseValue(p,_29[p],_28); var _2a=(String(_29[p]||"").indexOf("%")>=0?true:false); if(!isNaN(val)){ var v=Math.min(Math.max(val,min||0),max||99999); if(!_2a){ _29[p]=v; } t._size("min"+p1,""); t._size("max"+p1,""); t._size(p,v); }else{ t._size(p,""); t._size("min"+p1,min); t._size("max"+p1,max); } return _2a||_29.fit; }; function _21(_2b,_2c,_2d){ var t=$(_2b); if(_2d==undefined){ _2d=parseInt(_2b.style[_2c]); if(isNaN(_2d)){ return undefined; } if($._boxModel){ _2d+=_2e(); } return _2d; }else{ if(_2d===""){ t.css(_2c,""); }else{ if($._boxModel){ _2d-=_2e(); if(_2d<0){ _2d=0; } } t.css(_2c,_2d+"px"); } } function _2e(){ if(_2c.toLowerCase().indexOf("width")>=0){ return t.outerWidth()-t.width(); }else{ return t.outerHeight()-t.height(); } }; }; }; })(jQuery); (function($){ var _2f=null; var _30=null; var _31=false; function _32(e){ if(e.touches.length!=1){ return; } if(!_31){ _31=true; dblClickTimer=setTimeout(function(){ _31=false; },500); }else{ clearTimeout(dblClickTimer); _31=false; _33(e,"dblclick"); } _2f=setTimeout(function(){ _33(e,"contextmenu",3); },1000); _33(e,"mousedown"); if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ e.preventDefault(); } }; function _34(e){ if(e.touches.length!=1){ return; } if(_2f){ clearTimeout(_2f); } _33(e,"mousemove"); if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ e.preventDefault(); } }; function _35(e){ if(_2f){ clearTimeout(_2f); } _33(e,"mouseup"); if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ e.preventDefault(); } }; function _33(e,_36,_37){ var _38=new $.Event(_36); _38.pageX=e.changedTouches[0].pageX; _38.pageY=e.changedTouches[0].pageY; _38.which=_37||1; $(e.target).trigger(_38); }; if(document.addEventListener){ document.addEventListener("touchstart",_32,true); document.addEventListener("touchmove",_34,true); document.addEventListener("touchend",_35,true); } })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.passwordbox.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"passwordbox"); var _4=_3.options; var _5=$.extend(true,[],_4.icons); if(_4.showEye){ _5.push({iconCls:"passwordbox-open",handler:function(e){ _4.revealed=!_4.revealed; _6(_2); }}); } $(_2).addClass("passwordbox-f").textbox($.extend({},_4,{icons:_5})); _6(_2); }; function _7(_8,_9,_a){ var t=$(_8); var _b=t.passwordbox("options"); if(_b.revealed){ t.textbox("setValue",_9); return; } var _c=unescape(_b.passwordChar); var cc=_9.split(""); var vv=t.passwordbox("getValue").split(""); for(var i=0;i
    "); $(_2).bind("_resize",function(e,_3){ if($(this).hasClass("easyui-fluid")||_3){ _4(_2); } return false; }); return $(_2); }; function _4(_5,_6){ var _7=$.data(_5,"progressbar").options; var _8=$.data(_5,"progressbar").bar; if(_6){ _7.width=_6; } _8._size(_7); _8.find("div.progressbar-text").css("width",_8.width()); _8.find("div.progressbar-text,div.progressbar-value").css({height:_8.height()+"px",lineHeight:_8.height()+"px"}); }; $.fn.progressbar=function(_9,_a){ if(typeof _9=="string"){ var _b=$.fn.progressbar.methods[_9]; if(_b){ return _b(this,_a); } } _9=_9||{}; return this.each(function(){ var _c=$.data(this,"progressbar"); if(_c){ $.extend(_c.options,_9); }else{ _c=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_9),bar:_1(this)}); } $(this).progressbar("setValue",_c.options.value); _4(this); }); }; $.fn.progressbar.methods={options:function(jq){ return $.data(jq[0],"progressbar").options; },resize:function(jq,_d){ return jq.each(function(){ _4(this,_d); }); },getValue:function(jq){ return $.data(jq[0],"progressbar").options.value; },setValue:function(jq,_e){ if(_e<0){ _e=0; } if(_e>100){ _e=100; } return jq.each(function(){ var _f=$.data(this,"progressbar").options; var _10=_f.text.replace(/{value}/,_e); var _11=_f.value; _f.value=_e; $(this).find("div.progressbar-value").width(_e+"%"); $(this).find("div.progressbar-text").html(_10); if(_11!=_e){ _f.onChange.call(this,_e,_11); } }); }}; $.fn.progressbar.parseOptions=function(_12){ return $.extend({},$.parser.parseOptions(_12,["width","height","text",{value:"number"}])); }; $.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_13,_14){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.propertygrid.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ var _1; $(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); if(p.length){ return; } _2(_1); _1=undefined; }); function _3(_4){ var _5=$.data(_4,"propertygrid"); var _6=$.data(_4,"propertygrid").options; $(_4).datagrid($.extend({},_6,{cls:"propertygrid",view:(_6.showGroup?_6.groupView:_6.view),onBeforeEdit:function(_7,_8){ if(_6.onBeforeEdit.call(_4,_7,_8)==false){ return false; } var dg=$(this); var _8=dg.datagrid("getRows")[_7]; var _9=dg.datagrid("getColumnOption","value"); _9.editor=_8.editor; },onClickCell:function(_a,_b,_c){ if(_1!=this){ _2(_1); _1=this; } if(_6.editIndex!=_a){ _2(_1); $(this).datagrid("beginEdit",_a); var ed=$(this).datagrid("getEditor",{index:_a,field:_b}); if(!ed){ ed=$(this).datagrid("getEditor",{index:_a,field:"value"}); } if(ed){ var t=$(ed.target); var _d=t.data("textbox")?t.textbox("textbox"):t; _d.focus(); _6.editIndex=_a; } } _6.onClickCell.call(_4,_a,_b,_c); },loadFilter:function(_e){ _2(this); return _6.loadFilter.call(this,_e); }})); }; function _2(_f){ var t=$(_f); if(!t.length){ return; } var _10=$.data(_f,"propertygrid").options; _10.finder.getTr(_f,null,"editing").each(function(){ var _11=parseInt($(this).attr("datagrid-row-index")); if(t.datagrid("validateRow",_11)){ t.datagrid("endEdit",_11); }else{ t.datagrid("cancelEdit",_11); } }); _10.editIndex=undefined; }; $.fn.propertygrid=function(_12,_13){ if(typeof _12=="string"){ var _14=$.fn.propertygrid.methods[_12]; if(_14){ return _14(this,_13); }else{ return this.datagrid(_12,_13); } } _12=_12||{}; return this.each(function(){ var _15=$.data(this,"propertygrid"); if(_15){ $.extend(_15.options,_12); }else{ var _16=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_12); _16.frozenColumns=$.extend(true,[],_16.frozenColumns); _16.columns=$.extend(true,[],_16.columns); $.data(this,"propertygrid",{options:_16}); } _3(this); }); }; $.fn.propertygrid.methods={options:function(jq){ return $.data(jq[0],"propertygrid").options; }}; $.fn.propertygrid.parseOptions=function(_17){ return $.extend({},$.fn.datagrid.parseOptions(_17),$.parser.parseOptions(_17,[{showGroup:"boolean"}])); }; var _18=$.extend({},$.fn.datagrid.defaults.view,{render:function(_19,_1a,_1b){ var _1c=[]; var _1d=this.groups; for(var i=0;i<_1d.length;i++){ _1c.push(this.renderGroup.call(this,_19,i,_1d[i],_1b)); } $(_1a).html(_1c.join("")); },renderGroup:function(_1e,_1f,_20,_21){ var _22=$.data(_1e,"datagrid"); var _23=_22.options; var _24=$(_1e).datagrid("getColumnFields",_21); var _25=_23.frozenColumns&&_23.frozenColumns.length; if(_21){ if(!(_23.rownumbers||_25)){ return ""; } } var _26=[]; var css=_23.groupStyler.call(_1e,_20.value,_20.rows); var cs=_27(css,"datagrid-group"); _26.push("
    "); if((_21&&(_23.rownumbers||_23.frozenColumns.length))||(!_21&&!(_23.rownumbers||_23.frozenColumns.length))){ _26.push(""); _26.push(" "); _26.push(""); } if((_21&&_25)||(!_21)){ _26.push(""); _26.push(_23.groupFormatter.call(_1e,_20.value,_20.rows)); _26.push(""); } _26.push("
    "); _26.push(""); var _28=_20.startIndex; for(var j=0;j<_20.rows.length;j++){ var css=_23.rowStyler?_23.rowStyler.call(_1e,_28,_20.rows[j]):""; var _29=""; var _2a=""; if(typeof css=="string"){ _2a=css; }else{ if(css){ _29=css["class"]||""; _2a=css["style"]||""; } } var cls="class=\"datagrid-row "+(_28%2&&_23.striped?"datagrid-row-alt ":" ")+_29+"\""; var _2b=_2a?"style=\""+_2a+"\"":""; var _2c=_22.rowIdPrefix+"-"+(_21?1:2)+"-"+_28; _26.push(""); _26.push(this.renderRow.call(this,_1e,_24,_21,_28,_20.rows[j])); _26.push(""); _28++; } _26.push("
    "); return _26.join(""); function _27(css,cls){ var _2d=""; var _2e=""; if(typeof css=="string"){ _2e=css; }else{ if(css){ _2d=css["class"]||""; _2e=css["style"]||""; } } return "class=\""+cls+(_2d?" "+_2d:"")+"\" "+"style=\""+_2e+"\""; }; },bindEvents:function(_2f){ var _30=$.data(_2f,"datagrid"); var dc=_30.dc; var _31=dc.body1.add(dc.body2); var _32=($.data(_31[0],"events")||$._data(_31[0],"events")).click[0].handler; _31.unbind("click").bind("click",function(e){ var tt=$(e.target); var _33=tt.closest("span.datagrid-row-expander"); if(_33.length){ var _34=_33.closest("div.datagrid-group").attr("group-index"); if(_33.hasClass("datagrid-row-collapse")){ $(_2f).datagrid("collapseGroup",_34); }else{ $(_2f).datagrid("expandGroup",_34); } }else{ _32(e); } e.stopPropagation(); }); },onBeforeRender:function(_35,_36){ var _37=$.data(_35,"datagrid"); var _38=_37.options; _39(); var _3a=[]; for(var i=0;i<_36.length;i++){ var row=_36[i]; var _3b=_3c(row[_38.groupField]); if(!_3b){ _3b={value:row[_38.groupField],rows:[row]}; _3a.push(_3b); }else{ _3b.rows.push(row); } } var _3d=0; var _3e=[]; for(var i=0;i<_3a.length;i++){ var _3b=_3a[i]; _3b.startIndex=_3d; _3d+=_3b.rows.length; _3e=_3e.concat(_3b.rows); } _37.data.rows=_3e; this.groups=_3a; var _3f=this; setTimeout(function(){ _3f.bindEvents(_35); },0); function _3c(_40){ for(var i=0;i<_3a.length;i++){ var _41=_3a[i]; if(_41.value==_40){ return _41; } } return null; }; function _39(){ if(!$("#datagrid-group-style").length){ $("head").append(""); } }; },onAfterRender:function(_42){ $.fn.datagrid.defaults.view.onAfterRender.call(this,_42); var _43=this; var _44=$.data(_42,"datagrid"); var _45=_44.options; if(!_44.onResizeColumn){ _44.onResizeColumn=_45.onResizeColumn; } if(!_44.onResize){ _44.onResize=_45.onResize; } _45.onResizeColumn=function(_46,_47){ _43.resizeGroup(_42); _44.onResizeColumn.call(_42,_46,_47); }; _45.onResize=function(_48,_49){ _43.resizeGroup(_42); _44.onResize.call($(_42).datagrid("getPanel")[0],_48,_49); }; _43.resizeGroup(_42); }}); $.extend($.fn.datagrid.methods,{groups:function(jq){ return jq.datagrid("options").view.groups; },expandGroup:function(jq,_4a){ return jq.each(function(){ var _4b=$(this).datagrid("options"); var _4c=$.data(this,"datagrid").dc.view; var _4d=_4c.find(_4a!=undefined?"div.datagrid-group[group-index=\""+_4a+"\"]":"div.datagrid-group"); var _4e=_4d.find("span.datagrid-row-expander"); if(_4e.hasClass("datagrid-row-expand")){ _4e.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); _4d.next("table").show(); } $(this).datagrid("fixRowHeight"); if(_4b.onExpandGroup){ _4b.onExpandGroup.call(this,_4a); } }); },collapseGroup:function(jq,_4f){ return jq.each(function(){ var _50=$(this).datagrid("options"); var _51=$.data(this,"datagrid").dc.view; var _52=_51.find(_4f!=undefined?"div.datagrid-group[group-index=\""+_4f+"\"]":"div.datagrid-group"); var _53=_52.find("span.datagrid-row-expander"); if(_53.hasClass("datagrid-row-collapse")){ _53.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); _52.next("table").hide(); } $(this).datagrid("fixRowHeight"); if(_50.onCollapseGroup){ _50.onCollapseGroup.call(this,_4f); } }); },scrollToGroup:function(jq,_54){ return jq.each(function(){ var _55=$.data(this,"datagrid"); var dc=_55.dc; var _56=dc.body2.children("div.datagrid-group[group-index=\""+_54+"\"]"); if(_56.length){ var _57=_56.outerHeight(); var _58=dc.view2.children("div.datagrid-header")._outerHeight(); var _59=dc.body2.outerHeight(true)-dc.body2.outerHeight(); var top=_56.position().top-_58-_59; if(top<0){ dc.body2.scrollTop(dc.body2.scrollTop()+top); }else{ if(top+_57>dc.body2.height()-18){ dc.body2.scrollTop(dc.body2.scrollTop()+top+_57-dc.body2.height()+18); } } } }); }}); $.extend(_18,{refreshGroupTitle:function(_5a,_5b){ var _5c=$.data(_5a,"datagrid"); var _5d=_5c.options; var dc=_5c.dc; var _5e=this.groups[_5b]; var _5f=dc.body1.add(dc.body2).children("div.datagrid-group[group-index="+_5b+"]").find("span.datagrid-group-title"); _5f.html(_5d.groupFormatter.call(_5a,_5e.value,_5e.rows)); },resizeGroup:function(_60,_61){ var _62=$.data(_60,"datagrid"); var dc=_62.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(_61==undefined){ var _63=dc.body2.children("div.datagrid-group"); }else{ var _63=dc.body2.children("div.datagrid-group[group-index="+_61+"]"); } _63._outerWidth(ww); var _64=_62.options; if(_64.frozenColumns&&_64.frozenColumns.length){ var _65=dc.view1.width()-_64.expanderWidth; var _66=dc.view1.css("direction").toLowerCase()=="rtl"; _63.find(".datagrid-group-title").css(_66?"right":"left",-_65+"px"); } if(fr.length){ if(_64.showFilterBar){ fr.show(); } } },insertRow:function(_67,_68,row){ var _69=$.data(_67,"datagrid"); var _6a=_69.options; var dc=_69.dc; var _6b=null; var _6c; if(!_69.data.rows.length){ $(_67).datagrid("loadData",[row]); return; } for(var i=0;i_6b.startIndex+_6b.rows.length){ _68=_6b.startIndex+_6b.rows.length; } } $.fn.datagrid.defaults.view.insertRow.call(this,_67,_68,row); if(_68>=_6b.startIndex+_6b.rows.length){ _6d(_68,true); _6d(_68,false); } _6b.rows.splice(_68-_6b.startIndex,0,row); }else{ _6b={value:row[_6a.groupField],rows:[row],startIndex:_69.data.rows.length}; _6c=this.groups.length; dc.body1.append(this.renderGroup.call(this,_67,_6c,_6b,true)); dc.body2.append(this.renderGroup.call(this,_67,_6c,_6b,false)); this.groups.push(_6b); _69.data.rows.push(row); } this.setGroupIndex(_67); this.refreshGroupTitle(_67,_6c); this.resizeGroup(_67); function _6d(_6e,_6f){ var _70=_6f?1:2; var _71=_6a.finder.getTr(_67,_6e-1,"body",_70); var tr=_6a.finder.getTr(_67,_6e,"body",_70); tr.insertAfter(_71); }; },updateRow:function(_72,_73,row){ var _74=$.data(_72,"datagrid").options; $.fn.datagrid.defaults.view.updateRow.call(this,_72,_73,row); var tb=_74.finder.getTr(_72,_73,"body",2).closest("table.datagrid-btable"); var _75=parseInt(tb.prev().attr("group-index")); this.refreshGroupTitle(_72,_75); },deleteRow:function(_76,_77){ var _78=$.data(_76,"datagrid"); var _79=_78.options; var dc=_78.dc; var _7a=dc.body1.add(dc.body2); var tb=_79.finder.getTr(_76,_77,"body",2).closest("table.datagrid-btable"); var _7b=parseInt(tb.prev().attr("group-index")); $.fn.datagrid.defaults.view.deleteRow.call(this,_76,_77); var _7c=this.groups[_7b]; if(_7c.rows.length>1){ _7c.rows.splice(_77-_7c.startIndex,1); this.refreshGroupTitle(_76,_7b); }else{ _7a.children("div.datagrid-group[group-index="+_7b+"]").remove(); for(var i=_7b+1;i"+""+""+"").insertAfter(_3); var t=$(_3); t.addClass("radiobutton-f").hide(); var _5=t.attr("name"); if(_5){ t.removeAttr("name").attr("radiobuttonName",_5); _4.find(".radiobutton-value").attr("name",_5); } return _4; }; function _6(_7){ var _8=$.data(_7,"radiobutton"); var _9=_8.options; var _a=_8.radiobutton; var _b="_easyui_radiobutton_"+(++_1); _a.find(".radiobutton-value").attr("id",_b); if(_9.label){ if(typeof _9.label=="object"){ _8.label=$(_9.label); _8.label.attr("for",_b); }else{ $(_8.label).remove(); _8.label=$("").html(_9.label); _8.label.css("textAlign",_9.labelAlign).attr("for",_b); if(_9.labelPosition=="after"){ _8.label.insertAfter(_a); }else{ _8.label.insertBefore(_7); } _8.label.removeClass("textbox-label-left textbox-label-right textbox-label-top"); _8.label.addClass("textbox-label-"+_9.labelPosition); } }else{ $(_8.label).remove(); } $(_7).radiobutton("setValue",_9.value); _c(_7,_9.checked); _d(_7,_9.disabled); }; function _e(_f){ var _10=$.data(_f,"radiobutton"); var _11=_10.options; var _12=_10.radiobutton; _12.unbind(".radiobutton").bind("click.radiobutton",function(){ if(!_11.disabled){ _c(_f,true); } }); }; function _13(_14){ var _15=$.data(_14,"radiobutton"); var _16=_15.options; var _17=_15.radiobutton; _17._size(_16,_17.parent()); if(_16.label&&_16.labelPosition){ if(_16.labelPosition=="top"){ _15.label._size({width:_16.labelWidth},_17); }else{ _15.label._size({width:_16.labelWidth,height:_17.outerHeight()},_17); _15.label.css("lineHeight",_17.outerHeight()+"px"); } } }; function _c(_18,_19){ if(_19){ var f=$(_18).closest("form"); var _1a=$(_18).attr("radiobuttonName"); f.find(".radiobutton-f[radiobuttonName=\""+_1a+"\"]").each(function(){ if(this!=_18){ _1b(this,false); } }); _1b(_18,true); }else{ _1b(_18,false); } function _1b(b,c){ var _1c=$(b).radiobutton("options"); var _1d=$(b).data("radiobutton").radiobutton; _1d.find(".radiobutton-inner").css("display",c?"":"none"); _1d.find(".radiobutton-value")._propAttr("checked",c); if(_1c.checked!=c){ _1c.checked=c; _1c.onChange.call($(b)[0],c); } }; }; function _d(_1e,_1f){ var _20=$.data(_1e,"radiobutton"); var _21=_20.options; var _22=_20.radiobutton; var rv=_22.find(".radiobutton-value"); _21.disabled=_1f; if(_1f){ $(_1e).add(rv)._propAttr("disabled",true); _22.addClass("radiobutton-disabled"); }else{ $(_1e).add(rv)._propAttr("disabled",false); _22.removeClass("radiobutton-disabled"); } }; $.fn.radiobutton=function(_23,_24){ if(typeof _23=="string"){ return $.fn.radiobutton.methods[_23](this,_24); } _23=_23||{}; return this.each(function(){ var _25=$.data(this,"radiobutton"); if(_25){ $.extend(_25.options,_23); }else{ _25=$.data(this,"radiobutton",{options:$.extend({},$.fn.radiobutton.defaults,$.fn.radiobutton.parseOptions(this),_23),radiobutton:_2(this)}); } _25.options.originalChecked=_25.options.checked; _6(this); _e(this); _13(this); }); }; $.fn.radiobutton.methods={options:function(jq){ var _26=jq.data("radiobutton"); return $.extend(_26.options,{value:_26.radiobutton.find(".radiobutton-value").val()}); },setValue:function(jq,_27){ return jq.each(function(){ $(this).val(_27); $.data(this,"radiobutton").radiobutton.find(".radiobutton-value").val(_27); }); },enable:function(jq){ return jq.each(function(){ _d(this,false); }); },disable:function(jq){ return jq.each(function(){ _d(this,true); }); },check:function(jq){ return jq.each(function(){ _c(this,true); }); },uncheck:function(jq){ return jq.each(function(){ _c(this,false); }); },clear:function(jq){ return jq.each(function(){ _c(this,false); }); },reset:function(jq){ return jq.each(function(){ var _28=$(this).radiobutton("options"); _c(this,_28.originalChecked); }); }}; $.fn.radiobutton.parseOptions=function(_29){ var t=$(_29); return $.extend({},$.parser.parseOptions(_29,["label","labelPosition","labelAlign",{labelWidth:"number"}]),{value:(t.val()||undefined),checked:(t.attr("checked")?true:undefined),disabled:(t.attr("disabled")?true:undefined)}); }; $.fn.radiobutton.defaults={width:20,height:20,value:null,disabled:false,checked:false,label:null,labelWidth:"auto",labelPosition:"before",labelAlign:"left",onChange:function(_2a){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.resizable.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(e){ var _2=e.data; var _3=$.data(_2.target,"resizable").options; if(_2.dir.indexOf("e")!=-1){ var _4=_2.startWidth+e.pageX-_2.startX; _4=Math.min(Math.max(_4,_3.minWidth),_3.maxWidth); _2.width=_4; } if(_2.dir.indexOf("s")!=-1){ var _5=_2.startHeight+e.pageY-_2.startY; _5=Math.min(Math.max(_5,_3.minHeight),_3.maxHeight); _2.height=_5; } if(_2.dir.indexOf("w")!=-1){ var _4=_2.startWidth-e.pageX+_2.startX; _4=Math.min(Math.max(_4,_3.minWidth),_3.maxWidth); _2.width=_4; _2.left=_2.startLeft+_2.startWidth-_2.width; } if(_2.dir.indexOf("n")!=-1){ var _5=_2.startHeight-e.pageY+_2.startY; _5=Math.min(Math.max(_5,_3.minHeight),_3.maxHeight); _2.height=_5; _2.top=_2.startTop+_2.startHeight-_2.height; } }; function _6(e){ var _7=e.data; var t=$(_7.target); t.css({left:_7.left,top:_7.top}); if(t.outerWidth()!=_7.width){ t._outerWidth(_7.width); } if(t.outerHeight()!=_7.height){ t._outerHeight(_7.height); } }; function _8(e){ $.fn.resizable.isResizing=true; $.data(e.data.target,"resizable").options.onStartResize.call(e.data.target,e); return false; }; function _9(e){ _1(e); if($.data(e.data.target,"resizable").options.onResize.call(e.data.target,e)!=false){ _6(e); } return false; }; function _a(e){ $.fn.resizable.isResizing=false; _1(e,true); _6(e); $.data(e.data.target,"resizable").options.onStopResize.call(e.data.target,e); $(document).unbind(".resizable"); $("body").css("cursor",""); return false; }; function _b(e){ var _c=$(e.data.target).resizable("options"); var tt=$(e.data.target); var _d=""; var _e=tt.offset(); var _f=tt.outerWidth(); var _10=tt.outerHeight(); var _11=_c.edge; if(e.pageY>_e.top&&e.pageY<_e.top+_11){ _d+="n"; }else{ if(e.pageY<_e.top+_10&&e.pageY>_e.top+_10-_11){ _d+="s"; } } if(e.pageX>_e.left&&e.pageX<_e.left+_11){ _d+="w"; }else{ if(e.pageX<_e.left+_f&&e.pageX>_e.left+_f-_11){ _d+="e"; } } var _12=_c.handles.split(","); _12=$.map(_12,function(h){ return $.trim(h).toLowerCase(); }); if($.inArray("all",_12)>=0||$.inArray(_d,_12)>=0){ return _d; } for(var i=0;i<_d.length;i++){ var _13=$.inArray(_d.substr(i,1),_12); if(_13>=0){ return _12[_13]; } } return ""; }; $.fn.resizable=function(_14,_15){ if(typeof _14=="string"){ return $.fn.resizable.methods[_14](this,_15); } return this.each(function(){ var _16=null; var _17=$.data(this,"resizable"); if(_17){ $(this).unbind(".resizable"); _16=$.extend(_17.options,_14||{}); }else{ _16=$.extend({},$.fn.resizable.defaults,$.fn.resizable.parseOptions(this),_14||{}); $.data(this,"resizable",{options:_16}); } if(_16.disabled==true){ return; } $(this).bind("mousemove.resizable",{target:this},function(e){ if($.fn.resizable.isResizing){ return; } var dir=_b(e); $(e.data.target).css("cursor",dir?dir+"-resize":""); }).bind("mouseleave.resizable",{target:this},function(e){ $(e.data.target).css("cursor",""); }).bind("mousedown.resizable",{target:this},function(e){ var dir=_b(e); if(dir==""){ return; } function _18(css){ var val=parseInt($(e.data.target).css(css)); if(isNaN(val)){ return 0; }else{ return val; } }; var _19={target:e.data.target,dir:dir,startLeft:_18("left"),startTop:_18("top"),left:_18("left"),top:_18("top"),startX:e.pageX,startY:e.pageY,startWidth:$(e.data.target).outerWidth(),startHeight:$(e.data.target).outerHeight(),width:$(e.data.target).outerWidth(),height:$(e.data.target).outerHeight(),deltaWidth:$(e.data.target).outerWidth()-$(e.data.target).width(),deltaHeight:$(e.data.target).outerHeight()-$(e.data.target).height()}; $(document).bind("mousedown.resizable",_19,_8); $(document).bind("mousemove.resizable",_19,_9); $(document).bind("mouseup.resizable",_19,_a); $("body").css("cursor",dir+"-resize"); }); }); }; $.fn.resizable.methods={options:function(jq){ return $.data(jq[0],"resizable").options; },enable:function(jq){ return jq.each(function(){ $(this).resizable({disabled:false}); }); },disable:function(jq){ return jq.each(function(){ $(this).resizable({disabled:true}); }); }}; $.fn.resizable.parseOptions=function(_1a){ var t=$(_1a); return $.extend({},$.parser.parseOptions(_1a,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); }; $.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){ },onResize:function(e){ },onStopResize:function(e){ }}; $.fn.resizable.isResizing=false; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.searchbox.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"searchbox"); var _4=_3.options; var _5=$.extend(true,[],_4.icons); _5.push({iconCls:"searchbox-button",handler:function(e){ var t=$(e.data.target); var _6=t.searchbox("options"); _6.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); }}); _7(); var _8=_9(); $(_2).addClass("searchbox-f").textbox($.extend({},_4,{icons:_5,buttonText:(_8?_8.text:"")})); $(_2).attr("searchboxName",$(_2).attr("textboxName")); _3.searchbox=$(_2).next(); _3.searchbox.addClass("searchbox"); _a(_8); function _7(){ if(_4.menu){ _3.menu=$(_4.menu).menu(); var _b=_3.menu.menu("options"); var _c=_b.onClick; _b.onClick=function(_d){ _a(_d); _c.call(this,_d); }; }else{ if(_3.menu){ _3.menu.menu("destroy"); } _3.menu=null; } }; function _9(){ if(_3.menu){ var _e=_3.menu.children("div.menu-item:first"); _3.menu.children("div.menu-item").each(function(){ var _f=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); if(_f.selected){ _e=$(this); return false; } }); return _3.menu.menu("getItem",_e[0]); }else{ return null; } }; function _a(_10){ if(!_10){ return; } $(_2).textbox("button").menubutton({text:_10.text,iconCls:(_10.iconCls||null),menu:_3.menu,menuAlign:_4.buttonAlign,plain:false}); _3.searchbox.find("input.textbox-value").attr("name",_10.name||_10.text); $(_2).searchbox("resize"); }; }; $.fn.searchbox=function(_11,_12){ if(typeof _11=="string"){ var _13=$.fn.searchbox.methods[_11]; if(_13){ return _13(this,_12); }else{ return this.textbox(_11,_12); } } _11=_11||{}; return this.each(function(){ var _14=$.data(this,"searchbox"); if(_14){ $.extend(_14.options,_11); }else{ $.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_11)}); } _1(this); }); }; $.fn.searchbox.methods={options:function(jq){ var _15=jq.textbox("options"); return $.extend($.data(jq[0],"searchbox").options,{width:_15.width,value:_15.value,originalValue:_15.originalValue,disabled:_15.disabled,readonly:_15.readonly}); },menu:function(jq){ return $.data(jq[0],"searchbox").menu; },getName:function(jq){ return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name"); },selectName:function(jq,_16){ return jq.each(function(){ var _17=$.data(this,"searchbox").menu; if(_17){ _17.children("div.menu-item").each(function(){ var _18=_17.menu("getItem",this); if(_18.name==_16){ $(this).trigger("click"); return false; } }); } }); },destroy:function(jq){ return jq.each(function(){ var _19=$(this).searchbox("menu"); if(_19){ _19.menu("destroy"); } $(this).textbox("destroy"); }); }}; $.fn.searchbox.parseOptions=function(_1a){ var t=$(_1a); return $.extend({},$.fn.textbox.parseOptions(_1a),$.parser.parseOptions(_1a,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)}); }; $.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){ if(e.keyCode==13){ e.preventDefault(); var t=$(e.data.target); var _1b=t.searchbox("options"); t.searchbox("setValue",$(this).val()); _1b.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); return false; } }}),buttonAlign:"left",menu:null,searcher:function(_1c,_1d){ }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.sidemenu.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ var _1=1; function _2(_3){ $(_3).addClass("sidemenu"); }; function _4(_5,_6){ var _7=$(_5).sidemenu("options"); if(_6){ $.extend(_7,{width:_6.width,height:_6.height}); } $(_5)._size(_7); $(_5).find(".accordion").accordion("resize"); }; function _8(_9,_a,_b){ var _c=$(_9).sidemenu("options"); var tt=$("
      ").appendTo(_a); tt.tree({data:_b,animate:_c.animate,onBeforeSelect:function(_d){ if(_d.children){ return false; } },onSelect:function(_e){ _12(_9,_e.id,true); },onExpand:function(_f){ _25(_9,_f); },onCollapse:function(_10){ _25(_9,_10); },onClick:function(_11){ if(_11.children){ if(_11.state=="open"){ $(_11.target).addClass("tree-node-nonleaf-collapsed"); }else{ $(_11.target).removeClass("tree-node-nonleaf-collapsed"); } $(this).tree("toggle",_11.target); } }}); tt.unbind(".sidemenu").bind("mouseleave.sidemenu",function(){ $(_a).trigger("mouseleave"); }); _12(_9,_c.selectedItemId); }; function _13(_14,_15,_16){ var _17=$(_14).sidemenu("options"); $(_15).tooltip({content:$("
      "),position:_17.floatMenuPosition,valign:"top",data:_16,onUpdate:function(_18){ var _19=$(this).tooltip("options"); var _1a=_19.data; _18.accordion({width:_17.floatMenuWidth,multiple:false}).accordion("add",{title:_1a.text,collapsed:false,collapsible:false}); _8(_14,_18.accordion("panels")[0],_1a.children); },onShow:function(){ var t=$(this); var tip=t.tooltip("tip").addClass("sidemenu-tooltip"); tip.children(".tooltip-content").addClass("sidemenu"); tip.find(".accordion").accordion("resize"); tip.add(tip.find("ul.tree")).unbind(".sidemenu").bind("mouseover.sidemenu",function(){ t.tooltip("show"); }).bind("mouseleave.sidemenu",function(){ t.tooltip("hide"); }); t.tooltip("reposition"); },onPosition:function(_1b,top){ var tip=$(this).tooltip("tip"); if(!_17.collapsed){ tip.css({left:-999999}); }else{ if(top+tip.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ top=$(window)._outerHeight()+$(document).scrollTop()-tip.outerHeight(); tip.css("top",top); } } }}); }; function _1c(_1d,_1e){ $(_1d).find(".sidemenu-tree").each(function(){ _1e($(this)); }); $(_1d).find(".tooltip-f").each(function(){ var tip=$(this).tooltip("tip"); if(tip){ tip.find(".sidemenu-tree").each(function(){ _1e($(this)); }); $(this).tooltip("reposition"); } }); }; function _12(_1f,_20,_21){ var _22=null; var _23=$(_1f).sidemenu("options"); _1c(_1f,function(t){ t.find("div.tree-node-selected").removeClass("tree-node-selected"); var _24=t.tree("find",_20); if(_24){ $(_24.target).addClass("tree-node-selected"); _23.selectedItemId=_24.id; t.trigger("mouseleave.sidemenu"); _22=_24; } }); if(_21&&_22){ _23.onSelect.call(_1f,_22); } }; function _25(_26,_27){ _1c(_26,function(t){ var _28=t.tree("find",_27.id); if(_28){ var _29=t.tree("options"); var _2a=_29.animate; _29.animate=false; t.tree(_27.state=="open"?"expand":"collapse",_28.target); _29.animate=_2a; } }); }; function _2b(_2c){ var _2d=$(_2c).sidemenu("options"); $(_2c).empty(); if(_2d.data){ $.easyui.forEach(_2d.data,true,function(_2e){ if(!_2e.id){ _2e.id="_easyui_sidemenu_"+(_1++); } if(!_2e.iconCls){ _2e.iconCls="sidemenu-default-icon"; } if(_2e.children){ _2e.nodeCls="tree-node-nonleaf"; if(!_2e.state){ _2e.state="closed"; } if(_2e.state=="open"){ _2e.nodeCls="tree-node-nonleaf"; }else{ _2e.nodeCls="tree-node-nonleaf tree-node-nonleaf-collapsed"; } } }); var acc=$("
      ").appendTo(_2c); acc.accordion({fit:_2d.height=="auto"?false:true,border:_2d.border,multiple:_2d.multiple}); var _2f=_2d.data; for(var i=0;i<_2f.length;i++){ acc.accordion("add",{title:_2f[i].text,selected:_2f[i].state=="open",iconCls:_2f[i].iconCls,onBeforeExpand:function(){ return !_2d.collapsed; }}); var ap=acc.accordion("panels")[i]; _8(_2c,ap,_2f[i].children); _13(_2c,ap.panel("header"),_2f[i]); } } }; function _30(_31,_32){ var _33=$(_31).sidemenu("options"); _33.collapsed=_32; var acc=$(_31).find(".accordion"); var _34=acc.accordion("panels"); acc.accordion("options").animate=false; if(_33.collapsed){ $(_31).addClass("sidemenu-collapsed"); for(var i=0;i<_34.length;i++){ var _35=_34[i]; if(_35.panel("options").collapsed){ _33.data[i].state="closed"; }else{ _33.data[i].state="open"; acc.accordion("unselect",i); } var _36=_35.panel("header"); _36.find(".panel-title").html(""); _36.find(".panel-tool").hide(); } }else{ $(_31).removeClass("sidemenu-collapsed"); for(var i=0;i<_34.length;i++){ var _35=_34[i]; if(_33.data[i].state=="open"){ acc.accordion("select",i); } var _36=_35.panel("header"); _36.find(".panel-title").html(_35.panel("options").title); _36.find(".panel-tool").show(); } } acc.accordion("options").animate=_33.animate; }; function _37(_38){ $(_38).find(".tooltip-f").each(function(){ $(this).tooltip("destroy"); }); $(_38).remove(); }; $.fn.sidemenu=function(_39,_3a){ if(typeof _39=="string"){ var _3b=$.fn.sidemenu.methods[_39]; return _3b(this,_3a); } _39=_39||{}; return this.each(function(){ var _3c=$.data(this,"sidemenu"); if(_3c){ $.extend(_3c.options,_39); }else{ _3c=$.data(this,"sidemenu",{options:$.extend({},$.fn.sidemenu.defaults,$.fn.sidemenu.parseOptions(this),_39)}); _2(this); } _4(this); _2b(this); _30(this,_3c.options.collapsed); }); }; $.fn.sidemenu.methods={options:function(jq){ return jq.data("sidemenu").options; },resize:function(jq,_3d){ return jq.each(function(){ _4(this,_3d); }); },collapse:function(jq){ return jq.each(function(){ _30(this,true); }); },expand:function(jq){ return jq.each(function(){ _30(this,false); }); },destroy:function(jq){ return jq.each(function(){ _37(this); }); }}; $.fn.sidemenu.parseOptions=function(_3e){ var t=$(_3e); return $.extend({},$.parser.parseOptions(_3e,["width","height"])); }; $.fn.sidemenu.defaults={width:200,height:"auto",border:true,animate:true,multiple:true,collapsed:false,data:null,floatMenuWidth:200,floatMenuPosition:"right",onSelect:function(_3f){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.slider.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$("
      "+"
      "+""+""+"
      "+"
      "+"
      "+"
      "+""+"
      ").insertAfter(_2); var t=$(_2); t.addClass("slider-f").hide(); var _4=t.attr("name"); if(_4){ _3.find("input.slider-value").attr("name",_4); t.removeAttr("name").attr("sliderName",_4); } _3.bind("_resize",function(e,_5){ if($(this).hasClass("easyui-fluid")||_5){ _6(_2); } return false; }); return _3; }; function _6(_7,_8){ var _9=$.data(_7,"slider"); var _a=_9.options; var _b=_9.slider; if(_8){ if(_8.width){ _a.width=_8.width; } if(_8.height){ _a.height=_8.height; } } _b._size(_a); if(_a.mode=="h"){ _b.css("height",""); _b.children("div").css("height",""); }else{ _b.css("width",""); _b.children("div").css("width",""); _b.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_b._outerHeight()); } _c(_7); }; function _d(_e){ var _f=$.data(_e,"slider"); var _10=_f.options; var _11=_f.slider; var aa=_10.mode=="h"?_10.rule:_10.rule.slice(0).reverse(); if(_10.reversed){ aa=aa.slice(0).reverse(); } _12(aa); function _12(aa){ var _13=_11.find("div.slider-rule"); var _14=_11.find("div.slider-rulelabel"); _13.empty(); _14.empty(); for(var i=0;i").appendTo(_13); _16.css((_10.mode=="h"?"left":"top"),_15); if(aa[i]!="|"){ _16=$("").appendTo(_14); _16.html(aa[i]); if(_10.mode=="h"){ _16.css({left:_15,marginLeft:-Math.round(_16.outerWidth()/2)}); }else{ _16.css({top:_15,marginTop:-Math.round(_16.outerHeight()/2)}); } } } }; }; function _17(_18){ var _19=$.data(_18,"slider"); var _1a=_19.options; var _1b=_19.slider; _1b.removeClass("slider-h slider-v slider-disabled"); _1b.addClass(_1a.mode=="h"?"slider-h":"slider-v"); _1b.addClass(_1a.disabled?"slider-disabled":""); var _1c=_1b.find(".slider-inner"); _1c.html(""+""); if(_1a.range){ _1c.append(""+""); } _1b.find("a.slider-handle").draggable({axis:_1a.mode,cursor:"pointer",disabled:_1a.disabled,onDrag:function(e){ var _1d=e.data.left; var _1e=_1b.width(); if(_1a.mode!="h"){ _1d=e.data.top; _1e=_1b.height(); } if(_1d<0||_1d>_1e){ return false; }else{ _1f(_1d,this); return false; } },onStartDrag:function(){ _19.isDragging=true; _1a.onSlideStart.call(_18,_1a.value); },onStopDrag:function(e){ _1f(_1a.mode=="h"?e.data.left:e.data.top,this); _1a.onSlideEnd.call(_18,_1a.value); _1a.onComplete.call(_18,_1a.value); _19.isDragging=false; }}); _1b.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ if(_19.isDragging||_1a.disabled){ return; } var pos=$(this).offset(); _1f(_1a.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top)); _1a.onComplete.call(_18,_1a.value); }); function _20(_21){ var dd=String(_1a.step).split("."); var _22=dd.length>1?dd[1].length:0; return parseFloat(_21.toFixed(_22)); }; function _1f(pos,_23){ var _24=_25(_18,pos); var s=Math.abs(_24%_1a.step); if(s<_1a.step/2){ _24-=s; }else{ _24=_24-s+_1a.step; } _24=_20(_24); if(_1a.range){ var v1=_1a.value[0]; var v2=_1a.value[1]; var m=parseFloat((v1+v2)/2); if(_23){ var _26=$(_23).nextAll(".slider-handle").length>0; if(_24<=v2&&_26){ v1=_24; }else{ if(_24>=v1&&(!_26)){ v2=_24; } } }else{ if(_24v2){ v2=_24; }else{ _24_2b.max){ _30=_2b.max; } var _31=$("").appendTo(_2c); _31.attr("name",_2f); _31.val(_30); _2e.push(_30); var _32=_2c.find(".slider-handle:eq("+i+")"); var tip=_32.next(); var pos=_33(_28,_30); if(_2b.showTip){ tip.show(); tip.html(_2b.tipFormatter.call(_28,_30)); }else{ tip.hide(); } if(_2b.mode=="h"){ var _34="left:"+pos+"px;"; _32.attr("style",_34); tip.attr("style",_34+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); }else{ var _34="top:"+pos+"px;"; _32.attr("style",_34); tip.attr("style",_34+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); } } _2b.value=_2b.range?_2e:_2e[0]; $(_28).val(_2b.range?_2e.join(_2b.separator):_2e[0]); if(_2d.join(",")!=_2e.join(",")){ _2b.onChange.call(_28,_2b.value,(_2b.range?_2d:_2d[0])); } }; function _c(_35){ var _36=$.data(_35,"slider").options; var fn=_36.onChange; _36.onChange=function(){ }; _27(_35,_36.value); _36.onChange=fn; }; function _33(_37,_38){ var _39=$.data(_37,"slider"); var _3a=_39.options; var _3b=_39.slider; var _3c=_3a.mode=="h"?_3b.width():_3b.height(); var pos=_3a.converter.toPosition.call(_37,_38,_3c); if(_3a.mode=="v"){ pos=_3b.height()-pos; } if(_3a.reversed){ pos=_3c-pos; } return pos; }; function _25(_3d,pos){ var _3e=$.data(_3d,"slider"); var _3f=_3e.options; var _40=_3e.slider; var _41=_3f.mode=="h"?_40.width():_40.height(); var pos=_3f.mode=="h"?(_3f.reversed?(_41-pos):pos):(_3f.reversed?pos:(_41-pos)); var _42=_3f.converter.toValue.call(_3d,pos,_41); return _42; }; $.fn.slider=function(_43,_44){ if(typeof _43=="string"){ return $.fn.slider.methods[_43](this,_44); } _43=_43||{}; return this.each(function(){ var _45=$.data(this,"slider"); if(_45){ $.extend(_45.options,_43); }else{ _45=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_43),slider:_1(this)}); $(this)._propAttr("disabled",false); } var _46=_45.options; _46.min=parseFloat(_46.min); _46.max=parseFloat(_46.max); if(_46.range){ if(!$.isArray(_46.value)){ _46.value=$.map(String(_46.value).split(_46.separator),function(v){ return parseFloat(v); }); } if(_46.value.length<2){ _46.value.push(_46.max); } }else{ _46.value=parseFloat(_46.value); } _46.step=parseFloat(_46.step); _46.originalValue=_46.value; _17(this); _d(this); _6(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,_47){ return jq.each(function(){ _6(this,_47); }); },getValue:function(jq){ return jq.slider("options").value; },getValues:function(jq){ return jq.slider("options").value; },setValue:function(jq,_48){ return jq.each(function(){ _27(this,[_48]); }); },setValues:function(jq,_49){ return jq.each(function(){ _27(this,_49); }); },clear:function(jq){ return jq.each(function(){ var _4a=$(this).slider("options"); _27(this,_4a.range?[_4a.min,_4a.max]:[_4a.min]); }); },reset:function(jq){ return jq.each(function(){ var _4b=$(this).slider("options"); $(this).slider(_4b.range?"setValues":"setValue",_4b.originalValue); }); },enable:function(jq){ return jq.each(function(){ $.data(this,"slider").options.disabled=false; _17(this); }); },disable:function(jq){ return jq.each(function(){ $.data(this,"slider").options.disabled=true; _17(this); }); }}; $.fn.slider.parseOptions=function(_4c){ var t=$(_4c); return $.extend({},$.parser.parseOptions(_4c,["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(_4d){ return _4d; },converter:{toPosition:function(_4e,_4f){ var _50=$(this).slider("options"); var p=(_4e-_50.min)/(_50.max-_50.min)*_4f; return p; },toValue:function(pos,_51){ var _52=$(this).slider("options"); var v=_52.min+(_52.max-_52.min)*(pos/_51); return v; }},onChange:function(_53,_54){ },onSlideStart:function(_55){ },onSlideEnd:function(_56){ },onComplete:function(_57){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.spinner.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"spinner"); var _4=_3.options; var _5=$.extend(true,[],_4.icons); if(_4.spinAlign=="left"||_4.spinAlign=="right"){ _4.spinArrow=true; _4.iconAlign=_4.spinAlign; var _6={iconCls:"spinner-button-updown",handler:function(e){ var _7=$(e.target).closest(".spinner-arrow-up,.spinner-arrow-down"); _13(e.data.target,_7.hasClass("spinner-arrow-down")); }}; if(_4.spinAlign=="left"){ _5.unshift(_6); }else{ _5.push(_6); } }else{ _4.spinArrow=false; if(_4.spinAlign=="vertical"){ if(_4.buttonAlign!="top"){ _4.buttonAlign="bottom"; } _4.clsLeft="textbox-button-bottom"; _4.clsRight="textbox-button-top"; }else{ _4.clsLeft="textbox-button-left"; _4.clsRight="textbox-button-right"; } } $(_2).addClass("spinner-f").textbox($.extend({},_4,{icons:_5,doSize:false,onResize:function(_8,_9){ if(!_4.spinArrow){ var _a=$(this).next(); var _b=_a.find(".textbox-button:not(.spinner-button)"); if(_b.length){ var _c=_b.outerWidth(); var _d=_b.outerHeight(); var _e=_a.find(".spinner-button."+_4.clsLeft); var _f=_a.find(".spinner-button."+_4.clsRight); if(_4.buttonAlign=="right"){ _f.css("marginRight",_c+"px"); }else{ if(_4.buttonAlign=="left"){ _e.css("marginLeft",_c+"px"); }else{ if(_4.buttonAlign=="top"){ _f.css("marginTop",_d+"px"); }else{ _e.css("marginBottom",_d+"px"); } } } } } _4.onResize.call(this,_8,_9); }})); $(_2).attr("spinnerName",$(_2).attr("textboxName")); _3.spinner=$(_2).next(); _3.spinner.addClass("spinner"); if(_4.spinArrow){ var _10=_3.spinner.find(".spinner-button-updown"); _10.append(""+""+""+""+""+""); }else{ var _11=$("").addClass(_4.clsLeft).appendTo(_3.spinner); var _12=$("").addClass(_4.clsRight).appendTo(_3.spinner); _11.linkbutton({iconCls:_4.reversed?"spinner-button-up":"spinner-button-down",onClick:function(){ _13(_2,!_4.reversed); }}); _12.linkbutton({iconCls:_4.reversed?"spinner-button-down":"spinner-button-up",onClick:function(){ _13(_2,_4.reversed); }}); if(_4.disabled){ $(_2).spinner("disable"); } if(_4.readonly){ $(_2).spinner("readonly"); } } $(_2).spinner("resize"); }; function _13(_14,_15){ var _16=$(_14).spinner("options"); _16.spin.call(_14,_15); _16[_15?"onSpinDown":"onSpinUp"].call(_14); $(_14).spinner("validate"); }; $.fn.spinner=function(_17,_18){ if(typeof _17=="string"){ var _19=$.fn.spinner.methods[_17]; if(_19){ return _19(this,_18); }else{ return this.textbox(_17,_18); } } _17=_17||{}; return this.each(function(){ var _1a=$.data(this,"spinner"); if(_1a){ $.extend(_1a.options,_17); }else{ _1a=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_17)}); } _1(this); }); }; $.fn.spinner.methods={options:function(jq){ var _1b=jq.textbox("options"); return $.extend($.data(jq[0],"spinner").options,{width:_1b.width,value:_1b.value,originalValue:_1b.originalValue,disabled:_1b.disabled,readonly:_1b.readonly}); }}; $.fn.spinner.parseOptions=function(_1c){ return $.extend({},$.fn.textbox.parseOptions(_1c),$.parser.parseOptions(_1c,["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(_1d){ },onSpinUp:function(){ },onSpinDown:function(){ }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.splitbutton.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"splitbutton").options; $(_2).menubutton(_3); $(_2).addClass("s-btn"); }; $.fn.splitbutton=function(_4,_5){ if(typeof _4=="string"){ var _6=$.fn.splitbutton.methods[_4]; if(_6){ return _6(this,_5); }else{ return this.menubutton(_4,_5); } } _4=_4||{}; return this.each(function(){ var _7=$.data(this,"splitbutton"); if(_7){ $.extend(_7.options,_4); }else{ $.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_4)}); $(this)._propAttr("disabled",false); } _1(this); }); }; $.fn.splitbutton.methods={options:function(jq){ var _8=jq.menubutton("options"); var _9=$.data(jq[0],"splitbutton").options; $.extend(_9,{disabled:_8.disabled,toggle:_8.toggle,selected:_8.selected}); return _9; }}; $.fn.splitbutton.parseOptions=function(_a){ var t=$(_a); return $.extend({},$.fn.linkbutton.parseOptions(_a),$.parser.parseOptions(_a,["menu",{plain:"boolean",duration:"number"}])); }; $.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.switchbutton.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$(""+""+""+""+""+""+""+"").insertAfter(_2); var t=$(_2); t.addClass("switchbutton-f").hide(); var _4=t.attr("name"); if(_4){ t.removeAttr("name").attr("switchbuttonName",_4); _3.find(".switchbutton-value").attr("name",_4); } _3.bind("_resize",function(e,_5){ if($(this).hasClass("easyui-fluid")||_5){ _6(_2); } return false; }); return _3; }; function _6(_7,_8){ var _9=$.data(_7,"switchbutton"); var _a=_9.options; var _b=_9.switchbutton; if(_8){ $.extend(_a,_8); } var _c=_b.is(":visible"); if(!_c){ _b.appendTo("body"); } _b._size(_a); var w=_b.width(); var h=_b.height(); var w=_b.outerWidth(); var h=_b.outerHeight(); var _d=parseInt(_a.handleWidth)||_b.height(); var _e=w*2-_d; _b.find(".switchbutton-inner").css({width:_e+"px",height:h+"px",lineHeight:h+"px"}); _b.find(".switchbutton-handle")._outerWidth(_d)._outerHeight(h).css({marginLeft:-_d/2+"px"}); _b.find(".switchbutton-on").css({width:(w-_d/2)+"px",textIndent:(_a.reversed?"":"-")+_d/2+"px"}); _b.find(".switchbutton-off").css({width:(w-_d/2)+"px",textIndent:(_a.reversed?"-":"")+_d/2+"px"}); _a.marginWidth=w-_d; _f(_7,_a.checked,false); if(!_c){ _b.insertAfter(_7); } }; function _10(_11){ var _12=$.data(_11,"switchbutton"); var _13=_12.options; var _14=_12.switchbutton; var _15=_14.find(".switchbutton-inner"); var on=_15.find(".switchbutton-on").html(_13.onText); var off=_15.find(".switchbutton-off").html(_13.offText); var _16=_15.find(".switchbutton-handle").html(_13.handleText); if(_13.reversed){ off.prependTo(_15); on.insertAfter(_16); }else{ on.prependTo(_15); off.insertAfter(_16); } _14.find(".switchbutton-value")._propAttr("checked",_13.checked); _14.removeClass("switchbutton-disabled").addClass(_13.disabled?"switchbutton-disabled":""); _14.removeClass("switchbutton-reversed").addClass(_13.reversed?"switchbutton-reversed":""); _f(_11,_13.checked); _17(_11,_13.readonly); $(_11).switchbutton("setValue",_13.value); }; function _f(_18,_19,_1a){ var _1b=$.data(_18,"switchbutton"); var _1c=_1b.options; _1c.checked=_19; var _1d=_1b.switchbutton.find(".switchbutton-inner"); var _1e=_1d.find(".switchbutton-on"); var _1f=_1c.reversed?(_1c.checked?_1c.marginWidth:0):(_1c.checked?0:_1c.marginWidth); var dir=_1e.css("float").toLowerCase(); var css={}; css["margin-"+dir]=-_1f+"px"; _1a?_1d.animate(css,200):_1d.css(css); var _20=_1d.find(".switchbutton-value"); var ck=_20.is(":checked"); $(_18).add(_20)._propAttr("checked",_1c.checked); if(ck!=_1c.checked){ _1c.onChange.call(_18,_1c.checked); } }; function _21(_22,_23){ var _24=$.data(_22,"switchbutton"); var _25=_24.options; var _26=_24.switchbutton; var _27=_26.find(".switchbutton-value"); if(_23){ _25.disabled=true; $(_22).add(_27)._propAttr("disabled",true); _26.addClass("switchbutton-disabled"); }else{ _25.disabled=false; $(_22).add(_27)._propAttr("disabled",false); _26.removeClass("switchbutton-disabled"); } }; function _17(_28,_29){ var _2a=$.data(_28,"switchbutton"); var _2b=_2a.options; _2b.readonly=_29==undefined?true:_29; _2a.switchbutton.removeClass("switchbutton-readonly").addClass(_2b.readonly?"switchbutton-readonly":""); }; function _2c(_2d){ var _2e=$.data(_2d,"switchbutton"); var _2f=_2e.options; _2e.switchbutton.unbind(".switchbutton").bind("click.switchbutton",function(){ if(!_2f.disabled&&!_2f.readonly){ _f(_2d,_2f.checked?false:true,true); } }); }; $.fn.switchbutton=function(_30,_31){ if(typeof _30=="string"){ return $.fn.switchbutton.methods[_30](this,_31); } _30=_30||{}; return this.each(function(){ var _32=$.data(this,"switchbutton"); if(_32){ $.extend(_32.options,_30); }else{ _32=$.data(this,"switchbutton",{options:$.extend({},$.fn.switchbutton.defaults,$.fn.switchbutton.parseOptions(this),_30),switchbutton:_1(this)}); } _32.options.originalChecked=_32.options.checked; _10(this); _6(this); _2c(this); }); }; $.fn.switchbutton.methods={options:function(jq){ var _33=jq.data("switchbutton"); return $.extend(_33.options,{value:_33.switchbutton.find(".switchbutton-value").val()}); },resize:function(jq,_34){ return jq.each(function(){ _6(this,_34); }); },enable:function(jq){ return jq.each(function(){ _21(this,false); }); },disable:function(jq){ return jq.each(function(){ _21(this,true); }); },readonly:function(jq,_35){ return jq.each(function(){ _17(this,_35); }); },check:function(jq){ return jq.each(function(){ _f(this,true); }); },uncheck:function(jq){ return jq.each(function(){ _f(this,false); }); },clear:function(jq){ return jq.each(function(){ _f(this,false); }); },reset:function(jq){ return jq.each(function(){ var _36=$(this).switchbutton("options"); _f(this,_36.originalChecked); }); },setValue:function(jq,_37){ return jq.each(function(){ $(this).val(_37); $.data(this,"switchbutton").switchbutton.find(".switchbutton-value").val(_37); }); }}; $.fn.switchbutton.parseOptions=function(_38){ var t=$(_38); return $.extend({},$.parser.parseOptions(_38,["onText","offText","handleText",{handleWidth:"number",reversed:"boolean"}]),{value:(t.val()||undefined),checked:(t.attr("checked")?true:undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)}); }; $.fn.switchbutton.defaults={handleWidth:"auto",width:60,height:30,checked:false,disabled:false,readonly:false,reversed:false,onText:"ON",offText:"OFF",handleText:"",value:"on",onChange:function(_39){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.tabs.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(c){ var w=0; $(c).children().each(function(){ w+=$(this).outerWidth(true); }); return w; }; function _2(_3){ var _4=$.data(_3,"tabs").options; if(!_4.showHeader){ return; } var _5=$(_3).children("div.tabs-header"); var _6=_5.children("div.tabs-tool:not(.tabs-tool-hidden)"); var _7=_5.children("div.tabs-scroller-left"); var _8=_5.children("div.tabs-scroller-right"); var _9=_5.children("div.tabs-wrap"); if(_4.tabPosition=="left"||_4.tabPosition=="right"){ if(!_6.length){ return; } _6._outerWidth(_5.width()); var _a={left:_4.tabPosition=="left"?"auto":0,right:_4.tabPosition=="left"?0:"auto",top:_4.toolPosition=="top"?0:"auto",bottom:_4.toolPosition=="top"?"auto":0}; var _b={marginTop:_4.toolPosition=="top"?_6.outerHeight():0}; _6.css(_a); _9.css(_b); return; } var _c=_5.outerHeight(); if(_4.plain){ _c-=_c-_5.height(); } _6._outerHeight(_c); var _d=_1(_5.find("ul.tabs")); var _e=_5.width()-_6._outerWidth(); if(_d>_e){ _7.add(_8).show()._outerHeight(_c); if(_4.toolPosition=="left"){ _6.css({left:_7.outerWidth(),right:""}); _9.css({marginLeft:_7.outerWidth()+_6._outerWidth(),marginRight:_8._outerWidth(),width:_e-_7.outerWidth()-_8.outerWidth()}); }else{ _6.css({left:"",right:_8.outerWidth()}); _9.css({marginLeft:_7.outerWidth(),marginRight:_8.outerWidth()+_6._outerWidth(),width:_e-_7.outerWidth()-_8.outerWidth()}); } }else{ _7.add(_8).hide(); if(_4.toolPosition=="left"){ _6.css({left:0,right:""}); _9.css({marginLeft:_6._outerWidth(),marginRight:0,width:_e}); }else{ _6.css({left:"",right:0}); _9.css({marginLeft:0,marginRight:_6._outerWidth(),width:_e}); } } }; function _f(_10){ var _11=$.data(_10,"tabs").options; var _12=$(_10).children("div.tabs-header"); if(_11.tools){ if(typeof _11.tools=="string"){ $(_11.tools).addClass("tabs-tool").appendTo(_12); $(_11.tools).show(); }else{ _12.children("div.tabs-tool").remove(); var _13=$("
      ").appendTo(_12); var tr=_13.find("tr"); for(var i=0;i<_11.tools.length;i++){ var td=$("").appendTo(tr); var _14=$("").appendTo(td); _14[0].onclick=eval(_11.tools[i].handler||function(){ }); _14.linkbutton($.extend({},_11.tools[i],{plain:true})); } } }else{ _12.children("div.tabs-tool").remove(); } }; function _15(_16,_17){ var _18=$.data(_16,"tabs"); var _19=_18.options; var cc=$(_16); if(!_19.doSize){ return; } if(_17){ $.extend(_19,{width:_17.width,height:_17.height}); } cc._size(_19); var _1a=cc.children("div.tabs-header"); var _1b=cc.children("div.tabs-panels"); var _1c=_1a.find("div.tabs-wrap"); var ul=_1c.find(".tabs"); ul.children("li").removeClass("tabs-first tabs-last"); ul.children("li:first").addClass("tabs-first"); ul.children("li:last").addClass("tabs-last"); if(_19.tabPosition=="left"||_19.tabPosition=="right"){ _1a._outerWidth(_19.showHeader?_19.headerWidth:0); _1b._outerWidth(cc.width()-_1a.outerWidth()); _1a.add(_1b)._size("height",isNaN(parseInt(_19.height))?"":cc.height()); _1c._outerWidth(_1a.width()); ul._outerWidth(_1c.width()).css("height",""); }else{ _1a.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool:not(.tabs-tool-hidden)").css("display",_19.showHeader?"block":"none"); _1a._outerWidth(cc.width()).css("height",""); if(_19.showHeader){ _1a.css("background-color",""); _1c.css("height",""); }else{ _1a.css("background-color","transparent"); _1a._outerHeight(0); _1c._outerHeight(0); } ul._outerHeight(_19.tabHeight).css("width",""); ul._outerHeight(ul.outerHeight()-ul.height()-1+_19.tabHeight).css("width",""); _1b._size("height",isNaN(parseInt(_19.height))?"":(cc.height()-_1a.outerHeight())); _1b._size("width",cc.width()); } if(_18.tabs.length){ var d1=ul.outerWidth(true)-ul.width(); var li=ul.children("li:first"); var d2=li.outerWidth(true)-li.width(); var _1d=_1a.width()-_1a.children(".tabs-tool:not(.tabs-tool-hidden)")._outerWidth(); var _1e=Math.floor((_1d-d1-d2*_18.tabs.length)/_18.tabs.length); $.map(_18.tabs,function(p){ _1f(p,(_19.justified&&$.inArray(_19.tabPosition,["top","bottom"])>=0)?_1e:undefined); }); if(_19.justified&&$.inArray(_19.tabPosition,["top","bottom"])>=0){ var _20=_1d-d1-_1(ul); _1f(_18.tabs[_18.tabs.length-1],_1e+_20); } } _2(_16); function _1f(p,_21){ var _22=p.panel("options"); var p_t=_22.tab.find("a.tabs-inner"); var _21=_21?_21:(parseInt(_22.tabWidth||_19.tabWidth||undefined)); if(_21){ p_t._outerWidth(_21); }else{ p_t.css("width",""); } p_t._outerHeight(_19.tabHeight); p_t.css("lineHeight",p_t.height()+"px"); p_t.find(".easyui-fluid:visible").triggerHandler("_resize"); }; }; function _23(_24){ var _25=$.data(_24,"tabs").options; var tab=_26(_24); if(tab){ var _27=$(_24).children("div.tabs-panels"); var _28=_25.width=="auto"?"auto":_27.width(); var _29=_25.height=="auto"?"auto":_27.height(); tab.panel("resize",{width:_28,height:_29}); } }; function _2a(_2b){ var _2c=$.data(_2b,"tabs").tabs; var cc=$(_2b).addClass("tabs-container"); var _2d=$("
      ").insertBefore(cc); cc.children("div").each(function(){ _2d[0].appendChild(this); }); cc[0].appendChild(_2d[0]); $("
      "+"
      "+"
      "+"
      "+"
        "+"
        "+"
        ").prependTo(_2b); cc.children("div.tabs-panels").children("div").each(function(i){ var _2e=$.extend({},$.parser.parseOptions(this),{disabled:($(this).attr("disabled")?true:undefined),selected:($(this).attr("selected")?true:undefined)}); _3e(_2b,_2e,$(this)); }); cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){ $(this).addClass("tabs-scroller-over"); },function(){ $(this).removeClass("tabs-scroller-over"); }); cc.bind("_resize",function(e,_2f){ if($(this).hasClass("easyui-fluid")||_2f){ _15(_2b); _23(_2b); } return false; }); }; function _30(_31){ var _32=$.data(_31,"tabs"); var _33=_32.options; $(_31).children("div.tabs-header").unbind().bind("click",function(e){ if($(e.target).hasClass("tabs-scroller-left")){ $(_31).tabs("scrollBy",-_33.scrollIncrement); }else{ if($(e.target).hasClass("tabs-scroller-right")){ $(_31).tabs("scrollBy",_33.scrollIncrement); }else{ var li=$(e.target).closest("li"); if(li.hasClass("tabs-disabled")){ return false; } var a=$(e.target).closest("a.tabs-close"); if(a.length){ _5d(_31,_34(li)); }else{ if(li.length){ var _35=_34(li); var _36=_32.tabs[_35].panel("options"); if(_36.collapsible){ _36.closed?_53(_31,_35):_7b(_31,_35); }else{ _53(_31,_35); } } } return false; } } }).bind("contextmenu",function(e){ var li=$(e.target).closest("li"); if(li.hasClass("tabs-disabled")){ return; } if(li.length){ _33.onContextMenu.call(_31,e,li.find("span.tabs-title").html(),_34(li)); } }); function _34(li){ var _37=0; li.parent().children("li").each(function(i){ if(li[0]==this){ _37=i; return false; } }); return _37; }; }; function _38(_39){ var _3a=$.data(_39,"tabs").options; var _3b=$(_39).children("div.tabs-header"); var _3c=$(_39).children("div.tabs-panels"); _3b.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right"); _3c.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right"); if(_3a.tabPosition=="top"){ _3b.insertBefore(_3c); }else{ if(_3a.tabPosition=="bottom"){ _3b.insertAfter(_3c); _3b.addClass("tabs-header-bottom"); _3c.addClass("tabs-panels-top"); }else{ if(_3a.tabPosition=="left"){ _3b.addClass("tabs-header-left"); _3c.addClass("tabs-panels-right"); }else{ if(_3a.tabPosition=="right"){ _3b.addClass("tabs-header-right"); _3c.addClass("tabs-panels-left"); } } } } if(_3a.plain==true){ _3b.addClass("tabs-header-plain"); }else{ _3b.removeClass("tabs-header-plain"); } _3b.removeClass("tabs-header-narrow").addClass(_3a.narrow?"tabs-header-narrow":""); var _3d=_3b.find(".tabs"); _3d.removeClass("tabs-pill").addClass(_3a.pill?"tabs-pill":""); _3d.removeClass("tabs-narrow").addClass(_3a.narrow?"tabs-narrow":""); _3d.removeClass("tabs-justified").addClass(_3a.justified?"tabs-justified":""); if(_3a.border==true){ _3b.removeClass("tabs-header-noborder"); _3c.removeClass("tabs-panels-noborder"); }else{ _3b.addClass("tabs-header-noborder"); _3c.addClass("tabs-panels-noborder"); } _3a.doSize=true; }; function _3e(_3f,_40,pp){ _40=_40||{}; var _41=$.data(_3f,"tabs"); var _42=_41.tabs; if(_40.index==undefined||_40.index>_42.length){ _40.index=_42.length; } if(_40.index<0){ _40.index=0; } var ul=$(_3f).children("div.tabs-header").find("ul.tabs"); var _43=$(_3f).children("div.tabs-panels"); var tab=$("
      • "+""+""+""+""+"
      • "); if(!pp){ pp=$("
        "); } if(_40.index>=_42.length){ tab.appendTo(ul); pp.appendTo(_43); _42.push(pp); }else{ tab.insertBefore(ul.children("li:eq("+_40.index+")")); pp.insertBefore(_43.children("div.panel:eq("+_40.index+")")); _42.splice(_40.index,0,pp); } pp.panel($.extend({},_40,{tab:tab,border:false,noheader:true,closed:true,doSize:false,iconCls:(_40.icon?_40.icon:undefined),onLoad:function(){ if(_40.onLoad){ _40.onLoad.apply(this,arguments); } _41.options.onLoad.call(_3f,$(this)); },onBeforeOpen:function(){ if(_40.onBeforeOpen){ if(_40.onBeforeOpen.call(this)==false){ return false; } } var p=$(_3f).tabs("getSelected"); if(p){ if(p[0]!=this){ $(_3f).tabs("unselect",_4d(_3f,p)); p=$(_3f).tabs("getSelected"); if(p){ return false; } }else{ _23(_3f); return false; } } var _44=$(this).panel("options"); _44.tab.addClass("tabs-selected"); var _45=$(_3f).find(">div.tabs-header>div.tabs-wrap"); var _46=_44.tab.position().left; var _47=_46+_44.tab.outerWidth(); if(_46<0||_47>_45.width()){ var _48=_46-(_45.width()-_44.tab.width())/2; $(_3f).tabs("scrollBy",_48); }else{ $(_3f).tabs("scrollBy",0); } var _49=$(this).panel("panel"); _49.css("display","block"); _23(_3f); _49.css("display","none"); },onOpen:function(){ if(_40.onOpen){ _40.onOpen.call(this); } var _4a=$(this).panel("options"); var _4b=_4d(_3f,this); _41.selectHis.push(_4b); _41.options.onSelect.call(_3f,_4a.title,_4b); },onBeforeClose:function(){ if(_40.onBeforeClose){ if(_40.onBeforeClose.call(this)==false){ return false; } } $(this).panel("options").tab.removeClass("tabs-selected"); },onClose:function(){ if(_40.onClose){ _40.onClose.call(this); } var _4c=$(this).panel("options"); _41.options.onUnselect.call(_3f,_4c.title,_4d(_3f,this)); }})); $(_3f).tabs("update",{tab:pp,options:pp.panel("options"),type:"header"}); }; function _4e(_4f,_50){ var _51=$.data(_4f,"tabs"); var _52=_51.options; if(_50.selected==undefined){ _50.selected=true; } _3e(_4f,_50); _52.onAdd.call(_4f,_50.title,_50.index); if(_50.selected){ _53(_4f,_50.index); } }; function _54(_55,_56){ _56.type=_56.type||"all"; var _57=$.data(_55,"tabs").selectHis; var pp=_56.tab; var _58=pp.panel("options"); var _59=_58.title; $.extend(_58,_56.options,{iconCls:(_56.options.icon?_56.options.icon:undefined)}); if(_56.type=="all"||_56.type=="body"){ pp.panel(); } if(_56.type=="all"||_56.type=="header"){ var tab=_58.tab; if(_58.header){ tab.find(".tabs-inner").html($(_58.header)); }else{ var _5a=tab.find("span.tabs-title"); var _5b=tab.find("span.tabs-icon"); _5a.html(_58.title); _5b.attr("class","tabs-icon"); tab.find("a.tabs-close").remove(); if(_58.closable){ _5a.addClass("tabs-closable"); $("").appendTo(tab); }else{ _5a.removeClass("tabs-closable"); } if(_58.iconCls){ _5a.addClass("tabs-with-icon"); _5b.addClass(_58.iconCls); }else{ _5a.removeClass("tabs-with-icon"); } if(_58.tools){ var _5c=tab.find("span.tabs-p-tool"); if(!_5c.length){ var _5c=$("").insertAfter(tab.find("a.tabs-inner")); } if($.isArray(_58.tools)){ _5c.empty(); for(var i=0;i<_58.tools.length;i++){ var t=$("").appendTo(_5c); t.addClass(_58.tools[i].iconCls); if(_58.tools[i].handler){ t.bind("click",{handler:_58.tools[i].handler},function(e){ if($(this).parents("li").hasClass("tabs-disabled")){ return; } e.data.handler.call(this); }); } } }else{ $(_58.tools).children().appendTo(_5c); } var pr=_5c.children().length*12; if(_58.closable){ pr+=8; _5c.css("right",""); }else{ pr-=3; _5c.css("right","5px"); } _5a.css("padding-right",pr+"px"); }else{ tab.find("span.tabs-p-tool").remove(); _5a.css("padding-right",""); } } } if(_58.disabled){ _58.tab.addClass("tabs-disabled"); }else{ _58.tab.removeClass("tabs-disabled"); } _15(_55); $.data(_55,"tabs").options.onUpdate.call(_55,_58.title,_4d(_55,pp)); }; function _5d(_5e,_5f){ var _60=$.data(_5e,"tabs"); var _61=_60.options; var _62=_60.tabs; var _63=_60.selectHis; if(!_64(_5e,_5f)){ return; } var tab=_65(_5e,_5f); var _66=tab.panel("options").title; var _67=_4d(_5e,tab); if(_61.onBeforeClose.call(_5e,_66,_67)==false){ return; } var tab=_65(_5e,_5f,true); tab.panel("options").tab.remove(); tab.panel("destroy"); _61.onClose.call(_5e,_66,_67); _15(_5e); var his=[]; for(var i=0;i<_63.length;i++){ var _68=_63[i]; if(_68!=_67){ his.push(_68>_67?_68-1:_68); } } _60.selectHis=his; var _69=$(_5e).tabs("getSelected"); if(!_69&&his.length){ _67=_60.selectHis.pop(); $(_5e).tabs("select",_67); } }; function _65(_6a,_6b,_6c){ var _6d=$.data(_6a,"tabs").tabs; var tab=null; if(typeof _6b=="number"){ if(_6b>=0&&_6b<_6d.length){ tab=_6d[_6b]; if(_6c){ _6d.splice(_6b,1); } } }else{ var tmp=$(""); for(var i=0;i<_6d.length;i++){ var p=_6d[i]; tmp.html(p.panel("options").title); var _6e=tmp.text(); tmp.html(_6b); _6b=tmp.text(); if(_6e==_6b){ tab=p; if(_6c){ _6d.splice(i,1); } break; } } tmp.remove(); } return tab; }; function _4d(_6f,tab){ var _70=$.data(_6f,"tabs").tabs; for(var i=0;i<_70.length;i++){ if(_70[i][0]==$(tab)[0]){ return i; } } return -1; }; function _26(_71){ var _72=$.data(_71,"tabs").tabs; for(var i=0;i<_72.length;i++){ var tab=_72[i]; if(tab.panel("options").tab.hasClass("tabs-selected")){ return tab; } } return null; }; function _73(_74){ var _75=$.data(_74,"tabs"); var _76=_75.tabs; for(var i=0;i<_76.length;i++){ var _77=_76[i].panel("options"); if(_77.selected&&!_77.disabled){ _53(_74,i); return; } } _53(_74,_75.options.selected); }; function _53(_78,_79){ var p=_65(_78,_79); if(p&&!p.is(":visible")){ _7a(_78); if(!p.panel("options").disabled){ p.panel("open"); } } }; function _7b(_7c,_7d){ var p=_65(_7c,_7d); if(p&&p.is(":visible")){ _7a(_7c); p.panel("close"); } }; function _7a(_7e){ $(_7e).children("div.tabs-panels").each(function(){ $(this).stop(true,true); }); }; function _64(_7f,_80){ return _65(_7f,_80)!=null; }; function _81(_82,_83){ var _84=$.data(_82,"tabs").options; _84.showHeader=_83; $(_82).tabs("resize"); }; function _85(_86,_87){ var _88=$(_86).find(">.tabs-header>.tabs-tool"); if(_87){ _88.removeClass("tabs-tool-hidden").show(); }else{ _88.addClass("tabs-tool-hidden").hide(); } $(_86).tabs("resize").tabs("scrollBy",0); }; $.fn.tabs=function(_89,_8a){ if(typeof _89=="string"){ return $.fn.tabs.methods[_89](this,_8a); } _89=_89||{}; return this.each(function(){ var _8b=$.data(this,"tabs"); if(_8b){ $.extend(_8b.options,_89); }else{ $.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_89),tabs:[],selectHis:[]}); _2a(this); } _f(this); _38(this); _15(this); _30(this); _73(this); }); }; $.fn.tabs.methods={options:function(jq){ var cc=jq[0]; var _8c=$.data(cc,"tabs").options; var s=_26(cc); _8c.selected=s?_4d(cc,s):-1; return _8c; },tabs:function(jq){ return $.data(jq[0],"tabs").tabs; },resize:function(jq,_8d){ return jq.each(function(){ _15(this,_8d); _23(this); }); },add:function(jq,_8e){ return jq.each(function(){ _4e(this,_8e); }); },close:function(jq,_8f){ return jq.each(function(){ _5d(this,_8f); }); },getTab:function(jq,_90){ return _65(jq[0],_90); },getTabIndex:function(jq,tab){ return _4d(jq[0],tab); },getSelected:function(jq){ return _26(jq[0]); },select:function(jq,_91){ return jq.each(function(){ _53(this,_91); }); },unselect:function(jq,_92){ return jq.each(function(){ _7b(this,_92); }); },exists:function(jq,_93){ return _64(jq[0],_93); },update:function(jq,_94){ return jq.each(function(){ _54(this,_94); }); },enableTab:function(jq,_95){ return jq.each(function(){ var _96=$(this).tabs("getTab",_95).panel("options"); _96.tab.removeClass("tabs-disabled"); _96.disabled=false; }); },disableTab:function(jq,_97){ return jq.each(function(){ var _98=$(this).tabs("getTab",_97).panel("options"); _98.tab.addClass("tabs-disabled"); _98.disabled=true; }); },showHeader:function(jq){ return jq.each(function(){ _81(this,true); }); },hideHeader:function(jq){ return jq.each(function(){ _81(this,false); }); },showTool:function(jq){ return jq.each(function(){ _85(this,true); }); },hideTool:function(jq){ return jq.each(function(){ _85(this,false); }); },scrollBy:function(jq,_99){ return jq.each(function(){ var _9a=$(this).tabs("options"); var _9b=$(this).find(">div.tabs-header>div.tabs-wrap"); var pos=Math.min(_9b._scrollLeft()+_99,_9c()); _9b.animate({scrollLeft:pos},_9a.scrollDuration); function _9c(){ var w=0; var ul=_9b.children("ul"); ul.children("li").each(function(){ w+=$(this).outerWidth(true); }); return w-_9b.width()+(ul.outerWidth()-ul.width()); }; }); }}; $.fn.tabs.parseOptions=function(_9d){ return $.extend({},$.parser.parseOptions(_9d,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean"},{headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number"},{showHeader:"boolean",justified:"boolean",narrow:"boolean",pill:"boolean"}])); }; $.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:32,selected:0,showHeader:true,plain:false,fit:false,border:true,justified:false,narrow:false,pill:false,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_9e){ },onSelect:function(_9f,_a0){ },onUnselect:function(_a1,_a2){ },onBeforeClose:function(_a3,_a4){ },onClose:function(_a5,_a6){ },onAdd:function(_a7,_a8){ },onUpdate:function(_a9,_aa){ },onContextMenu:function(e,_ab,_ac){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.tagbox.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"tagbox"); var _4=_3.options; $(_2).addClass("tagbox-f").combobox($.extend({},_4,{cls:"tagbox",reversed:true,onChange:function(_5,_6){ _7(); $(this).combobox("hidePanel"); _4.onChange.call(_2,_5,_6); },onResizing:function(_8,_9){ var _a=$(this).combobox("textbox"); var tb=$(this).data("textbox").textbox; var _b=tb.outerWidth(); tb.css({height:"",paddingLeft:_a.css("marginLeft"),paddingRight:_a.css("marginRight")}); _a.css("margin",0); tb._outerWidth(_b); _23(_2); _12(this); _4.onResizing.call(_2,_8,_9); },onLoadSuccess:function(_c){ _7(); _4.onLoadSuccess.call(_2,_c); }})); _7(); _23(_2); function _7(){ $(_2).next().find(".tagbox-label").remove(); var _d=$(_2).tagbox("textbox"); var ss=[]; $.map($(_2).tagbox("getValues"),function(_e,_f){ var row=_4.finder.getRow(_2,_e); var _10=_4.tagFormatter.call(_2,_e,row); var cs={}; var css=_4.tagStyler.call(_2,_e,row)||""; if(typeof css=="string"){ cs={s:css}; }else{ cs={c:css["class"]||"",s:css["style"]||""}; } var _11=$("").insertBefore(_d).html(_10); _11.attr("tagbox-index",_f); _11.attr("style",cs.s).addClass(cs.c); $("").appendTo(_11); }); _12(_2); $(_2).combobox("setText",""); }; }; function _12(_13,_14){ var _15=$(_13).next(); var _16=_14?$(_14):_15.find(".tagbox-label"); if(_16.length){ var _17=$(_13).tagbox("textbox"); var _18=$(_16[0]); var _19=_18.outerHeight(true)-_18.outerHeight(); var _1a=_17.outerHeight()-_19*2; _16.css({height:_1a+"px",lineHeight:_1a+"px"}); var _1b=_15.find(".textbox-addon").css("height","100%"); _1b.find(".textbox-icon").css("height","100%"); _15.find(".textbox-button").linkbutton("resize",{height:"100%"}); } }; function _1c(_1d){ var _1e=$(_1d).next(); _1e.unbind(".tagbox").bind("click.tagbox",function(e){ var _1f=$(_1d).tagbox("options"); if(_1f.disabled||_1f.readonly){ return; } if($(e.target).hasClass("tagbox-remove")){ var _20=parseInt($(e.target).parent().attr("tagbox-index")); var _21=$(_1d).tagbox("getValues"); if(_1f.onBeforeRemoveTag.call(_1d,_21[_20])==false){ return; } _1f.onRemoveTag.call(_1d,_21[_20]); _21.splice(_20,1); $(_1d).tagbox("setValues",_21); }else{ var _22=$(e.target).closest(".tagbox-label"); if(_22.length){ var _20=parseInt(_22.attr("tagbox-index")); var _21=$(_1d).tagbox("getValues"); _1f.onClickTag.call(_1d,_21[_20]); } } $(this).find(".textbox-text").focus(); }).bind("keyup.tagbox",function(e){ _23(_1d); }).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 _23(_24){ var _25=$(_24).tagbox("options"); var _26=$(_24).tagbox("textbox"); var _27=$(_24).next(); var tmp=$("").appendTo("body"); tmp.attr("style",_26.attr("style")); tmp.css({position:"absolute",top:-9999,left:-9999,width:"auto",fontFamily:_26.css("fontFamily"),fontSize:_26.css("fontSize"),fontWeight:_26.css("fontWeight"),whiteSpace:"nowrap"}); var _28=_29(_26.val()); var _2a=_29(_25.prompt||""); tmp.remove(); var _2b=Math.min(Math.max(_28,_2a)+20,_27.width()); _26._outerWidth(_2b); _27.find(".textbox-button").linkbutton("resize",{height:"100%"}); function _29(val){ var s=val.replace(/&/g,"&").replace(/\s/g," ").replace(//g,">"); tmp.html(s); return tmp.outerWidth(); }; }; function _2c(_2d){ var t=$(_2d); var _2e=t.tagbox("options"); if(_2e.limitToList){ var _2f=t.tagbox("panel"); var _30=_2f.children("div.combobox-item-hover"); if(_30.length){ _30.removeClass("combobox-item-hover"); var row=_2e.finder.getRow(_2d,_30); var _31=row[_2e.valueField]; $(_2d).tagbox(_30.hasClass("combobox-item-selected")?"unselect":"select",_31); } $(_2d).tagbox("hidePanel"); }else{ var v=$.trim($(_2d).tagbox("getText")); if(v!==""){ var _32=$(_2d).tagbox("getValues"); _32.push(v); $(_2d).tagbox("setValues",_32); } } }; function _33(_34,_35){ $(_34).combobox("setText",""); _23(_34); $(_34).combobox("setValues",_35); $(_34).combobox("setText",""); $(_34).tagbox("validate"); }; $.fn.tagbox=function(_36,_37){ if(typeof _36=="string"){ var _38=$.fn.tagbox.methods[_36]; if(_38){ return _38(this,_37); }else{ return this.combobox(_36,_37); } } _36=_36||{}; return this.each(function(){ var _39=$.data(this,"tagbox"); if(_39){ $.extend(_39.options,_36); }else{ $.data(this,"tagbox",{options:$.extend({},$.fn.tagbox.defaults,$.fn.tagbox.parseOptions(this),_36)}); } _1(this); _1c(this); }); }; $.fn.tagbox.methods={options:function(jq){ var _3a=jq.combobox("options"); return $.extend($.data(jq[0],"tagbox").options,{width:_3a.width,height:_3a.height,originalValue:_3a.originalValue,disabled:_3a.disabled,readonly:_3a.readonly}); },setValues:function(jq,_3b){ return jq.each(function(){ _33(this,_3b); }); },reset:function(jq){ return jq.each(function(){ $(this).combobox("reset").combobox("setText",""); }); }}; $.fn.tagbox.parseOptions=function(_3c){ return $.extend({},$.fn.combobox.parseOptions(_3c),$.parser.parseOptions(_3c,[])); }; $.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(_3d){ var vv=$(_3d).parent().prev().tagbox("getValues"); if($(_3d).is(":focus")){ vv.push($(_3d).val()); } return vv.join(","); },inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ var _3e=e.data.target; var _3f=$(_3e).tagbox("options"); if(_3f.limitToList){ _2c(_3e); } }}),keyHandler:$.extend({},$.fn.combobox.defaults.keyHandler,{enter:function(e){ _2c(this); },query:function(q,e){ var _40=$(this).tagbox("options"); if(_40.limitToList){ $.fn.combobox.defaults.keyHandler.query.call(this,q,e); }else{ $(this).combobox("hidePanel"); } }}),tagFormatter:function(_41,row){ var _42=$(this).tagbox("options"); return row?row[_42.textField]:_41; },tagStyler:function(_43,row){ return ""; },onClickTag:function(_44){ },onBeforeRemoveTag:function(_45){ },onRemoveTag:function(_46){ }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.textbox.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ var _1=0; function _2(_3){ $(_3).addClass("textbox-f").hide(); var _4=$(""+""+""+"").insertAfter(_3); var _5=$(_3).attr("name"); if(_5){ _4.find("input.textbox-value").attr("name",_5); $(_3).removeAttr("name").attr("textboxName",_5); } return _4; }; function _6(_7){ var _8=$.data(_7,"textbox"); var _9=_8.options; var tb=_8.textbox; var _a="_easyui_textbox_input"+(++_1); tb.addClass(_9.cls); tb.find(".textbox-text").remove(); if(_9.multiline){ $("").prependTo(tb); }else{ $("").prependTo(tb); } $("#"+_a).attr("tabindex",$(_7).attr("tabindex")||"").css("text-align",_7.style.textAlign||""); tb.find(".textbox-addon").remove(); var bb=_9.icons?$.extend(true,[],_9.icons):[]; if(_9.iconCls){ bb.push({iconCls:_9.iconCls,disabled:true}); } if(bb.length){ var bc=$("").prependTo(tb); bc.addClass("textbox-addon-"+_9.iconAlign); for(var i=0;i"); } } tb.find(".textbox-button").remove(); if(_9.buttonText||_9.buttonIcon){ var _b=$("").prependTo(tb); _b.addClass("textbox-button-"+_9.buttonAlign).linkbutton({text:_9.buttonText,iconCls:_9.buttonIcon,onClick:function(){ var t=$(this).parent().prev(); t.textbox("options").onClickButton.call(t[0]); }}); } if(_9.label){ if(typeof _9.label=="object"){ _8.label=$(_9.label); _8.label.attr("for",_a); }else{ $(_8.label).remove(); _8.label=$("").html(_9.label); _8.label.css("textAlign",_9.labelAlign).attr("for",_a); if(_9.labelPosition=="after"){ _8.label.insertAfter(tb); }else{ _8.label.insertBefore(_7); } _8.label.removeClass("textbox-label-left textbox-label-right textbox-label-top"); _8.label.addClass("textbox-label-"+_9.labelPosition); } }else{ $(_8.label).remove(); } _c(_7); _d(_7,_9.disabled); _e(_7,_9.readonly); }; function _f(_10){ var _11=$.data(_10,"textbox"); var tb=_11.textbox; tb.find(".textbox-text").validatebox("destroy"); tb.remove(); $(_11.label).remove(); $(_10).remove(); }; function _12(_13,_14){ var _15=$.data(_13,"textbox"); var _16=_15.options; var tb=_15.textbox; var _17=tb.parent(); if(_14){ if(typeof _14=="object"){ $.extend(_16,_14); }else{ _16.width=_14; } } if(isNaN(parseInt(_16.width))){ var c=$(_13).clone(); c.css("visibility","hidden"); c.insertAfter(_13); _16.width=c.outerWidth(); c.remove(); } var _18=tb.is(":visible"); if(!_18){ tb.appendTo("body"); } var _19=tb.find(".textbox-text"); var btn=tb.find(".textbox-button"); var _1a=tb.find(".textbox-addon"); var _1b=_1a.find(".textbox-icon"); if(_16.height=="auto"){ _19.css({margin:"",paddingTop:"",paddingBottom:"",height:"",lineHeight:""}); } tb._size(_16,_17); if(_16.label&&_16.labelPosition){ if(_16.labelPosition=="top"){ _15.label._size({width:_16.labelWidth=="auto"?tb.outerWidth():_16.labelWidth},tb); if(_16.height!="auto"){ tb._size("height",tb.outerHeight()-_15.label.outerHeight()); } }else{ _15.label._size({width:_16.labelWidth,height:tb.outerHeight()},tb); if(!_16.multiline){ _15.label.css("lineHeight",_15.label.height()+"px"); } tb._size("width",tb.outerWidth()-_15.label.outerWidth()); } } if(_16.buttonAlign=="left"||_16.buttonAlign=="right"){ btn.linkbutton("resize",{height:tb.height()}); }else{ btn.linkbutton("resize",{width:"100%"}); } var _1c=tb.width()-_1b.length*_16.iconWidth-_1d("left")-_1d("right"); var _1e=_16.height=="auto"?_19.outerHeight():(tb.height()-_1d("top")-_1d("bottom")); _1a.css(_16.iconAlign,_1d(_16.iconAlign)+"px"); _1a.css("top",_1d("top")+"px"); _1b.css({width:_16.iconWidth+"px",height:_1e+"px"}); _19.css({paddingLeft:(_13.style.paddingLeft||""),paddingRight:(_13.style.paddingRight||""),marginLeft:_1f("left"),marginRight:_1f("right"),marginTop:_1d("top"),marginBottom:_1d("bottom")}); if(_16.multiline){ _19.css({paddingTop:(_13.style.paddingTop||""),paddingBottom:(_13.style.paddingBottom||"")}); _19._outerHeight(_1e); }else{ _19.css({paddingTop:0,paddingBottom:0,height:_1e+"px",lineHeight:_1e+"px"}); } _19._outerWidth(_1c); _16.onResizing.call(_13,_16.width,_16.height); if(!_18){ tb.insertAfter(_13); } _16.onResize.call(_13,_16.width,_16.height); function _1f(_20){ return (_16.iconAlign==_20?_1a._outerWidth():0)+_1d(_20); }; function _1d(_21){ var w=0; btn.filter(".textbox-button-"+_21).each(function(){ if(_21=="left"||_21=="right"){ w+=$(this).outerWidth(); }else{ w+=$(this).outerHeight(); } }); return w; }; }; function _c(_22){ var _23=$(_22).textbox("options"); var _24=$(_22).textbox("textbox"); _24.validatebox($.extend({},_23,{deltaX:function(_25){ return $(_22).textbox("getTipX",_25); },deltaY:function(_26){ return $(_22).textbox("getTipY",_26); },onBeforeValidate:function(){ _23.onBeforeValidate.call(_22); var box=$(this); if(!box.is(":focus")){ if(box.val()!==_23.value){ _23.oldInputValue=box.val(); box.val(_23.value); } } },onValidate:function(_27){ var box=$(this); if(_23.oldInputValue!=undefined){ box.val(_23.oldInputValue); _23.oldInputValue=undefined; } var tb=box.parent(); if(_27){ tb.removeClass("textbox-invalid"); }else{ tb.addClass("textbox-invalid"); } _23.onValidate.call(_22,_27); }})); }; function _28(_29){ var _2a=$.data(_29,"textbox"); var _2b=_2a.options; var tb=_2a.textbox; var _2c=tb.find(".textbox-text"); _2c.attr("placeholder",_2b.prompt); _2c.unbind(".textbox"); $(_2a.label).unbind(".textbox"); if(!_2b.disabled&&!_2b.readonly){ if(_2a.label){ $(_2a.label).bind("click.textbox",function(e){ if(!_2b.hasFocusMe){ _2c.focus(); $(_29).textbox("setSelectionRange",{start:0,end:_2c.val().length}); } }); } _2c.bind("blur.textbox",function(e){ if(!tb.hasClass("textbox-focused")){ return; } _2b.value=$(this).val(); if(_2b.value==""){ $(this).val(_2b.prompt).addClass("textbox-prompt"); }else{ $(this).removeClass("textbox-prompt"); } tb.removeClass("textbox-focused"); tb.closest(".form-field").removeClass("form-field-focused"); }).bind("focus.textbox",function(e){ _2b.hasFocusMe=true; if(tb.hasClass("textbox-focused")){ return; } if($(this).val()!=_2b.value){ $(this).val(_2b.value); } $(this).removeClass("textbox-prompt"); tb.addClass("textbox-focused"); tb.closest(".form-field").addClass("form-field-focused"); }); for(var _2d in _2b.inputEvents){ _2c.bind(_2d+".textbox",{target:_29},_2b.inputEvents[_2d]); } } var _2e=tb.find(".textbox-addon"); _2e.unbind().bind("click",{target:_29},function(e){ var _2f=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)"); if(_2f.length){ var _30=parseInt(_2f.attr("icon-index")); var _31=_2b.icons[_30]; if(_31&&_31.handler){ _31.handler.call(_2f[0],e); } _2b.onClickIcon.call(_29,_30); } }); _2e.find(".textbox-icon").each(function(_32){ var _33=_2b.icons[_32]; var _34=$(this); if(!_33||_33.disabled||_2b.disabled||_2b.readonly){ _34.addClass("textbox-icon-disabled"); }else{ _34.removeClass("textbox-icon-disabled"); } }); var btn=tb.find(".textbox-button"); btn.linkbutton((_2b.disabled||_2b.readonly)?"disable":"enable"); tb.unbind(".textbox").bind("_resize.textbox",function(e,_35){ if($(this).hasClass("easyui-fluid")||_35){ _12(_29); } return false; }); }; function _d(_36,_37){ var _38=$.data(_36,"textbox"); var _39=_38.options; var tb=_38.textbox; var _3a=tb.find(".textbox-text"); var ss=$(_36).add(tb.find(".textbox-value")); _39.disabled=_37; if(_39.disabled){ _3a.blur(); _3a.validatebox("disable"); tb.addClass("textbox-disabled"); ss._propAttr("disabled",true); $(_38.label).addClass("textbox-label-disabled"); }else{ _3a.validatebox("enable"); tb.removeClass("textbox-disabled"); ss._propAttr("disabled",false); $(_38.label).removeClass("textbox-label-disabled"); } }; function _e(_3b,_3c){ var _3d=$.data(_3b,"textbox"); var _3e=_3d.options; var tb=_3d.textbox; var _3f=tb.find(".textbox-text"); _3e.readonly=_3c==undefined?true:_3c; if(_3e.readonly){ _3f.triggerHandler("blur.textbox"); } _3f.validatebox("readonly",_3e.readonly); tb.removeClass("textbox-readonly").addClass(_3e.readonly?"textbox-readonly":""); }; $.fn.textbox=function(_40,_41){ if(typeof _40=="string"){ var _42=$.fn.textbox.methods[_40]; if(_42){ return _42(this,_41); }else{ return this.each(function(){ var _43=$(this).textbox("textbox"); _43.validatebox(_40,_41); }); } } _40=_40||{}; return this.each(function(){ var _44=$.data(this,"textbox"); if(_44){ $.extend(_44.options,_40); if(_40.value!=undefined){ _44.options.originalValue=_40.value; } }else{ _44=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_40),textbox:_2(this)}); _44.options.originalValue=_44.options.value; } _6(this); _28(this); if(_44.options.doSize){ _12(this); } var _45=_44.options.value; _44.options.value=""; $(this).textbox("initValue",_45); }); }; $.fn.textbox.methods={options:function(jq){ return $.data(jq[0],"textbox").options; },cloneFrom:function(jq,_46){ return jq.each(function(){ var t=$(this); if(t.data("textbox")){ return; } if(!$(_46).data("textbox")){ $(_46).textbox(); } var _47=$.extend(true,{},$(_46).textbox("options")); var _48=t.attr("name")||""; t.addClass("textbox-f").hide(); t.removeAttr("name").attr("textboxName",_48); var _49=$(_46).next().clone().insertAfter(t); var _4a="_easyui_textbox_input"+(++_1); _49.find(".textbox-value").attr("name",_48); _49.find(".textbox-text").attr("id",_4a); var _4b=$($(_46).textbox("label")).clone(); if(_4b.length){ _4b.attr("for",_4a); if(_47.labelPosition=="after"){ _4b.insertAfter(t.next()); }else{ _4b.insertBefore(t); } } $.data(this,"textbox",{options:_47,textbox:_49,label:(_4b.length?_4b:undefined)}); var _4c=$(_46).textbox("button"); if(_4c.length){ t.textbox("button").linkbutton($.extend(true,{},_4c.linkbutton("options"))); } _28(this); _c(this); }); },textbox:function(jq){ return $.data(jq[0],"textbox").textbox.find(".textbox-text"); },button:function(jq){ return $.data(jq[0],"textbox").textbox.find(".textbox-button"); },label:function(jq){ return $.data(jq[0],"textbox").label; },destroy:function(jq){ return jq.each(function(){ _f(this); }); },resize:function(jq,_4d){ return jq.each(function(){ _12(this,_4d); }); },disable:function(jq){ return jq.each(function(){ _d(this,true); _28(this); }); },enable:function(jq){ return jq.each(function(){ _d(this,false); _28(this); }); },readonly:function(jq,_4e){ return jq.each(function(){ _e(this,_4e); _28(this); }); },isValid:function(jq){ return jq.textbox("textbox").validatebox("isValid"); },clear:function(jq){ return jq.each(function(){ $(this).textbox("setValue",""); }); },setText:function(jq,_4f){ return jq.each(function(){ var _50=$(this).textbox("options"); var _51=$(this).textbox("textbox"); _4f=_4f==undefined?"":String(_4f); if($(this).textbox("getText")!=_4f){ _51.val(_4f); } _50.value=_4f; if(!_51.is(":focus")){ if(_4f){ _51.removeClass("textbox-prompt"); }else{ _51.val(_50.prompt).addClass("textbox-prompt"); } } if(_50.value){ $(this).closest(".form-field").removeClass("form-field-empty"); }else{ $(this).closest(".form-field").addClass("form-field-empty"); } $(this).textbox("validate"); }); },initValue:function(jq,_52){ return jq.each(function(){ var _53=$.data(this,"textbox"); $(this).textbox("setText",_52); _53.textbox.find(".textbox-value").val(_52); $(this).val(_52); }); },setValue:function(jq,_54){ return jq.each(function(){ var _55=$.data(this,"textbox").options; var _56=$(this).textbox("getValue"); $(this).textbox("initValue",_54); if(_56!=_54){ _55.onChange.call(this,_54,_56); $(this).closest("form").trigger("_change",[this]); } }); },getText:function(jq){ var _57=jq.textbox("textbox"); if(_57.is(":focus")){ return _57.val(); }else{ return jq.textbox("options").value; } },getValue:function(jq){ return jq.data("textbox").textbox.find(".textbox-value").val(); },reset:function(jq){ return jq.each(function(){ var _58=$(this).textbox("options"); $(this).textbox("textbox").val(_58.originalValue); $(this).textbox("setValue",_58.originalValue); }); },getIcon:function(jq,_59){ return jq.data("textbox").textbox.find(".textbox-icon:eq("+_59+")"); },getTipX:function(jq,_5a){ var _5b=jq.data("textbox"); var _5c=_5b.options; var tb=_5b.textbox; var _5d=tb.find(".textbox-text"); var _5a=_5a||_5c.tipPosition; var p1=tb.offset(); var p2=_5d.offset(); var w1=tb.outerWidth(); var w2=_5d.outerWidth(); if(_5a=="right"){ return w1-w2-p2.left+p1.left; }else{ if(_5a=="left"){ return p1.left-p2.left; }else{ return (w1-w2-p2.left+p1.left)/2-(p2.left-p1.left)/2; } } },getTipY:function(jq,_5e){ var _5f=jq.data("textbox"); var _60=_5f.options; var tb=_5f.textbox; var _61=tb.find(".textbox-text"); var _5e=_5e||_60.tipPosition; var p1=tb.offset(); var p2=_61.offset(); var h1=tb.outerHeight(); var h2=_61.outerHeight(); if(_5e=="left"||_5e=="right"){ return (h1-h2-p2.top+p1.top)/2-(p2.top-p1.top)/2; }else{ if(_5e=="bottom"){ return (h1-h2-p2.top+p1.top); }else{ return (p1.top-p2.top); } } },getSelectionStart:function(jq){ return jq.textbox("getSelectionRange").start; },getSelectionRange:function(jq){ var _62=jq.textbox("textbox")[0]; var _63=0; var end=0; if(typeof _62.selectionStart=="number"){ _63=_62.selectionStart; end=_62.selectionEnd; }else{ if(_62.createTextRange){ var s=document.selection.createRange(); var _64=_62.createTextRange(); _64.setEndPoint("EndToStart",s); _63=_64.text.length; end=_63+s.text.length; } } return {start:_63,end:end}; },setSelectionRange:function(jq,_65){ return jq.each(function(){ var _66=$(this).textbox("textbox")[0]; var _67=_65.start; var end=_65.end; if(_66.setSelectionRange){ _66.setSelectionRange(_67,end); }else{ if(_66.createTextRange){ var _68=_66.createTextRange(); _68.collapse(); _68.moveEnd("character",end); _68.moveStart("character",_67); _68.select(); } } }); }}; $.fn.textbox.parseOptions=function(_69){ var t=$(_69); return $.extend({},$.fn.validatebox.parseOptions(_69),$.parser.parseOptions(_69,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign","label","labelPosition","labelAlign",{multiline:"boolean",iconWidth:"number",labelWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined)}); }; $.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{doSize:true,width:"auto",height:"auto",cls:null,prompt:"",value:"",type:"text",multiline:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:26,buttonText:"",buttonIcon:null,buttonAlign:"right",label:null,labelWidth:"auto",labelPosition:"before",labelAlign:"left",inputEvents:{blur:function(e){ var t=$(e.data.target); var _6a=t.textbox("options"); if(t.textbox("getValue")!=_6a.value){ t.textbox("setValue",_6a.value); } },keydown:function(e){ if(e.keyCode==13){ var t=$(e.data.target); t.textbox("setValue",t.textbox("getText")); } }},onChange:function(_6b,_6c){ },onResizing:function(_6d,_6e){ },onResize:function(_6f,_70){ },onClickButton:function(){ },onClickIcon:function(_71){ }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.timespinner.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"timespinner").options; $(_2).addClass("timespinner-f").spinner(_3); var _4=_3.formatter.call(_2,_3.parser.call(_2,_3.value)); $(_2).timespinner("initValue",_4); }; function _5(e){ var _6=e.data.target; var _7=$.data(_6,"timespinner").options; var _8=$(_6).timespinner("getSelectionStart"); for(var i=0;i<_7.selections.length;i++){ var _9=_7.selections[i]; if(_8>=_9[0]&&_8<=_9[1]){ _a(_6,i); return; } } }; function _a(_b,_c){ var _d=$.data(_b,"timespinner").options; if(_c!=undefined){ _d.highlight=_c; } var _e=_d.selections[_d.highlight]; if(_e){ var tb=$(_b).timespinner("textbox"); $(_b).timespinner("setSelectionRange",{start:_e[0],end:_e[1]}); tb.focus(); } }; function _f(_10,_11){ var _12=$.data(_10,"timespinner").options; var _11=_12.parser.call(_10,_11); var _13=_12.formatter.call(_10,_11); $(_10).spinner("setValue",_13); }; function _14(_15,_16){ var _17=$.data(_15,"timespinner").options; var s=$(_15).timespinner("getValue"); var _18=_17.selections[_17.highlight]; var s1=s.substring(0,_18[0]); var s2=s.substring(_18[0],_18[1]); var s3=s.substring(_18[1]); if(s2==_17.ampm[0]){ s2=_17.ampm[1]; }else{ if(s2==_17.ampm[1]){ s2=_17.ampm[0]; }else{ s2=parseInt(s2,10)||0; if(_17.selections.length-4==_17.highlight&&_17.hour12){ if(s2==12){ s2=0; }else{ if(s2==11&&!_16){ var tmp=s3.replace(_17.ampm[0],_17.ampm[1]); if(s3!=tmp){ s3=tmp; }else{ s3=s3.replace(_17.ampm[1],_17.ampm[0]); } } } } s2=s2+_17.increment*(_16?-1:1); } } var v=s1+s2+s3; $(_15).timespinner("setValue",v); _a(_15); }; $.fn.timespinner=function(_19,_1a){ if(typeof _19=="string"){ var _1b=$.fn.timespinner.methods[_19]; if(_1b){ return _1b(this,_1a); }else{ return this.spinner(_19,_1a); } } _19=_19||{}; return this.each(function(){ var _1c=$.data(this,"timespinner"); if(_1c){ $.extend(_1c.options,_19); }else{ $.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_19)}); } _1(this); }); }; $.fn.timespinner.methods={options:function(jq){ var _1d=jq.data("spinner")?jq.spinner("options"):{}; return $.extend($.data(jq[0],"timespinner").options,{width:_1d.width,value:_1d.value,originalValue:_1d.originalValue,disabled:_1d.disabled,readonly:_1d.readonly}); },setValue:function(jq,_1e){ return jq.each(function(){ _f(this,_1e); }); },getHours:function(jq){ var _1f=$.data(jq[0],"timespinner").options; var _20=_1f.parser.call(jq[0],jq.timespinner("getValue")); return _20?_20.getHours():null; },getMinutes:function(jq){ var _21=$.data(jq[0],"timespinner").options; var _22=_21.parser.call(jq[0],jq.timespinner("getValue")); return _22?_22.getMinutes():null; },getSeconds:function(jq){ var _23=$.data(jq[0],"timespinner").options; var _24=_23.parser.call(jq[0],jq.timespinner("getValue")); return _24?_24.getSeconds():null; }}; $.fn.timespinner.parseOptions=function(_25){ return $.extend({},$.fn.spinner.parseOptions(_25),$.parser.parseOptions(_25,["separator",{hour12:"boolean",showSeconds:"boolean",highlight:"number"}])); }; $.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ _5.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(_26){ if(!_26){ return ""; } var _27=$(this).timespinner("options"); var _28=_26.getHours(); var _29=_26.getMinutes(); var _2a=_26.getSeconds(); var _2b=""; if(_27.hour12){ _2b=_28>=12?_27.ampm[1]:_27.ampm[0]; _28=_28%12; if(_28==0){ _28=12; } } var tt=[_2c(_28),_2c(_29)]; if(_27.showSeconds){ tt.push(_2c(_2a)); } var s=tt.join(_27.separator)+" "+_2b; return $.trim(s); function _2c(_2d){ return (_2d<10?"0":"")+_2d; }; },parser:function(s){ var _2e=$(this).timespinner("options"); var _2f=_30(s); if(_2f){ var min=_30(_2e.min); var max=_30(_2e.max); if(min&&min>_2f){ _2f=min; } if(max&&max<_2f){ _2f=max; } } return _2f; function _30(s){ if(!s){ return null; } var ss=s.split(" "); var tt=ss[0].split(_2e.separator); var _31=parseInt(tt[0],10)||0; var _32=parseInt(tt[1],10)||0; var _33=parseInt(tt[2],10)||0; if(_2e.hour12){ var _34=ss[1]; if(_34==_2e.ampm[1]&&_31<12){ _31+=12; }else{ if(_34==_2e.ampm[0]&&_31==12){ _31-=12; } } } return new Date(1900,0,0,_31,_32,_33); }; },selections:[[0,2],[3,5],[6,8],[9,11]],separator:":",showSeconds:false,highlight:0,hour12:false,ampm:["AM","PM"],spin:function(_35){ _14(this,_35); }}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.tooltip.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ $(_2).addClass("tooltip-f"); }; function _3(_4){ var _5=$.data(_4,"tooltip").options; $(_4).unbind(".tooltip").bind(_5.showEvent+".tooltip",function(e){ $(_4).tooltip("show",e); }).bind(_5.hideEvent+".tooltip",function(e){ $(_4).tooltip("hide",e); }).bind("mousemove.tooltip",function(e){ if(_5.trackMouse){ _5.trackMouseX=e.pageX; _5.trackMouseY=e.pageY; $(_4).tooltip("reposition"); } }); }; function _6(_7){ var _8=$.data(_7,"tooltip"); if(_8.showTimer){ clearTimeout(_8.showTimer); _8.showTimer=null; } if(_8.hideTimer){ clearTimeout(_8.hideTimer); _8.hideTimer=null; } }; function _9(_a){ var _b=$.data(_a,"tooltip"); if(!_b||!_b.tip){ return; } var _c=_b.options; var _d=_b.tip; var _e={left:-100000,top:-100000}; if($(_a).is(":visible")){ _e=_f(_c.position); if(_c.position=="top"&&_e.top<0){ _e=_f("bottom"); }else{ if((_c.position=="bottom")&&(_e.top+_d._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){ _e=_f("top"); } } if(_e.left<0){ if(_c.position=="left"){ _e=_f("right"); }else{ $(_a).tooltip("arrow").css("left",_d._outerWidth()/2+_e.left); _e.left=0; } }else{ if(_e.left+_d._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ if(_c.position=="right"){ _e=_f("left"); }else{ var _10=_e.left; _e.left=$(window)._outerWidth()+$(document)._scrollLeft()-_d._outerWidth(); $(_a).tooltip("arrow").css("left",_d._outerWidth()/2-(_e.left-_10)); } } } } _d.css({left:_e.left,top:_e.top,zIndex:(_c.zIndex!=undefined?_c.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))}); _c.onPosition.call(_a,_e.left,_e.top); function _f(_11){ _c.position=_11||"bottom"; _d.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+_c.position); var _12,top; var _13=$.isFunction(_c.deltaX)?_c.deltaX.call(_a,_c.position):_c.deltaX; var _14=$.isFunction(_c.deltaY)?_c.deltaY.call(_a,_c.position):_c.deltaY; if(_c.trackMouse){ t=$(); _12=_c.trackMouseX+_13; top=_c.trackMouseY+_14; }else{ var t=$(_a); _12=t.offset().left+_13; top=t.offset().top+_14; } switch(_c.position){ case "right": _12+=t._outerWidth()+12+(_c.trackMouse?12:0); if(_c.valign=="middle"){ top-=(_d._outerHeight()-t._outerHeight())/2; } break; case "left": _12-=_d._outerWidth()+12+(_c.trackMouse?12:0); if(_c.valign=="middle"){ top-=(_d._outerHeight()-t._outerHeight())/2; } break; case "top": _12-=(_d._outerWidth()-t._outerWidth())/2; top-=_d._outerHeight()+12+(_c.trackMouse?12:0); break; case "bottom": _12-=(_d._outerWidth()-t._outerWidth())/2; top+=t._outerHeight()+12+(_c.trackMouse?12:0); break; } return {left:_12,top:top}; }; }; function _15(_16,e){ var _17=$.data(_16,"tooltip"); var _18=_17.options; var tip=_17.tip; if(!tip){ tip=$("
        "+"
        "+"
        "+"
        "+"
        ").appendTo("body"); _17.tip=tip; _19(_16); } _6(_16); _17.showTimer=setTimeout(function(){ $(_16).tooltip("reposition"); tip.show(); _18.onShow.call(_16,e); var _1a=tip.children(".tooltip-arrow-outer"); var _1b=tip.children(".tooltip-arrow"); var bc="border-"+_18.position+"-color"; _1a.add(_1b).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""}); _1a.css(bc,tip.css(bc)); _1b.css(bc,tip.css("backgroundColor")); },_18.showDelay); }; function _1c(_1d,e){ var _1e=$.data(_1d,"tooltip"); if(_1e&&_1e.tip){ _6(_1d); _1e.hideTimer=setTimeout(function(){ _1e.tip.hide(); _1e.options.onHide.call(_1d,e); },_1e.options.hideDelay); } }; function _19(_1f,_20){ var _21=$.data(_1f,"tooltip"); var _22=_21.options; if(_20){ _22.content=_20; } if(!_21.tip){ return; } var cc=typeof _22.content=="function"?_22.content.call(_1f):_22.content; _21.tip.children(".tooltip-content").html(cc); _22.onUpdate.call(_1f,cc); }; function _23(_24){ var _25=$.data(_24,"tooltip"); if(_25){ _6(_24); var _26=_25.options; if(_25.tip){ _25.tip.remove(); } if(_26._title){ $(_24).attr("title",_26._title); } $.removeData(_24,"tooltip"); $(_24).unbind(".tooltip").removeClass("tooltip-f"); _26.onDestroy.call(_24); } }; $.fn.tooltip=function(_27,_28){ if(typeof _27=="string"){ return $.fn.tooltip.methods[_27](this,_28); } _27=_27||{}; return this.each(function(){ var _29=$.data(this,"tooltip"); if(_29){ $.extend(_29.options,_27); }else{ $.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_27)}); _1(this); } _3(this); _19(this); }); }; $.fn.tooltip.methods={options:function(jq){ return $.data(jq[0],"tooltip").options; },tip:function(jq){ return $.data(jq[0],"tooltip").tip; },arrow:function(jq){ return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow"); },show:function(jq,e){ return jq.each(function(){ _15(this,e); }); },hide:function(jq,e){ return jq.each(function(){ _1c(this,e); }); },update:function(jq,_2a){ return jq.each(function(){ _19(this,_2a); }); },reposition:function(jq){ return jq.each(function(){ _9(this); }); },destroy:function(jq){ return jq.each(function(){ _23(this); }); }}; $.fn.tooltip.parseOptions=function(_2b){ var t=$(_2b); var _2c=$.extend({},$.parser.parseOptions(_2b,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")}); t.attr("title",""); if(!_2c.content){ _2c.content=_2c._title; } return _2c; }; $.fn.tooltip.defaults={position:"bottom",valign:"middle",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){ },onHide:function(e){ },onUpdate:function(_2d){ },onPosition:function(_2e,top){ },onDestroy:function(){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.tree.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$(_2); _3.addClass("tree"); return _3; }; function _4(_5){ var _6=$.data(_5,"tree").options; $(_5).unbind().bind("mouseover",function(e){ var tt=$(e.target); var _7=tt.closest("div.tree-node"); if(!_7.length){ return; } _7.addClass("tree-node-hover"); if(tt.hasClass("tree-hit")){ if(tt.hasClass("tree-expanded")){ tt.addClass("tree-expanded-hover"); }else{ tt.addClass("tree-collapsed-hover"); } } e.stopPropagation(); }).bind("mouseout",function(e){ var tt=$(e.target); var _8=tt.closest("div.tree-node"); if(!_8.length){ return; } _8.removeClass("tree-node-hover"); if(tt.hasClass("tree-hit")){ if(tt.hasClass("tree-expanded")){ tt.removeClass("tree-expanded-hover"); }else{ tt.removeClass("tree-collapsed-hover"); } } e.stopPropagation(); }).bind("click",function(e){ var tt=$(e.target); var _9=tt.closest("div.tree-node"); if(!_9.length){ return; } if(tt.hasClass("tree-hit")){ _85(_5,_9[0]); return false; }else{ if(tt.hasClass("tree-checkbox")){ _34(_5,_9[0]); return false; }else{ _dc(_5,_9[0]); _6.onClick.call(_5,_c(_5,_9[0])); } } e.stopPropagation(); }).bind("dblclick",function(e){ var _a=$(e.target).closest("div.tree-node"); if(!_a.length){ return; } _dc(_5,_a[0]); _6.onDblClick.call(_5,_c(_5,_a[0])); e.stopPropagation(); }).bind("contextmenu",function(e){ var _b=$(e.target).closest("div.tree-node"); if(!_b.length){ return; } _6.onContextMenu.call(_5,e,_c(_5,_b[0])); e.stopPropagation(); }); }; function _d(_e){ var _f=$.data(_e,"tree").options; _f.dnd=false; var _10=$(_e).find("div.tree-node"); _10.draggable("disable"); _10.css("cursor","pointer"); }; function _11(_12){ var _13=$.data(_12,"tree"); var _14=_13.options; var _15=_13.tree; _13.disabledNodes=[]; _14.dnd=true; _15.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_16){ var p=$("
        ").appendTo("body"); p.html(" "+$(_16).find(".tree-title").html()); p.hide(); return p; },deltaX:15,deltaY:15,onBeforeDrag:function(e){ if(_14.onBeforeDrag.call(_12,_c(_12,this))==false){ return false; } if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){ return false; } if(e.which!=1){ return false; } var _17=$(this).find("span.tree-indent"); if(_17.length){ e.data.offsetWidth-=_17.length*_17.width(); } },onStartDrag:function(e){ $(this).next("ul").find("div.tree-node").each(function(){ $(this).droppable("disable"); _13.disabledNodes.push(this); }); $(this).draggable("proxy").css({left:-10000,top:-10000}); _14.onStartDrag.call(_12,_c(_12,this)); var _18=_c(_12,this); if(_18.id==undefined){ _18.id="easyui_tree_node_id_temp"; _60(_12,_18); } _13.draggingNodeId=_18.id; },onDrag:function(e){ var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY; var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); if(d>3){ $(this).draggable("proxy").show(); } this.pageY=e.pageY; },onStopDrag:function(){ for(var i=0;i<_13.disabledNodes.length;i++){ $(_13.disabledNodes[i]).droppable("enable"); } _13.disabledNodes=[]; var _19=_d0(_12,_13.draggingNodeId); if(_19&&_19.id=="easyui_tree_node_id_temp"){ _19.id=""; _60(_12,_19); } _14.onStopDrag.call(_12,_19); }}).droppable({accept:"div.tree-node",onDragEnter:function(e,_1a){ if(_14.onDragEnter.call(_12,this,_1b(_1a))==false){ _1c(_1a,false); $(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); $(this).droppable("disable"); _13.disabledNodes.push(this); } },onDragOver:function(e,_1d){ if($(this).droppable("options").disabled){ return; } var _1e=_1d.pageY; var top=$(this).offset().top; var _1f=top+$(this).outerHeight(); _1c(_1d,true); $(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); if(_1e>top+(_1f-top)/2){ if(_1f-_1e<5){ $(this).addClass("tree-node-bottom"); }else{ $(this).addClass("tree-node-append"); } }else{ if(_1e-top<5){ $(this).addClass("tree-node-top"); }else{ $(this).addClass("tree-node-append"); } } if(_14.onDragOver.call(_12,this,_1b(_1d))==false){ _1c(_1d,false); $(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); $(this).droppable("disable"); _13.disabledNodes.push(this); } },onDragLeave:function(e,_20){ _1c(_20,false); $(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); _14.onDragLeave.call(_12,this,_1b(_20)); },onDrop:function(e,_21){ var _22=this; var _23,_24; if($(this).hasClass("tree-node-append")){ _23=_25; _24="append"; }else{ _23=_26; _24=$(this).hasClass("tree-node-top")?"top":"bottom"; } if(_14.onBeforeDrop.call(_12,_22,_1b(_21),_24)==false){ $(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); return; } _23(_21,_22,_24); $(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); }}); function _1b(_27,pop){ return $(_27).closest("ul.tree").tree(pop?"pop":"getData",_27); }; function _1c(_28,_29){ var _2a=$(_28).draggable("proxy").find("span.tree-dnd-icon"); _2a.removeClass("tree-dnd-yes tree-dnd-no").addClass(_29?"tree-dnd-yes":"tree-dnd-no"); }; function _25(_2b,_2c){ if(_c(_12,_2c).state=="closed"){ _79(_12,_2c,function(){ _2d(); }); }else{ _2d(); } function _2d(){ var _2e=_1b(_2b,true); $(_12).tree("append",{parent:_2c,data:[_2e]}); _14.onDrop.call(_12,_2c,_2e,"append"); }; }; function _26(_2f,_30,_31){ var _32={}; if(_31=="top"){ _32.before=_30; }else{ _32.after=_30; } var _33=_1b(_2f,true); _32.data=_33; $(_12).tree("insert",_32); _14.onDrop.call(_12,_30,_33,_31); }; }; function _34(_35,_36,_37,_38){ var _39=$.data(_35,"tree"); var _3a=_39.options; if(!_3a.checkbox){ return; } var _3b=_c(_35,_36); if(!_3b.checkState){ return; } var ck=$(_36).find(".tree-checkbox"); if(_37==undefined){ if(ck.hasClass("tree-checkbox1")){ _37=false; }else{ if(ck.hasClass("tree-checkbox0")){ _37=true; }else{ if(_3b._checked==undefined){ _3b._checked=$(_36).find(".tree-checkbox").hasClass("tree-checkbox1"); } _37=!_3b._checked; } } } _3b._checked=_37; if(_37){ if(ck.hasClass("tree-checkbox1")){ return; } }else{ if(ck.hasClass("tree-checkbox0")){ return; } } if(!_38){ if(_3a.onBeforeCheck.call(_35,_3b,_37)==false){ return; } } if(_3a.cascadeCheck){ _3c(_35,_3b,_37); _3d(_35,_3b); }else{ _3e(_35,_3b,_37?"1":"0"); } if(!_38){ _3a.onCheck.call(_35,_3b,_37); } }; function _3c(_3f,_40,_41){ var _42=$.data(_3f,"tree").options; var _43=_41?1:0; _3e(_3f,_40,_43); if(_42.deepCheck){ $.easyui.forEach(_40.children||[],true,function(n){ _3e(_3f,n,_43); }); }else{ var _44=[]; if(_40.children&&_40.children.length){ _44.push(_40); } $.easyui.forEach(_40.children||[],true,function(n){ if(!n.hidden){ _3e(_3f,n,_43); if(n.children&&n.children.length){ _44.push(n); } } }); for(var i=_44.length-1;i>=0;i--){ var _45=_44[i]; _3e(_3f,_45,_46(_45)); } } }; function _3e(_47,_48,_49){ var _4a=$.data(_47,"tree").options; if(!_48.checkState||_49==undefined){ return; } if(_48.hidden&&!_4a.deepCheck){ return; } var ck=$("#"+_48.domId).find(".tree-checkbox"); _48.checkState=["unchecked","checked","indeterminate"][_49]; _48.checked=(_48.checkState=="checked"); ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); ck.addClass("tree-checkbox"+_49); }; function _3d(_4b,_4c){ var pd=_4d(_4b,$("#"+_4c.domId)[0]); if(pd){ _3e(_4b,pd,_46(pd)); _3d(_4b,pd); } }; function _46(row){ var c0=0; var c1=0; var len=0; $.easyui.forEach(row.children||[],false,function(r){ if(r.checkState){ len++; if(r.checkState=="checked"){ c1++; }else{ if(r.checkState=="unchecked"){ c0++; } } } }); if(len==0){ return undefined; } var _4e=0; if(c0==len){ _4e=0; }else{ if(c1==len){ _4e=1; }else{ _4e=2; } } return _4e; }; function _4f(_50,_51){ var _52=$.data(_50,"tree").options; if(!_52.checkbox){ return; } var _53=$(_51); var ck=_53.find(".tree-checkbox"); var _54=_c(_50,_51); if(_52.view.hasCheckbox(_50,_54)){ if(!ck.length){ _54.checkState=_54.checkState||"unchecked"; $("").insertBefore(_53.find(".tree-title")); } if(_54.checkState=="checked"){ _34(_50,_51,true,true); }else{ if(_54.checkState=="unchecked"){ _34(_50,_51,false,true); }else{ var _55=_46(_54); if(_55===0){ _34(_50,_51,false,true); }else{ if(_55===1){ _34(_50,_51,true,true); } } } } }else{ ck.remove(); _54.checkState=undefined; _54.checked=undefined; _3d(_50,_54); } }; function _56(_57,ul,_58,_59,_5a){ var _5b=$.data(_57,"tree"); var _5c=_5b.options; var _5d=$(ul).prevAll("div.tree-node:first"); _58=_5c.loadFilter.call(_57,_58,_5d[0]); var _5e=_5f(_57,"domId",_5d.attr("id")); if(!_59){ _5e?_5e.children=_58:_5b.data=_58; $(ul).empty(); }else{ if(_5e){ _5e.children?_5e.children=_5e.children.concat(_58):_5e.children=_58; }else{ _5b.data=_5b.data.concat(_58); } } _5c.view.render.call(_5c.view,_57,ul,_58); if(_5c.dnd){ _11(_57); } if(_5e){ _60(_57,_5e); } for(var i=0;i<_5b.tmpIds.length;i++){ _34(_57,$("#"+_5b.tmpIds[i])[0],true,true); } _5b.tmpIds=[]; setTimeout(function(){ _61(_57,_57); },0); if(!_5a){ _5c.onLoadSuccess.call(_57,_5e,_58); } }; function _61(_62,ul,_63){ var _64=$.data(_62,"tree").options; if(_64.lines){ $(_62).addClass("tree-lines"); }else{ $(_62).removeClass("tree-lines"); return; } if(!_63){ _63=true; $(_62).find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); $(_62).find("div.tree-node").removeClass("tree-node-last tree-root-first tree-root-one"); var _65=$(_62).tree("getRoots"); if(_65.length>1){ $(_65[0].target).addClass("tree-root-first"); }else{ if(_65.length==1){ $(_65[0].target).addClass("tree-root-one"); } } } $(ul).children("li").each(function(){ var _66=$(this).children("div.tree-node"); var ul=_66.next("ul"); if(ul.length){ if($(this).next().length){ _67(_66); } _61(_62,ul,_63); }else{ _68(_66); } }); var _69=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last"); _69.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom"); function _68(_6a,_6b){ var _6c=_6a.find("span.tree-icon"); _6c.prev("span.tree-indent").addClass("tree-join"); }; function _67(_6d){ var _6e=_6d.find("span.tree-indent, span.tree-hit").length; _6d.next().find("div.tree-node").each(function(){ $(this).children("span:eq("+(_6e-1)+")").addClass("tree-line"); }); }; }; function _6f(_70,ul,_71,_72){ var _73=$.data(_70,"tree").options; _71=$.extend({},_73.queryParams,_71||{}); var _74=null; if(_70!=ul){ var _75=$(ul).prev(); _74=_c(_70,_75[0]); } if(_73.onBeforeLoad.call(_70,_74,_71)==false){ return; } var _76=$(ul).prev().children("span.tree-folder"); _76.addClass("tree-loading"); var _77=_73.loader.call(_70,_71,function(_78){ _76.removeClass("tree-loading"); _56(_70,ul,_78); if(_72){ _72(); } },function(){ _76.removeClass("tree-loading"); _73.onLoadError.apply(_70,arguments); if(_72){ _72(); } }); if(_77==false){ _76.removeClass("tree-loading"); } }; function _79(_7a,_7b,_7c){ var _7d=$.data(_7a,"tree").options; var hit=$(_7b).children("span.tree-hit"); if(hit.length==0){ return; } if(hit.hasClass("tree-expanded")){ return; } var _7e=_c(_7a,_7b); if(_7d.onBeforeExpand.call(_7a,_7e)==false){ return; } hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); hit.next().addClass("tree-folder-open"); var ul=$(_7b).next(); if(ul.length){ if(_7d.animate){ ul.slideDown("normal",function(){ _7e.state="open"; _7d.onExpand.call(_7a,_7e); if(_7c){ _7c(); } }); }else{ ul.css("display","block"); _7e.state="open"; _7d.onExpand.call(_7a,_7e); if(_7c){ _7c(); } } }else{ var _7f=$("
          ").insertAfter(_7b); _6f(_7a,_7f[0],{id:_7e.id},function(){ if(_7f.is(":empty")){ _7f.remove(); } if(_7d.animate){ _7f.slideDown("normal",function(){ _7e.state="open"; _7d.onExpand.call(_7a,_7e); if(_7c){ _7c(); } }); }else{ _7f.css("display","block"); _7e.state="open"; _7d.onExpand.call(_7a,_7e); if(_7c){ _7c(); } } }); } }; function _80(_81,_82){ var _83=$.data(_81,"tree").options; var hit=$(_82).children("span.tree-hit"); if(hit.length==0){ return; } if(hit.hasClass("tree-collapsed")){ return; } var _84=_c(_81,_82); if(_83.onBeforeCollapse.call(_81,_84)==false){ return; } hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); hit.next().removeClass("tree-folder-open"); var ul=$(_82).next(); if(_83.animate){ ul.slideUp("normal",function(){ _84.state="closed"; _83.onCollapse.call(_81,_84); }); }else{ ul.css("display","none"); _84.state="closed"; _83.onCollapse.call(_81,_84); } }; function _85(_86,_87){ var hit=$(_87).children("span.tree-hit"); if(hit.length==0){ return; } if(hit.hasClass("tree-expanded")){ _80(_86,_87); }else{ _79(_86,_87); } }; function _88(_89,_8a){ var _8b=_8c(_89,_8a); if(_8a){ _8b.unshift(_c(_89,_8a)); } for(var i=0;i<_8b.length;i++){ _79(_89,_8b[i].target); } }; function _8d(_8e,_8f){ var _90=[]; var p=_4d(_8e,_8f); while(p){ _90.unshift(p); p=_4d(_8e,p.target); } for(var i=0;i<_90.length;i++){ _79(_8e,_90[i].target); } }; function _91(_92,_93){ var c=$(_92).parent(); while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){ c=c.parent(); } var n=$(_93); var _94=n.offset().top; if(c[0].tagName!="BODY"){ var _95=c.offset().top; if(_94<_95){ c.scrollTop(c.scrollTop()+_94-_95); }else{ if(_94+n.outerHeight()>_95+c.outerHeight()-18){ c.scrollTop(c.scrollTop()+_94+n.outerHeight()-_95-c.outerHeight()+18); } } }else{ c.scrollTop(_94); } }; function _96(_97,_98){ var _99=_8c(_97,_98); if(_98){ _99.unshift(_c(_97,_98)); } for(var i=0;i<_99.length;i++){ _80(_97,_99[i].target); } }; function _9a(_9b,_9c){ var _9d=$(_9c.parent); var _9e=_9c.data; if(!_9e){ return; } _9e=$.isArray(_9e)?_9e:[_9e]; if(!_9e.length){ return; } var ul; if(_9d.length==0){ ul=$(_9b); }else{ if(_9f(_9b,_9d[0])){ var _a0=_9d.find("span.tree-icon"); _a0.removeClass("tree-file").addClass("tree-folder tree-folder-open"); var hit=$("").insertBefore(_a0); if(hit.prev().length){ hit.prev().remove(); } } ul=_9d.next(); if(!ul.length){ ul=$("
            ").insertAfter(_9d); } } _56(_9b,ul[0],_9e,true,true); }; function _a1(_a2,_a3){ var ref=_a3.before||_a3.after; var _a4=_4d(_a2,ref); var _a5=_a3.data; if(!_a5){ return; } _a5=$.isArray(_a5)?_a5:[_a5]; if(!_a5.length){ return; } _9a(_a2,{parent:(_a4?_a4.target:null),data:_a5}); var _a6=_a4?_a4.children:$(_a2).tree("getRoots"); for(var i=0;i<_a6.length;i++){ if(_a6[i].domId==$(ref).attr("id")){ for(var j=_a5.length-1;j>=0;j--){ _a6.splice((_a3.before?i:(i+1)),0,_a5[j]); } _a6.splice(_a6.length-_a5.length,_a5.length); break; } } var li=$(); for(var i=0;i<_a5.length;i++){ li=li.add($("#"+_a5[i].domId).parent()); } if(_a3.before){ li.insertBefore($(ref).parent()); }else{ li.insertAfter($(ref).parent()); } }; function _a7(_a8,_a9){ var _aa=del(_a9); $(_a9).parent().remove(); if(_aa){ if(!_aa.children||!_aa.children.length){ var _ab=$(_aa.target); _ab.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); _ab.find(".tree-hit").remove(); $("").prependTo(_ab); _ab.next().remove(); } _60(_a8,_aa); } _61(_a8,_a8); function del(_ac){ var id=$(_ac).attr("id"); var _ad=_4d(_a8,_ac); var cc=_ad?_ad.children:$.data(_a8,"tree").data; for(var i=0;i").appendTo(nt); _e9.val(_e7.text).focus(); _e9.width(_e8+20); _e9._outerHeight(_e6.editorHeight); _e9.bind("click",function(e){ return false; }).bind("mousedown",function(e){ e.stopPropagation(); }).bind("mousemove",function(e){ e.stopPropagation(); }).bind("keydown",function(e){ if(e.keyCode==13){ _ea(_e4,_e5); return false; }else{ if(e.keyCode==27){ _f0(_e4,_e5); return false; } } }).bind("blur",function(e){ e.stopPropagation(); _ea(_e4,_e5); }); }; function _ea(_eb,_ec){ var _ed=$.data(_eb,"tree").options; $(_ec).css("position",""); var _ee=$(_ec).find("input.tree-editor"); var val=_ee.val(); _ee.remove(); var _ef=_c(_eb,_ec); _ef.text=val; _60(_eb,_ef); _ed.onAfterEdit.call(_eb,_ef); }; function _f0(_f1,_f2){ var _f3=$.data(_f1,"tree").options; $(_f2).css("position",""); $(_f2).find("input.tree-editor").remove(); var _f4=_c(_f1,_f2); _60(_f1,_f4); _f3.onCancelEdit.call(_f1,_f4); }; function _f5(_f6,q){ var _f7=$.data(_f6,"tree"); var _f8=_f7.options; var ids={}; $.easyui.forEach(_f7.data,true,function(_f9){ if(_f8.filter.call(_f6,q,_f9)){ $("#"+_f9.domId).removeClass("tree-node-hidden"); ids[_f9.domId]=1; _f9.hidden=false; }else{ $("#"+_f9.domId).addClass("tree-node-hidden"); _f9.hidden=true; } }); for(var id in ids){ _fa(id); } function _fa(_fb){ var p=$(_f6).tree("getParent",$("#"+_fb)[0]); while(p){ $(p.target).removeClass("tree-node-hidden"); p.hidden=false; p=$(_f6).tree("getParent",p.target); } }; }; $.fn.tree=function(_fc,_fd){ if(typeof _fc=="string"){ return $.fn.tree.methods[_fc](this,_fd); } var _fc=_fc||{}; return this.each(function(){ var _fe=$.data(this,"tree"); var _ff; if(_fe){ _ff=$.extend(_fe.options,_fc); _fe.options=_ff; }else{ _ff=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_fc); $.data(this,"tree",{options:_ff,tree:_1(this),data:[],tmpIds:[]}); var data=$.fn.tree.parseData(this); if(data.length){ _56(this,this,data); } } _4(this); if(_ff.data){ _56(this,this,$.extend(true,[],_ff.data)); } _6f(this,this); }); }; $.fn.tree.methods={options:function(jq){ return $.data(jq[0],"tree").options; },loadData:function(jq,data){ return jq.each(function(){ _56(this,this,data); }); },getNode:function(jq,_100){ return _c(jq[0],_100); },getData:function(jq,_101){ return _c9(jq[0],_101); },reload:function(jq,_102){ return jq.each(function(){ if(_102){ var node=$(_102); var hit=node.children("span.tree-hit"); hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); node.next().remove(); _79(this,_102); }else{ $(this).empty(); _6f(this,this); } }); },getRoot:function(jq,_103){ return _b3(jq[0],_103); },getRoots:function(jq){ return _b7(jq[0]); },getParent:function(jq,_104){ return _4d(jq[0],_104); },getChildren:function(jq,_105){ return _8c(jq[0],_105); },getChecked:function(jq,_106){ return _c2(jq[0],_106); },getSelected:function(jq){ return _c6(jq[0]); },isLeaf:function(jq,_107){ return _9f(jq[0],_107); },find:function(jq,id){ return _d0(jq[0],id); },findBy:function(jq,_108){ return _5f(jq[0],_108.field,_108.value); },select:function(jq,_109){ return jq.each(function(){ _dc(this,_109); }); },check:function(jq,_10a){ return jq.each(function(){ _34(this,_10a,true); }); },uncheck:function(jq,_10b){ return jq.each(function(){ _34(this,_10b,false); }); },collapse:function(jq,_10c){ return jq.each(function(){ _80(this,_10c); }); },expand:function(jq,_10d){ return jq.each(function(){ _79(this,_10d); }); },collapseAll:function(jq,_10e){ return jq.each(function(){ _96(this,_10e); }); },expandAll:function(jq,_10f){ return jq.each(function(){ _88(this,_10f); }); },expandTo:function(jq,_110){ return jq.each(function(){ _8d(this,_110); }); },scrollTo:function(jq,_111){ return jq.each(function(){ _91(this,_111); }); },toggle:function(jq,_112){ return jq.each(function(){ _85(this,_112); }); },append:function(jq,_113){ return jq.each(function(){ _9a(this,_113); }); },insert:function(jq,_114){ return jq.each(function(){ _a1(this,_114); }); },remove:function(jq,_115){ return jq.each(function(){ _a7(this,_115); }); },pop:function(jq,_116){ var node=jq.tree("getData",_116); jq.tree("remove",_116); return node; },update:function(jq,_117){ return jq.each(function(){ _60(this,$.extend({},_117,{checkState:_117.checked?"checked":(_117.checked===false?"unchecked":undefined)})); }); },enableDnd:function(jq){ return jq.each(function(){ _11(this); }); },disableDnd:function(jq){ return jq.each(function(){ _d(this); }); },beginEdit:function(jq,_118){ return jq.each(function(){ _e3(this,_118); }); },endEdit:function(jq,_119){ return jq.each(function(){ _ea(this,_119); }); },cancelEdit:function(jq,_11a){ return jq.each(function(){ _f0(this,_11a); }); },doFilter:function(jq,q){ return jq.each(function(){ _f5(this,q); }); }}; $.fn.tree.parseOptions=function(_11b){ var t=$(_11b); return $.extend({},$.parser.parseOptions(_11b,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}])); }; $.fn.tree.parseData=function(_11c){ var data=[]; _11d(data,$(_11c)); return data; function _11d(aa,tree){ tree.children("li").each(function(){ var node=$(this); var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)}); item.text=node.children("span").html(); if(!item.text){ item.text=node.html(); } var _11e=node.children("ul"); if(_11e.length){ item.children=[]; _11d(item.children,_11e); } aa.push(item); }); }; }; var _11f=1; var _120={render:function(_121,ul,data){ var _122=$.data(_121,"tree"); var opts=_122.options; var _123=$(ul).prev(".tree-node"); var _124=_123.length?$(_121).tree("getNode",_123[0]):null; var _125=_123.find("span.tree-indent, span.tree-hit").length; var cc=_126.call(this,_125,data); $(ul).append(cc.join("")); function _126(_127,_128){ var cc=[]; for(var i=0;i<_128.length;i++){ var item=_128[i]; if(item.state!="open"&&item.state!="closed"){ item.state="open"; } item.domId="_easyui_tree_"+_11f++; cc.push("
          • "); cc.push("
            "); for(var j=0;j<_127;j++){ cc.push(""); } if(item.state=="closed"){ cc.push(""); cc.push(""); }else{ if(item.children&&item.children.length){ cc.push(""); cc.push(""); }else{ cc.push(""); cc.push(""); } } if(this.hasCheckbox(_121,item)){ var flag=0; if(_124&&_124.checkState=="checked"&&opts.cascadeCheck){ flag=1; item.checked=true; }else{ if(item.checked){ $.easyui.addArrayItem(_122.tmpIds,item.domId); } } item.checkState=flag?"checked":"unchecked"; cc.push(""); }else{ item.checkState=undefined; item.checked=undefined; } cc.push(""+opts.formatter.call(_121,item)+""); cc.push("
            "); if(item.children&&item.children.length){ var tmp=_126.call(this,_127+1,item.children); cc.push("
              "); cc=cc.concat(tmp); cc.push("
            "); } cc.push("
          • "); } return cc; }; },hasCheckbox:function(_129,item){ var _12a=$.data(_129,"tree"); var opts=_12a.options; if(opts.checkbox){ if($.isFunction(opts.checkbox)){ if(opts.checkbox.call(_129,item)){ return true; }else{ return false; } }else{ if(opts.onlyLeafCheck){ if(item.state=="open"&&!(item.children&&item.children.length)){ return true; } }else{ return true; } } } return false; }}; $.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,editorHeight:26,data:null,queryParams:{},formatter:function(node){ return node.text; },filter:function(q,node){ var qq=[]; $.map($.isArray(q)?q:[q],function(q){ q=$.trim(q); if(q){ qq.push(q); } }); for(var i=0;i=0){ return true; } } return !qq.length; },loader:function(_12c,_12d,_12e){ var opts=$(this).tree("options"); if(!opts.url){ return false; } $.ajax({type:opts.method,url:opts.url,data:_12c,dataType:"json",success:function(data){ _12d(data); },error:function(){ _12e.apply(this,arguments); }}); },loadFilter:function(data,_12f){ return data; },view:_120,onBeforeLoad:function(node,_130){ },onLoadSuccess:function(node,data){ },onLoadError:function(){ },onClick:function(node){ },onDblClick:function(node){ },onBeforeExpand:function(node){ },onExpand:function(node){ },onBeforeCollapse:function(node){ },onCollapse:function(node){ },onBeforeCheck:function(node,_131){ },onCheck:function(node,_132){ },onBeforeSelect:function(node){ },onSelect:function(node){ },onContextMenu:function(e,node){ },onBeforeDrag:function(node){ },onStartDrag:function(node){ },onStopDrag:function(node){ },onDragEnter:function(_133,_134){ },onDragOver:function(_135,_136){ },onDragLeave:function(_137,_138){ },onBeforeDrop:function(_139,_13a,_13b){ },onDrop:function(_13c,_13d,_13e){ },onBeforeEdit:function(node){ },onAfterEdit:function(node){ },onCancelEdit:function(node){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.treegrid.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2){ var _3=$.data(_2,"treegrid"); var _4=_3.options; $(_2).datagrid($.extend({},_4,{url:null,data:null,loader:function(){ return false; },onBeforeLoad:function(){ return false; },onLoadSuccess:function(){ },onResizeColumn:function(_5,_6){ _16(_2); _4.onResizeColumn.call(_2,_5,_6); },onBeforeSortColumn:function(_7,_8){ if(_4.onBeforeSortColumn.call(_2,_7,_8)==false){ return false; } },onSortColumn:function(_9,_a){ _4.sortName=_9; _4.sortOrder=_a; if(_4.remoteSort){ _15(_2); }else{ var _b=$(_2).treegrid("getData"); _56(_2,null,_b); } _4.onSortColumn.call(_2,_9,_a); },onClickCell:function(_c,_d){ _4.onClickCell.call(_2,_d,_37(_2,_c)); },onDblClickCell:function(_e,_f){ _4.onDblClickCell.call(_2,_f,_37(_2,_e)); },onRowContextMenu:function(e,_10){ _4.onContextMenu.call(_2,e,_37(_2,_10)); }})); var _11=$.data(_2,"datagrid").options; _4.columns=_11.columns; _4.frozenColumns=_11.frozenColumns; _3.dc=$.data(_2,"datagrid").dc; if(_4.pagination){ var _12=$(_2).datagrid("getPager"); _12.pagination({pageNumber:_4.pageNumber,pageSize:_4.pageSize,pageList:_4.pageList,onSelectPage:function(_13,_14){ _4.pageNumber=_13; _4.pageSize=_14; _15(_2); }}); _4.pageSize=_12.pagination("options").pageSize; } }; function _16(_17,_18){ var _19=$.data(_17,"datagrid").options; var dc=$.data(_17,"datagrid").dc; if(!dc.body1.is(":empty")&&(!_19.nowrap||_19.autoRowHeight)){ if(_18!=undefined){ var _1a=_1b(_17,_18); for(var i=0;i<_1a.length;i++){ _1c(_1a[i][_19.idField]); } } } $(_17).datagrid("fixRowHeight",_18); function _1c(_1d){ var tr1=_19.finder.getTr(_17,_1d,"body",1); var tr2=_19.finder.getTr(_17,_1d,"body",2); tr1.css("height",""); tr2.css("height",""); var _1e=Math.max(tr1.height(),tr2.height()); tr1.css("height",_1e); tr2.css("height",_1e); }; }; function _1f(_20){ var dc=$.data(_20,"datagrid").dc; var _21=$.data(_20,"treegrid").options; if(!_21.rownumbers){ return; } dc.body1.find("div.datagrid-cell-rownumber").each(function(i){ $(this).html(i+1); }); }; function _22(_23){ return function(e){ $.fn.datagrid.defaults.rowEvents[_23?"mouseover":"mouseout"](e); var tt=$(e.target); var fn=_23?"addClass":"removeClass"; if(tt.hasClass("tree-hit")){ tt.hasClass("tree-expanded")?tt[fn]("tree-expanded-hover"):tt[fn]("tree-collapsed-hover"); } }; }; function _24(e){ var tt=$(e.target); var tr=tt.closest("tr.datagrid-row"); if(!tr.length||!tr.parent().length){ return; } var _25=tr.attr("node-id"); var _26=_27(tr); if(tt.hasClass("tree-hit")){ _28(_26,_25); }else{ if(tt.hasClass("tree-checkbox")){ _29(_26,_25); }else{ var _2a=$(_26).datagrid("options"); if(!tt.parent().hasClass("datagrid-cell-check")&&!_2a.singleSelect&&e.shiftKey){ var _2b=$(_26).treegrid("getChildren"); var _2c=$.easyui.indexOfArray(_2b,_2a.idField,_2a.lastSelectedIndex); var _2d=$.easyui.indexOfArray(_2b,_2a.idField,_25); var _2e=Math.min(Math.max(_2c,0),_2d); var to=Math.max(_2c,_2d); var row=_2b[_2d]; var td=tt.closest("td[field]",tr); if(td.length){ var _2f=td.attr("field"); _2a.onClickCell.call(_26,_25,_2f,row[_2f]); } $(_26).treegrid("clearSelections"); for(var i=_2e;i<=to;i++){ $(_26).treegrid("selectRow",_2b[i][_2a.idField]); } _2a.onClickRow.call(_26,row); }else{ $.fn.datagrid.defaults.rowEvents.click(e); } } } }; function _27(t){ return $(t).closest("div.datagrid-view").children(".datagrid-f")[0]; }; function _29(_30,_31,_32,_33){ var _34=$.data(_30,"treegrid"); var _35=_34.checkedRows; var _36=_34.options; if(!_36.checkbox){ return; } var row=_37(_30,_31); if(!row.checkState){ return; } var tr=_36.finder.getTr(_30,_31); var ck=tr.find(".tree-checkbox"); if(_32==undefined){ if(ck.hasClass("tree-checkbox1")){ _32=false; }else{ if(ck.hasClass("tree-checkbox0")){ _32=true; }else{ if(row._checked==undefined){ row._checked=ck.hasClass("tree-checkbox1"); } _32=!row._checked; } } } row._checked=_32; if(_32){ if(ck.hasClass("tree-checkbox1")){ return; } }else{ if(ck.hasClass("tree-checkbox0")){ return; } } if(!_33){ if(_36.onBeforeCheckNode.call(_30,row,_32)==false){ return; } } if(_36.cascadeCheck){ _38(_30,row,_32); _39(_30,row); }else{ _3a(_30,row,_32?"1":"0"); } if(!_33){ _36.onCheckNode.call(_30,row,_32); } }; function _3a(_3b,row,_3c){ var _3d=$.data(_3b,"treegrid"); var _3e=_3d.checkedRows; var _3f=_3d.options; if(!row.checkState||_3c==undefined){ return; } var tr=_3f.finder.getTr(_3b,row[_3f.idField]); var ck=tr.find(".tree-checkbox"); if(!ck.length){ return; } row.checkState=["unchecked","checked","indeterminate"][_3c]; row.checked=(row.checkState=="checked"); ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); ck.addClass("tree-checkbox"+_3c); if(_3c==0){ $.easyui.removeArrayItem(_3e,_3f.idField,row[_3f.idField]); }else{ $.easyui.addArrayItem(_3e,_3f.idField,row); } }; function _38(_40,row,_41){ var _42=_41?1:0; _3a(_40,row,_42); $.easyui.forEach(row.children||[],true,function(r){ _3a(_40,r,_42); }); }; function _39(_43,row){ var _44=$.data(_43,"treegrid").options; var _45=_46(_43,row[_44.idField]); if(_45){ _3a(_43,_45,_47(_45)); _39(_43,_45); } }; function _47(row){ var len=0; var c0=0; var c1=0; $.easyui.forEach(row.children||[],false,function(r){ if(r.checkState){ len++; if(r.checkState=="checked"){ c1++; }else{ if(r.checkState=="unchecked"){ c0++; } } } }); if(len==0){ return undefined; } var _48=0; if(c0==len){ _48=0; }else{ if(c1==len){ _48=1; }else{ _48=2; } } return _48; }; function _49(_4a,_4b){ var _4c=$.data(_4a,"treegrid").options; if(!_4c.checkbox){ return; } var row=_37(_4a,_4b); var tr=_4c.finder.getTr(_4a,_4b); var ck=tr.find(".tree-checkbox"); if(_4c.view.hasCheckbox(_4a,row)){ if(!ck.length){ row.checkState=row.checkState||"unchecked"; $("").insertBefore(tr.find(".tree-title")); } if(row.checkState=="checked"){ _29(_4a,_4b,true,true); }else{ if(row.checkState=="unchecked"){ _29(_4a,_4b,false,true); }else{ var _4d=_47(row); if(_4d===0){ _29(_4a,_4b,false,true); }else{ if(_4d===1){ _29(_4a,_4b,true,true); } } } } }else{ ck.remove(); row.checkState=undefined; row.checked=undefined; _39(_4a,row); } }; function _4e(_4f,_50){ var _51=$.data(_4f,"treegrid").options; var tr1=_51.finder.getTr(_4f,_50,"body",1); var tr2=_51.finder.getTr(_4f,_50,"body",2); var _52=$(_4f).datagrid("getColumnFields",true).length+(_51.rownumbers?1:0); var _53=$(_4f).datagrid("getColumnFields",false).length; _54(tr1,_52); _54(tr2,_53); function _54(tr,_55){ $(""+""+"
            "+""+"").insertAfter(tr); }; }; function _56(_57,_58,_59,_5a,_5b){ var _5c=$.data(_57,"treegrid"); var _5d=_5c.options; var dc=_5c.dc; _59=_5d.loadFilter.call(_57,_59,_58); var _5e=_37(_57,_58); if(_5e){ var _5f=_5d.finder.getTr(_57,_58,"body",1); var _60=_5d.finder.getTr(_57,_58,"body",2); var cc1=_5f.next("tr.treegrid-tr-tree").children("td").children("div"); var cc2=_60.next("tr.treegrid-tr-tree").children("td").children("div"); if(!_5a){ _5e.children=[]; } }else{ var cc1=dc.body1; var cc2=dc.body2; if(!_5a){ _5c.data=[]; } } if(!_5a){ cc1.empty(); cc2.empty(); } if(_5d.view.onBeforeRender){ _5d.view.onBeforeRender.call(_5d.view,_57,_58,_59); } _5d.view.render.call(_5d.view,_57,cc1,true); _5d.view.render.call(_5d.view,_57,cc2,false); if(_5d.showFooter){ _5d.view.renderFooter.call(_5d.view,_57,dc.footer1,true); _5d.view.renderFooter.call(_5d.view,_57,dc.footer2,false); } if(_5d.view.onAfterRender){ _5d.view.onAfterRender.call(_5d.view,_57); } if(!_58&&_5d.pagination){ var _61=$.data(_57,"treegrid").total; var _62=$(_57).datagrid("getPager"); if(_62.pagination("options").total!=_61){ _62.pagination({total:_61}); } } _16(_57); _1f(_57); $(_57).treegrid("showLines"); $(_57).treegrid("setSelectionState"); $(_57).treegrid("autoSizeColumn"); if(!_5b){ _5d.onLoadSuccess.call(_57,_5e,_59); } }; function _15(_63,_64,_65,_66,_67){ var _68=$.data(_63,"treegrid").options; var _69=$(_63).datagrid("getPanel").find("div.datagrid-body"); if(_64==undefined&&_68.queryParams){ _68.queryParams.id=undefined; } if(_65){ _68.queryParams=_65; } var _6a=$.extend({},_68.queryParams); if(_68.pagination){ $.extend(_6a,{page:_68.pageNumber,rows:_68.pageSize}); } if(_68.sortName){ $.extend(_6a,{sort:_68.sortName,order:_68.sortOrder}); } var row=_37(_63,_64); if(_68.onBeforeLoad.call(_63,row,_6a)==false){ return; } var _6b=_69.find("tr[node-id=\""+_64+"\"] span.tree-folder"); _6b.addClass("tree-loading"); $(_63).treegrid("loading"); var _6c=_68.loader.call(_63,_6a,function(_6d){ _6b.removeClass("tree-loading"); $(_63).treegrid("loaded"); _56(_63,_64,_6d,_66); if(_67){ _67(); } },function(){ _6b.removeClass("tree-loading"); $(_63).treegrid("loaded"); _68.onLoadError.apply(_63,arguments); if(_67){ _67(); } }); if(_6c==false){ _6b.removeClass("tree-loading"); $(_63).treegrid("loaded"); } }; function _6e(_6f){ var _70=_71(_6f); return _70.length?_70[0]:null; }; function _71(_72){ return $.data(_72,"treegrid").data; }; function _46(_73,_74){ var row=_37(_73,_74); if(row._parentId){ return _37(_73,row._parentId); }else{ return null; } }; function _1b(_75,_76){ var _77=$.data(_75,"treegrid").data; if(_76){ var _78=_37(_75,_76); _77=_78?(_78.children||[]):[]; } var _79=[]; $.easyui.forEach(_77,true,function(_7a){ _79.push(_7a); }); return _79; }; function _7b(_7c,_7d){ var _7e=$.data(_7c,"treegrid").options; var tr=_7e.finder.getTr(_7c,_7d); var _7f=tr.children("td[field=\""+_7e.treeField+"\"]"); return _7f.find("span.tree-indent,span.tree-hit").length; }; function _37(_80,_81){ var _82=$.data(_80,"treegrid"); var _83=_82.options; var _84=null; $.easyui.forEach(_82.data,true,function(_85){ if(_85[_83.idField]==_81){ _84=_85; return false; } }); return _84; }; function _86(_87,_88){ var _89=$.data(_87,"treegrid").options; var row=_37(_87,_88); var tr=_89.finder.getTr(_87,_88); var hit=tr.find("span.tree-hit"); if(hit.length==0){ return; } if(hit.hasClass("tree-collapsed")){ return; } if(_89.onBeforeCollapse.call(_87,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(_89.animate){ cc.slideUp("normal",function(){ $(_87).treegrid("autoSizeColumn"); _16(_87,_88); _89.onCollapse.call(_87,row); }); }else{ cc.hide(); $(_87).treegrid("autoSizeColumn"); _16(_87,_88); _89.onCollapse.call(_87,row); } }; function _8a(_8b,_8c){ var _8d=$.data(_8b,"treegrid").options; var tr=_8d.finder.getTr(_8b,_8c); var hit=tr.find("span.tree-hit"); var row=_37(_8b,_8c); if(hit.length==0){ return; } if(hit.hasClass("tree-expanded")){ return; } if(_8d.onBeforeExpand.call(_8b,row)==false){ return; } hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); hit.next().addClass("tree-folder-open"); var _8e=tr.next("tr.treegrid-tr-tree"); if(_8e.length){ var cc=_8e.children("td").children("div"); _8f(cc); }else{ _4e(_8b,row[_8d.idField]); var _8e=tr.next("tr.treegrid-tr-tree"); var cc=_8e.children("td").children("div"); cc.hide(); var _90=$.extend({},_8d.queryParams||{}); _90.id=row[_8d.idField]; _15(_8b,row[_8d.idField],_90,true,function(){ if(cc.is(":empty")){ _8e.remove(); }else{ _8f(cc); } }); } function _8f(cc){ row.state="open"; if(_8d.animate){ cc.slideDown("normal",function(){ $(_8b).treegrid("autoSizeColumn"); _16(_8b,_8c); _8d.onExpand.call(_8b,row); }); }else{ cc.show(); $(_8b).treegrid("autoSizeColumn"); _16(_8b,_8c); _8d.onExpand.call(_8b,row); } }; }; function _28(_91,_92){ var _93=$.data(_91,"treegrid").options; var tr=_93.finder.getTr(_91,_92); var hit=tr.find("span.tree-hit"); if(hit.hasClass("tree-expanded")){ _86(_91,_92); }else{ _8a(_91,_92); } }; function _94(_95,_96){ var _97=$.data(_95,"treegrid").options; var _98=_1b(_95,_96); if(_96){ _98.unshift(_37(_95,_96)); } for(var i=0;i<_98.length;i++){ _86(_95,_98[i][_97.idField]); } }; function _99(_9a,_9b){ var _9c=$.data(_9a,"treegrid").options; var _9d=_1b(_9a,_9b); if(_9b){ _9d.unshift(_37(_9a,_9b)); } for(var i=0;i<_9d.length;i++){ _8a(_9a,_9d[i][_9c.idField]); } }; function _9e(_9f,_a0){ var _a1=$.data(_9f,"treegrid").options; var ids=[]; var p=_46(_9f,_a0); while(p){ var id=p[_a1.idField]; ids.unshift(id); p=_46(_9f,id); } for(var i=0;i").insertBefore(_a8); if(hit.prev().length){ hit.prev().remove(); } } } _56(_a3,_a4.parent,_a4.data,_a5.data.length>0,true); }; function _a9(_aa,_ab){ var ref=_ab.before||_ab.after; var _ac=$.data(_aa,"treegrid").options; var _ad=_46(_aa,ref); _a2(_aa,{parent:(_ad?_ad[_ac.idField]:null),data:[_ab.data]}); var _ae=_ad?_ad.children:$(_aa).treegrid("getRoots"); for(var i=0;i<_ae.length;i++){ if(_ae[i][_ac.idField]==ref){ var _af=_ae[_ae.length-1]; _ae.splice(_ab.before?i:(i+1),0,_af); _ae.splice(_ae.length-1,1); break; } } _b0(true); _b0(false); _1f(_aa); $(_aa).treegrid("showLines"); function _b0(_b1){ var _b2=_b1?1:2; var tr=_ac.finder.getTr(_aa,_ab.data[_ac.idField],"body",_b2); var _b3=tr.closest("table.datagrid-btable"); tr=tr.parent().children(); var _b4=_ac.finder.getTr(_aa,ref,"body",_b2); if(_ab.before){ tr.insertBefore(_b4); }else{ var sub=_b4.next("tr.treegrid-tr-tree"); tr.insertAfter(sub.length?sub:_b4); } _b3.remove(); }; }; function _b5(_b6,_b7){ var _b8=$.data(_b6,"treegrid"); var _b9=_b8.options; var _ba=_46(_b6,_b7); $(_b6).datagrid("deleteRow",_b7); $.easyui.removeArrayItem(_b8.checkedRows,_b9.idField,_b7); _1f(_b6); if(_ba){ _49(_b6,_ba[_b9.idField]); } _b8.total-=1; $(_b6).datagrid("getPager").pagination("refresh",{total:_b8.total}); $(_b6).treegrid("showLines"); }; function _bb(_bc){ var t=$(_bc); var _bd=t.treegrid("options"); if(_bd.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 _be=t.treegrid("getRoots"); if(_be.length>1){ _bf(_be[0]).addClass("tree-root-first"); }else{ if(_be.length==1){ _bf(_be[0]).addClass("tree-root-one"); } } _c0(_be); _c1(_be); function _c0(_c2){ $.map(_c2,function(_c3){ if(_c3.children&&_c3.children.length){ _c0(_c3.children); }else{ var _c4=_bf(_c3); _c4.find(".tree-icon").prev().addClass("tree-join"); } }); if(_c2.length){ var _c5=_bf(_c2[_c2.length-1]); _c5.addClass("tree-node-last"); _c5.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); } }; function _c1(_c6){ $.map(_c6,function(_c7){ if(_c7.children&&_c7.children.length){ _c1(_c7.children); } }); for(var i=0;i<_c6.length-1;i++){ var _c8=_c6[i]; var _c9=t.treegrid("getLevel",_c8[_bd.idField]); var tr=_bd.finder.getTr(_bc,_c8[_bd.idField]); var cc=tr.next().find("tr.datagrid-row td[field=\""+_bd.treeField+"\"] div.datagrid-cell"); cc.find("span:eq("+(_c9-1)+")").addClass("tree-line"); } }; function _bf(_ca){ var tr=_bd.finder.getTr(_bc,_ca[_bd.idField]); var _cb=tr.find("td[field=\""+_bd.treeField+"\"] div.datagrid-cell"); return _cb; }; }; $.fn.treegrid=function(_cc,_cd){ if(typeof _cc=="string"){ var _ce=$.fn.treegrid.methods[_cc]; if(_ce){ return _ce(this,_cd); }else{ return this.datagrid(_cc,_cd); } } _cc=_cc||{}; return this.each(function(){ var _cf=$.data(this,"treegrid"); if(_cf){ $.extend(_cf.options,_cc); }else{ _cf=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_cc),data:[],checkedRows:[],tmpIds:[]}); } _1(this); if(_cf.options.data){ $(this).treegrid("loadData",_cf.options.data); } _15(this); }); }; $.fn.treegrid.methods={options:function(jq){ return $.data(jq[0],"treegrid").options; },resize:function(jq,_d0){ return jq.each(function(){ $(this).datagrid("resize",_d0); }); },fixRowHeight:function(jq,_d1){ return jq.each(function(){ _16(this,_d1); }); },loadData:function(jq,_d2){ return jq.each(function(){ _56(this,_d2.parent,_d2); }); },load:function(jq,_d3){ return jq.each(function(){ $(this).treegrid("options").pageNumber=1; $(this).treegrid("getPager").pagination({pageNumber:1}); $(this).treegrid("reload",_d3); }); },reload:function(jq,id){ return jq.each(function(){ var _d4=$(this).treegrid("options"); var _d5={}; if(typeof id=="object"){ _d5=id; }else{ _d5=$.extend({},_d4.queryParams); _d5.id=id; } if(_d5.id){ var _d6=$(this).treegrid("find",_d5.id); if(_d6.children){ _d6.children.splice(0,_d6.children.length); } _d4.queryParams=_d5; var tr=_d4.finder.getTr(this,_d5.id); tr.next("tr.treegrid-tr-tree").remove(); tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); _8a(this,_d5.id); }else{ _15(this,null,_d5); } }); },reloadFooter:function(jq,_d7){ return jq.each(function(){ var _d8=$.data(this,"treegrid").options; var dc=$.data(this,"datagrid").dc; if(_d7){ $.data(this,"treegrid").footer=_d7; } if(_d8.showFooter){ _d8.view.renderFooter.call(_d8.view,this,dc.footer1,true); _d8.view.renderFooter.call(_d8.view,this,dc.footer2,false); if(_d8.view.onAfterRender){ _d8.view.onAfterRender.call(_d8.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 _6e(jq[0]); },getRoots:function(jq){ return _71(jq[0]); },getParent:function(jq,id){ return _46(jq[0],id); },getChildren:function(jq,id){ return _1b(jq[0],id); },getLevel:function(jq,id){ return _7b(jq[0],id); },find:function(jq,id){ return _37(jq[0],id); },isLeaf:function(jq,id){ var _d9=$.data(jq[0],"treegrid").options; var tr=_d9.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(){ _86(this,id); }); },expand:function(jq,id){ return jq.each(function(){ _8a(this,id); }); },toggle:function(jq,id){ return jq.each(function(){ _28(this,id); }); },collapseAll:function(jq,id){ return jq.each(function(){ _94(this,id); }); },expandAll:function(jq,id){ return jq.each(function(){ _99(this,id); }); },expandTo:function(jq,id){ return jq.each(function(){ _9e(this,id); }); },append:function(jq,_da){ return jq.each(function(){ _a2(this,_da); }); },insert:function(jq,_db){ return jq.each(function(){ _a9(this,_db); }); },remove:function(jq,id){ return jq.each(function(){ _b5(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 _dc=$.data(this,"treegrid").options; _dc.view.refreshRow.call(_dc.view,this,id); }); },update:function(jq,_dd){ return jq.each(function(){ var _de=$.data(this,"treegrid").options; var row=_dd.row; _de.view.updateRow.call(_de.view,this,_dd.id,row); if(row.checked!=undefined){ row=_37(this,_dd.id); $.extend(row,{checkState:row.checked?"checked":(row.checked===false?"unchecked":undefined)}); _49(this,_dd.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(){ _bb(this); }); },setSelectionState:function(jq){ return jq.each(function(){ $(this).datagrid("setSelectionState"); var _df=$(this).data("treegrid"); for(var i=0;i<_df.tmpIds.length;i++){ _29(this,_df.tmpIds[i],true,true); } _df.tmpIds=[]; }); },getCheckedNodes:function(jq,_e0){ _e0=_e0||"checked"; var _e1=[]; $.easyui.forEach(jq.data("treegrid").checkedRows,false,function(row){ if(row.checkState==_e0){ _e1.push(row); } }); return _e1; },checkNode:function(jq,id){ return jq.each(function(){ _29(this,id,true); }); },uncheckNode:function(jq,id){ return jq.each(function(){ _29(this,id,false); }); },clearChecked:function(jq){ return jq.each(function(){ var _e2=this; var _e3=$(_e2).treegrid("options"); $(_e2).datagrid("clearChecked"); $.map($(_e2).treegrid("getCheckedNodes"),function(row){ _29(_e2,row[_e3.idField],false,true); }); }); }}; $.fn.treegrid.parseOptions=function(_e4){ return $.extend({},$.fn.datagrid.parseOptions(_e4),$.parser.parseOptions(_e4,["treeField",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean"}])); }; var _e5=$.extend({},$.fn.datagrid.defaults.view,{render:function(_e6,_e7,_e8){ var _e9=$.data(_e6,"treegrid").options; var _ea=$(_e6).datagrid("getColumnFields",_e8); var _eb=$.data(_e6,"datagrid").rowIdPrefix; if(_e8){ if(!(_e9.rownumbers||(_e9.frozenColumns&&_e9.frozenColumns.length))){ return; } } var _ec=this; if(this.treeNodes&&this.treeNodes.length){ var _ed=_ee.call(this,_e8,this.treeLevel,this.treeNodes); $(_e7).append(_ed.join("")); } function _ee(_ef,_f0,_f1){ var _f2=$(_e6).treegrid("getParent",_f1[0][_e9.idField]); var _f3=(_f2?_f2.children.length:$(_e6).treegrid("getRoots").length)-_f1.length; var _f4=[""]; for(var i=0;i<_f1.length;i++){ var row=_f1[i]; if(row.state!="open"&&row.state!="closed"){ row.state="open"; } var css=_e9.rowStyler?_e9.rowStyler.call(_e6,row):""; var cs=this.getStyleValue(css); var cls="class=\"datagrid-row "+(_f3++%2&&_e9.striped?"datagrid-row-alt ":" ")+cs.c+"\""; var _f5=cs.s?"style=\""+cs.s+"\"":""; var _f6=_eb+"-"+(_ef?1:2)+"-"+row[_e9.idField]; _f4.push(""); _f4=_f4.concat(_ec.renderRow.call(_ec,_e6,_ea,_ef,_f0,row)); _f4.push(""); if(row.children&&row.children.length){ var tt=_ee.call(this,_ef,_f0+1,row.children); var v=row.state=="closed"?"none":"block"; _f4.push(""); } } _f4.push("
            "); _f4=_f4.concat(tt); _f4.push("
            "); return _f4; }; },renderFooter:function(_f7,_f8,_f9){ var _fa=$.data(_f7,"treegrid").options; var _fb=$.data(_f7,"treegrid").footer||[]; var _fc=$(_f7).datagrid("getColumnFields",_f9); var _fd=[""]; for(var i=0;i<_fb.length;i++){ var row=_fb[i]; row[_fa.idField]=row[_fa.idField]||("foot-row-id"+i); _fd.push(""); _fd.push(this.renderRow.call(this,_f7,_fc,_f9,0,row)); _fd.push(""); } _fd.push("
            "); $(_f8).html(_fd.join("")); },renderRow:function(_fe,_ff,_100,_101,row){ var _102=$.data(_fe,"treegrid"); var opts=_102.options; var cc=[]; if(_100&&opts.rownumbers){ cc.push("
            0
            "); } for(var i=0;i<_ff.length;i++){ var _103=_ff[i]; var col=$(_fe).datagrid("getColumnOption",_103); if(col){ var css=col.styler?(col.styler(row[_103],row)||""):""; var cs=this.getStyleValue(css); var cls=cs.c?"class=\""+cs.c+"\"":""; var _104=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); cc.push(""); var _104=""; if(!col.checkbox){ if(col.align){ _104+="text-align:"+col.align+";"; } if(!opts.nowrap){ _104+="white-space:normal;height:auto;"; }else{ if(opts.autoRowHeight){ _104+="height:auto;"; } } } cc.push("
            "); if(col.checkbox){ if(row.checked){ cc.push(""); }else{ var val=null; if(col.formatter){ val=col.formatter(row[_103],row); }else{ val=row[_103]; } if(_103==opts.treeField){ for(var j=0;j<_101;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(_fe,row)){ var flag=0; var crow=$.easyui.getArrayItem(_102.checkedRows,opts.idField,row[opts.idField]); if(crow){ flag=crow.checkState=="checked"?1:2; row.checkState=crow.checkState; row.checked=crow.checked; $.easyui.addArrayItem(_102.checkedRows,opts.idField,row); }else{ var prow=$.easyui.getArrayItem(_102.checkedRows,opts.idField,row._parentId); if(prow&&prow.checkState=="checked"&&opts.cascadeCheck){ flag=1; row.checked=true; $.easyui.addArrayItem(_102.checkedRows,opts.idField,row); }else{ if(row.checked){ $.easyui.addArrayItem(_102.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(_105,row){ var opts=$.data(_105,"treegrid").options; if(opts.checkbox){ if($.isFunction(opts.checkbox)){ if(opts.checkbox.call(_105,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(_106,id){ this.updateRow.call(this,_106,id,{}); },updateRow:function(_107,id,row){ var opts=$.data(_107,"treegrid").options; var _108=$(_107).treegrid("find",id); $.extend(_108,row); var _109=$(_107).treegrid("getLevel",id)-1; var _10a=opts.rowStyler?opts.rowStyler.call(_107,_108):""; var _10b=$.data(_107,"datagrid").rowIdPrefix; var _10c=_108[opts.idField]; function _10d(_10e){ var _10f=$(_107).treegrid("getColumnFields",_10e); var tr=opts.finder.getTr(_107,id,"body",(_10e?1:2)); var _110=tr.find("div.datagrid-cell-rownumber").html(); var _111=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); tr.html(this.renderRow(_107,_10f,_10e,_109,_108)); tr.attr("style",_10a||""); tr.find("div.datagrid-cell-rownumber").html(_110); if(_111){ tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); } if(_10c!=id){ tr.attr("id",_10b+"-"+(_10e?1:2)+"-"+_10c); tr.attr("node-id",_10c); } }; _10d.call(this,true); _10d.call(this,false); $(_107).treegrid("fixRowHeight",id); },deleteRow:function(_112,id){ var opts=$.data(_112,"treegrid").options; var tr=opts.finder.getTr(_112,id); tr.next("tr.treegrid-tr-tree").remove(); tr.remove(); var _113=del(id); if(_113){ if(_113.children.length==0){ tr=opts.finder.getTr(_112,_113[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(_112); function del(id){ var cc; var _114=$(_112).treegrid("getParent",id); if(_114){ cc=_114.children; }else{ cc=$(_112).treegrid("getData"); } for(var i=0;ib?1:-1); }; r=_11f(r1[sn],r2[sn])*(so=="asc"?1:-1); if(r!=0){ return r; } } return r; }); for(var i=0;i=_45[0]&&len<=_45[1]; },message:"Please enter a value between {0} and {1}."},remote:{validator:function(_46,_47){ var _48={}; _48[_47[1]]=_46; var _49=$.ajax({url:_47[0],dataType:"json",data:_48,async:false,cache:false,type:"post"}).responseText; return _49=="true"; },message:"Please fix this field."}},onBeforeValidate:function(){ },onValidate:function(_4a){ }}; })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/plugins/jquery.window.js ================================================ /** * EasyUI for jQuery 1.7.0 * * Copyright (c) 2009-2018 www.jeasyui.com. All rights reserved. * * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php * To use it on other terms please contact us: info@jeasyui.com * */ (function($){ function _1(_2,_3){ var _4=$.data(_2,"window"); if(_3){ if(_3.left!=null){ _4.options.left=_3.left; } if(_3.top!=null){ _4.options.top=_3.top; } } $(_2).panel("move",_4.options); if(_4.shadow){ _4.shadow.css({left:_4.options.left,top:_4.options.top}); } }; function _5(_6,_7){ var _8=$.data(_6,"window").options; var pp=$(_6).window("panel"); var _9=pp._outerWidth(); if(_8.inline){ var _a=pp.parent(); _8.left=Math.ceil((_a.width()-_9)/2+_a.scrollLeft()); }else{ _8.left=Math.ceil(($(window)._outerWidth()-_9)/2+$(document).scrollLeft()); } if(_7){ _1(_6); } }; function _b(_c,_d){ var _e=$.data(_c,"window").options; var pp=$(_c).window("panel"); var _f=pp._outerHeight(); if(_e.inline){ var _10=pp.parent(); _e.top=Math.ceil((_10.height()-_f)/2+_10.scrollTop()); }else{ _e.top=Math.ceil(($(window)._outerHeight()-_f)/2+$(document).scrollTop()); } if(_d){ _1(_c); } }; function _11(_12){ var _13=$.data(_12,"window"); var _14=_13.options; var win=$(_12).panel($.extend({},_13.options,{border:false,doSize:true,closed:true,cls:"window "+(!_14.border?"window-thinborder window-noborder ":(_14.border=="thin"?"window-thinborder ":""))+(_14.cls||""),headerCls:"window-header "+(_14.headerCls||""),bodyCls:"window-body "+(_14.noheader?"window-body-noheader ":" ")+(_14.bodyCls||""),onBeforeDestroy:function(){ if(_14.onBeforeDestroy.call(_12)==false){ return false; } if(_13.shadow){ _13.shadow.remove(); } if(_13.mask){ _13.mask.remove(); } },onClose:function(){ if(_13.shadow){ _13.shadow.hide(); } if(_13.mask){ _13.mask.hide(); } _14.onClose.call(_12); },onOpen:function(){ if(_13.mask){ _13.mask.css($.extend({display:"block",zIndex:$.fn.window.defaults.zIndex++},$.fn.window.getMaskSize(_12))); } if(_13.shadow){ _13.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()}); } _13.window.css("z-index",$.fn.window.defaults.zIndex++); _14.onOpen.call(_12); },onResize:function(_15,_16){ var _17=$(this).panel("options"); $.extend(_14,{width:_17.width,height:_17.height,left:_17.left,top:_17.top}); if(_13.shadow){ _13.shadow.css({left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()}); } _14.onResize.call(_12,_15,_16); },onMinimize:function(){ if(_13.shadow){ _13.shadow.hide(); } if(_13.mask){ _13.mask.hide(); } _13.options.onMinimize.call(_12); },onBeforeCollapse:function(){ if(_14.onBeforeCollapse.call(_12)==false){ return false; } if(_13.shadow){ _13.shadow.hide(); } },onExpand:function(){ if(_13.shadow){ _13.shadow.show(); } _14.onExpand.call(_12); }})); _13.window=win.panel("panel"); if(_13.mask){ _13.mask.remove(); } if(_14.modal){ _13.mask=$("
            ").insertAfter(_13.window); } if(_13.shadow){ _13.shadow.remove(); } if(_14.shadow){ _13.shadow=$("
            ").insertAfter(_13.window); } var _18=_14.closed; if(_14.left==null){ _5(_12); } if(_14.top==null){ _b(_12); } _1(_12); if(!_18){ win.window("open"); } }; function _19(_1a,top,_1b,_1c){ var _1d=this; var _1e=$.data(_1d,"window"); var _1f=_1e.options; if(!_1f.constrain){ return {}; } if($.isFunction(_1f.constrain)){ return _1f.constrain.call(_1d,_1a,top,_1b,_1c); } var win=$(_1d).window("window"); var _20=_1f.inline?win.parent():$(window); if(_1a<0){ _1a=0; } if(top<_20.scrollTop()){ top=_20.scrollTop(); } if(_1a+_1b>_20.width()){ if(_1b==win.outerWidth()){ _1a=_20.width()-_1b; }else{ _1b=_20.width()-_1a; } } if(top-_20.scrollTop()+_1c>_20.height()){ if(_1c==win.outerHeight()){ top=_20.height()-_1c+_20.scrollTop(); }else{ _1c=_20.height()-top+_20.scrollTop(); } } return {left:_1a,top:top,width:_1b,height:_1c}; }; function _21(_22){ var _23=$.data(_22,"window"); _23.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_23.options.draggable==false,onBeforeDrag:function(e){ if(_23.mask){ _23.mask.css("z-index",$.fn.window.defaults.zIndex++); } if(_23.shadow){ _23.shadow.css("z-index",$.fn.window.defaults.zIndex++); } _23.window.css("z-index",$.fn.window.defaults.zIndex++); },onStartDrag:function(e){ _24(e); },onDrag:function(e){ _25(e); return false; },onStopDrag:function(e){ _26(e,"move"); }}); _23.window.resizable({disabled:_23.options.resizable==false,onStartResize:function(e){ _24(e); },onResize:function(e){ _25(e); return false; },onStopResize:function(e){ _26(e,"resize"); }}); function _24(e){ if(_23.pmask){ _23.pmask.remove(); } _23.pmask=$("
            ").insertAfter(_23.window); _23.pmask.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_23.window._outerWidth(),height:_23.window._outerHeight()}); if(_23.proxy){ _23.proxy.remove(); } _23.proxy=$("
            ").insertAfter(_23.window); _23.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); _23.proxy._outerWidth(e.data.width)._outerHeight(e.data.height); _23.proxy.hide(); setTimeout(function(){ if(_23.pmask){ _23.pmask.show(); } if(_23.proxy){ _23.proxy.show(); } },500); }; function _25(e){ $.extend(e.data,_19.call(_22,e.data.left,e.data.top,e.data.width,e.data.height)); _23.pmask.show(); _23.proxy.css({display:"block",left:e.data.left,top:e.data.top}); _23.proxy._outerWidth(e.data.width); _23.proxy._outerHeight(e.data.height); }; function _26(e,_27){ $.extend(e.data,_19.call(_22,e.data.left,e.data.top,e.data.width+0.1,e.data.height+0.1)); $(_22).window(_27,e.data); _23.pmask.remove(); _23.pmask=null; _23.proxy.remove(); _23.proxy=null; }; }; $(function(){ if(!$._positionFixed){ $(window).resize(function(){ $("body>div.window-mask:visible").css({width:"",height:""}); setTimeout(function(){ $("body>div.window-mask:visible").css($.fn.window.getMaskSize()); },50); }); } }); $.fn.window=function(_28,_29){ if(typeof _28=="string"){ var _2a=$.fn.window.methods[_28]; if(_2a){ return _2a(this,_29); }else{ return this.panel(_28,_29); } } _28=_28||{}; return this.each(function(){ var _2b=$.data(this,"window"); if(_2b){ $.extend(_2b.options,_28); }else{ _2b=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_28)}); if(!_2b.options.inline){ document.body.appendChild(this); } } _11(this); _21(this); }); }; $.fn.window.methods={options:function(jq){ var _2c=jq.panel("options"); var _2d=$.data(jq[0],"window").options; return $.extend(_2d,{closed:_2c.closed,collapsed:_2c.collapsed,minimized:_2c.minimized,maximized:_2c.maximized}); },window:function(jq){ return $.data(jq[0],"window").window; },move:function(jq,_2e){ return jq.each(function(){ _1(this,_2e); }); },hcenter:function(jq){ return jq.each(function(){ _5(this,true); }); },vcenter:function(jq){ return jq.each(function(){ _b(this,true); }); },center:function(jq){ return jq.each(function(){ _5(this); _b(this); _1(this); }); }}; $.fn.window.getMaskSize=function(_2f){ var _30=$(_2f).data("window"); if(_30&&_30.options.inline){ return {}; }else{ if($._positionFixed){ return {position:"fixed"}; }else{ return {width:$(document).width(),height:$(document).height()}; } } }; $.fn.window.parseOptions=function(_31){ return $.extend({},$.fn.panel.parseOptions(_31),$.parser.parseOptions(_31,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}])); }; $.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,border:true,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false,constrain:false}); })(jQuery); ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/angular.css ================================================ *{ 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) } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/accordion.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/calendar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/checkbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/combo.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/combobox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/datagrid.css ================================================ .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #00458a; } .datagrid-moving-proxy { border: 1px solid #00458a; height: 32px; line-height: 32px; padding: 0 4px; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/datalist.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/datebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/dialog.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/easyui.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #777; color: #fff; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #666; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #666; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #666; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #666; } .tabs-header .tabs-pill li.tabs-selected .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #00458a; } .datagrid-moving-proxy { border: 1px solid #00458a; height: 32px; line-height: 32px; padding: 0 4px; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/filebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/layout.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/linkbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/menu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/menubutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/messager.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/numberbox.css ================================================ ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/pagination.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/panel.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/passwordbox.css ================================================ .passwordbox-open { background: url('images/passwordbox_open.png') no-repeat center center; } .passwordbox-close { background: url('images/passwordbox_close.png') no-repeat center center; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/progressbar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/propertygrid.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/radiobutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/searchbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/sidemenu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/slider.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/spinner.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/splitbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/switchbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/tabs.css ================================================ .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #777; color: #fff; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #666; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #666; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #666; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #666; } .tabs-header .tabs-pill li.tabs-selected .tabs-inner { background: #0052A3; color: #fff; filter: none; border-color: #000; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/tagbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/textbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/tooltip.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/tree.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/validatebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/black/window.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/accordion.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/calendar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/checkbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/combo.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/combobox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/datagrid.css ================================================ .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #0070a9; } .datagrid-moving-proxy { border: 1px solid #0070a9; height: 32px; line-height: 32px; padding: 0 4px; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/datalist.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/datebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/dialog.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/easyui.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #e6e6e6; color: #00438a; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #0070a9; } .datagrid-moving-proxy { border: 1px solid #0070a9; height: 32px; line-height: 32px; padding: 0 4px; } .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 .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/filebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/layout.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/linkbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/menu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/menubutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/messager.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/numberbox.css ================================================ ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/pagination.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/panel.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/passwordbox.css ================================================ .passwordbox-open { background: url('images/passwordbox_open.png') no-repeat center center; } .passwordbox-close { background: url('images/passwordbox_close.png') no-repeat center center; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/progressbar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/propertygrid.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/radiobutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/searchbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/sidemenu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/slider.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/spinner.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/splitbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/switchbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/tabs.css ================================================ .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #e6e6e6; color: #00438a; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .tabs-inner { background: #0081c2; color: #fff; filter: none; border-color: #D4D4D4; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/tagbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/textbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/tooltip.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/tree.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/validatebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/bootstrap/window.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/color.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/accordion.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/calendar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/checkbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/combo.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/combobox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/datagrid.css ================================================ .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #ffab3f; } .datagrid-moving-proxy { border: 1px solid #ffab3f; height: 32px; line-height: 32px; padding: 0 4px; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/datalist.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/datebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/dialog.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/easyui.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #eaf2ff; color: #000000; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #ffab3f; } .datagrid-moving-proxy { border: 1px solid #ffab3f; height: 32px; line-height: 32px; padding: 0 4px; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/filebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/layout.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/linkbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/menu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/menubutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/messager.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/numberbox.css ================================================ ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/pagination.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/panel.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/passwordbox.css ================================================ .passwordbox-open { background: url('images/passwordbox_open.png') no-repeat center center; } .passwordbox-close { background: url('images/passwordbox_close.png') no-repeat center center; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/progressbar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/propertygrid.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/radiobutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/searchbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/sidemenu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/slider.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/spinner.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/splitbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/switchbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/tabs.css ================================================ .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #eaf2ff; color: #000000; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .tabs-inner { background: #ffe48d; color: #000000; filter: none; border-color: #95B8E7; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/tagbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/textbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/tooltip.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/tree.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/validatebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/default/window.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/accordion.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/calendar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/checkbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/combo.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/combobox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/datagrid.css ================================================ .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #0070a9; } .datagrid-moving-proxy { border: 1px solid #0070a9; height: 32px; line-height: 32px; padding: 0 4px; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/datalist.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/datebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/dialog.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/easyui.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #e2e2e2; color: #000000; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #0070a9; } .datagrid-moving-proxy { border: 1px solid #0070a9; height: 32px; line-height: 32px; padding: 0 4px; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/filebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/layout.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/linkbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/menu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/menubutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/messager.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/numberbox.css ================================================ ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/pagination.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/panel.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/passwordbox.css ================================================ .passwordbox-open { background: url('images/passwordbox_open.png') no-repeat center center; } .passwordbox-close { background: url('images/passwordbox_close.png') no-repeat center center; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/progressbar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/propertygrid.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/radiobutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/searchbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/sidemenu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/slider.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/spinner.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/splitbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/switchbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/tabs.css ================================================ .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #e2e2e2; color: #000000; filter: none; } .tabs li.tabs-selected .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 .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 .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 .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 .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .tabs-inner { background: #0092DC; color: #fff; filter: none; border-color: #D3D3D3; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/tagbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/textbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/tooltip.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/tree.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/validatebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/gray/window.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/icon.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/accordion.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/calendar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/checkbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/combo.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/combobox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/datagrid.css ================================================ .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #00bbee; } .datagrid-moving-proxy { border: 1px solid #00bbee; height: 32px; line-height: 32px; padding: 0 4px; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/datalist.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/datebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/dialog.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/easyui.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #eee; color: #404040; filter: none; } .tabs li.tabs-selected .tabs-inner { background-color: #ffffff; color: #000000; } .tabs li .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #00bbee; } .datagrid-moving-proxy { border: 1px solid #00bbee; height: 32px; line-height: 32px; padding: 0 4px; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/filebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/layout.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/linkbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/menu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/menubutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/messager.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/numberbox.css ================================================ ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/pagination.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/panel.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/passwordbox.css ================================================ .passwordbox-open { background: url('images/passwordbox_open.png') no-repeat center center; } .passwordbox-close { background: url('images/passwordbox_close.png') no-repeat center center; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/progressbar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/propertygrid.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/radiobutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/searchbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/sidemenu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/slider.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/spinner.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/splitbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/switchbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/tabs.css ================================================ .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #eee; color: #404040; filter: none; } .tabs li.tabs-selected .tabs-inner { background-color: #ffffff; color: #000000; } .tabs li .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .tabs-inner { background: #00bbee; color: #fff; filter: none; border-color: #ddd; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/tagbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/textbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/tooltip.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/tree.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/validatebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material/window.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/accordion.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/calendar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/checkbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/combo.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/combobox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/datagrid.css ================================================ .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #39c; } .datagrid-moving-proxy { border: 1px solid #39c; height: 32px; line-height: 32px; padding: 0 4px; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/datalist.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/datebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/dialog.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/easyui.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #eee; color: #404040; filter: none; } .tabs li.tabs-selected .tabs-inner { background-color: #ffffff; color: #404040; } .tabs li .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #39c; } .datagrid-moving-proxy { border: 1px solid #39c; height: 32px; line-height: 32px; padding: 0 4px; } .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 .tabs-inner, .tabs li .tabs-inner:hover { 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 .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 .tabs-inner { border-top: 2px solid transparent; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 2px solid #39c; border-bottom: 0; } .tabs-header-left .tabs li .tabs-inner { border-right: 2px solid transparent; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 2px solid #39c; border-top-color: transparent; border-bottom-color: transparent; } .tabs-header-right .tabs li .tabs-inner { border-left: 2px solid transparent; } .tabs-header-right .tabs li.tabs-selected .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/filebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/layout.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/linkbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/menu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/menubutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/messager.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/numberbox.css ================================================ ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/pagination.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/panel.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/passwordbox.css ================================================ .passwordbox-open { background: url('images/passwordbox_open.png') no-repeat center center; } .passwordbox-close { background: url('images/passwordbox_close.png') no-repeat center center; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/progressbar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/propertygrid.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/radiobutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/searchbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/sidemenu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/slider.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/spinner.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/splitbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/switchbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/tabs.css ================================================ .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #eee; color: #404040; filter: none; } .tabs li.tabs-selected .tabs-inner { background-color: #ffffff; color: #404040; } .tabs li .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #ffffff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #ffffff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #ffffff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #ffffff; } .tabs-header .tabs-pill li.tabs-selected .tabs-inner { background: #eee; color: #39c; filter: none; border-color: #dfdfdf; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/tagbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/textbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/tooltip.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/tree.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/validatebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/material-teal/window.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/accordion.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/calendar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/checkbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/combo.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/combobox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/datagrid.css ================================================ .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #99cdff; } .datagrid-moving-proxy { border: 1px solid #99cdff; height: 32px; line-height: 32px; padding: 0 4px; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/datalist.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/datebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/dialog.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/easyui.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #E6E6E6; color: #444; filter: none; } .tabs li.tabs-selected .tabs-inner { background-color: #fff; color: #777; } .tabs li .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #fff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #fff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #fff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #fff; } .tabs-header .tabs-pill li.tabs-selected .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; } .datagrid-split-proxy { position: absolute; left: 0; top: 0; width: 1px; height: 100%; border-left: 1px solid #99cdff; } .datagrid-moving-proxy { border: 1px solid #99cdff; height: 32px; line-height: 32px; padding: 0 4px; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/filebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/layout.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/linkbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/menu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/menubutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/messager.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/numberbox.css ================================================ ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/pagination.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/panel.css ================================================ * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/passwordbox.css ================================================ .passwordbox-open { background: url('images/passwordbox_open.png') no-repeat center center; } .passwordbox-close { background: url('images/passwordbox_close.png') no-repeat center center; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/progressbar.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/propertygrid.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/radiobutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/searchbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/sidemenu.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/slider.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/spinner.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/splitbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/switchbutton.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/tabs.css ================================================ .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 .tabs-inner { display: inline-block; text-decoration: none; cursor: hand; cursor: pointer; 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 .tabs-inner { font-weight: bold; outline: none; } .tabs li.tabs-selected .tabs-inner:hover { 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 .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 .tabs-inner { padding-left: 0; padding-right: 0; } .tabs-header-left .tabs li .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 .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 .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 .tabs-inner:hover { background: #E6E6E6; color: #444; filter: none; } .tabs li.tabs-selected .tabs-inner { background-color: #fff; color: #777; } .tabs li .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 .tabs-inner, .tabs li.tabs-selected .tabs-inner, .tabs-header-bottom .tabs li.tabs-selected .tabs-inner, .tabs-header-left .tabs li.tabs-selected .tabs-inner, .tabs-header-right .tabs li.tabs-selected .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 .tabs-inner { border-bottom: 1px solid #fff; } .tabs-header-bottom .tabs li.tabs-selected .tabs-inner { border-top: 1px solid #fff; } .tabs-header-left .tabs li.tabs-selected .tabs-inner { border-right: 1px solid #fff; } .tabs-header-right .tabs li.tabs-selected .tabs-inner { border-left: 1px solid #fff; } .tabs-header .tabs-pill li.tabs-selected .tabs-inner { background: #CCE6FF; color: #000; filter: none; border-color: #ddd; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/tagbox.css ================================================ .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); } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/textbox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/tooltip.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/tree.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/validatebox.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/metro/window.css ================================================ .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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/mobile.css ================================================ *{ 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; } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/react.css ================================================ *{ 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 .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 .tabs-inner, .tabs-header-right .tabs li .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.f-field{ height: auto; } .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; } .tree-editing.tree-title{ position: relative; margin: 0; padding: 0; height: 26px; line-height: 26px; overflow: hidden; } .tree-editing.tree-title > *{ flex: 1 1 auto; height: auto; overflow: hidden; } .tree-editing.tree-title .textbox-text{ height: 24px; line-height: 24px; } .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-mask{ left: 0; top: 0; width: 100%; 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) } ================================================ FILE: gmall-manage-web/src/main/resources/static/esayui/themes/vue.css ================================================ *{ 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 .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 .tabs-inner, .tabs-header-right .tabs li .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; } .tree-editing.tree-title{ position: relative; margin: 0; padding: 0; height: 26px; line-height: 26px; overflow: hidden; } .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) } ================================================ FILE: gmall-manage-web/src/main/resources/static/webuploader/webuploader.css ================================================ .webuploader-container { position: relative; } .webuploader-element-invisible { position: absolute !important; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px,1px,1px,1px); } .webuploader-pick { position: relative; display: inline-block; cursor: pointer; background: #00b7ee; padding: 10px 15px; color: #fff; text-align: center; border-radius: 3px; overflow: hidden; } .webuploader-pick-hover { background: #00a2d4; } .webuploader-pick-disable { opacity: 0.6; pointer-events:none; } ================================================ FILE: gmall-manage-web/src/main/resources/static/webuploader/webuploader.js ================================================ /*! WebUploader 0.1.5 */ /** * @fileOverview 让内部各个部件的代码可以用[amd](https://github.com/amdjs/amdjs-api/wiki/AMD)模块定义方式组织起来。 * * AMD API 内部的简单不完全实现,请忽略。只有当WebUploader被合并成一个文件的时候才会引入。 */ (function( root, factory ) { var modules = {}, // 内部require, 简单不完全实现。 // https://github.com/amdjs/amdjs-api/wiki/require _require = function( deps, callback ) { var args, len, i; // 如果deps不是数组,则直接返回指定module if ( typeof deps === 'string' ) { return getModule( deps ); } else { args = []; for( len = deps.length, i = 0; i < len; i++ ) { args.push( getModule( deps[ i ] ) ); } return callback.apply( null, args ); } }, // 内部define,暂时不支持不指定id. _define = function( id, deps, factory ) { if ( arguments.length === 2 ) { factory = deps; deps = null; } _require( deps || [], function() { setModule( id, factory, arguments ); }); }, // 设置module, 兼容CommonJs写法。 setModule = function( id, factory, args ) { var module = { exports: factory }, returned; if ( typeof factory === 'function' ) { args.length || (args = [ _require, module.exports, module ]); returned = factory.apply( null, args ); returned !== undefined && (module.exports = returned); } modules[ id ] = module.exports; }, // 根据id获取module getModule = function( id ) { var module = modules[ id ] || root[ id ]; if ( !module ) { throw new Error( '`' + id + '` is undefined' ); } return module; }, // 将所有modules,将路径ids装换成对象。 exportsTo = function( obj ) { var key, host, parts, part, last, ucFirst; // make the first character upper case. ucFirst = function( str ) { return str && (str.charAt( 0 ).toUpperCase() + str.substr( 1 )); }; for ( key in modules ) { host = obj; if ( !modules.hasOwnProperty( key ) ) { continue; } parts = key.split('/'); last = ucFirst( parts.pop() ); while( (part = ucFirst( parts.shift() )) ) { host[ part ] = host[ part ] || {}; host = host[ part ]; } host[ last ] = modules[ key ]; } return obj; }, makeExport = function( dollar ) { root.__dollar = dollar; // exports every module. return exportsTo( factory( root, _define, _require ) ); }, origin; if ( typeof module === 'object' && typeof module.exports === 'object' ) { // For CommonJS and CommonJS-like environments where a proper window is present, module.exports = makeExport(); } else if ( typeof define === 'function' && define.amd ) { // Allow using this built library as an AMD module // in another project. That other project will only // see this AMD call, not the internal modules in // the closure below. define([ 'jquery' ], makeExport ); } else { // Browser globals case. Just assign the // result to a property on the global. origin = root.WebUploader; root.WebUploader = makeExport(); root.WebUploader.noConflict = function() { root.WebUploader = origin; }; } })( window, function( window, define, require ) { /** * @fileOverview jQuery or Zepto */ define('dollar-third',[],function() { var $ = window.__dollar || window.jQuery || window.Zepto; if ( !$ ) { throw new Error('jQuery or Zepto not found!'); } return $; }); /** * @fileOverview Dom 操作相关 */ define('dollar',[ 'dollar-third' ], function( _ ) { return _; }); /** * @fileOverview 使用jQuery的Promise */ define('promise-third',[ 'dollar' ], function( $ ) { return { Deferred: $.Deferred, when: $.when, isPromise: function( anything ) { return anything && typeof anything.then === 'function'; } }; }); /** * @fileOverview Promise/A+ */ define('promise',[ 'promise-third' ], function( _ ) { return _; }); /** * @fileOverview 基础类方法。 */ /** * Web Uploader内部类的详细说明,以下提及的功能类,都可以在`WebUploader`这个变量中访问到。 * * As you know, Web Uploader的每个文件都是用过[AMD](https://github.com/amdjs/amdjs-api/wiki/AMD)规范中的`define`组织起来的, 每个Module都会有个module id. * 默认module id为该文件的路径,而此路径将会转化成名字空间存放在WebUploader中。如: * * * module `base`:WebUploader.Base * * module `file`: WebUploader.File * * module `lib/dnd`: WebUploader.Lib.Dnd * * module `runtime/html5/dnd`: WebUploader.Runtime.Html5.Dnd * * * 以下文档中对类的使用可能省略掉了`WebUploader`前缀。 * @module WebUploader * @title WebUploader API文档 */ define('base',[ 'dollar', 'promise' ], function( $, promise ) { var noop = function() {}, call = Function.call; // http://jsperf.com/uncurrythis // 反科里化 function uncurryThis( fn ) { return function() { return call.apply( fn, arguments ); }; } function bindFn( fn, context ) { return function() { return fn.apply( context, arguments ); }; } function createObject( proto ) { var f; if ( Object.create ) { return Object.create( proto ); } else { f = function() {}; f.prototype = proto; return new f(); } } /** * 基础类,提供一些简单常用的方法。 * @class Base */ return { /** * @property {String} version 当前版本号。 */ version: '0.1.5', /** * @property {jQuery|Zepto} $ 引用依赖的jQuery或者Zepto对象。 */ $: $, Deferred: promise.Deferred, isPromise: promise.isPromise, when: promise.when, /** * @description 简单的浏览器检查结果。 * * * `webkit` webkit版本号,如果浏览器为非webkit内核,此属性为`undefined`。 * * `chrome` chrome浏览器版本号,如果浏览器为chrome,此属性为`undefined`。 * * `ie` ie浏览器版本号,如果浏览器为非ie,此属性为`undefined`。**暂不支持ie10+** * * `firefox` firefox浏览器版本号,如果浏览器为非firefox,此属性为`undefined`。 * * `safari` safari浏览器版本号,如果浏览器为非safari,此属性为`undefined`。 * * `opera` opera浏览器版本号,如果浏览器为非opera,此属性为`undefined`。 * * @property {Object} [browser] */ browser: (function( ua ) { var ret = {}, webkit = ua.match( /WebKit\/([\d.]+)/ ), chrome = ua.match( /Chrome\/([\d.]+)/ ) || ua.match( /CriOS\/([\d.]+)/ ), ie = ua.match( /MSIE\s([\d\.]+)/ ) || ua.match( /(?:trident)(?:.*rv:([\w.]+))?/i ), firefox = ua.match( /Firefox\/([\d.]+)/ ), safari = ua.match( /Safari\/([\d.]+)/ ), opera = ua.match( /OPR\/([\d.]+)/ ); webkit && (ret.webkit = parseFloat( webkit[ 1 ] )); chrome && (ret.chrome = parseFloat( chrome[ 1 ] )); ie && (ret.ie = parseFloat( ie[ 1 ] )); firefox && (ret.firefox = parseFloat( firefox[ 1 ] )); safari && (ret.safari = parseFloat( safari[ 1 ] )); opera && (ret.opera = parseFloat( opera[ 1 ] )); return ret; })( navigator.userAgent ), /** * @description 操作系统检查结果。 * * * `android` 如果在android浏览器环境下,此值为对应的android版本号,否则为`undefined`。 * * `ios` 如果在ios浏览器环境下,此值为对应的ios版本号,否则为`undefined`。 * @property {Object} [os] */ os: (function( ua ) { var ret = {}, // osx = !!ua.match( /\(Macintosh\; Intel / ), android = ua.match( /(?:Android);?[\s\/]+([\d.]+)?/ ), ios = ua.match( /(?:iPad|iPod|iPhone).*OS\s([\d_]+)/ ); // osx && (ret.osx = true); android && (ret.android = parseFloat( android[ 1 ] )); ios && (ret.ios = parseFloat( ios[ 1 ].replace( /_/g, '.' ) )); return ret; })( navigator.userAgent ), /** * 实现类与类之间的继承。 * @method inherits * @grammar Base.inherits( super ) => child * @grammar Base.inherits( super, protos ) => child * @grammar Base.inherits( super, protos, statics ) => child * @param {Class} super 父类 * @param {Object | Function} [protos] 子类或者对象。如果对象中包含constructor,子类将是用此属性值。 * @param {Function} [protos.constructor] 子类构造器,不指定的话将创建个临时的直接执行父类构造器的方法。 * @param {Object} [statics] 静态属性或方法。 * @return {Class} 返回子类。 * @example * function Person() { * console.log( 'Super' ); * } * Person.prototype.hello = function() { * console.log( 'hello' ); * }; * * var Manager = Base.inherits( Person, { * world: function() { * console.log( 'World' ); * } * }); * * // 因为没有指定构造器,父类的构造器将会执行。 * var instance = new Manager(); // => Super * * // 继承子父类的方法 * instance.hello(); // => hello * instance.world(); // => World * * // 子类的__super__属性指向父类 * console.log( Manager.__super__ === Person ); // => true */ inherits: function( Super, protos, staticProtos ) { var child; if ( typeof protos === 'function' ) { child = protos; protos = null; } else if ( protos && protos.hasOwnProperty('constructor') ) { child = protos.constructor; } else { child = function() { return Super.apply( this, arguments ); }; } // 复制静态方法 $.extend( true, child, Super, staticProtos || {} ); /* jshint camelcase: false */ // 让子类的__super__属性指向父类。 child.__super__ = Super.prototype; // 构建原型,添加原型方法或属性。 // 暂时用Object.create实现。 child.prototype = createObject( Super.prototype ); protos && $.extend( true, child.prototype, protos ); return child; }, /** * 一个不做任何事情的方法。可以用来赋值给默认的callback. * @method noop */ noop: noop, /** * 返回一个新的方法,此方法将已指定的`context`来执行。 * @grammar Base.bindFn( fn, context ) => Function * @method bindFn * @example * var doSomething = function() { * console.log( this.name ); * }, * obj = { * name: 'Object Name' * }, * aliasFn = Base.bind( doSomething, obj ); * * aliasFn(); // => Object Name * */ bindFn: bindFn, /** * 引用Console.log如果存在的话,否则引用一个[空函数noop](#WebUploader:Base.noop)。 * @grammar Base.log( args... ) => undefined * @method log */ log: (function() { if ( window.console ) { return bindFn( console.log, console ); } return noop; })(), nextTick: (function() { return function( cb ) { setTimeout( cb, 1 ); }; // @bug 当浏览器不在当前窗口时就停了。 // var next = window.requestAnimationFrame || // window.webkitRequestAnimationFrame || // window.mozRequestAnimationFrame || // function( cb ) { // window.setTimeout( cb, 1000 / 60 ); // }; // // fix: Uncaught TypeError: Illegal invocation // return bindFn( next, window ); })(), /** * 被[uncurrythis](http://www.2ality.com/2011/11/uncurrying-this.html)的数组slice方法。 * 将用来将非数组对象转化成数组对象。 * @grammar Base.slice( target, start[, end] ) => Array * @method slice * @example * function doSomthing() { * var args = Base.slice( arguments, 1 ); * console.log( args ); * } * * doSomthing( 'ignored', 'arg2', 'arg3' ); // => Array ["arg2", "arg3"] */ slice: uncurryThis( [].slice ), /** * 生成唯一的ID * @method guid * @grammar Base.guid() => String * @grammar Base.guid( prefx ) => String */ guid: (function() { var counter = 0; return function( prefix ) { var guid = (+new Date()).toString( 32 ), i = 0; for ( ; i < 5; i++ ) { guid += Math.floor( Math.random() * 65535 ).toString( 32 ); } return (prefix || 'wu_') + guid + (counter++).toString( 32 ); }; })(), /** * 格式化文件大小, 输出成带单位的字符串 * @method formatSize * @grammar Base.formatSize( size ) => String * @grammar Base.formatSize( size, pointLength ) => String * @grammar Base.formatSize( size, pointLength, units ) => String * @param {Number} size 文件大小 * @param {Number} [pointLength=2] 精确到的小数点数。 * @param {Array} [units=[ 'B', 'K', 'M', 'G', 'TB' ]] 单位数组。从字节,到千字节,一直往上指定。如果单位数组里面只指定了到了K(千字节),同时文件大小大于M, 此方法的输出将还是显示成多少K. * @example * console.log( Base.formatSize( 100 ) ); // => 100B * console.log( Base.formatSize( 1024 ) ); // => 1.00K * console.log( Base.formatSize( 1024, 0 ) ); // => 1K * console.log( Base.formatSize( 1024 * 1024 ) ); // => 1.00M * console.log( Base.formatSize( 1024 * 1024 * 1024 ) ); // => 1.00G * console.log( Base.formatSize( 1024 * 1024 * 1024, 0, ['B', 'KB', 'MB'] ) ); // => 1024MB */ formatSize: function( size, pointLength, units ) { var unit; units = units || [ 'B', 'K', 'M', 'G', 'TB' ]; while ( (unit = units.shift()) && size > 1024 ) { size = size / 1024; } return (unit === 'B' ? size : size.toFixed( pointLength || 2 )) + unit; } }; }); /** * 事件处理类,可以独立使用,也可以扩展给对象使用。 * @fileOverview Mediator */ define('mediator',[ 'base' ], function( Base ) { var $ = Base.$, slice = [].slice, separator = /\s+/, protos; // 根据条件过滤出事件handlers. function findHandlers( arr, name, callback, context ) { return $.grep( arr, function( handler ) { return handler && (!name || handler.e === name) && (!callback || handler.cb === callback || handler.cb._cb === callback) && (!context || handler.ctx === context); }); } function eachEvent( events, callback, iterator ) { // 不支持对象,只支持多个event用空格隔开 $.each( (events || '').split( separator ), function( _, key ) { iterator( key, callback ); }); } function triggerHanders( events, args ) { var stoped = false, i = -1, len = events.length, handler; while ( ++i < len ) { handler = events[ i ]; if ( handler.cb.apply( handler.ctx2, args ) === false ) { stoped = true; break; } } return !stoped; } protos = { /** * 绑定事件。 * * `callback`方法在执行时,arguments将会来源于trigger的时候携带的参数。如 * ```javascript * var obj = {}; * * // 使得obj有事件行为 * Mediator.installTo( obj ); * * obj.on( 'testa', function( arg1, arg2 ) { * console.log( arg1, arg2 ); // => 'arg1', 'arg2' * }); * * obj.trigger( 'testa', 'arg1', 'arg2' ); * ``` * * 如果`callback`中,某一个方法`return false`了,则后续的其他`callback`都不会被执行到。 * 切会影响到`trigger`方法的返回值,为`false`。 * * `on`还可以用来添加一个特殊事件`all`, 这样所有的事件触发都会响应到。同时此类`callback`中的arguments有一个不同处, * 就是第一个参数为`type`,记录当前是什么事件在触发。此类`callback`的优先级比脚低,会再正常`callback`执行完后触发。 * ```javascript * obj.on( 'all', function( type, arg1, arg2 ) { * console.log( type, arg1, arg2 ); // => 'testa', 'arg1', 'arg2' * }); * ``` * * @method on * @grammar on( name, callback[, context] ) => self * @param {String} name 事件名,支持多个事件用空格隔开 * @param {Function} callback 事件处理器 * @param {Object} [context] 事件处理器的上下文。 * @return {self} 返回自身,方便链式 * @chainable * @class Mediator */ on: function( name, callback, context ) { var me = this, set; if ( !callback ) { return this; } set = this._events || (this._events = []); eachEvent( name, callback, function( name, callback ) { var handler = { e: name }; handler.cb = callback; handler.ctx = context; handler.ctx2 = context || me; handler.id = set.length; set.push( handler ); }); return this; }, /** * 绑定事件,且当handler执行完后,自动解除绑定。 * @method once * @grammar once( name, callback[, context] ) => self * @param {String} name 事件名 * @param {Function} callback 事件处理器 * @param {Object} [context] 事件处理器的上下文。 * @return {self} 返回自身,方便链式 * @chainable */ once: function( name, callback, context ) { var me = this; if ( !callback ) { return me; } eachEvent( name, callback, function( name, callback ) { var once = function() { me.off( name, once ); return callback.apply( context || me, arguments ); }; once._cb = callback; me.on( name, once, context ); }); return me; }, /** * 解除事件绑定 * @method off * @grammar off( [name[, callback[, context] ] ] ) => self * @param {String} [name] 事件名 * @param {Function} [callback] 事件处理器 * @param {Object} [context] 事件处理器的上下文。 * @return {self} 返回自身,方便链式 * @chainable */ off: function( name, cb, ctx ) { var events = this._events; if ( !events ) { return this; } if ( !name && !cb && !ctx ) { this._events = []; return this; } eachEvent( name, cb, function( name, cb ) { $.each( findHandlers( events, name, cb, ctx ), function() { delete events[ this.id ]; }); }); return this; }, /** * 触发事件 * @method trigger * @grammar trigger( name[, args...] ) => self * @param {String} type 事件名 * @param {*} [...] 任意参数 * @return {Boolean} 如果handler中return false了,则返回false, 否则返回true */ trigger: function( type ) { var args, events, allEvents; if ( !this._events || !type ) { return this; } args = slice.call( arguments, 1 ); events = findHandlers( this._events, type ); allEvents = findHandlers( this._events, 'all' ); return triggerHanders( events, args ) && triggerHanders( allEvents, arguments ); } }; /** * 中介者,它本身是个单例,但可以通过[installTo](#WebUploader:Mediator:installTo)方法,使任何对象具备事件行为。 * 主要目的是负责模块与模块之间的合作,降低耦合度。 * * @class Mediator */ return $.extend({ /** * 可以通过这个接口,使任何对象具备事件功能。 * @method installTo * @param {Object} obj 需要具备事件行为的对象。 * @return {Object} 返回obj. */ installTo: function( obj ) { return $.extend( obj, protos ); } }, protos ); }); /** * @fileOverview Uploader上传类 */ define('uploader',[ 'base', 'mediator' ], function( Base, Mediator ) { var $ = Base.$; /** * 上传入口类。 * @class Uploader * @constructor * @grammar new Uploader( opts ) => Uploader * @example * var uploader = WebUploader.Uploader({ * swf: 'path_of_swf/Uploader.swf', * * // 开起分片上传。 * chunked: true * }); */ function Uploader( opts ) { this.options = $.extend( true, {}, Uploader.options, opts ); this._init( this.options ); } // default Options // widgets中有相应扩展 Uploader.options = {}; Mediator.installTo( Uploader.prototype ); // 批量添加纯命令式方法。 $.each({ upload: 'start-upload', stop: 'stop-upload', getFile: 'get-file', getFiles: 'get-files', addFile: 'add-file', addFiles: 'add-file', sort: 'sort-files', removeFile: 'remove-file', cancelFile: 'cancel-file', skipFile: 'skip-file', retry: 'retry', isInProgress: 'is-in-progress', makeThumb: 'make-thumb', md5File: 'md5-file', getDimension: 'get-dimension', addButton: 'add-btn', predictRuntimeType: 'predict-runtime-type', refresh: 'refresh', disable: 'disable', enable: 'enable', reset: 'reset' }, function( fn, command ) { Uploader.prototype[ fn ] = function() { return this.request( command, arguments ); }; }); $.extend( Uploader.prototype, { state: 'pending', _init: function( opts ) { var me = this; me.request( 'init', opts, function() { me.state = 'ready'; me.trigger('ready'); }); }, /** * 获取或者设置Uploader配置项。 * @method option * @grammar option( key ) => * * @grammar option( key, val ) => self * @example * * // 初始状态图片上传前不会压缩 * var uploader = new WebUploader.Uploader({ * compress: null; * }); * * // 修改后图片上传前,尝试将图片压缩到1600 * 1600 * uploader.option( 'compress', { * width: 1600, * height: 1600 * }); */ option: function( key, val ) { var opts = this.options; // setter if ( arguments.length > 1 ) { if ( $.isPlainObject( val ) && $.isPlainObject( opts[ key ] ) ) { $.extend( opts[ key ], val ); } else { opts[ key ] = val; } } else { // getter return key ? opts[ key ] : opts; } }, /** * 获取文件统计信息。返回一个包含一下信息的对象。 * * `successNum` 上传成功的文件数 * * `progressNum` 上传中的文件数 * * `cancelNum` 被删除的文件数 * * `invalidNum` 无效的文件数 * * `uploadFailNum` 上传失败的文件数 * * `queueNum` 还在队列中的文件数 * * `interruptNum` 被暂停的文件数 * @method getStats * @grammar getStats() => Object */ getStats: function() { // return this._mgr.getStats.apply( this._mgr, arguments ); var stats = this.request('get-stats'); return stats ? { successNum: stats.numOfSuccess, progressNum: stats.numOfProgress, // who care? // queueFailNum: 0, cancelNum: stats.numOfCancel, invalidNum: stats.numOfInvalid, uploadFailNum: stats.numOfUploadFailed, queueNum: stats.numOfQueue, interruptNum: stats.numofInterrupt } : {}; }, // 需要重写此方法来来支持opts.onEvent和instance.onEvent的处理器 trigger: function( type/*, args...*/ ) { var args = [].slice.call( arguments, 1 ), opts = this.options, name = 'on' + type.substring( 0, 1 ).toUpperCase() + type.substring( 1 ); if ( // 调用通过on方法注册的handler. Mediator.trigger.apply( this, arguments ) === false || // 调用opts.onEvent $.isFunction( opts[ name ] ) && opts[ name ].apply( this, args ) === false || // 调用this.onEvent $.isFunction( this[ name ] ) && this[ name ].apply( this, args ) === false || // 广播所有uploader的事件。 Mediator.trigger.apply( Mediator, [ this, type ].concat( args ) ) === false ) { return false; } return true; }, /** * 销毁 webuploader 实例 * @method destroy * @grammar destroy() => undefined */ destroy: function() { this.request( 'destroy', arguments ); this.off(); }, // widgets/widget.js将补充此方法的详细文档。 request: Base.noop }); /** * 创建Uploader实例,等同于new Uploader( opts ); * @method create * @class Base * @static * @grammar Base.create( opts ) => Uploader */ Base.create = Uploader.create = function( opts ) { return new Uploader( opts ); }; // 暴露Uploader,可以通过它来扩展业务逻辑。 Base.Uploader = Uploader; return Uploader; }); /** * @fileOverview Runtime管理器,负责Runtime的选择, 连接 */ define('runtime/runtime',[ 'base', 'mediator' ], function( Base, Mediator ) { var $ = Base.$, factories = {}, // 获取对象的第一个key getFirstKey = function( obj ) { for ( var key in obj ) { if ( obj.hasOwnProperty( key ) ) { return key; } } return null; }; // 接口类。 function Runtime( options ) { this.options = $.extend({ container: document.body }, options ); this.uid = Base.guid('rt_'); } $.extend( Runtime.prototype, { getContainer: function() { var opts = this.options, parent, container; if ( this._container ) { return this._container; } parent = $( opts.container || document.body ); container = $( document.createElement('div') ); container.attr( 'id', 'rt_' + this.uid ); container.css({ position: 'absolute', top: '0px', left: '0px', width: '1px', height: '1px', overflow: 'hidden' }); parent.append( container ); parent.addClass('webuploader-container'); this._container = container; this._parent = parent; return container; }, init: Base.noop, exec: Base.noop, destroy: function() { this._container && this._container.remove(); this._parent && this._parent.removeClass('webuploader-container'); this.off(); } }); Runtime.orders = 'html5,flash'; /** * 添加Runtime实现。 * @param {String} type 类型 * @param {Runtime} factory 具体Runtime实现。 */ Runtime.addRuntime = function( type, factory ) { factories[ type ] = factory; }; Runtime.hasRuntime = function( type ) { return !!(type ? factories[ type ] : getFirstKey( factories )); }; Runtime.create = function( opts, orders ) { var type, runtime; orders = orders || Runtime.orders; $.each( orders.split( /\s*,\s*/g ), function() { if ( factories[ this ] ) { type = this; return false; } }); type = type || getFirstKey( factories ); if ( !type ) { throw new Error('Runtime Error'); } runtime = new factories[ type ]( opts ); return runtime; }; Mediator.installTo( Runtime.prototype ); return Runtime; }); /** * @fileOverview Runtime管理器,负责Runtime的选择, 连接 */ define('runtime/client',[ 'base', 'mediator', 'runtime/runtime' ], function( Base, Mediator, Runtime ) { var cache; cache = (function() { var obj = {}; return { add: function( runtime ) { obj[ runtime.uid ] = runtime; }, get: function( ruid, standalone ) { var i; if ( ruid ) { return obj[ ruid ]; } for ( i in obj ) { // 有些类型不能重用,比如filepicker. if ( standalone && obj[ i ].__standalone ) { continue; } return obj[ i ]; } return null; }, remove: function( runtime ) { delete obj[ runtime.uid ]; } }; })(); function RuntimeClient( component, standalone ) { var deferred = Base.Deferred(), runtime; this.uid = Base.guid('client_'); // 允许runtime没有初始化之前,注册一些方法在初始化后执行。 this.runtimeReady = function( cb ) { return deferred.done( cb ); }; this.connectRuntime = function( opts, cb ) { // already connected. if ( runtime ) { throw new Error('already connected!'); } deferred.done( cb ); if ( typeof opts === 'string' && cache.get( opts ) ) { runtime = cache.get( opts ); } // 像filePicker只能独立存在,不能公用。 runtime = runtime || cache.get( null, standalone ); // 需要创建 if ( !runtime ) { runtime = Runtime.create( opts, opts.runtimeOrder ); runtime.__promise = deferred.promise(); runtime.once( 'ready', deferred.resolve ); runtime.init(); cache.add( runtime ); runtime.__client = 1; } else { // 来自cache Base.$.extend( runtime.options, opts ); runtime.__promise.then( deferred.resolve ); runtime.__client++; } standalone && (runtime.__standalone = standalone); return runtime; }; this.getRuntime = function() { return runtime; }; this.disconnectRuntime = function() { if ( !runtime ) { return; } runtime.__client--; if ( runtime.__client <= 0 ) { cache.remove( runtime ); delete runtime.__promise; runtime.destroy(); } runtime = null; }; this.exec = function() { if ( !runtime ) { return; } var args = Base.slice( arguments ); component && args.unshift( component ); return runtime.exec.apply( this, args ); }; this.getRuid = function() { return runtime && runtime.uid; }; this.destroy = (function( destroy ) { return function() { destroy && destroy.apply( this, arguments ); this.trigger('destroy'); this.off(); this.exec('destroy'); this.disconnectRuntime(); }; })( this.destroy ); } Mediator.installTo( RuntimeClient.prototype ); return RuntimeClient; }); /** * @fileOverview 错误信息 */ define('lib/dnd',[ 'base', 'mediator', 'runtime/client' ], function( Base, Mediator, RuntimeClent ) { var $ = Base.$; function DragAndDrop( opts ) { opts = this.options = $.extend({}, DragAndDrop.options, opts ); opts.container = $( opts.container ); if ( !opts.container.length ) { return; } RuntimeClent.call( this, 'DragAndDrop' ); } DragAndDrop.options = { accept: null, disableGlobalDnd: false }; Base.inherits( RuntimeClent, { constructor: DragAndDrop, init: function() { var me = this; me.connectRuntime( me.options, function() { me.exec('init'); me.trigger('ready'); }); } }); Mediator.installTo( DragAndDrop.prototype ); return DragAndDrop; }); /** * @fileOverview 组件基类。 */ define('widgets/widget',[ 'base', 'uploader' ], function( Base, Uploader ) { var $ = Base.$, _init = Uploader.prototype._init, _destroy = Uploader.prototype.destroy, IGNORE = {}, widgetClass = []; function isArrayLike( obj ) { if ( !obj ) { return false; } var length = obj.length, type = $.type( obj ); if ( obj.nodeType === 1 && length ) { return true; } return type === 'array' || type !== 'function' && type !== 'string' && (length === 0 || typeof length === 'number' && length > 0 && (length - 1) in obj); } function Widget( uploader ) { this.owner = uploader; this.options = uploader.options; } $.extend( Widget.prototype, { init: Base.noop, // 类Backbone的事件监听声明,监听uploader实例上的事件 // widget直接无法监听事件,事件只能通过uploader来传递 invoke: function( apiName, args ) { /* { 'make-thumb': 'makeThumb' } */ var map = this.responseMap; // 如果无API响应声明则忽略 if ( !map || !(apiName in map) || !(map[ apiName ] in this) || !$.isFunction( this[ map[ apiName ] ] ) ) { return IGNORE; } return this[ map[ apiName ] ].apply( this, args ); }, /** * 发送命令。当传入`callback`或者`handler`中返回`promise`时。返回一个当所有`handler`中的promise都完成后完成的新`promise`。 * @method request * @grammar request( command, args ) => * | Promise * @grammar request( command, args, callback ) => Promise * @for Uploader */ request: function() { return this.owner.request.apply( this.owner, arguments ); } }); // 扩展Uploader. $.extend( Uploader.prototype, { /** * @property {String | Array} [disableWidgets=undefined] * @namespace options * @for Uploader * @description 默认所有 Uploader.register 了的 widget 都会被加载,如果禁用某一部分,请通过此 option 指定黑名单。 */ // 覆写_init用来初始化widgets _init: function() { var me = this, widgets = me._widgets = [], deactives = me.options.disableWidgets || ''; $.each( widgetClass, function( _, klass ) { (!deactives || !~deactives.indexOf( klass._name )) && widgets.push( new klass( me ) ); }); return _init.apply( me, arguments ); }, request: function( apiName, args, callback ) { var i = 0, widgets = this._widgets, len = widgets && widgets.length, rlts = [], dfds = [], widget, rlt, promise, key; args = isArrayLike( args ) ? args : [ args ]; for ( ; i < len; i++ ) { widget = widgets[ i ]; rlt = widget.invoke( apiName, args ); if ( rlt !== IGNORE ) { // Deferred对象 if ( Base.isPromise( rlt ) ) { dfds.push( rlt ); } else { rlts.push( rlt ); } } } // 如果有callback,则用异步方式。 if ( callback || dfds.length ) { promise = Base.when.apply( Base, dfds ); key = promise.pipe ? 'pipe' : 'then'; // 很重要不能删除。删除了会死循环。 // 保证执行顺序。让callback总是在下一个 tick 中执行。 return promise[ key ](function() { var deferred = Base.Deferred(), args = arguments; if ( args.length === 1 ) { args = args[ 0 ]; } setTimeout(function() { deferred.resolve( args ); }, 1 ); return deferred.promise(); })[ callback ? key : 'done' ]( callback || Base.noop ); } else { return rlts[ 0 ]; } }, destroy: function() { _destroy.apply( this, arguments ); this._widgets = null; } }); /** * 添加组件 * @grammar Uploader.register(proto); * @grammar Uploader.register(map, proto); * @param {object} responseMap API 名称与函数实现的映射 * @param {object} proto 组件原型,构造函数通过 constructor 属性定义 * @method Uploader.register * @for Uploader * @example * Uploader.register({ * 'make-thumb': 'makeThumb' * }, { * init: function( options ) {}, * makeThumb: function() {} * }); * * Uploader.register({ * 'make-thumb': function() { * * } * }); */ Uploader.register = Widget.register = function( responseMap, widgetProto ) { var map = { init: 'init', destroy: 'destroy', name: 'anonymous' }, klass; if ( arguments.length === 1 ) { widgetProto = responseMap; // 自动生成 map 表。 $.each(widgetProto, function(key) { if ( key[0] === '_' || key === 'name' ) { key === 'name' && (map.name = widgetProto.name); return; } map[key.replace(/[A-Z]/g, '-$&').toLowerCase()] = key; }); } else { map = $.extend( map, responseMap ); } widgetProto.responseMap = map; klass = Base.inherits( Widget, widgetProto ); klass._name = map.name; widgetClass.push( klass ); return klass; }; /** * 删除插件,只有在注册时指定了名字的才能被删除。 * @grammar Uploader.unRegister(name); * @param {string} name 组件名字 * @method Uploader.unRegister * @for Uploader * @example * * Uploader.register({ * name: 'custom', * * 'make-thumb': function() { * * } * }); * * Uploader.unRegister('custom'); */ Uploader.unRegister = Widget.unRegister = function( name ) { if ( !name || name === 'anonymous' ) { return; } // 删除指定的插件。 for ( var i = widgetClass.length; i--; ) { if ( widgetClass[i]._name === name ) { widgetClass.splice(i, 1) } } }; return Widget; }); /** * @fileOverview DragAndDrop Widget。 */ define('widgets/filednd',[ 'base', 'uploader', 'lib/dnd', 'widgets/widget' ], function( Base, Uploader, Dnd ) { var $ = Base.$; Uploader.options.dnd = ''; /** * @property {Selector} [dnd=undefined] 指定Drag And Drop拖拽的容器,如果不指定,则不启动。 * @namespace options * @for Uploader */ /** * @property {Selector} [disableGlobalDnd=false] 是否禁掉整个页面的拖拽功能,如果不禁用,图片拖进来的时候会默认被浏览器打开。 * @namespace options * @for Uploader */ /** * @event dndAccept * @param {DataTransferItemList} items DataTransferItem * @description 阻止此事件可以拒绝某些类型的文件拖入进来。目前只有 chrome 提供这样的 API,且只能通过 mime-type 验证。 * @for Uploader */ return Uploader.register({ name: 'dnd', init: function( opts ) { if ( !opts.dnd || this.request('predict-runtime-type') !== 'html5' ) { return; } var me = this, deferred = Base.Deferred(), options = $.extend({}, { disableGlobalDnd: opts.disableGlobalDnd, container: opts.dnd, accept: opts.accept }), dnd; this.dnd = dnd = new Dnd( options ); dnd.once( 'ready', deferred.resolve ); dnd.on( 'drop', function( files ) { me.request( 'add-file', [ files ]); }); // 检测文件是否全部允许添加。 dnd.on( 'accept', function( items ) { return me.owner.trigger( 'dndAccept', items ); }); dnd.init(); return deferred.promise(); }, destroy: function() { this.dnd && this.dnd.destroy(); } }); }); /** * @fileOverview 错误信息 */ define('lib/filepaste',[ 'base', 'mediator', 'runtime/client' ], function( Base, Mediator, RuntimeClent ) { var $ = Base.$; function FilePaste( opts ) { opts = this.options = $.extend({}, opts ); opts.container = $( opts.container || document.body ); RuntimeClent.call( this, 'FilePaste' ); } Base.inherits( RuntimeClent, { constructor: FilePaste, init: function() { var me = this; me.connectRuntime( me.options, function() { me.exec('init'); me.trigger('ready'); }); } }); Mediator.installTo( FilePaste.prototype ); return FilePaste; }); /** * @fileOverview 组件基类。 */ define('widgets/filepaste',[ 'base', 'uploader', 'lib/filepaste', 'widgets/widget' ], function( Base, Uploader, FilePaste ) { var $ = Base.$; /** * @property {Selector} [paste=undefined] 指定监听paste事件的容器,如果不指定,不启用此功能。此功能为通过粘贴来添加截屏的图片。建议设置为`document.body`. * @namespace options * @for Uploader */ return Uploader.register({ name: 'paste', init: function( opts ) { if ( !opts.paste || this.request('predict-runtime-type') !== 'html5' ) { return; } var me = this, deferred = Base.Deferred(), options = $.extend({}, { container: opts.paste, accept: opts.accept }), paste; this.paste = paste = new FilePaste( options ); paste.once( 'ready', deferred.resolve ); paste.on( 'paste', function( files ) { me.owner.request( 'add-file', [ files ]); }); paste.init(); return deferred.promise(); }, destroy: function() { this.paste && this.paste.destroy(); } }); }); /** * @fileOverview Blob */ define('lib/blob',[ 'base', 'runtime/client' ], function( Base, RuntimeClient ) { function Blob( ruid, source ) { var me = this; me.source = source; me.ruid = ruid; this.size = source.size || 0; // 如果没有指定 mimetype, 但是知道文件后缀。 if ( !source.type && this.ext && ~'jpg,jpeg,png,gif,bmp'.indexOf( this.ext ) ) { this.type = 'image/' + (this.ext === 'jpg' ? 'jpeg' : this.ext); } else { this.type = source.type || 'application/octet-stream'; } RuntimeClient.call( me, 'Blob' ); this.uid = source.uid || this.uid; if ( ruid ) { me.connectRuntime( ruid ); } } Base.inherits( RuntimeClient, { constructor: Blob, slice: function( start, end ) { return this.exec( 'slice', start, end ); }, getSource: function() { return this.source; } }); return Blob; }); /** * 为了统一化Flash的File和HTML5的File而存在。 * 以至于要调用Flash里面的File,也可以像调用HTML5版本的File一下。 * @fileOverview File */ define('lib/file',[ 'base', 'lib/blob' ], function( Base, Blob ) { var uid = 1, rExt = /\.([^.]+)$/; function File( ruid, file ) { var ext; this.name = file.name || ('untitled' + uid++); ext = rExt.exec( file.name ) ? RegExp.$1.toLowerCase() : ''; // todo 支持其他类型文件的转换。 // 如果有 mimetype, 但是文件名里面没有找出后缀规律 if ( !ext && file.type ) { ext = /\/(jpg|jpeg|png|gif|bmp)$/i.exec( file.type ) ? RegExp.$1.toLowerCase() : ''; this.name += '.' + ext; } this.ext = ext; this.lastModifiedDate = file.lastModifiedDate || (new Date()).toLocaleString(); Blob.apply( this, arguments ); } return Base.inherits( Blob, File ); }); /** * @fileOverview 错误信息 */ define('lib/filepicker',[ 'base', 'runtime/client', 'lib/file' ], function( Base, RuntimeClent, File ) { var $ = Base.$; function FilePicker( opts ) { opts = this.options = $.extend({}, FilePicker.options, opts ); opts.container = $( opts.id ); if ( !opts.container.length ) { throw new Error('按钮指定错误'); } opts.innerHTML = opts.innerHTML || opts.label || opts.container.html() || ''; opts.button = $( opts.button || document.createElement('div') ); opts.button.html( opts.innerHTML ); opts.container.html( opts.button ); RuntimeClent.call( this, 'FilePicker', true ); } FilePicker.options = { button: null, container: null, label: null, innerHTML: null, multiple: true, accept: null, name: 'file' }; Base.inherits( RuntimeClent, { constructor: FilePicker, init: function() { var me = this, opts = me.options, button = opts.button; button.addClass('webuploader-pick'); me.on( 'all', function( type ) { var files; switch ( type ) { case 'mouseenter': button.addClass('webuploader-pick-hover'); break; case 'mouseleave': button.removeClass('webuploader-pick-hover'); break; case 'change': files = me.exec('getFiles'); me.trigger( 'select', $.map( files, function( file ) { file = new File( me.getRuid(), file ); // 记录来源。 file._refer = opts.container; return file; }), opts.container ); break; } }); me.connectRuntime( opts, function() { me.refresh(); me.exec( 'init', opts ); me.trigger('ready'); }); this._resizeHandler = Base.bindFn( this.refresh, this ); $( window ).on( 'resize', this._resizeHandler ); }, refresh: function() { var shimContainer = this.getRuntime().getContainer(), button = this.options.button, width = button.outerWidth ? button.outerWidth() : button.width(), height = button.outerHeight ? button.outerHeight() : button.height(), pos = button.offset(); width && height && shimContainer.css({ bottom: 'auto', right: 'auto', width: width + 'px', height: height + 'px' }).offset( pos ); }, enable: function() { var btn = this.options.button; btn.removeClass('webuploader-pick-disable'); this.refresh(); }, disable: function() { var btn = this.options.button; this.getRuntime().getContainer().css({ top: '-99999px' }); btn.addClass('webuploader-pick-disable'); }, destroy: function() { var btn = this.options.button; $( window ).off( 'resize', this._resizeHandler ); btn.removeClass('webuploader-pick-disable webuploader-pick-hover ' + 'webuploader-pick'); } }); return FilePicker; }); /** * @fileOverview 文件选择相关 */ define('widgets/filepicker',[ 'base', 'uploader', 'lib/filepicker', 'widgets/widget' ], function( Base, Uploader, FilePicker ) { var $ = Base.$; $.extend( Uploader.options, { /** * @property {Selector | Object} [pick=undefined] * @namespace options * @for Uploader * @description 指定选择文件的按钮容器,不指定则不创建按钮。 * * * `id` {Seletor|dom} 指定选择文件的按钮容器,不指定则不创建按钮。**注意** 这里虽然写的是 id, 但是不是只支持 id, 还支持 class, 或者 dom 节点。 * * `label` {String} 请采用 `innerHTML` 代替 * * `innerHTML` {String} 指定按钮文字。不指定时优先从指定的容器中看是否自带文字。 * * `multiple` {Boolean} 是否开起同时选择多个文件能力。 */ pick: null, /** * @property {Arroy} [accept=null] * @namespace options * @for Uploader * @description 指定接受哪些类型的文件。 由于目前还有ext转mimeType表,所以这里需要分开指定。 * * * `title` {String} 文字描述 * * `extensions` {String} 允许的文件后缀,不带点,多个用逗号分割。 * * `mimeTypes` {String} 多个用逗号分割。 * * 如: * * ``` * { * title: 'Images', * extensions: 'gif,jpg,jpeg,bmp,png', * mimeTypes: 'image/*' * } * ``` */ accept: null/*{ title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/*' }*/ }); return Uploader.register({ name: 'picker', init: function( opts ) { this.pickers = []; return opts.pick && this.addBtn( opts.pick ); }, refresh: function() { $.each( this.pickers, function() { this.refresh(); }); }, /** * @method addButton * @for Uploader * @grammar addButton( pick ) => Promise * @description * 添加文件选择按钮,如果一个按钮不够,需要调用此方法来添加。参数跟[options.pick](#WebUploader:Uploader:options)一致。 * @example * uploader.addButton({ * id: '#btnContainer', * innerHTML: '选择文件' * }); */ addBtn: function( pick ) { var me = this, opts = me.options, accept = opts.accept, promises = []; if ( !pick ) { return; } $.isPlainObject( pick ) || (pick = { id: pick }); $( pick.id ).each(function() { var options, picker, deferred; deferred = Base.Deferred(); options = $.extend({}, pick, { accept: $.isPlainObject( accept ) ? [ accept ] : accept, swf: opts.swf, runtimeOrder: opts.runtimeOrder, id: this }); picker = new FilePicker( options ); picker.once( 'ready', deferred.resolve ); picker.on( 'select', function( files ) { me.owner.request( 'add-file', [ files ]); }); picker.init(); me.pickers.push( picker ); promises.push( deferred.promise() ); }); return Base.when.apply( Base, promises ); }, disable: function() { $.each( this.pickers, function() { this.disable(); }); }, enable: function() { $.each( this.pickers, function() { this.enable(); }); }, destroy: function() { $.each( this.pickers, function() { this.destroy(); }); this.pickers = null; } }); }); /** * @fileOverview Image */ define('lib/image',[ 'base', 'runtime/client', 'lib/blob' ], function( Base, RuntimeClient, Blob ) { var $ = Base.$; // 构造器。 function Image( opts ) { this.options = $.extend({}, Image.options, opts ); RuntimeClient.call( this, 'Image' ); this.on( 'load', function() { this._info = this.exec('info'); this._meta = this.exec('meta'); }); } // 默认选项。 Image.options = { // 默认的图片处理质量 quality: 90, // 是否裁剪 crop: false, // 是否保留头部信息 preserveHeaders: false, // 是否允许放大。 allowMagnify: false }; // 继承RuntimeClient. Base.inherits( RuntimeClient, { constructor: Image, info: function( val ) { // setter if ( val ) { this._info = val; return this; } // getter return this._info; }, meta: function( val ) { // setter if ( val ) { this._meta = val; return this; } // getter return this._meta; }, loadFromBlob: function( blob ) { var me = this, ruid = blob.getRuid(); this.connectRuntime( ruid, function() { me.exec( 'init', me.options ); me.exec( 'loadFromBlob', blob ); }); }, resize: function() { var args = Base.slice( arguments ); return this.exec.apply( this, [ 'resize' ].concat( args ) ); }, crop: function() { var args = Base.slice( arguments ); return this.exec.apply( this, [ 'crop' ].concat( args ) ); }, getAsDataUrl: function( type ) { return this.exec( 'getAsDataUrl', type ); }, getAsBlob: function( type ) { var blob = this.exec( 'getAsBlob', type ); return new Blob( this.getRuid(), blob ); } }); return Image; }); /** * @fileOverview 图片操作, 负责预览图片和上传前压缩图片 */ define('widgets/image',[ 'base', 'uploader', 'lib/image', 'widgets/widget' ], function( Base, Uploader, Image ) { var $ = Base.$, throttle; // 根据要处理的文件大小来节流,一次不能处理太多,会卡。 throttle = (function( max ) { var occupied = 0, waiting = [], tick = function() { var item; while ( waiting.length && occupied < max ) { item = waiting.shift(); occupied += item[ 0 ]; item[ 1 ](); } }; return function( emiter, size, cb ) { waiting.push([ size, cb ]); emiter.once( 'destroy', function() { occupied -= size; setTimeout( tick, 1 ); }); setTimeout( tick, 1 ); }; })( 5 * 1024 * 1024 ); $.extend( Uploader.options, { /** * @property {Object} [thumb] * @namespace options * @for Uploader * @description 配置生成缩略图的选项。 * * 默认为: * * ```javascript * { * width: 110, * height: 110, * * // 图片质量,只有type为`image/jpeg`的时候才有效。 * quality: 70, * * // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false. * allowMagnify: true, * * // 是否允许裁剪。 * crop: true, * * // 为空的话则保留原有图片格式。 * // 否则强制转换成指定的类型。 * type: 'image/jpeg' * } * ``` */ thumb: { width: 110, height: 110, quality: 70, allowMagnify: true, crop: true, preserveHeaders: false, // 为空的话则保留原有图片格式。 // 否则强制转换成指定的类型。 // IE 8下面 base64 大小不能超过 32K 否则预览失败,而非 jpeg 编码的图片很可 // 能会超过 32k, 所以这里设置成预览的时候都是 image/jpeg type: 'image/jpeg' }, /** * @property {Object} [compress] * @namespace options * @for Uploader * @description 配置压缩的图片的选项。如果此选项为`false`, 则图片在上传前不进行压缩。 * * 默认为: * * ```javascript * { * width: 1600, * height: 1600, * * // 图片质量,只有type为`image/jpeg`的时候才有效。 * quality: 90, * * // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false. * allowMagnify: false, * * // 是否允许裁剪。 * crop: false, * * // 是否保留头部meta信息。 * preserveHeaders: true, * * // 如果发现压缩后文件大小比原来还大,则使用原来图片 * // 此属性可能会影响图片自动纠正功能 * noCompressIfLarger: false, * * // 单位字节,如果图片大小小于此值,不会采用压缩。 * compressSize: 0 * } * ``` */ compress: { width: 1600, height: 1600, quality: 90, allowMagnify: false, crop: false, preserveHeaders: true } }); return Uploader.register({ name: 'image', /** * 生成缩略图,此过程为异步,所以需要传入`callback`。 * 通常情况在图片加入队里后调用此方法来生成预览图以增强交互效果。 * * 当 width 或者 height 的值介于 0 - 1 时,被当成百分比使用。 * * `callback`中可以接收到两个参数。 * * 第一个为error,如果生成缩略图有错误,此error将为真。 * * 第二个为ret, 缩略图的Data URL值。 * * **注意** * Date URL在IE6/7中不支持,所以不用调用此方法了,直接显示一张暂不支持预览图片好了。 * 也可以借助服务端,将 base64 数据传给服务端,生成一个临时文件供预览。 * * @method makeThumb * @grammar makeThumb( file, callback ) => undefined * @grammar makeThumb( file, callback, width, height ) => undefined * @for Uploader * @example * * uploader.on( 'fileQueued', function( file ) { * var $li = ...; * * uploader.makeThumb( file, function( error, ret ) { * if ( error ) { * $li.text('预览错误'); * } else { * $li.append(''); * } * }); * * }); */ makeThumb: function( file, cb, width, height ) { var opts, image; file = this.request( 'get-file', file ); // 只预览图片格式。 if ( !file.type.match( /^image/ ) ) { cb( true ); return; } opts = $.extend({}, this.options.thumb ); // 如果传入的是object. if ( $.isPlainObject( width ) ) { opts = $.extend( opts, width ); width = null; } width = width || opts.width; height = height || opts.height; image = new Image( opts ); image.once( 'load', function() { file._info = file._info || image.info(); file._meta = file._meta || image.meta(); // 如果 width 的值介于 0 - 1 // 说明设置的是百分比。 if ( width <= 1 && width > 0 ) { width = file._info.width * width; } // 同样的规则应用于 height if ( height <= 1 && height > 0 ) { height = file._info.height * height; } image.resize( width, height ); }); // 当 resize 完后 image.once( 'complete', function() { cb( false, image.getAsDataUrl( opts.type ) ); image.destroy(); }); image.once( 'error', function( reason ) { cb( reason || true ); image.destroy(); }); throttle( image, file.source.size, function() { file._info && image.info( file._info ); file._meta && image.meta( file._meta ); image.loadFromBlob( file.source ); }); }, beforeSendFile: function( file ) { var opts = this.options.compress || this.options.resize, compressSize = opts && opts.compressSize || 0, noCompressIfLarger = opts && opts.noCompressIfLarger || false, image, deferred; file = this.request( 'get-file', file ); // 只压缩 jpeg 图片格式。 // gif 可能会丢失针 // bmp png 基本上尺寸都不大,且压缩比比较小。 if ( !opts || !~'image/jpeg,image/jpg'.indexOf( file.type ) || file.size < compressSize || file._compressed ) { return; } opts = $.extend({}, opts ); deferred = Base.Deferred(); image = new Image( opts ); deferred.always(function() { image.destroy(); image = null; }); image.once( 'error', deferred.reject ); image.once( 'load', function() { var width = opts.width, height = opts.height; file._info = file._info || image.info(); file._meta = file._meta || image.meta(); // 如果 width 的值介于 0 - 1 // 说明设置的是百分比。 if ( width <= 1 && width > 0 ) { width = file._info.width * width; } // 同样的规则应用于 height if ( height <= 1 && height > 0 ) { height = file._info.height * height; } image.resize( width, height ); }); image.once( 'complete', function() { var blob, size; // 移动端 UC / qq 浏览器的无图模式下 // ctx.getImageData 处理大图的时候会报 Exception // INDEX_SIZE_ERR: DOM Exception 1 try { blob = image.getAsBlob( opts.type ); size = file.size; // 如果压缩后,比原来还大则不用压缩后的。 if ( !noCompressIfLarger || blob.size < size ) { // file.source.destroy && file.source.destroy(); file.source = blob; file.size = blob.size; file.trigger( 'resize', blob.size, size ); } // 标记,避免重复压缩。 file._compressed = true; deferred.resolve(); } catch ( e ) { // 出错了直接继续,让其上传原始图片 deferred.resolve(); } }); file._info && image.info( file._info ); file._meta && image.meta( file._meta ); image.loadFromBlob( file.source ); return deferred.promise(); } }); }); /** * @fileOverview 文件属性封装 */ define('file',[ 'base', 'mediator' ], function( Base, Mediator ) { var $ = Base.$, idPrefix = 'WU_FILE_', idSuffix = 0, rExt = /\.([^.]+)$/, statusMap = {}; function gid() { return idPrefix + idSuffix++; } /** * 文件类 * @class File * @constructor 构造函数 * @grammar new File( source ) => File * @param {Lib.File} source [lib.File](#Lib.File)实例, 此source对象是带有Runtime信息的。 */ function WUFile( source ) { /** * 文件名,包括扩展名(后缀) * @property name * @type {string} */ this.name = source.name || 'Untitled'; /** * 文件体积(字节) * @property size * @type {uint} * @default 0 */ this.size = source.size || 0; /** * 文件MIMETYPE类型,与文件类型的对应关系请参考[http://t.cn/z8ZnFny](http://t.cn/z8ZnFny) * @property type * @type {string} * @default 'application/octet-stream' */ this.type = source.type || 'application/octet-stream'; /** * 文件最后修改日期 * @property lastModifiedDate * @type {int} * @default 当前时间戳 */ this.lastModifiedDate = source.lastModifiedDate || (new Date() * 1); /** * 文件ID,每个对象具有唯一ID,与文件名无关 * @property id * @type {string} */ this.id = gid(); /** * 文件扩展名,通过文件名获取,例如test.png的扩展名为png * @property ext * @type {string} */ this.ext = rExt.exec( this.name ) ? RegExp.$1 : ''; /** * 状态文字说明。在不同的status语境下有不同的用途。 * @property statusText * @type {string} */ this.statusText = ''; // 存储文件状态,防止通过属性直接修改 statusMap[ this.id ] = WUFile.Status.INITED; this.source = source; this.loaded = 0; this.on( 'error', function( msg ) { this.setStatus( WUFile.Status.ERROR, msg ); }); } $.extend( WUFile.prototype, { /** * 设置状态,状态变化时会触发`change`事件。 * @method setStatus * @grammar setStatus( status[, statusText] ); * @param {File.Status|String} status [文件状态值](#WebUploader:File:File.Status) * @param {String} [statusText=''] 状态说明,常在error时使用,用http, abort,server等来标记是由于什么原因导致文件错误。 */ setStatus: function( status, text ) { var prevStatus = statusMap[ this.id ]; typeof text !== 'undefined' && (this.statusText = text); if ( status !== prevStatus ) { statusMap[ this.id ] = status; /** * 文件状态变化 * @event statuschange */ this.trigger( 'statuschange', status, prevStatus ); } }, /** * 获取文件状态 * @return {File.Status} * @example 文件状态具体包括以下几种类型: { // 初始化 INITED: 0, // 已入队列 QUEUED: 1, // 正在上传 PROGRESS: 2, // 上传出错 ERROR: 3, // 上传成功 COMPLETE: 4, // 上传取消 CANCELLED: 5 } */ getStatus: function() { return statusMap[ this.id ]; }, /** * 获取文件原始信息。 * @return {*} */ getSource: function() { return this.source; }, destroy: function() { this.off(); delete statusMap[ this.id ]; } }); Mediator.installTo( WUFile.prototype ); /** * 文件状态值,具体包括以下几种类型: * * `inited` 初始状态 * * `queued` 已经进入队列, 等待上传 * * `progress` 上传中 * * `complete` 上传完成。 * * `error` 上传出错,可重试 * * `interrupt` 上传中断,可续传。 * * `invalid` 文件不合格,不能重试上传。会自动从队列中移除。 * * `cancelled` 文件被移除。 * @property {Object} Status * @namespace File * @class File * @static */ WUFile.Status = { INITED: 'inited', // 初始状态 QUEUED: 'queued', // 已经进入队列, 等待上传 PROGRESS: 'progress', // 上传中 ERROR: 'error', // 上传出错,可重试 COMPLETE: 'complete', // 上传完成。 CANCELLED: 'cancelled', // 上传取消。 INTERRUPT: 'interrupt', // 上传中断,可续传。 INVALID: 'invalid' // 文件不合格,不能重试上传。 }; return WUFile; }); /** * @fileOverview 文件队列 */ define('queue',[ 'base', 'mediator', 'file' ], function( Base, Mediator, WUFile ) { var $ = Base.$, STATUS = WUFile.Status; /** * 文件队列, 用来存储各个状态中的文件。 * @class Queue * @extends Mediator */ function Queue() { /** * 统计文件数。 * * `numOfQueue` 队列中的文件数。 * * `numOfSuccess` 上传成功的文件数 * * `numOfCancel` 被取消的文件数 * * `numOfProgress` 正在上传中的文件数 * * `numOfUploadFailed` 上传错误的文件数。 * * `numOfInvalid` 无效的文件数。 * * `numofDeleted` 被移除的文件数。 * @property {Object} stats */ this.stats = { numOfQueue: 0, numOfSuccess: 0, numOfCancel: 0, numOfProgress: 0, numOfUploadFailed: 0, numOfInvalid: 0, numofDeleted: 0, numofInterrupt: 0 }; // 上传队列,仅包括等待上传的文件 this._queue = []; // 存储所有文件 this._map = {}; } $.extend( Queue.prototype, { /** * 将新文件加入对队列尾部 * * @method append * @param {File} file 文件对象 */ append: function( file ) { this._queue.push( file ); this._fileAdded( file ); return this; }, /** * 将新文件加入对队列头部 * * @method prepend * @param {File} file 文件对象 */ prepend: function( file ) { this._queue.unshift( file ); this._fileAdded( file ); return this; }, /** * 获取文件对象 * * @method getFile * @param {String} fileId 文件ID * @return {File} */ getFile: function( fileId ) { if ( typeof fileId !== 'string' ) { return fileId; } return this._map[ fileId ]; }, /** * 从队列中取出一个指定状态的文件。 * @grammar fetch( status ) => File * @method fetch * @param {String} status [文件状态值](#WebUploader:File:File.Status) * @return {File} [File](#WebUploader:File) */ fetch: function( status ) { var len = this._queue.length, i, file; status = status || STATUS.QUEUED; for ( i = 0; i < len; i++ ) { file = this._queue[ i ]; if ( status === file.getStatus() ) { return file; } } return null; }, /** * 对队列进行排序,能够控制文件上传顺序。 * @grammar sort( fn ) => undefined * @method sort * @param {Function} fn 排序方法 */ sort: function( fn ) { if ( typeof fn === 'function' ) { this._queue.sort( fn ); } }, /** * 获取指定类型的文件列表, 列表中每一个成员为[File](#WebUploader:File)对象。 * @grammar getFiles( [status1[, status2 ...]] ) => Array * @method getFiles * @param {String} [status] [文件状态值](#WebUploader:File:File.Status) */ getFiles: function() { var sts = [].slice.call( arguments, 0 ), ret = [], i = 0, len = this._queue.length, file; for ( ; i < len; i++ ) { file = this._queue[ i ]; if ( sts.length && !~$.inArray( file.getStatus(), sts ) ) { continue; } ret.push( file ); } return ret; }, /** * 在队列中删除文件。 * @grammar removeFile( file ) => Array * @method removeFile * @param {File} 文件对象。 */ removeFile: function( file ) { var me = this, existing = this._map[ file.id ]; if ( existing ) { delete this._map[ file.id ]; file.destroy(); this.stats.numofDeleted++; } }, _fileAdded: function( file ) { var me = this, existing = this._map[ file.id ]; if ( !existing ) { this._map[ file.id ] = file; file.on( 'statuschange', function( cur, pre ) { me._onFileStatusChange( cur, pre ); }); } }, _onFileStatusChange: function( curStatus, preStatus ) { var stats = this.stats; switch ( preStatus ) { case STATUS.PROGRESS: stats.numOfProgress--; break; case STATUS.QUEUED: stats.numOfQueue --; break; case STATUS.ERROR: stats.numOfUploadFailed--; break; case STATUS.INVALID: stats.numOfInvalid--; break; case STATUS.INTERRUPT: stats.numofInterrupt--; break; } switch ( curStatus ) { case STATUS.QUEUED: stats.numOfQueue++; break; case STATUS.PROGRESS: stats.numOfProgress++; break; case STATUS.ERROR: stats.numOfUploadFailed++; break; case STATUS.COMPLETE: stats.numOfSuccess++; break; case STATUS.CANCELLED: stats.numOfCancel++; break; case STATUS.INVALID: stats.numOfInvalid++; break; case STATUS.INTERRUPT: stats.numofInterrupt++; break; } } }); Mediator.installTo( Queue.prototype ); return Queue; }); /** * @fileOverview 队列 */ define('widgets/queue',[ 'base', 'uploader', 'queue', 'file', 'lib/file', 'runtime/client', 'widgets/widget' ], function( Base, Uploader, Queue, WUFile, File, RuntimeClient ) { var $ = Base.$, rExt = /\.\w+$/, Status = WUFile.Status; return Uploader.register({ name: 'queue', init: function( opts ) { var me = this, deferred, len, i, item, arr, accept, runtime; if ( $.isPlainObject( opts.accept ) ) { opts.accept = [ opts.accept ]; } // accept中的中生成匹配正则。 if ( opts.accept ) { arr = []; for ( i = 0, len = opts.accept.length; i < len; i++ ) { item = opts.accept[ i ].extensions; item && arr.push( item ); } if ( arr.length ) { accept = '\\.' + arr.join(',') .replace( /,/g, '$|\\.' ) .replace( /\*/g, '.*' ) + '$'; } me.accept = new RegExp( accept, 'i' ); } me.queue = new Queue(); me.stats = me.queue.stats; // 如果当前不是html5运行时,那就算了。 // 不执行后续操作 if ( this.request('predict-runtime-type') !== 'html5' ) { return; } // 创建一个 html5 运行时的 placeholder // 以至于外部添加原生 File 对象的时候能正确包裹一下供 webuploader 使用。 deferred = Base.Deferred(); this.placeholder = runtime = new RuntimeClient('Placeholder'); runtime.connectRuntime({ runtimeOrder: 'html5' }, function() { me._ruid = runtime.getRuid(); deferred.resolve(); }); return deferred.promise(); }, // 为了支持外部直接添加一个原生File对象。 _wrapFile: function( file ) { if ( !(file instanceof WUFile) ) { if ( !(file instanceof File) ) { if ( !this._ruid ) { throw new Error('Can\'t add external files.'); } file = new File( this._ruid, file ); } file = new WUFile( file ); } return file; }, // 判断文件是否可以被加入队列 acceptFile: function( file ) { var invalid = !file || !file.size || this.accept && // 如果名字中有后缀,才做后缀白名单处理。 rExt.exec( file.name ) && !this.accept.test( file.name ); return !invalid; }, /** * @event beforeFileQueued * @param {File} file File对象 * @description 当文件被加入队列之前触发,此事件的handler返回值为`false`,则此文件不会被添加进入队列。 * @for Uploader */ /** * @event fileQueued * @param {File} file File对象 * @description 当文件被加入队列以后触发。 * @for Uploader */ _addFile: function( file ) { var me = this; file = me._wrapFile( file ); // 不过类型判断允许不允许,先派送 `beforeFileQueued` if ( !me.owner.trigger( 'beforeFileQueued', file ) ) { return; } // 类型不匹配,则派送错误事件,并返回。 if ( !me.acceptFile( file ) ) { me.owner.trigger( 'error', 'Q_TYPE_DENIED', file ); return; } me.queue.append( file ); me.owner.trigger( 'fileQueued', file ); return file; }, getFile: function( fileId ) { return this.queue.getFile( fileId ); }, /** * @event filesQueued * @param {File} files 数组,内容为原始File(lib/File)对象。 * @description 当一批文件添加进队列以后触发。 * @for Uploader */ /** * @property {Boolean} [auto=false] * @namespace options * @for Uploader * @description 设置为 true 后,不需要手动调用上传,有文件选择即开始上传。 * */ /** * @method addFiles * @grammar addFiles( file ) => undefined * @grammar addFiles( [file1, file2 ...] ) => undefined * @param {Array of File or File} [files] Files 对象 数组 * @description 添加文件到队列 * @for Uploader */ addFile: function( files ) { var me = this; if ( !files.length ) { files = [ files ]; } files = $.map( files, function( file ) { return me._addFile( file ); }); me.owner.trigger( 'filesQueued', files ); if ( me.options.auto ) { setTimeout(function() { me.request('start-upload'); }, 20 ); } }, getStats: function() { return this.stats; }, /** * @event fileDequeued * @param {File} file File对象 * @description 当文件被移除队列后触发。 * @for Uploader */ /** * @method removeFile * @grammar removeFile( file ) => undefined * @grammar removeFile( id ) => undefined * @grammar removeFile( file, true ) => undefined * @grammar removeFile( id, true ) => undefined * @param {File|id} file File对象或这File对象的id * @description 移除某一文件, 默认只会标记文件状态为已取消,如果第二个参数为 `true` 则会从 queue 中移除。 * @for Uploader * @example * * $li.on('click', '.remove-this', function() { * uploader.removeFile( file ); * }) */ removeFile: function( file, remove ) { var me = this; file = file.id ? file : me.queue.getFile( file ); this.request( 'cancel-file', file ); if ( remove ) { this.queue.removeFile( file ); } }, /** * @method getFiles * @grammar getFiles() => Array * @grammar getFiles( status1, status2, status... ) => Array * @description 返回指定状态的文件集合,不传参数将返回所有状态的文件。 * @for Uploader * @example * console.log( uploader.getFiles() ); // => all files * console.log( uploader.getFiles('error') ) // => all error files. */ getFiles: function() { return this.queue.getFiles.apply( this.queue, arguments ); }, fetchFile: function() { return this.queue.fetch.apply( this.queue, arguments ); }, /** * @method retry * @grammar retry() => undefined * @grammar retry( file ) => undefined * @description 重试上传,重试指定文件,或者从出错的文件开始重新上传。 * @for Uploader * @example * function retry() { * uploader.retry(); * } */ retry: function( file, noForceStart ) { var me = this, files, i, len; if ( file ) { file = file.id ? file : me.queue.getFile( file ); file.setStatus( Status.QUEUED ); noForceStart || me.request('start-upload'); return; } files = me.queue.getFiles( Status.ERROR ); i = 0; len = files.length; for ( ; i < len; i++ ) { file = files[ i ]; file.setStatus( Status.QUEUED ); } me.request('start-upload'); }, /** * @method sort * @grammar sort( fn ) => undefined * @description 排序队列中的文件,在上传之前调整可以控制上传顺序。 * @for Uploader */ sortFiles: function() { return this.queue.sort.apply( this.queue, arguments ); }, /** * @event reset * @description 当 uploader 被重置的时候触发。 * @for Uploader */ /** * @method reset * @grammar reset() => undefined * @description 重置uploader。目前只重置了队列。 * @for Uploader * @example * uploader.reset(); */ reset: function() { this.owner.trigger('reset'); this.queue = new Queue(); this.stats = this.queue.stats; }, destroy: function() { this.reset(); this.placeholder && this.placeholder.destroy(); } }); }); /** * @fileOverview 添加获取Runtime相关信息的方法。 */ define('widgets/runtime',[ 'uploader', 'runtime/runtime', 'widgets/widget' ], function( Uploader, Runtime ) { Uploader.support = function() { return Runtime.hasRuntime.apply( Runtime, arguments ); }; /** * @property {Object} [runtimeOrder=html5,flash] * @namespace options * @for Uploader * @description 指定运行时启动顺序。默认会想尝试 html5 是否支持,如果支持则使用 html5, 否则则使用 flash. * * 可以将此值设置成 `flash`,来强制使用 flash 运行时。 */ return Uploader.register({ name: 'runtime', init: function() { if ( !this.predictRuntimeType() ) { throw Error('Runtime Error'); } }, /** * 预测Uploader将采用哪个`Runtime` * @grammar predictRuntimeType() => String * @method predictRuntimeType * @for Uploader */ predictRuntimeType: function() { var orders = this.options.runtimeOrder || Runtime.orders, type = this.type, i, len; if ( !type ) { orders = orders.split( /\s*,\s*/g ); for ( i = 0, len = orders.length; i < len; i++ ) { if ( Runtime.hasRuntime( orders[ i ] ) ) { this.type = type = orders[ i ]; break; } } } return type; } }); }); /** * @fileOverview Transport */ define('lib/transport',[ 'base', 'runtime/client', 'mediator' ], function( Base, RuntimeClient, Mediator ) { var $ = Base.$; function Transport( opts ) { var me = this; opts = me.options = $.extend( true, {}, Transport.options, opts || {} ); RuntimeClient.call( this, 'Transport' ); this._blob = null; this._formData = opts.formData || {}; this._headers = opts.headers || {}; this.on( 'progress', this._timeout ); this.on( 'load error', function() { me.trigger( 'progress', 1 ); clearTimeout( me._timer ); }); } Transport.options = { server: '', method: 'POST', // 跨域时,是否允许携带cookie, 只有html5 runtime才有效 withCredentials: false, fileVal: 'file', timeout: 2 * 60 * 1000, // 2分钟 formData: {}, headers: {}, sendAsBinary: false }; $.extend( Transport.prototype, { // 添加Blob, 只能添加一次,最后一次有效。 appendBlob: function( key, blob, filename ) { var me = this, opts = me.options; if ( me.getRuid() ) { me.disconnectRuntime(); } // 连接到blob归属的同一个runtime. me.connectRuntime( blob.ruid, function() { me.exec('init'); }); me._blob = blob; opts.fileVal = key || opts.fileVal; opts.filename = filename || opts.filename; }, // 添加其他字段 append: function( key, value ) { if ( typeof key === 'object' ) { $.extend( this._formData, key ); } else { this._formData[ key ] = value; } }, setRequestHeader: function( key, value ) { if ( typeof key === 'object' ) { $.extend( this._headers, key ); } else { this._headers[ key ] = value; } }, send: function( method ) { this.exec( 'send', method ); this._timeout(); }, abort: function() { clearTimeout( this._timer ); return this.exec('abort'); }, destroy: function() { this.trigger('destroy'); this.off(); this.exec('destroy'); this.disconnectRuntime(); }, getResponse: function() { return this.exec('getResponse'); }, getResponseAsJson: function() { return this.exec('getResponseAsJson'); }, getStatus: function() { return this.exec('getStatus'); }, _timeout: function() { var me = this, duration = me.options.timeout; if ( !duration ) { return; } clearTimeout( me._timer ); me._timer = setTimeout(function() { me.abort(); me.trigger( 'error', 'timeout' ); }, duration ); } }); // 让Transport具备事件功能。 Mediator.installTo( Transport.prototype ); return Transport; }); /** * @fileOverview 负责文件上传相关。 */ define('widgets/upload',[ 'base', 'uploader', 'file', 'lib/transport', 'widgets/widget' ], function( Base, Uploader, WUFile, Transport ) { var $ = Base.$, isPromise = Base.isPromise, Status = WUFile.Status; // 添加默认配置项 $.extend( Uploader.options, { /** * @property {Boolean} [prepareNextFile=false] * @namespace options * @for Uploader * @description 是否允许在文件传输时提前把下一个文件准备好。 * 对于一个文件的准备工作比较耗时,比如图片压缩,md5序列化。 * 如果能提前在当前文件传输期处理,可以节省总体耗时。 */ prepareNextFile: false, /** * @property {Boolean} [chunked=false] * @namespace options * @for Uploader * @description 是否要分片处理大文件上传。 */ chunked: false, /** * @property {Boolean} [chunkSize=5242880] * @namespace options * @for Uploader * @description 如果要分片,分多大一片? 默认大小为5M. */ chunkSize: 5 * 1024 * 1024, /** * @property {Boolean} [chunkRetry=2] * @namespace options * @for Uploader * @description 如果某个分片由于网络问题出错,允许自动重传多少次? */ chunkRetry: 2, /** * @property {Boolean} [threads=3] * @namespace options * @for Uploader * @description 上传并发数。允许同时最大上传进程数。 */ threads: 3, /** * @property {Object} [formData={}] * @namespace options * @for Uploader * @description 文件上传请求的参数表,每次发送都会发送此对象中的参数。 */ formData: {} /** * @property {Object} [fileVal='file'] * @namespace options * @for Uploader * @description 设置文件上传域的name。 */ /** * @property {Object} [method='POST'] * @namespace options * @for Uploader * @description 文件上传方式,`POST`或者`GET`。 */ /** * @property {Object} [sendAsBinary=false] * @namespace options * @for Uploader * @description 是否已二进制的流的方式发送文件,这样整个上传内容`php://input`都为文件内容, * 其他参数在$_GET数组中。 */ }); // 负责将文件切片。 function CuteFile( file, chunkSize ) { var pending = [], blob = file.source, total = blob.size, chunks = chunkSize ? Math.ceil( total / chunkSize ) : 1, start = 0, index = 0, len, api; api = { file: file, has: function() { return !!pending.length; }, shift: function() { return pending.shift(); }, unshift: function( block ) { pending.unshift( block ); } }; while ( index < chunks ) { len = Math.min( chunkSize, total - start ); pending.push({ file: file, start: start, end: chunkSize ? (start + len) : total, total: total, chunks: chunks, chunk: index++, cuted: api }); start += len; } file.blocks = pending.concat(); file.remaning = pending.length; return api; } Uploader.register({ name: 'upload', init: function() { var owner = this.owner, me = this; this.runing = false; this.progress = false; owner .on( 'startUpload', function() { me.progress = true; }) .on( 'uploadFinished', function() { me.progress = false; }); // 记录当前正在传的数据,跟threads相关 this.pool = []; // 缓存分好片的文件。 this.stack = []; // 缓存即将上传的文件。 this.pending = []; // 跟踪还有多少分片在上传中但是没有完成上传。 this.remaning = 0; this.__tick = Base.bindFn( this._tick, this ); owner.on( 'uploadComplete', function( file ) { // 把其他块取消了。 file.blocks && $.each( file.blocks, function( _, v ) { v.transport && (v.transport.abort(), v.transport.destroy()); delete v.transport; }); delete file.blocks; delete file.remaning; }); }, reset: function() { this.request( 'stop-upload', true ); this.runing = false; this.pool = []; this.stack = []; this.pending = []; this.remaning = 0; this._trigged = false; this._promise = null; }, /** * @event startUpload * @description 当开始上传流程时触发。 * @for Uploader */ /** * 开始上传。此方法可以从初始状态调用开始上传流程,也可以从暂停状态调用,继续上传流程。 * * 可以指定开始某一个文件。 * @grammar upload() => undefined * @grammar upload( file | fileId) => undefined * @method upload * @for Uploader */ startUpload: function(file) { var me = this; // 移出invalid的文件 $.each( me.request( 'get-files', Status.INVALID ), function() { me.request( 'remove-file', this ); }); // 如果指定了开始某个文件,则只开始指定文件。 if ( file ) { file = file.id ? file : me.request( 'get-file', file ); if (file.getStatus() === Status.INTERRUPT) { $.each( me.pool, function( _, v ) { // 之前暂停过。 if (v.file !== file) { return; } v.transport && v.transport.send(); }); file.setStatus( Status.QUEUED ); } else if (file.getStatus() === Status.PROGRESS) { return; } else { file.setStatus( Status.QUEUED ); } } else { $.each( me.request( 'get-files', [ Status.INITED ] ), function() { this.setStatus( Status.QUEUED ); }); } if ( me.runing ) { return; } me.runing = true; var files = []; // 如果有暂停的,则续传 $.each( me.pool, function( _, v ) { var file = v.file; if ( file.getStatus() === Status.INTERRUPT ) { files.push(file); me._trigged = false; v.transport && v.transport.send(); } }); var file; while ( (file = files.shift()) ) { file.setStatus( Status.PROGRESS ); } file || $.each( me.request( 'get-files', Status.INTERRUPT ), function() { this.setStatus( Status.PROGRESS ); }); me._trigged = false; Base.nextTick( me.__tick ); me.owner.trigger('startUpload'); }, /** * @event stopUpload * @description 当开始上传流程暂停时触发。 * @for Uploader */ /** * 暂停上传。第一个参数为是否中断上传当前正在上传的文件。 * * 如果第一个参数是文件,则只暂停指定文件。 * @grammar stop() => undefined * @grammar stop( true ) => undefined * @grammar stop( file ) => undefined * @method stop * @for Uploader */ stopUpload: function( file, interrupt ) { var me = this; if (file === true) { interrupt = file; file = null; } if ( me.runing === false ) { return; } // 如果只是暂停某个文件。 if ( file ) { file = file.id ? file : me.request( 'get-file', file ); if ( file.getStatus() !== Status.PROGRESS && file.getStatus() !== Status.QUEUED ) { return; } file.setStatus( Status.INTERRUPT ); $.each( me.pool, function( _, v ) { // 只 abort 指定的文件。 if (v.file !== file) { return; } v.transport && v.transport.abort(); me._putback(v); me._popBlock(v); }); return Base.nextTick( me.__tick ); } me.runing = false; if (this._promise && this._promise.file) { this._promise.file.setStatus( Status.INTERRUPT ); } interrupt && $.each( me.pool, function( _, v ) { v.transport && v.transport.abort(); v.file.setStatus( Status.INTERRUPT ); }); me.owner.trigger('stopUpload'); }, /** * @method cancelFile * @grammar cancelFile( file ) => undefined * @grammar cancelFile( id ) => undefined * @param {File|id} file File对象或这File对象的id * @description 标记文件状态为已取消, 同时将中断文件传输。 * @for Uploader * @example * * $li.on('click', '.remove-this', function() { * uploader.cancelFile( file ); * }) */ cancelFile: function( file ) { file = file.id ? file : this.request( 'get-file', file ); // 如果正在上传。 file.blocks && $.each( file.blocks, function( _, v ) { var _tr = v.transport; if ( _tr ) { _tr.abort(); _tr.destroy(); delete v.transport; } }); file.setStatus( Status.CANCELLED ); this.owner.trigger( 'fileDequeued', file ); }, /** * 判断`Uplaode`r是否正在上传中。 * @grammar isInProgress() => Boolean * @method isInProgress * @for Uploader */ isInProgress: function() { return !!this.progress; }, _getStats: function() { return this.request('get-stats'); }, /** * 掉过一个文件上传,直接标记指定文件为已上传状态。 * @grammar skipFile( file ) => undefined * @method skipFile * @for Uploader */ skipFile: function( file, status ) { file = file.id ? file : this.request( 'get-file', file ); file.setStatus( status || Status.COMPLETE ); file.skipped = true; // 如果正在上传。 file.blocks && $.each( file.blocks, function( _, v ) { var _tr = v.transport; if ( _tr ) { _tr.abort(); _tr.destroy(); delete v.transport; } }); this.owner.trigger( 'uploadSkip', file ); }, /** * @event uploadFinished * @description 当所有文件上传结束时触发。 * @for Uploader */ _tick: function() { var me = this, opts = me.options, fn, val; // 上一个promise还没有结束,则等待完成后再执行。 if ( me._promise ) { return me._promise.always( me.__tick ); } // 还有位置,且还有文件要处理的话。 if ( me.pool.length < opts.threads && (val = me._nextBlock()) ) { me._trigged = false; fn = function( val ) { me._promise = null; // 有可能是reject过来的,所以要检测val的类型。 val && val.file && me._startSend( val ); Base.nextTick( me.__tick ); }; me._promise = isPromise( val ) ? val.always( fn ) : fn( val ); // 没有要上传的了,且没有正在传输的了。 } else if ( !me.remaning && !me._getStats().numOfQueue && !me._getStats().numofInterrupt ) { me.runing = false; me._trigged || Base.nextTick(function() { me.owner.trigger('uploadFinished'); }); me._trigged = true; } }, _putback: function(block) { var idx; block.cuted.unshift(block); idx = this.stack.indexOf(block.cuted); if (!~idx) { this.stack.unshift(block.cuted); } }, _getStack: function() { var i = 0, act; while ( (act = this.stack[ i++ ]) ) { if ( act.has() && act.file.getStatus() === Status.PROGRESS ) { return act; } else if (!act.has() || act.file.getStatus() !== Status.PROGRESS && act.file.getStatus() !== Status.INTERRUPT ) { // 把已经处理完了的,或者,状态为非 progress(上传中)、 // interupt(暂停中) 的移除。 this.stack.splice( --i, 1 ); } } return null; }, _nextBlock: function() { var me = this, opts = me.options, act, next, done, preparing; // 如果当前文件还有没有需要传输的,则直接返回剩下的。 if ( (act = this._getStack()) ) { // 是否提前准备下一个文件 if ( opts.prepareNextFile && !me.pending.length ) { me._prepareNextFile(); } return act.shift(); // 否则,如果正在运行,则准备下一个文件,并等待完成后返回下个分片。 } else if ( me.runing ) { // 如果缓存中有,则直接在缓存中取,没有则去queue中取。 if ( !me.pending.length && me._getStats().numOfQueue ) { me._prepareNextFile(); } next = me.pending.shift(); done = function( file ) { if ( !file ) { return null; } act = CuteFile( file, opts.chunked ? opts.chunkSize : 0 ); me.stack.push(act); return act.shift(); }; // 文件可能还在prepare中,也有可能已经完全准备好了。 if ( isPromise( next) ) { preparing = next.file; next = next[ next.pipe ? 'pipe' : 'then' ]( done ); next.file = preparing; return next; } return done( next ); } }, /** * @event uploadStart * @param {File} file File对象 * @description 某个文件开始上传前触发,一个文件只会触发一次。 * @for Uploader */ _prepareNextFile: function() { var me = this, file = me.request('fetch-file'), pending = me.pending, promise; if ( file ) { promise = me.request( 'before-send-file', file, function() { // 有可能文件被skip掉了。文件被skip掉后,状态坑定不是Queued. if ( file.getStatus() === Status.PROGRESS || file.getStatus() === Status.INTERRUPT ) { return file; } return me._finishFile( file ); }); me.owner.trigger( 'uploadStart', file ); file.setStatus( Status.PROGRESS ); promise.file = file; // 如果还在pending中,则替换成文件本身。 promise.done(function() { var idx = $.inArray( promise, pending ); ~idx && pending.splice( idx, 1, file ); }); // befeore-send-file的钩子就有错误发生。 promise.fail(function( reason ) { file.setStatus( Status.ERROR, reason ); me.owner.trigger( 'uploadError', file, reason ); me.owner.trigger( 'uploadComplete', file ); }); pending.push( promise ); } }, // 让出位置了,可以让其他分片开始上传 _popBlock: function( block ) { var idx = $.inArray( block, this.pool ); this.pool.splice( idx, 1 ); block.file.remaning--; this.remaning--; }, // 开始上传,可以被掉过。如果promise被reject了,则表示跳过此分片。 _startSend: function( block ) { var me = this, file = block.file, promise; // 有可能在 before-send-file 的 promise 期间改变了文件状态。 // 如:暂停,取消 // 我们不能中断 promise, 但是可以在 promise 完后,不做上传操作。 if ( file.getStatus() !== Status.PROGRESS ) { // 如果是中断,则还需要放回去。 if (file.getStatus() === Status.INTERRUPT) { me._putback(block); } return; } me.pool.push( block ); me.remaning++; // 如果没有分片,则直接使用原始的。 // 不会丢失content-type信息。 block.blob = block.chunks === 1 ? file.source : file.source.slice( block.start, block.end ); // hook, 每个分片发送之前可能要做些异步的事情。 promise = me.request( 'before-send', block, function() { // 有可能文件已经上传出错了,所以不需要再传输了。 if ( file.getStatus() === Status.PROGRESS ) { me._doSend( block ); } else { me._popBlock( block ); Base.nextTick( me.__tick ); } }); // 如果为fail了,则跳过此分片。 promise.fail(function() { if ( file.remaning === 1 ) { me._finishFile( file ).always(function() { block.percentage = 1; me._popBlock( block ); me.owner.trigger( 'uploadComplete', file ); Base.nextTick( me.__tick ); }); } else { block.percentage = 1; me.updateFileProgress( file ); me._popBlock( block ); Base.nextTick( me.__tick ); } }); }, /** * @event uploadBeforeSend * @param {Object} object * @param {Object} data 默认的上传参数,可以扩展此对象来控制上传参数。 * @param {Object} headers 可以扩展此对象来控制上传头部。 * @description 当某个文件的分块在发送前触发,主要用来询问是否要添加附带参数,大文件在开起分片上传的前提下此事件可能会触发多次。 * @for Uploader */ /** * @event uploadAccept * @param {Object} object * @param {Object} ret 服务端的返回数据,json格式,如果服务端不是json格式,从ret._raw中取数据,自行解析。 * @description 当某个文件上传到服务端响应后,会派送此事件来询问服务端响应是否有效。如果此事件handler返回值为`false`, 则此文件将派送`server`类型的`uploadError`事件。 * @for Uploader */ /** * @event uploadProgress * @param {File} file File对象 * @param {Number} percentage 上传进度 * @description 上传过程中触发,携带上传进度。 * @for Uploader */ /** * @event uploadError * @param {File} file File对象 * @param {String} reason 出错的code * @description 当文件上传出错时触发。 * @for Uploader */ /** * @event uploadSuccess * @param {File} file File对象 * @param {Object} response 服务端返回的数据 * @description 当文件上传成功时触发。 * @for Uploader */ /** * @event uploadComplete * @param {File} [file] File对象 * @description 不管成功或者失败,文件上传完成时触发。 * @for Uploader */ // 做上传操作。 _doSend: function( block ) { var me = this, owner = me.owner, opts = me.options, file = block.file, tr = new Transport( opts ), data = $.extend({}, opts.formData ), headers = $.extend({}, opts.headers ), requestAccept, ret; block.transport = tr; tr.on( 'destroy', function() { delete block.transport; me._popBlock( block ); Base.nextTick( me.__tick ); }); // 广播上传进度。以文件为单位。 tr.on( 'progress', function( percentage ) { block.percentage = percentage; me.updateFileProgress( file ); }); // 用来询问,是否返回的结果是有错误的。 requestAccept = function( reject ) { var fn; ret = tr.getResponseAsJson() || {}; ret._raw = tr.getResponse(); fn = function( value ) { reject = value; }; // 服务端响应了,不代表成功了,询问是否响应正确。 if ( !owner.trigger( 'uploadAccept', block, ret, fn ) ) { reject = reject || 'server'; } return reject; }; // 尝试重试,然后广播文件上传出错。 tr.on( 'error', function( type, flag ) { block.retried = block.retried || 0; // 自动重试 if ( block.chunks > 1 && ~'http,abort'.indexOf( type ) && block.retried < opts.chunkRetry ) { block.retried++; tr.send(); } else { // http status 500 ~ 600 if ( !flag && type === 'server' ) { type = requestAccept( type ); } file.setStatus( Status.ERROR, type ); owner.trigger( 'uploadError', file, type ); owner.trigger( 'uploadComplete', file ); } }); // 上传成功 tr.on( 'load', function() { var reason; // 如果非预期,转向上传出错。 if ( (reason = requestAccept()) ) { tr.trigger( 'error', reason, true ); return; } // 全部上传完成。 if ( file.remaning === 1 ) { me._finishFile( file, ret ); } else { tr.destroy(); } }); // 配置默认的上传字段。 data = $.extend( data, { id: file.id, name: file.name, type: file.type, lastModifiedDate: file.lastModifiedDate, size: file.size }); block.chunks > 1 && $.extend( data, { chunks: block.chunks, chunk: block.chunk }); // 在发送之间可以添加字段什么的。。。 // 如果默认的字段不够使用,可以通过监听此事件来扩展 owner.trigger( 'uploadBeforeSend', block, data, headers ); // 开始发送。 tr.appendBlob( opts.fileVal, block.blob, file.name ); tr.append( data ); tr.setRequestHeader( headers ); tr.send(); }, // 完成上传。 _finishFile: function( file, ret, hds ) { var owner = this.owner; return owner .request( 'after-send-file', arguments, function() { file.setStatus( Status.COMPLETE ); owner.trigger( 'uploadSuccess', file, ret, hds ); }) .fail(function( reason ) { // 如果外部已经标记为invalid什么的,不再改状态。 if ( file.getStatus() === Status.PROGRESS ) { file.setStatus( Status.ERROR, reason ); } owner.trigger( 'uploadError', file, reason ); }) .always(function() { owner.trigger( 'uploadComplete', file ); }); }, updateFileProgress: function(file) { var totalPercent = 0, uploaded = 0; if (!file.blocks) { return; } $.each( file.blocks, function( _, v ) { uploaded += (v.percentage || 0) * (v.end - v.start); }); totalPercent = uploaded / file.size; this.owner.trigger( 'uploadProgress', file, totalPercent || 0 ); } }); }); /** * @fileOverview 各种验证,包括文件总大小是否超出、单文件是否超出和文件是否重复。 */ define('widgets/validator',[ 'base', 'uploader', 'file', 'widgets/widget' ], function( Base, Uploader, WUFile ) { var $ = Base.$, validators = {}, api; /** * @event error * @param {String} type 错误类型。 * @description 当validate不通过时,会以派送错误事件的形式通知调用者。通过`upload.on('error', handler)`可以捕获到此类错误,目前有以下错误会在特定的情况下派送错来。 * * * `Q_EXCEED_NUM_LIMIT` 在设置了`fileNumLimit`且尝试给`uploader`添加的文件数量超出这个值时派送。 * * `Q_EXCEED_SIZE_LIMIT` 在设置了`Q_EXCEED_SIZE_LIMIT`且尝试给`uploader`添加的文件总大小超出这个值时派送。 * * `Q_TYPE_DENIED` 当文件类型不满足时触发。。 * @for Uploader */ // 暴露给外面的api api = { // 添加验证器 addValidator: function( type, cb ) { validators[ type ] = cb; }, // 移除验证器 removeValidator: function( type ) { delete validators[ type ]; } }; // 在Uploader初始化的时候启动Validators的初始化 Uploader.register({ name: 'validator', init: function() { var me = this; Base.nextTick(function() { $.each( validators, function() { this.call( me.owner ); }); }); } }); /** * @property {int} [fileNumLimit=undefined] * @namespace options * @for Uploader * @description 验证文件总数量, 超出则不允许加入队列。 */ api.addValidator( 'fileNumLimit', function() { var uploader = this, opts = uploader.options, count = 0, max = parseInt( opts.fileNumLimit, 10 ), flag = true; if ( !max ) { return; } uploader.on( 'beforeFileQueued', function( file ) { if ( count >= max && flag ) { flag = false; this.trigger( 'error', 'Q_EXCEED_NUM_LIMIT', max, file ); setTimeout(function() { flag = true; }, 1 ); } return count >= max ? false : true; }); uploader.on( 'fileQueued', function() { count++; }); uploader.on( 'fileDequeued', function() { count--; }); uploader.on( 'reset', function() { count = 0; }); }); /** * @property {int} [fileSizeLimit=undefined] * @namespace options * @for Uploader * @description 验证文件总大小是否超出限制, 超出则不允许加入队列。 */ api.addValidator( 'fileSizeLimit', function() { var uploader = this, opts = uploader.options, count = 0, max = parseInt( opts.fileSizeLimit, 10 ), flag = true; if ( !max ) { return; } uploader.on( 'beforeFileQueued', function( file ) { var invalid = count + file.size > max; if ( invalid && flag ) { flag = false; this.trigger( 'error', 'Q_EXCEED_SIZE_LIMIT', max, file ); setTimeout(function() { flag = true; }, 1 ); } return invalid ? false : true; }); uploader.on( 'fileQueued', function( file ) { count += file.size; }); uploader.on( 'fileDequeued', function( file ) { count -= file.size; }); uploader.on( 'reset', function() { count = 0; }); }); /** * @property {int} [fileSingleSizeLimit=undefined] * @namespace options * @for Uploader * @description 验证单个文件大小是否超出限制, 超出则不允许加入队列。 */ api.addValidator( 'fileSingleSizeLimit', function() { var uploader = this, opts = uploader.options, max = opts.fileSingleSizeLimit; if ( !max ) { return; } uploader.on( 'beforeFileQueued', function( file ) { if ( file.size > max ) { file.setStatus( WUFile.Status.INVALID, 'exceed_size' ); this.trigger( 'error', 'F_EXCEED_SIZE', max, file ); return false; } }); }); /** * @property {Boolean} [duplicate=undefined] * @namespace options * @for Uploader * @description 去重, 根据文件名字、文件大小和最后修改时间来生成hash Key. */ api.addValidator( 'duplicate', function() { var uploader = this, opts = uploader.options, mapping = {}; if ( opts.duplicate ) { return; } function hashString( str ) { var hash = 0, i = 0, len = str.length, _char; for ( ; i < len; i++ ) { _char = str.charCodeAt( i ); hash = _char + (hash << 6) + (hash << 16) - hash; } return hash; } uploader.on( 'beforeFileQueued', function( file ) { var hash = file.__hash || (file.__hash = hashString( file.name + file.size + file.lastModifiedDate )); // 已经重复了 if ( mapping[ hash ] ) { this.trigger( 'error', 'F_DUPLICATE', file ); return false; } }); uploader.on( 'fileQueued', function( file ) { var hash = file.__hash; hash && (mapping[ hash ] = true); }); uploader.on( 'fileDequeued', function( file ) { var hash = file.__hash; hash && (delete mapping[ hash ]); }); uploader.on( 'reset', function() { mapping = {}; }); }); return api; }); /** * @fileOverview Md5 */ define('lib/md5',[ 'runtime/client', 'mediator' ], function( RuntimeClient, Mediator ) { function Md5() { RuntimeClient.call( this, 'Md5' ); } // 让 Md5 具备事件功能。 Mediator.installTo( Md5.prototype ); Md5.prototype.loadFromBlob = function( blob ) { var me = this; if ( me.getRuid() ) { me.disconnectRuntime(); } // 连接到blob归属的同一个runtime. me.connectRuntime( blob.ruid, function() { me.exec('init'); me.exec( 'loadFromBlob', blob ); }); }; Md5.prototype.getResult = function() { return this.exec('getResult'); }; return Md5; }); /** * @fileOverview 图片操作, 负责预览图片和上传前压缩图片 */ define('widgets/md5',[ 'base', 'uploader', 'lib/md5', 'lib/blob', 'widgets/widget' ], function( Base, Uploader, Md5, Blob ) { return Uploader.register({ name: 'md5', /** * 计算文件 md5 值,返回一个 promise 对象,可以监听 progress 进度。 * * * @method md5File * @grammar md5File( file[, start[, end]] ) => promise * @for Uploader * @example * * uploader.on( 'fileQueued', function( file ) { * var $li = ...; * * uploader.md5File( file ) * * // 及时显示进度 * .progress(function(percentage) { * console.log('Percentage:', percentage); * }) * * // 完成 * .then(function(val) { * console.log('md5 result:', val); * }); * * }); */ md5File: function( file, start, end ) { var md5 = new Md5(), deferred = Base.Deferred(), blob = (file instanceof Blob) ? file : this.request( 'get-file', file ).source; md5.on( 'progress load', function( e ) { e = e || {}; deferred.notify( e.total ? e.loaded / e.total : 1 ); }); md5.on( 'complete', function() { deferred.resolve( md5.getResult() ); }); md5.on( 'error', function( reason ) { deferred.reject( reason ); }); if ( arguments.length > 1 ) { start = start || 0; end = end || 0; start < 0 && (start = blob.size + start); end < 0 && (end = blob.size + end); end = Math.min( end, blob.size ); blob = blob.slice( start, end ); } md5.loadFromBlob( blob ); return deferred.promise(); } }); }); /** * @fileOverview Runtime管理器,负责Runtime的选择, 连接 */ define('runtime/compbase',[],function() { function CompBase( owner, runtime ) { this.owner = owner; this.options = owner.options; this.getRuntime = function() { return runtime; }; this.getRuid = function() { return runtime.uid; }; this.trigger = function() { return owner.trigger.apply( owner, arguments ); }; } return CompBase; }); /** * @fileOverview Html5Runtime */ define('runtime/html5/runtime',[ 'base', 'runtime/runtime', 'runtime/compbase' ], function( Base, Runtime, CompBase ) { var type = 'html5', components = {}; function Html5Runtime() { var pool = {}, me = this, destroy = this.destroy; Runtime.apply( me, arguments ); me.type = type; // 这个方法的调用者,实际上是RuntimeClient me.exec = function( comp, fn/*, args...*/) { var client = this, uid = client.uid, args = Base.slice( arguments, 2 ), instance; if ( components[ comp ] ) { instance = pool[ uid ] = pool[ uid ] || new components[ comp ]( client, me ); if ( instance[ fn ] ) { return instance[ fn ].apply( instance, args ); } } }; me.destroy = function() { // @todo 删除池子中的所有实例 return destroy && destroy.apply( this, arguments ); }; } Base.inherits( Runtime, { constructor: Html5Runtime, // 不需要连接其他程序,直接执行callback init: function() { var me = this; setTimeout(function() { me.trigger('ready'); }, 1 ); } }); // 注册Components Html5Runtime.register = function( name, component ) { var klass = components[ name ] = Base.inherits( CompBase, component ); return klass; }; // 注册html5运行时。 // 只有在支持的前提下注册。 if ( window.Blob && window.FileReader && window.DataView ) { Runtime.addRuntime( type, Html5Runtime ); } return Html5Runtime; }); /** * @fileOverview Blob Html实现 */ define('runtime/html5/blob',[ 'runtime/html5/runtime', 'lib/blob' ], function( Html5Runtime, Blob ) { return Html5Runtime.register( 'Blob', { slice: function( start, end ) { var blob = this.owner.source, slice = blob.slice || blob.webkitSlice || blob.mozSlice; blob = slice.call( blob, start, end ); return new Blob( this.getRuid(), blob ); } }); }); /** * @fileOverview FilePaste */ define('runtime/html5/dnd',[ 'base', 'runtime/html5/runtime', 'lib/file' ], function( Base, Html5Runtime, File ) { var $ = Base.$, prefix = 'webuploader-dnd-'; return Html5Runtime.register( 'DragAndDrop', { init: function() { var elem = this.elem = this.options.container; this.dragEnterHandler = Base.bindFn( this._dragEnterHandler, this ); this.dragOverHandler = Base.bindFn( this._dragOverHandler, this ); this.dragLeaveHandler = Base.bindFn( this._dragLeaveHandler, this ); this.dropHandler = Base.bindFn( this._dropHandler, this ); this.dndOver = false; elem.on( 'dragenter', this.dragEnterHandler ); elem.on( 'dragover', this.dragOverHandler ); elem.on( 'dragleave', this.dragLeaveHandler ); elem.on( 'drop', this.dropHandler ); if ( this.options.disableGlobalDnd ) { $( document ).on( 'dragover', this.dragOverHandler ); $( document ).on( 'drop', this.dropHandler ); } }, _dragEnterHandler: function( e ) { var me = this, denied = me._denied || false, items; e = e.originalEvent || e; if ( !me.dndOver ) { me.dndOver = true; // 注意只有 chrome 支持。 items = e.dataTransfer.items; if ( items && items.length ) { me._denied = denied = !me.trigger( 'accept', items ); } me.elem.addClass( prefix + 'over' ); me.elem[ denied ? 'addClass' : 'removeClass' ]( prefix + 'denied' ); } e.dataTransfer.dropEffect = denied ? 'none' : 'copy'; return false; }, _dragOverHandler: function( e ) { // 只处理框内的。 var parentElem = this.elem.parent().get( 0 ); if ( parentElem && !$.contains( parentElem, e.currentTarget ) ) { return false; } clearTimeout( this._leaveTimer ); this._dragEnterHandler.call( this, e ); return false; }, _dragLeaveHandler: function() { var me = this, handler; handler = function() { me.dndOver = false; me.elem.removeClass( prefix + 'over ' + prefix + 'denied' ); }; clearTimeout( me._leaveTimer ); me._leaveTimer = setTimeout( handler, 100 ); return false; }, _dropHandler: function( e ) { var me = this, ruid = me.getRuid(), parentElem = me.elem.parent().get( 0 ), dataTransfer, data; // 只处理框内的。 if ( parentElem && !$.contains( parentElem, e.currentTarget ) ) { return false; } e = e.originalEvent || e; dataTransfer = e.dataTransfer; // 如果是页面内拖拽,还不能处理,不阻止事件。 // 此处 ie11 下会报参数错误, try { data = dataTransfer.getData('text/html'); } catch( err ) { } if ( data ) { return; } me._getTansferFiles( dataTransfer, function( results ) { me.trigger( 'drop', $.map( results, function( file ) { return new File( ruid, file ); }) ); }); me.dndOver = false; me.elem.removeClass( prefix + 'over' ); return false; }, // 如果传入 callback 则去查看文件夹,否则只管当前文件夹。 _getTansferFiles: function( dataTransfer, callback ) { var results = [], promises = [], items, files, file, item, i, len, canAccessFolder; items = dataTransfer.items; files = dataTransfer.files; canAccessFolder = !!(items && items[ 0 ].webkitGetAsEntry); for ( i = 0, len = files.length; i < len; i++ ) { file = files[ i ]; item = items && items[ i ]; if ( canAccessFolder && item.webkitGetAsEntry().isDirectory ) { promises.push( this._traverseDirectoryTree( item.webkitGetAsEntry(), results ) ); } else { results.push( file ); } } Base.when.apply( Base, promises ).done(function() { if ( !results.length ) { return; } callback( results ); }); }, _traverseDirectoryTree: function( entry, results ) { var deferred = Base.Deferred(), me = this; if ( entry.isFile ) { entry.file(function( file ) { results.push( file ); deferred.resolve(); }); } else if ( entry.isDirectory ) { entry.createReader().readEntries(function( entries ) { var len = entries.length, promises = [], arr = [], // 为了保证顺序。 i; for ( i = 0; i < len; i++ ) { promises.push( me._traverseDirectoryTree( entries[ i ], arr ) ); } Base.when.apply( Base, promises ).then(function() { results.push.apply( results, arr ); deferred.resolve(); }, deferred.reject ); }); } return deferred.promise(); }, destroy: function() { var elem = this.elem; // 还没 init 就调用 destroy if (!elem) { return; } elem.off( 'dragenter', this.dragEnterHandler ); elem.off( 'dragover', this.dragOverHandler ); elem.off( 'dragleave', this.dragLeaveHandler ); elem.off( 'drop', this.dropHandler ); if ( this.options.disableGlobalDnd ) { $( document ).off( 'dragover', this.dragOverHandler ); $( document ).off( 'drop', this.dropHandler ); } } }); }); /** * @fileOverview FilePaste */ define('runtime/html5/filepaste',[ 'base', 'runtime/html5/runtime', 'lib/file' ], function( Base, Html5Runtime, File ) { return Html5Runtime.register( 'FilePaste', { init: function() { var opts = this.options, elem = this.elem = opts.container, accept = '.*', arr, i, len, item; // accetp的mimeTypes中生成匹配正则。 if ( opts.accept ) { arr = []; for ( i = 0, len = opts.accept.length; i < len; i++ ) { item = opts.accept[ i ].mimeTypes; item && arr.push( item ); } if ( arr.length ) { accept = arr.join(','); accept = accept.replace( /,/g, '|' ).replace( /\*/g, '.*' ); } } this.accept = accept = new RegExp( accept, 'i' ); this.hander = Base.bindFn( this._pasteHander, this ); elem.on( 'paste', this.hander ); }, _pasteHander: function( e ) { var allowed = [], ruid = this.getRuid(), items, item, blob, i, len; e = e.originalEvent || e; items = e.clipboardData.items; for ( i = 0, len = items.length; i < len; i++ ) { item = items[ i ]; if ( item.kind !== 'file' || !(blob = item.getAsFile()) ) { continue; } allowed.push( new File( ruid, blob ) ); } if ( allowed.length ) { // 不阻止非文件粘贴(文字粘贴)的事件冒泡 e.preventDefault(); e.stopPropagation(); this.trigger( 'paste', allowed ); } }, destroy: function() { this.elem.off( 'paste', this.hander ); } }); }); /** * @fileOverview FilePicker */ define('runtime/html5/filepicker',[ 'base', 'runtime/html5/runtime' ], function( Base, Html5Runtime ) { var $ = Base.$; return Html5Runtime.register( 'FilePicker', { init: function() { var container = this.getRuntime().getContainer(), me = this, owner = me.owner, opts = me.options, label = this.label = $( document.createElement('label') ), input = this.input = $( document.createElement('input') ), arr, i, len, mouseHandler; input.attr( 'type', 'file' ); input.attr( 'name', opts.name ); input.addClass('webuploader-element-invisible'); label.on( 'click', function() { input.trigger('click'); }); label.css({ opacity: 0, width: '100%', height: '100%', display: 'block', cursor: 'pointer', background: '#ffffff' }); if ( opts.multiple ) { input.attr( 'multiple', 'multiple' ); } // @todo Firefox不支持单独指定后缀 if ( opts.accept && opts.accept.length > 0 ) { arr = []; for ( i = 0, len = opts.accept.length; i < len; i++ ) { arr.push( opts.accept[ i ].mimeTypes ); } input.attr( 'accept', arr.join(',') ); } container.append( input ); container.append( label ); mouseHandler = function( e ) { owner.trigger( e.type ); }; input.on( 'change', function( e ) { var fn = arguments.callee, clone; me.files = e.target.files; // reset input clone = this.cloneNode( true ); clone.value = null; this.parentNode.replaceChild( clone, this ); input.off(); input = $( clone ).on( 'change', fn ) .on( 'mouseenter mouseleave', mouseHandler ); owner.trigger('change'); }); label.on( 'mouseenter mouseleave', mouseHandler ); }, getFiles: function() { return this.files; }, destroy: function() { this.input.off(); this.label.off(); } }); }); /** * Terms: * * Uint8Array, FileReader, BlobBuilder, atob, ArrayBuffer * @fileOverview Image控件 */ define('runtime/html5/util',[ 'base' ], function( Base ) { var urlAPI = window.createObjectURL && window || window.URL && URL.revokeObjectURL && URL || window.webkitURL, createObjectURL = Base.noop, revokeObjectURL = createObjectURL; if ( urlAPI ) { // 更安全的方式调用,比如android里面就能把context改成其他的对象。 createObjectURL = function() { return urlAPI.createObjectURL.apply( urlAPI, arguments ); }; revokeObjectURL = function() { return urlAPI.revokeObjectURL.apply( urlAPI, arguments ); }; } return { createObjectURL: createObjectURL, revokeObjectURL: revokeObjectURL, dataURL2Blob: function( dataURI ) { var byteStr, intArray, ab, i, mimetype, parts; parts = dataURI.split(','); if ( ~parts[ 0 ].indexOf('base64') ) { byteStr = atob( parts[ 1 ] ); } else { byteStr = decodeURIComponent( parts[ 1 ] ); } ab = new ArrayBuffer( byteStr.length ); intArray = new Uint8Array( ab ); for ( i = 0; i < byteStr.length; i++ ) { intArray[ i ] = byteStr.charCodeAt( i ); } mimetype = parts[ 0 ].split(':')[ 1 ].split(';')[ 0 ]; return this.arrayBufferToBlob( ab, mimetype ); }, dataURL2ArrayBuffer: function( dataURI ) { var byteStr, intArray, i, parts; parts = dataURI.split(','); if ( ~parts[ 0 ].indexOf('base64') ) { byteStr = atob( parts[ 1 ] ); } else { byteStr = decodeURIComponent( parts[ 1 ] ); } intArray = new Uint8Array( byteStr.length ); for ( i = 0; i < byteStr.length; i++ ) { intArray[ i ] = byteStr.charCodeAt( i ); } return intArray.buffer; }, arrayBufferToBlob: function( buffer, type ) { var builder = window.BlobBuilder || window.WebKitBlobBuilder, bb; // android不支持直接new Blob, 只能借助blobbuilder. if ( builder ) { bb = new builder(); bb.append( buffer ); return bb.getBlob( type ); } return new Blob([ buffer ], type ? { type: type } : {} ); }, // 抽出来主要是为了解决android下面canvas.toDataUrl不支持jpeg. // 你得到的结果是png. canvasToDataUrl: function( canvas, type, quality ) { return canvas.toDataURL( type, quality / 100 ); }, // imagemeat会复写这个方法,如果用户选择加载那个文件了的话。 parseMeta: function( blob, callback ) { callback( false, {}); }, // imagemeat会复写这个方法,如果用户选择加载那个文件了的话。 updateImageHead: function( data ) { return data; } }; }); /** * Terms: * * Uint8Array, FileReader, BlobBuilder, atob, ArrayBuffer * @fileOverview Image控件 */ define('runtime/html5/imagemeta',[ 'runtime/html5/util' ], function( Util ) { var api; api = { parsers: { 0xffe1: [] }, maxMetaDataSize: 262144, parse: function( blob, cb ) { var me = this, fr = new FileReader(); fr.onload = function() { cb( false, me._parse( this.result ) ); fr = fr.onload = fr.onerror = null; }; fr.onerror = function( e ) { cb( e.message ); fr = fr.onload = fr.onerror = null; }; blob = blob.slice( 0, me.maxMetaDataSize ); fr.readAsArrayBuffer( blob.getSource() ); }, _parse: function( buffer, noParse ) { if ( buffer.byteLength < 6 ) { return; } var dataview = new DataView( buffer ), offset = 2, maxOffset = dataview.byteLength - 4, headLength = offset, ret = {}, markerBytes, markerLength, parsers, i; if ( dataview.getUint16( 0 ) === 0xffd8 ) { while ( offset < maxOffset ) { markerBytes = dataview.getUint16( offset ); if ( markerBytes >= 0xffe0 && markerBytes <= 0xffef || markerBytes === 0xfffe ) { markerLength = dataview.getUint16( offset + 2 ) + 2; if ( offset + markerLength > dataview.byteLength ) { break; } parsers = api.parsers[ markerBytes ]; if ( !noParse && parsers ) { for ( i = 0; i < parsers.length; i += 1 ) { parsers[ i ].call( api, dataview, offset, markerLength, ret ); } } offset += markerLength; headLength = offset; } else { break; } } if ( headLength > 6 ) { if ( buffer.slice ) { ret.imageHead = buffer.slice( 2, headLength ); } else { // Workaround for IE10, which does not yet // support ArrayBuffer.slice: ret.imageHead = new Uint8Array( buffer ) .subarray( 2, headLength ); } } } return ret; }, updateImageHead: function( buffer, head ) { var data = this._parse( buffer, true ), buf1, buf2, bodyoffset; bodyoffset = 2; if ( data.imageHead ) { bodyoffset = 2 + data.imageHead.byteLength; } if ( buffer.slice ) { buf2 = buffer.slice( bodyoffset ); } else { buf2 = new Uint8Array( buffer ).subarray( bodyoffset ); } buf1 = new Uint8Array( head.byteLength + 2 + buf2.byteLength ); buf1[ 0 ] = 0xFF; buf1[ 1 ] = 0xD8; buf1.set( new Uint8Array( head ), 2 ); buf1.set( new Uint8Array( buf2 ), head.byteLength + 2 ); return buf1.buffer; } }; Util.parseMeta = function() { return api.parse.apply( api, arguments ); }; Util.updateImageHead = function() { return api.updateImageHead.apply( api, arguments ); }; return api; }); /** * 代码来自于:https://github.com/blueimp/JavaScript-Load-Image * 暂时项目中只用了orientation. * * 去除了 Exif Sub IFD Pointer, GPS Info IFD Pointer, Exif Thumbnail. * @fileOverview EXIF解析 */ // Sample // ==================================== // Make : Apple // Model : iPhone 4S // Orientation : 1 // XResolution : 72 [72/1] // YResolution : 72 [72/1] // ResolutionUnit : 2 // Software : QuickTime 7.7.1 // DateTime : 2013:09:01 22:53:55 // ExifIFDPointer : 190 // ExposureTime : 0.058823529411764705 [1/17] // FNumber : 2.4 [12/5] // ExposureProgram : Normal program // ISOSpeedRatings : 800 // ExifVersion : 0220 // DateTimeOriginal : 2013:09:01 22:52:51 // DateTimeDigitized : 2013:09:01 22:52:51 // ComponentsConfiguration : YCbCr // ShutterSpeedValue : 4.058893515764426 // ApertureValue : 2.5260688216892597 [4845/1918] // BrightnessValue : -0.3126686601998395 // MeteringMode : Pattern // Flash : Flash did not fire, compulsory flash mode // FocalLength : 4.28 [107/25] // SubjectArea : [4 values] // FlashpixVersion : 0100 // ColorSpace : 1 // PixelXDimension : 2448 // PixelYDimension : 3264 // SensingMethod : One-chip color area sensor // ExposureMode : 0 // WhiteBalance : Auto white balance // FocalLengthIn35mmFilm : 35 // SceneCaptureType : Standard define('runtime/html5/imagemeta/exif',[ 'base', 'runtime/html5/imagemeta' ], function( Base, ImageMeta ) { var EXIF = {}; EXIF.ExifMap = function() { return this; }; EXIF.ExifMap.prototype.map = { 'Orientation': 0x0112 }; EXIF.ExifMap.prototype.get = function( id ) { return this[ id ] || this[ this.map[ id ] ]; }; EXIF.exifTagTypes = { // byte, 8-bit unsigned int: 1: { getValue: function( dataView, dataOffset ) { return dataView.getUint8( dataOffset ); }, size: 1 }, // ascii, 8-bit byte: 2: { getValue: function( dataView, dataOffset ) { return String.fromCharCode( dataView.getUint8( dataOffset ) ); }, size: 1, ascii: true }, // short, 16 bit int: 3: { getValue: function( dataView, dataOffset, littleEndian ) { return dataView.getUint16( dataOffset, littleEndian ); }, size: 2 }, // long, 32 bit int: 4: { getValue: function( dataView, dataOffset, littleEndian ) { return dataView.getUint32( dataOffset, littleEndian ); }, size: 4 }, // rational = two long values, // first is numerator, second is denominator: 5: { getValue: function( dataView, dataOffset, littleEndian ) { return dataView.getUint32( dataOffset, littleEndian ) / dataView.getUint32( dataOffset + 4, littleEndian ); }, size: 8 }, // slong, 32 bit signed int: 9: { getValue: function( dataView, dataOffset, littleEndian ) { return dataView.getInt32( dataOffset, littleEndian ); }, size: 4 }, // srational, two slongs, first is numerator, second is denominator: 10: { getValue: function( dataView, dataOffset, littleEndian ) { return dataView.getInt32( dataOffset, littleEndian ) / dataView.getInt32( dataOffset + 4, littleEndian ); }, size: 8 } }; // undefined, 8-bit byte, value depending on field: EXIF.exifTagTypes[ 7 ] = EXIF.exifTagTypes[ 1 ]; EXIF.getExifValue = function( dataView, tiffOffset, offset, type, length, littleEndian ) { var tagType = EXIF.exifTagTypes[ type ], tagSize, dataOffset, values, i, str, c; if ( !tagType ) { Base.log('Invalid Exif data: Invalid tag type.'); return; } tagSize = tagType.size * length; // Determine if the value is contained in the dataOffset bytes, // or if the value at the dataOffset is a pointer to the actual data: dataOffset = tagSize > 4 ? tiffOffset + dataView.getUint32( offset + 8, littleEndian ) : (offset + 8); if ( dataOffset + tagSize > dataView.byteLength ) { Base.log('Invalid Exif data: Invalid data offset.'); return; } if ( length === 1 ) { return tagType.getValue( dataView, dataOffset, littleEndian ); } values = []; for ( i = 0; i < length; i += 1 ) { values[ i ] = tagType.getValue( dataView, dataOffset + i * tagType.size, littleEndian ); } if ( tagType.ascii ) { str = ''; // Concatenate the chars: for ( i = 0; i < values.length; i += 1 ) { c = values[ i ]; // Ignore the terminating NULL byte(s): if ( c === '\u0000' ) { break; } str += c; } return str; } return values; }; EXIF.parseExifTag = function( dataView, tiffOffset, offset, littleEndian, data ) { var tag = dataView.getUint16( offset, littleEndian ); data.exif[ tag ] = EXIF.getExifValue( dataView, tiffOffset, offset, dataView.getUint16( offset + 2, littleEndian ), // tag type dataView.getUint32( offset + 4, littleEndian ), // tag length littleEndian ); }; EXIF.parseExifTags = function( dataView, tiffOffset, dirOffset, littleEndian, data ) { var tagsNumber, dirEndOffset, i; if ( dirOffset + 6 > dataView.byteLength ) { Base.log('Invalid Exif data: Invalid directory offset.'); return; } tagsNumber = dataView.getUint16( dirOffset, littleEndian ); dirEndOffset = dirOffset + 2 + 12 * tagsNumber; if ( dirEndOffset + 4 > dataView.byteLength ) { Base.log('Invalid Exif data: Invalid directory size.'); return; } for ( i = 0; i < tagsNumber; i += 1 ) { this.parseExifTag( dataView, tiffOffset, dirOffset + 2 + 12 * i, // tag offset littleEndian, data ); } // Return the offset to the next directory: return dataView.getUint32( dirEndOffset, littleEndian ); }; // EXIF.getExifThumbnail = function(dataView, offset, length) { // var hexData, // i, // b; // if (!length || offset + length > dataView.byteLength) { // Base.log('Invalid Exif data: Invalid thumbnail data.'); // return; // } // hexData = []; // for (i = 0; i < length; i += 1) { // b = dataView.getUint8(offset + i); // hexData.push((b < 16 ? '0' : '') + b.toString(16)); // } // return 'data:image/jpeg,%' + hexData.join('%'); // }; EXIF.parseExifData = function( dataView, offset, length, data ) { var tiffOffset = offset + 10, littleEndian, dirOffset; // Check for the ASCII code for "Exif" (0x45786966): if ( dataView.getUint32( offset + 4 ) !== 0x45786966 ) { // No Exif data, might be XMP data instead return; } if ( tiffOffset + 8 > dataView.byteLength ) { Base.log('Invalid Exif data: Invalid segment size.'); return; } // Check for the two null bytes: if ( dataView.getUint16( offset + 8 ) !== 0x0000 ) { Base.log('Invalid Exif data: Missing byte alignment offset.'); return; } // Check the byte alignment: switch ( dataView.getUint16( tiffOffset ) ) { case 0x4949: littleEndian = true; break; case 0x4D4D: littleEndian = false; break; default: Base.log('Invalid Exif data: Invalid byte alignment marker.'); return; } // Check for the TIFF tag marker (0x002A): if ( dataView.getUint16( tiffOffset + 2, littleEndian ) !== 0x002A ) { Base.log('Invalid Exif data: Missing TIFF marker.'); return; } // Retrieve the directory offset bytes, usually 0x00000008 or 8 decimal: dirOffset = dataView.getUint32( tiffOffset + 4, littleEndian ); // Create the exif object to store the tags: data.exif = new EXIF.ExifMap(); // Parse the tags of the main image directory and retrieve the // offset to the next directory, usually the thumbnail directory: dirOffset = EXIF.parseExifTags( dataView, tiffOffset, tiffOffset + dirOffset, littleEndian, data ); // 尝试读取缩略图 // if ( dirOffset ) { // thumbnailData = {exif: {}}; // dirOffset = EXIF.parseExifTags( // dataView, // tiffOffset, // tiffOffset + dirOffset, // littleEndian, // thumbnailData // ); // // Check for JPEG Thumbnail offset: // if (thumbnailData.exif[0x0201]) { // data.exif.Thumbnail = EXIF.getExifThumbnail( // dataView, // tiffOffset + thumbnailData.exif[0x0201], // thumbnailData.exif[0x0202] // Thumbnail data length // ); // } // } }; ImageMeta.parsers[ 0xffe1 ].push( EXIF.parseExifData ); return EXIF; }); /** * 这个方式性能不行,但是可以解决android里面的toDataUrl的bug * android里面toDataUrl('image/jpege')得到的结果却是png. * * 所以这里没辙,只能借助这个工具 * @fileOverview jpeg encoder */ define('runtime/html5/jpegencoder',[], function( require, exports, module ) { /* Copyright (c) 2008, Adobe Systems Incorporated All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Adobe Systems Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* JPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009 Basic GUI blocking jpeg encoder */ function JPEGEncoder(quality) { var self = this; var fround = Math.round; var ffloor = Math.floor; var YTable = new Array(64); var UVTable = new Array(64); var fdtbl_Y = new Array(64); var fdtbl_UV = new Array(64); var YDC_HT; var UVDC_HT; var YAC_HT; var UVAC_HT; var bitcode = new Array(65535); var category = new Array(65535); var outputfDCTQuant = new Array(64); var DU = new Array(64); var byteout = []; var bytenew = 0; var bytepos = 7; var YDU = new Array(64); var UDU = new Array(64); var VDU = new Array(64); var clt = new Array(256); var RGB_YUV_TABLE = new Array(2048); var currentQuality; var ZigZag = [ 0, 1, 5, 6,14,15,27,28, 2, 4, 7,13,16,26,29,42, 3, 8,12,17,25,30,41,43, 9,11,18,24,31,40,44,53, 10,19,23,32,39,45,52,54, 20,22,33,38,46,51,55,60, 21,34,37,47,50,56,59,61, 35,36,48,49,57,58,62,63 ]; var std_dc_luminance_nrcodes = [0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0]; var std_dc_luminance_values = [0,1,2,3,4,5,6,7,8,9,10,11]; var std_ac_luminance_nrcodes = [0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,0x7d]; var std_ac_luminance_values = [ 0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12, 0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07, 0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08, 0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0, 0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16, 0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28, 0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39, 0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49, 0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59, 0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69, 0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79, 0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89, 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98, 0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6, 0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5, 0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4, 0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2, 0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea, 0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8, 0xf9,0xfa ]; var std_dc_chrominance_nrcodes = [0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0]; var std_dc_chrominance_values = [0,1,2,3,4,5,6,7,8,9,10,11]; var std_ac_chrominance_nrcodes = [0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,0x77]; var std_ac_chrominance_values = [ 0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21, 0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71, 0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91, 0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0, 0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34, 0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26, 0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38, 0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48, 0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58, 0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68, 0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78, 0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87, 0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96, 0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5, 0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4, 0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3, 0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2, 0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda, 0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9, 0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8, 0xf9,0xfa ]; function initQuantTables(sf){ var YQT = [ 16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68,109,103, 77, 24, 35, 55, 64, 81,104,113, 92, 49, 64, 78, 87,103,121,120,101, 72, 92, 95, 98,112,100,103, 99 ]; for (var i = 0; i < 64; i++) { var t = ffloor((YQT[i]*sf+50)/100); if (t < 1) { t = 1; } else if (t > 255) { t = 255; } YTable[ZigZag[i]] = t; } var UVQT = [ 17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 ]; for (var j = 0; j < 64; j++) { var u = ffloor((UVQT[j]*sf+50)/100); if (u < 1) { u = 1; } else if (u > 255) { u = 255; } UVTable[ZigZag[j]] = u; } var aasf = [ 1.0, 1.387039845, 1.306562965, 1.175875602, 1.0, 0.785694958, 0.541196100, 0.275899379 ]; var k = 0; for (var row = 0; row < 8; row++) { for (var col = 0; col < 8; col++) { fdtbl_Y[k] = (1.0 / (YTable [ZigZag[k]] * aasf[row] * aasf[col] * 8.0)); fdtbl_UV[k] = (1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0)); k++; } } } function computeHuffmanTbl(nrcodes, std_table){ var codevalue = 0; var pos_in_table = 0; var HT = new Array(); for (var k = 1; k <= 16; k++) { for (var j = 1; j <= nrcodes[k]; j++) { HT[std_table[pos_in_table]] = []; HT[std_table[pos_in_table]][0] = codevalue; HT[std_table[pos_in_table]][1] = k; pos_in_table++; codevalue++; } codevalue*=2; } return HT; } function initHuffmanTbl() { YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes,std_dc_luminance_values); UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes,std_dc_chrominance_values); YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes,std_ac_luminance_values); UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes,std_ac_chrominance_values); } function initCategoryNumber() { var nrlower = 1; var nrupper = 2; for (var cat = 1; cat <= 15; cat++) { //Positive numbers for (var nr = nrlower; nr>0] = 38470 * i; RGB_YUV_TABLE[(i+ 512)>>0] = 7471 * i + 0x8000; RGB_YUV_TABLE[(i+ 768)>>0] = -11059 * i; RGB_YUV_TABLE[(i+1024)>>0] = -21709 * i; RGB_YUV_TABLE[(i+1280)>>0] = 32768 * i + 0x807FFF; RGB_YUV_TABLE[(i+1536)>>0] = -27439 * i; RGB_YUV_TABLE[(i+1792)>>0] = - 5329 * i; } } // IO functions function writeBits(bs) { var value = bs[0]; var posval = bs[1]-1; while ( posval >= 0 ) { if (value & (1 << posval) ) { bytenew |= (1 << bytepos); } posval--; bytepos--; if (bytepos < 0) { if (bytenew == 0xFF) { writeByte(0xFF); writeByte(0); } else { writeByte(bytenew); } bytepos=7; bytenew=0; } } } function writeByte(value) { byteout.push(clt[value]); // write char directly instead of converting later } function writeWord(value) { writeByte((value>>8)&0xFF); writeByte((value )&0xFF); } // DCT & quantization core function fDCTQuant(data, fdtbl) { var d0, d1, d2, d3, d4, d5, d6, d7; /* Pass 1: process rows. */ var dataOff=0; var i; var I8 = 8; var I64 = 64; for (i=0; i 0.0) ? ((fDCTQuant + 0.5)|0) : ((fDCTQuant - 0.5)|0); //outputfDCTQuant[i] = fround(fDCTQuant); } return outputfDCTQuant; } function writeAPP0() { writeWord(0xFFE0); // marker writeWord(16); // length writeByte(0x4A); // J writeByte(0x46); // F writeByte(0x49); // I writeByte(0x46); // F writeByte(0); // = "JFIF",'\0' writeByte(1); // versionhi writeByte(1); // versionlo writeByte(0); // xyunits writeWord(1); // xdensity writeWord(1); // ydensity writeByte(0); // thumbnwidth writeByte(0); // thumbnheight } function writeSOF0(width, height) { writeWord(0xFFC0); // marker writeWord(17); // length, truecolor YUV JPG writeByte(8); // precision writeWord(height); writeWord(width); writeByte(3); // nrofcomponents writeByte(1); // IdY writeByte(0x11); // HVY writeByte(0); // QTY writeByte(2); // IdU writeByte(0x11); // HVU writeByte(1); // QTU writeByte(3); // IdV writeByte(0x11); // HVV writeByte(1); // QTV } function writeDQT() { writeWord(0xFFDB); // marker writeWord(132); // length writeByte(0); for (var i=0; i<64; i++) { writeByte(YTable[i]); } writeByte(1); for (var j=0; j<64; j++) { writeByte(UVTable[j]); } } function writeDHT() { writeWord(0xFFC4); // marker writeWord(0x01A2); // length writeByte(0); // HTYDCinfo for (var i=0; i<16; i++) { writeByte(std_dc_luminance_nrcodes[i+1]); } for (var j=0; j<=11; j++) { writeByte(std_dc_luminance_values[j]); } writeByte(0x10); // HTYACinfo for (var k=0; k<16; k++) { writeByte(std_ac_luminance_nrcodes[k+1]); } for (var l=0; l<=161; l++) { writeByte(std_ac_luminance_values[l]); } writeByte(1); // HTUDCinfo for (var m=0; m<16; m++) { writeByte(std_dc_chrominance_nrcodes[m+1]); } for (var n=0; n<=11; n++) { writeByte(std_dc_chrominance_values[n]); } writeByte(0x11); // HTUACinfo for (var o=0; o<16; o++) { writeByte(std_ac_chrominance_nrcodes[o+1]); } for (var p=0; p<=161; p++) { writeByte(std_ac_chrominance_values[p]); } } function writeSOS() { writeWord(0xFFDA); // marker writeWord(12); // length writeByte(3); // nrofcomponents writeByte(1); // IdY writeByte(0); // HTY writeByte(2); // IdU writeByte(0x11); // HTU writeByte(3); // IdV writeByte(0x11); // HTV writeByte(0); // Ss writeByte(0x3f); // Se writeByte(0); // Bf } function processDU(CDU, fdtbl, DC, HTDC, HTAC){ var EOB = HTAC[0x00]; var M16zeroes = HTAC[0xF0]; var pos; var I16 = 16; var I63 = 63; var I64 = 64; var DU_DCT = fDCTQuant(CDU, fdtbl); //ZigZag reorder for (var j=0;j0)&&(DU[end0pos]==0); end0pos--) {}; //end0pos = first element in reverse order !=0 if ( end0pos == 0) { writeBits(EOB); return DC; } var i = 1; var lng; while ( i <= end0pos ) { var startpos = i; for (; (DU[i]==0) && (i<=end0pos); ++i) {} var nrzeroes = i-startpos; if ( nrzeroes >= I16 ) { lng = nrzeroes>>4; for (var nrmarker=1; nrmarker <= lng; ++nrmarker) writeBits(M16zeroes); nrzeroes = nrzeroes&0xF; } pos = 32767+DU[i]; writeBits(HTAC[(nrzeroes<<4)+category[pos]]); writeBits(bitcode[pos]); i++; } if ( end0pos != I63 ) { writeBits(EOB); } return DC; } function initCharLookupTable(){ var sfcc = String.fromCharCode; for(var i=0; i < 256; i++){ ///// ACHTUNG // 255 clt[i] = sfcc(i); } } this.encode = function(image,quality) // image data object { // var time_start = new Date().getTime(); if(quality) setQuality(quality); // Initialize bit writer byteout = new Array(); bytenew=0; bytepos=7; // Add JPEG headers writeWord(0xFFD8); // SOI writeAPP0(); writeDQT(); writeSOF0(image.width,image.height); writeDHT(); writeSOS(); // Encode 8x8 macroblocks var DCY=0; var DCU=0; var DCV=0; bytenew=0; bytepos=7; this.encode.displayName = "_encode_"; var imageData = image.data; var width = image.width; var height = image.height; var quadWidth = width*4; var tripleWidth = width*3; var x, y = 0; var r, g, b; var start,p, col,row,pos; while(y < height){ x = 0; while(x < quadWidth){ start = quadWidth * y + x; p = start; col = -1; row = 0; for(pos=0; pos < 64; pos++){ row = pos >> 3;// /8 col = ( pos & 7 ) * 4; // %8 p = start + ( row * quadWidth ) + col; if(y+row >= height){ // padding bottom p-= (quadWidth*(y+1+row-height)); } if(x+col >= quadWidth){ // padding right p-= ((x+col) - quadWidth +4) } r = imageData[ p++ ]; g = imageData[ p++ ]; b = imageData[ p++ ]; /* // calculate YUV values dynamically YDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80 UDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b)); VDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b)); */ // use lookup table (slightly faster) YDU[pos] = ((RGB_YUV_TABLE[r] + RGB_YUV_TABLE[(g + 256)>>0] + RGB_YUV_TABLE[(b + 512)>>0]) >> 16)-128; UDU[pos] = ((RGB_YUV_TABLE[(r + 768)>>0] + RGB_YUV_TABLE[(g + 1024)>>0] + RGB_YUV_TABLE[(b + 1280)>>0]) >> 16)-128; VDU[pos] = ((RGB_YUV_TABLE[(r + 1280)>>0] + RGB_YUV_TABLE[(g + 1536)>>0] + RGB_YUV_TABLE[(b + 1792)>>0]) >> 16)-128; } DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT); DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); x+=32; } y+=8; } //////////////////////////////////////////////////////////////// // Do the bit alignment of the EOI marker if ( bytepos >= 0 ) { var fillbits = []; fillbits[1] = bytepos+1; fillbits[0] = (1<<(bytepos+1))-1; writeBits(fillbits); } writeWord(0xFFD9); //EOI var jpegDataUri = 'data:image/jpeg;base64,' + btoa(byteout.join('')); byteout = []; // benchmarking // var duration = new Date().getTime() - time_start; // console.log('Encoding time: '+ currentQuality + 'ms'); // return jpegDataUri } function setQuality(quality){ if (quality <= 0) { quality = 1; } if (quality > 100) { quality = 100; } if(currentQuality == quality) return // don't recalc if unchanged var sf = 0; if (quality < 50) { sf = Math.floor(5000 / quality); } else { sf = Math.floor(200 - quality*2); } initQuantTables(sf); currentQuality = quality; // console.log('Quality set to: '+quality +'%'); } function init(){ // var time_start = new Date().getTime(); if(!quality) quality = 50; // Create tables initCharLookupTable() initHuffmanTbl(); initCategoryNumber(); initRGBYUVTable(); setQuality(quality); // var duration = new Date().getTime() - time_start; // console.log('Initialization '+ duration + 'ms'); } init(); }; JPEGEncoder.encode = function( data, quality ) { var encoder = new JPEGEncoder( quality ); return encoder.encode( data ); } return JPEGEncoder; }); /** * @fileOverview Fix android canvas.toDataUrl bug. */ define('runtime/html5/androidpatch',[ 'runtime/html5/util', 'runtime/html5/jpegencoder', 'base' ], function( Util, encoder, Base ) { var origin = Util.canvasToDataUrl, supportJpeg; Util.canvasToDataUrl = function( canvas, type, quality ) { var ctx, w, h, fragement, parts; // 非android手机直接跳过。 if ( !Base.os.android ) { return origin.apply( null, arguments ); } // 检测是否canvas支持jpeg导出,根据数据格式来判断。 // JPEG 前两位分别是:255, 216 if ( type === 'image/jpeg' && typeof supportJpeg === 'undefined' ) { fragement = origin.apply( null, arguments ); parts = fragement.split(','); if ( ~parts[ 0 ].indexOf('base64') ) { fragement = atob( parts[ 1 ] ); } else { fragement = decodeURIComponent( parts[ 1 ] ); } fragement = fragement.substring( 0, 2 ); supportJpeg = fragement.charCodeAt( 0 ) === 255 && fragement.charCodeAt( 1 ) === 216; } // 只有在android环境下才修复 if ( type === 'image/jpeg' && !supportJpeg ) { w = canvas.width; h = canvas.height; ctx = canvas.getContext('2d'); return encoder.encode( ctx.getImageData( 0, 0, w, h ), quality ); } return origin.apply( null, arguments ); }; }); /** * @fileOverview Image */ define('runtime/html5/image',[ 'base', 'runtime/html5/runtime', 'runtime/html5/util' ], function( Base, Html5Runtime, Util ) { var BLANK = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D'; return Html5Runtime.register( 'Image', { // flag: 标记是否被修改过。 modified: false, init: function() { var me = this, img = new Image(); img.onload = function() { me._info = { type: me.type, width: this.width, height: this.height }; // 读取meta信息。 if ( !me._metas && 'image/jpeg' === me.type ) { Util.parseMeta( me._blob, function( error, ret ) { me._metas = ret; me.owner.trigger('load'); }); } else { me.owner.trigger('load'); } }; img.onerror = function() { me.owner.trigger('error'); }; me._img = img; }, loadFromBlob: function( blob ) { var me = this, img = me._img; me._blob = blob; me.type = blob.type; img.src = Util.createObjectURL( blob.getSource() ); me.owner.once( 'load', function() { Util.revokeObjectURL( img.src ); }); }, resize: function( width, height ) { var canvas = this._canvas || (this._canvas = document.createElement('canvas')); this._resize( this._img, canvas, width, height ); this._blob = null; // 没用了,可以删掉了。 this.modified = true; this.owner.trigger( 'complete', 'resize' ); }, crop: function( x, y, w, h, s ) { var cvs = this._canvas || (this._canvas = document.createElement('canvas')), opts = this.options, img = this._img, iw = img.naturalWidth, ih = img.naturalHeight, orientation = this.getOrientation(); s = s || 1; // todo 解决 orientation 的问题。 // values that require 90 degree rotation // if ( ~[ 5, 6, 7, 8 ].indexOf( orientation ) ) { // switch ( orientation ) { // case 6: // tmp = x; // x = y; // y = iw * s - tmp - w; // console.log(ih * s, tmp, w) // break; // } // (w ^= h, h ^= w, w ^= h); // } cvs.width = w; cvs.height = h; opts.preserveHeaders || this._rotate2Orientaion( cvs, orientation ); this._renderImageToCanvas( cvs, img, -x, -y, iw * s, ih * s ); this._blob = null; // 没用了,可以删掉了。 this.modified = true; this.owner.trigger( 'complete', 'crop' ); }, getAsBlob: function( type ) { var blob = this._blob, opts = this.options, canvas; type = type || this.type; // blob需要重新生成。 if ( this.modified || this.type !== type ) { canvas = this._canvas; if ( type === 'image/jpeg' ) { blob = Util.canvasToDataUrl( canvas, type, opts.quality ); if ( opts.preserveHeaders && this._metas && this._metas.imageHead ) { blob = Util.dataURL2ArrayBuffer( blob ); blob = Util.updateImageHead( blob, this._metas.imageHead ); blob = Util.arrayBufferToBlob( blob, type ); return blob; } } else { blob = Util.canvasToDataUrl( canvas, type ); } blob = Util.dataURL2Blob( blob ); } return blob; }, getAsDataUrl: function( type ) { var opts = this.options; type = type || this.type; if ( type === 'image/jpeg' ) { return Util.canvasToDataUrl( this._canvas, type, opts.quality ); } else { return this._canvas.toDataURL( type ); } }, getOrientation: function() { return this._metas && this._metas.exif && this._metas.exif.get('Orientation') || 1; }, info: function( val ) { // setter if ( val ) { this._info = val; return this; } // getter return this._info; }, meta: function( val ) { // setter if ( val ) { this._meta = val; return this; } // getter return this._meta; }, destroy: function() { var canvas = this._canvas; this._img.onload = null; if ( canvas ) { canvas.getContext('2d') .clearRect( 0, 0, canvas.width, canvas.height ); canvas.width = canvas.height = 0; this._canvas = null; } // 释放内存。非常重要,否则释放不了image的内存。 this._img.src = BLANK; this._img = this._blob = null; }, _resize: function( img, cvs, width, height ) { var opts = this.options, naturalWidth = img.width, naturalHeight = img.height, orientation = this.getOrientation(), scale, w, h, x, y; // values that require 90 degree rotation if ( ~[ 5, 6, 7, 8 ].indexOf( orientation ) ) { // 交换width, height的值。 width ^= height; height ^= width; width ^= height; } scale = Math[ opts.crop ? 'max' : 'min' ]( width / naturalWidth, height / naturalHeight ); // 不允许放大。 opts.allowMagnify || (scale = Math.min( 1, scale )); w = naturalWidth * scale; h = naturalHeight * scale; if ( opts.crop ) { cvs.width = width; cvs.height = height; } else { cvs.width = w; cvs.height = h; } x = (cvs.width - w) / 2; y = (cvs.height - h) / 2; opts.preserveHeaders || this._rotate2Orientaion( cvs, orientation ); this._renderImageToCanvas( cvs, img, x, y, w, h ); }, _rotate2Orientaion: function( canvas, orientation ) { var width = canvas.width, height = canvas.height, ctx = canvas.getContext('2d'); switch ( orientation ) { case 5: case 6: case 7: case 8: canvas.width = height; canvas.height = width; break; } switch ( orientation ) { case 2: // horizontal flip ctx.translate( width, 0 ); ctx.scale( -1, 1 ); break; case 3: // 180 rotate left ctx.translate( width, height ); ctx.rotate( Math.PI ); break; case 4: // vertical flip ctx.translate( 0, height ); ctx.scale( 1, -1 ); break; case 5: // vertical flip + 90 rotate right ctx.rotate( 0.5 * Math.PI ); ctx.scale( 1, -1 ); break; case 6: // 90 rotate right ctx.rotate( 0.5 * Math.PI ); ctx.translate( 0, -height ); break; case 7: // horizontal flip + 90 rotate right ctx.rotate( 0.5 * Math.PI ); ctx.translate( width, -height ); ctx.scale( -1, 1 ); break; case 8: // 90 rotate left ctx.rotate( -0.5 * Math.PI ); ctx.translate( -width, 0 ); break; } }, // https://github.com/stomita/ios-imagefile-megapixel/ // blob/master/src/megapix-image.js _renderImageToCanvas: (function() { // 如果不是ios, 不需要这么复杂! if ( !Base.os.ios ) { return function( canvas ) { var args = Base.slice( arguments, 1 ), ctx = canvas.getContext('2d'); ctx.drawImage.apply( ctx, args ); }; } /** * Detecting vertical squash in loaded image. * Fixes a bug which squash image vertically while drawing into * canvas for some images. */ function detectVerticalSquash( img, iw, ih ) { var canvas = document.createElement('canvas'), ctx = canvas.getContext('2d'), sy = 0, ey = ih, py = ih, data, alpha, ratio; canvas.width = 1; canvas.height = ih; ctx.drawImage( img, 0, 0 ); data = ctx.getImageData( 0, 0, 1, ih ).data; // search image edge pixel position in case // it is squashed vertically. while ( py > sy ) { alpha = data[ (py - 1) * 4 + 3 ]; if ( alpha === 0 ) { ey = py; } else { sy = py; } py = (ey + sy) >> 1; } ratio = (py / ih); return (ratio === 0) ? 1 : ratio; } // fix ie7 bug // http://stackoverflow.com/questions/11929099/ // html5-canvas-drawimage-ratio-bug-ios if ( Base.os.ios >= 7 ) { return function( canvas, img, x, y, w, h ) { var iw = img.naturalWidth, ih = img.naturalHeight, vertSquashRatio = detectVerticalSquash( img, iw, ih ); return canvas.getContext('2d').drawImage( img, 0, 0, iw * vertSquashRatio, ih * vertSquashRatio, x, y, w, h ); }; } /** * Detect subsampling in loaded image. * In iOS, larger images than 2M pixels may be * subsampled in rendering. */ function detectSubsampling( img ) { var iw = img.naturalWidth, ih = img.naturalHeight, canvas, ctx; // subsampling may happen overmegapixel image if ( iw * ih > 1024 * 1024 ) { canvas = document.createElement('canvas'); canvas.width = canvas.height = 1; ctx = canvas.getContext('2d'); ctx.drawImage( img, -iw + 1, 0 ); // subsampled image becomes half smaller in rendering size. // check alpha channel value to confirm image is covering // edge pixel or not. if alpha value is 0 // image is not covering, hence subsampled. return ctx.getImageData( 0, 0, 1, 1 ).data[ 3 ] === 0; } else { return false; } } return function( canvas, img, x, y, width, height ) { var iw = img.naturalWidth, ih = img.naturalHeight, ctx = canvas.getContext('2d'), subsampled = detectSubsampling( img ), doSquash = this.type === 'image/jpeg', d = 1024, sy = 0, dy = 0, tmpCanvas, tmpCtx, vertSquashRatio, dw, dh, sx, dx; if ( subsampled ) { iw /= 2; ih /= 2; } ctx.save(); tmpCanvas = document.createElement('canvas'); tmpCanvas.width = tmpCanvas.height = d; tmpCtx = tmpCanvas.getContext('2d'); vertSquashRatio = doSquash ? detectVerticalSquash( img, iw, ih ) : 1; dw = Math.ceil( d * width / iw ); dh = Math.ceil( d * height / ih / vertSquashRatio ); while ( sy < ih ) { sx = 0; dx = 0; while ( sx < iw ) { tmpCtx.clearRect( 0, 0, d, d ); tmpCtx.drawImage( img, -sx, -sy ); ctx.drawImage( tmpCanvas, 0, 0, d, d, x + dx, y + dy, dw, dh ); sx += d; dx += dw; } sy += d; dy += dh; } ctx.restore(); tmpCanvas = tmpCtx = null; }; })() }); }); /** * @fileOverview Transport * @todo 支持chunked传输,优势: * 可以将大文件分成小块,挨个传输,可以提高大文件成功率,当失败的时候,也只需要重传那小部分, * 而不需要重头再传一次。另外断点续传也需要用chunked方式。 */ define('runtime/html5/transport',[ 'base', 'runtime/html5/runtime' ], function( Base, Html5Runtime ) { var noop = Base.noop, $ = Base.$; return Html5Runtime.register( 'Transport', { init: function() { this._status = 0; this._response = null; }, send: function() { var owner = this.owner, opts = this.options, xhr = this._initAjax(), blob = owner._blob, server = opts.server, formData, binary, fr; if ( opts.sendAsBinary ) { server += (/\?/.test( server ) ? '&' : '?') + $.param( owner._formData ); binary = blob.getSource(); } else { formData = new FormData(); $.each( owner._formData, function( k, v ) { formData.append( k, v ); }); formData.append( opts.fileVal, blob.getSource(), opts.filename || owner._formData.name || '' ); } if ( opts.withCredentials && 'withCredentials' in xhr ) { xhr.open( opts.method, server, true ); xhr.withCredentials = true; } else { xhr.open( opts.method, server ); } this._setRequestHeader( xhr, opts.headers ); if ( binary ) { // 强制设置成 content-type 为文件流。 xhr.overrideMimeType && xhr.overrideMimeType('application/octet-stream'); // android直接发送blob会导致服务端接收到的是空文件。 // bug详情。 // https://code.google.com/p/android/issues/detail?id=39882 // 所以先用fileReader读取出来再通过arraybuffer的方式发送。 if ( Base.os.android ) { fr = new FileReader(); fr.onload = function() { xhr.send( this.result ); fr = fr.onload = null; }; fr.readAsArrayBuffer( binary ); } else { xhr.send( binary ); } } else { xhr.send( formData ); } }, getResponse: function() { return this._response; }, getResponseAsJson: function() { return this._parseJson( this._response ); }, getStatus: function() { return this._status; }, abort: function() { var xhr = this._xhr; if ( xhr ) { xhr.upload.onprogress = noop; xhr.onreadystatechange = noop; xhr.abort(); this._xhr = xhr = null; } }, destroy: function() { this.abort(); }, _initAjax: function() { var me = this, xhr = new XMLHttpRequest(), opts = this.options; if ( opts.withCredentials && !('withCredentials' in xhr) && typeof XDomainRequest !== 'undefined' ) { xhr = new XDomainRequest(); } xhr.upload.onprogress = function( e ) { var percentage = 0; if ( e.lengthComputable ) { percentage = e.loaded / e.total; } return me.trigger( 'progress', percentage ); }; xhr.onreadystatechange = function() { if ( xhr.readyState !== 4 ) { return; } xhr.upload.onprogress = noop; xhr.onreadystatechange = noop; me._xhr = null; me._status = xhr.status; if ( xhr.status >= 200 && xhr.status < 300 ) { me._response = xhr.responseText; return me.trigger('load'); } else if ( xhr.status >= 500 && xhr.status < 600 ) { me._response = xhr.responseText; return me.trigger( 'error', 'server' ); } return me.trigger( 'error', me._status ? 'http' : 'abort' ); }; me._xhr = xhr; return xhr; }, _setRequestHeader: function( xhr, headers ) { $.each( headers, function( key, val ) { xhr.setRequestHeader( key, val ); }); }, _parseJson: function( str ) { var json; try { json = JSON.parse( str ); } catch ( ex ) { json = {}; } return json; } }); }); /** * @fileOverview Transport flash实现 */ define('runtime/html5/md5',[ 'runtime/html5/runtime' ], function( FlashRuntime ) { /* * Fastest md5 implementation around (JKM md5) * Credits: Joseph Myers * * @see http://www.myersdaily.org/joseph/javascript/md5-text.html * @see http://jsperf.com/md5-shootout/7 */ /* this function is much faster, so if possible we use it. Some IEs are the only ones I know of that need the idiotic second function, generated by an if clause. */ var add32 = function (a, b) { return (a + b) & 0xFFFFFFFF; }, cmn = function (q, a, b, x, s, t) { a = add32(add32(a, q), add32(x, t)); return add32((a << s) | (a >>> (32 - s)), b); }, ff = function (a, b, c, d, x, s, t) { return cmn((b & c) | ((~b) & d), a, b, x, s, t); }, gg = function (a, b, c, d, x, s, t) { return cmn((b & d) | (c & (~d)), a, b, x, s, t); }, hh = function (a, b, c, d, x, s, t) { return cmn(b ^ c ^ d, a, b, x, s, t); }, ii = function (a, b, c, d, x, s, t) { return cmn(c ^ (b | (~d)), a, b, x, s, t); }, md5cycle = function (x, k) { var a = x[0], b = x[1], c = x[2], d = x[3]; a = ff(a, b, c, d, k[0], 7, -680876936); d = ff(d, a, b, c, k[1], 12, -389564586); c = ff(c, d, a, b, k[2], 17, 606105819); b = ff(b, c, d, a, k[3], 22, -1044525330); a = ff(a, b, c, d, k[4], 7, -176418897); d = ff(d, a, b, c, k[5], 12, 1200080426); c = ff(c, d, a, b, k[6], 17, -1473231341); b = ff(b, c, d, a, k[7], 22, -45705983); a = ff(a, b, c, d, k[8], 7, 1770035416); d = ff(d, a, b, c, k[9], 12, -1958414417); c = ff(c, d, a, b, k[10], 17, -42063); b = ff(b, c, d, a, k[11], 22, -1990404162); a = ff(a, b, c, d, k[12], 7, 1804603682); d = ff(d, a, b, c, k[13], 12, -40341101); c = ff(c, d, a, b, k[14], 17, -1502002290); b = ff(b, c, d, a, k[15], 22, 1236535329); a = gg(a, b, c, d, k[1], 5, -165796510); d = gg(d, a, b, c, k[6], 9, -1069501632); c = gg(c, d, a, b, k[11], 14, 643717713); b = gg(b, c, d, a, k[0], 20, -373897302); a = gg(a, b, c, d, k[5], 5, -701558691); d = gg(d, a, b, c, k[10], 9, 38016083); c = gg(c, d, a, b, k[15], 14, -660478335); b = gg(b, c, d, a, k[4], 20, -405537848); a = gg(a, b, c, d, k[9], 5, 568446438); d = gg(d, a, b, c, k[14], 9, -1019803690); c = gg(c, d, a, b, k[3], 14, -187363961); b = gg(b, c, d, a, k[8], 20, 1163531501); a = gg(a, b, c, d, k[13], 5, -1444681467); d = gg(d, a, b, c, k[2], 9, -51403784); c = gg(c, d, a, b, k[7], 14, 1735328473); b = gg(b, c, d, a, k[12], 20, -1926607734); a = hh(a, b, c, d, k[5], 4, -378558); d = hh(d, a, b, c, k[8], 11, -2022574463); c = hh(c, d, a, b, k[11], 16, 1839030562); b = hh(b, c, d, a, k[14], 23, -35309556); a = hh(a, b, c, d, k[1], 4, -1530992060); d = hh(d, a, b, c, k[4], 11, 1272893353); c = hh(c, d, a, b, k[7], 16, -155497632); b = hh(b, c, d, a, k[10], 23, -1094730640); a = hh(a, b, c, d, k[13], 4, 681279174); d = hh(d, a, b, c, k[0], 11, -358537222); c = hh(c, d, a, b, k[3], 16, -722521979); b = hh(b, c, d, a, k[6], 23, 76029189); a = hh(a, b, c, d, k[9], 4, -640364487); d = hh(d, a, b, c, k[12], 11, -421815835); c = hh(c, d, a, b, k[15], 16, 530742520); b = hh(b, c, d, a, k[2], 23, -995338651); a = ii(a, b, c, d, k[0], 6, -198630844); d = ii(d, a, b, c, k[7], 10, 1126891415); c = ii(c, d, a, b, k[14], 15, -1416354905); b = ii(b, c, d, a, k[5], 21, -57434055); a = ii(a, b, c, d, k[12], 6, 1700485571); d = ii(d, a, b, c, k[3], 10, -1894986606); c = ii(c, d, a, b, k[10], 15, -1051523); b = ii(b, c, d, a, k[1], 21, -2054922799); a = ii(a, b, c, d, k[8], 6, 1873313359); d = ii(d, a, b, c, k[15], 10, -30611744); c = ii(c, d, a, b, k[6], 15, -1560198380); b = ii(b, c, d, a, k[13], 21, 1309151649); a = ii(a, b, c, d, k[4], 6, -145523070); d = ii(d, a, b, c, k[11], 10, -1120210379); c = ii(c, d, a, b, k[2], 15, 718787259); b = ii(b, c, d, a, k[9], 21, -343485551); x[0] = add32(a, x[0]); x[1] = add32(b, x[1]); x[2] = add32(c, x[2]); x[3] = add32(d, x[3]); }, /* there needs to be support for Unicode here, * unless we pretend that we can redefine the MD-5 * algorithm for multi-byte characters (perhaps * by adding every four 16-bit characters and * shortening the sum to 32 bits). Otherwise * I suggest performing MD-5 as if every character * was two bytes--e.g., 0040 0025 = @%--but then * how will an ordinary MD-5 sum be matched? * There is no way to standardize text to something * like UTF-8 before transformation; speed cost is * utterly prohibitive. The JavaScript standard * itself needs to look at this: it should start * providing access to strings as preformed UTF-8 * 8-bit unsigned value arrays. */ md5blk = function (s) { var md5blks = [], i; /* Andy King said do it this way. */ for (i = 0; i < 64; i += 4) { md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24); } return md5blks; }, md5blk_array = function (a) { var md5blks = [], i; /* Andy King said do it this way. */ for (i = 0; i < 64; i += 4) { md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24); } return md5blks; }, md51 = function (s) { var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi; for (i = 64; i <= n; i += 64) { md5cycle(state, md5blk(s.substring(i - 64, i))); } s = s.substring(i - 64); length = s.length; tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (i = 0; i < length; i += 1) { tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3); } tail[i >> 2] |= 0x80 << ((i % 4) << 3); if (i > 55) { md5cycle(state, tail); for (i = 0; i < 16; i += 1) { tail[i] = 0; } } // Beware that the final length might not fit in 32 bits so we take care of that tmp = n * 8; tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/); lo = parseInt(tmp[2], 16); hi = parseInt(tmp[1], 16) || 0; tail[14] = lo; tail[15] = hi; md5cycle(state, tail); return state; }, md51_array = function (a) { var n = a.length, state = [1732584193, -271733879, -1732584194, 271733878], i, length, tail, tmp, lo, hi; for (i = 64; i <= n; i += 64) { md5cycle(state, md5blk_array(a.subarray(i - 64, i))); } // Not sure if it is a bug, however IE10 will always produce a sub array of length 1 // containing the last element of the parent array if the sub array specified starts // beyond the length of the parent array - weird. // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0); length = a.length; tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (i = 0; i < length; i += 1) { tail[i >> 2] |= a[i] << ((i % 4) << 3); } tail[i >> 2] |= 0x80 << ((i % 4) << 3); if (i > 55) { md5cycle(state, tail); for (i = 0; i < 16; i += 1) { tail[i] = 0; } } // Beware that the final length might not fit in 32 bits so we take care of that tmp = n * 8; tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/); lo = parseInt(tmp[2], 16); hi = parseInt(tmp[1], 16) || 0; tail[14] = lo; tail[15] = hi; md5cycle(state, tail); return state; }, hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'], rhex = function (n) { var s = '', j; for (j = 0; j < 4; j += 1) { s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F]; } return s; }, hex = function (x) { var i; for (i = 0; i < x.length; i += 1) { x[i] = rhex(x[i]); } return x.join(''); }, md5 = function (s) { return hex(md51(s)); }, //////////////////////////////////////////////////////////////////////////// /** * SparkMD5 OOP implementation. * * Use this class to perform an incremental md5, otherwise use the * static methods instead. */ SparkMD5 = function () { // call reset to init the instance this.reset(); }; // In some cases the fast add32 function cannot be used.. if (md5('hello') !== '5d41402abc4b2a76b9719d911017c592') { add32 = function (x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF), msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); }; } /** * Appends a string. * A conversion will be applied if an utf8 string is detected. * * @param {String} str The string to be appended * * @return {SparkMD5} The instance itself */ SparkMD5.prototype.append = function (str) { // converts the string to utf8 bytes if necessary if (/[\u0080-\uFFFF]/.test(str)) { str = unescape(encodeURIComponent(str)); } // then append as binary this.appendBinary(str); return this; }; /** * Appends a binary string. * * @param {String} contents The binary string to be appended * * @return {SparkMD5} The instance itself */ SparkMD5.prototype.appendBinary = function (contents) { this._buff += contents; this._length += contents.length; var length = this._buff.length, i; for (i = 64; i <= length; i += 64) { md5cycle(this._state, md5blk(this._buff.substring(i - 64, i))); } this._buff = this._buff.substr(i - 64); return this; }; /** * Finishes the incremental computation, reseting the internal state and * returning the result. * Use the raw parameter to obtain the raw result instead of the hex one. * * @param {Boolean} raw True to get the raw result, false to get the hex result * * @return {String|Array} The result */ SparkMD5.prototype.end = function (raw) { var buff = this._buff, length = buff.length, i, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ret; for (i = 0; i < length; i += 1) { tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3); } this._finish(tail, length); ret = !!raw ? this._state : hex(this._state); this.reset(); return ret; }; /** * Finish the final calculation based on the tail. * * @param {Array} tail The tail (will be modified) * @param {Number} length The length of the remaining buffer */ SparkMD5.prototype._finish = function (tail, length) { var i = length, tmp, lo, hi; tail[i >> 2] |= 0x80 << ((i % 4) << 3); if (i > 55) { md5cycle(this._state, tail); for (i = 0; i < 16; i += 1) { tail[i] = 0; } } // Do the final computation based on the tail and length // Beware that the final length may not fit in 32 bits so we take care of that tmp = this._length * 8; tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/); lo = parseInt(tmp[2], 16); hi = parseInt(tmp[1], 16) || 0; tail[14] = lo; tail[15] = hi; md5cycle(this._state, tail); }; /** * Resets the internal state of the computation. * * @return {SparkMD5} The instance itself */ SparkMD5.prototype.reset = function () { this._buff = ""; this._length = 0; this._state = [1732584193, -271733879, -1732584194, 271733878]; return this; }; /** * Releases memory used by the incremental buffer and other aditional * resources. If you plan to use the instance again, use reset instead. */ SparkMD5.prototype.destroy = function () { delete this._state; delete this._buff; delete this._length; }; /** * Performs the md5 hash on a string. * A conversion will be applied if utf8 string is detected. * * @param {String} str The string * @param {Boolean} raw True to get the raw result, false to get the hex result * * @return {String|Array} The result */ SparkMD5.hash = function (str, raw) { // converts the string to utf8 bytes if necessary if (/[\u0080-\uFFFF]/.test(str)) { str = unescape(encodeURIComponent(str)); } var hash = md51(str); return !!raw ? hash : hex(hash); }; /** * Performs the md5 hash on a binary string. * * @param {String} content The binary string * @param {Boolean} raw True to get the raw result, false to get the hex result * * @return {String|Array} The result */ SparkMD5.hashBinary = function (content, raw) { var hash = md51(content); return !!raw ? hash : hex(hash); }; /** * SparkMD5 OOP implementation for array buffers. * * Use this class to perform an incremental md5 ONLY for array buffers. */ SparkMD5.ArrayBuffer = function () { // call reset to init the instance this.reset(); }; //////////////////////////////////////////////////////////////////////////// /** * Appends an array buffer. * * @param {ArrayBuffer} arr The array to be appended * * @return {SparkMD5.ArrayBuffer} The instance itself */ SparkMD5.ArrayBuffer.prototype.append = function (arr) { // TODO: we could avoid the concatenation here but the algorithm would be more complex // if you find yourself needing extra performance, please make a PR. var buff = this._concatArrayBuffer(this._buff, arr), length = buff.length, i; this._length += arr.byteLength; for (i = 64; i <= length; i += 64) { md5cycle(this._state, md5blk_array(buff.subarray(i - 64, i))); } // Avoids IE10 weirdness (documented above) this._buff = (i - 64) < length ? buff.subarray(i - 64) : new Uint8Array(0); return this; }; /** * Finishes the incremental computation, reseting the internal state and * returning the result. * Use the raw parameter to obtain the raw result instead of the hex one. * * @param {Boolean} raw True to get the raw result, false to get the hex result * * @return {String|Array} The result */ SparkMD5.ArrayBuffer.prototype.end = function (raw) { var buff = this._buff, length = buff.length, tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], i, ret; for (i = 0; i < length; i += 1) { tail[i >> 2] |= buff[i] << ((i % 4) << 3); } this._finish(tail, length); ret = !!raw ? this._state : hex(this._state); this.reset(); return ret; }; SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish; /** * Resets the internal state of the computation. * * @return {SparkMD5.ArrayBuffer} The instance itself */ SparkMD5.ArrayBuffer.prototype.reset = function () { this._buff = new Uint8Array(0); this._length = 0; this._state = [1732584193, -271733879, -1732584194, 271733878]; return this; }; /** * Releases memory used by the incremental buffer and other aditional * resources. If you plan to use the instance again, use reset instead. */ SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy; /** * Concats two array buffers, returning a new one. * * @param {ArrayBuffer} first The first array buffer * @param {ArrayBuffer} second The second array buffer * * @return {ArrayBuffer} The new array buffer */ SparkMD5.ArrayBuffer.prototype._concatArrayBuffer = function (first, second) { var firstLength = first.length, result = new Uint8Array(firstLength + second.byteLength); result.set(first); result.set(new Uint8Array(second), firstLength); return result; }; /** * Performs the md5 hash on an array buffer. * * @param {ArrayBuffer} arr The array buffer * @param {Boolean} raw True to get the raw result, false to get the hex result * * @return {String|Array} The result */ SparkMD5.ArrayBuffer.hash = function (arr, raw) { var hash = md51_array(new Uint8Array(arr)); return !!raw ? hash : hex(hash); }; return FlashRuntime.register( 'Md5', { init: function() { // do nothing. }, loadFromBlob: function( file ) { var blob = file.getSource(), chunkSize = 2 * 1024 * 1024, chunks = Math.ceil( blob.size / chunkSize ), chunk = 0, owner = this.owner, spark = new SparkMD5.ArrayBuffer(), me = this, blobSlice = blob.mozSlice || blob.webkitSlice || blob.slice, loadNext, fr; fr = new FileReader(); loadNext = function() { var start, end; start = chunk * chunkSize; end = Math.min( start + chunkSize, blob.size ); fr.onload = function( e ) { spark.append( e.target.result ); owner.trigger( 'progress', { total: file.size, loaded: end }); }; fr.onloadend = function() { fr.onloadend = fr.onload = null; if ( ++chunk < chunks ) { setTimeout( loadNext, 1 ); } else { setTimeout(function(){ owner.trigger('load'); me.result = spark.end(); loadNext = file = blob = spark = null; owner.trigger('complete'); }, 50 ); } }; fr.readAsArrayBuffer( blobSlice.call( blob, start, end ) ); }; loadNext(); }, getResult: function() { return this.result; } }); }); /** * @fileOverview FlashRuntime */ define('runtime/flash/runtime',[ 'base', 'runtime/runtime', 'runtime/compbase' ], function( Base, Runtime, CompBase ) { var $ = Base.$, type = 'flash', components = {}; function getFlashVersion() { var version; try { version = navigator.plugins[ 'Shockwave Flash' ]; version = version.description; } catch ( ex ) { try { version = new ActiveXObject('ShockwaveFlash.ShockwaveFlash') .GetVariable('$version'); } catch ( ex2 ) { version = '0.0'; } } version = version.match( /\d+/g ); return parseFloat( version[ 0 ] + '.' + version[ 1 ], 10 ); } function FlashRuntime() { var pool = {}, clients = {}, destroy = this.destroy, me = this, jsreciver = Base.guid('webuploader_'); Runtime.apply( me, arguments ); me.type = type; // 这个方法的调用者,实际上是RuntimeClient me.exec = function( comp, fn/*, args...*/ ) { var client = this, uid = client.uid, args = Base.slice( arguments, 2 ), instance; clients[ uid ] = client; if ( components[ comp ] ) { if ( !pool[ uid ] ) { pool[ uid ] = new components[ comp ]( client, me ); } instance = pool[ uid ]; if ( instance[ fn ] ) { return instance[ fn ].apply( instance, args ); } } return me.flashExec.apply( client, arguments ); }; function handler( evt, obj ) { var type = evt.type || evt, parts, uid; parts = type.split('::'); uid = parts[ 0 ]; type = parts[ 1 ]; // console.log.apply( console, arguments ); if ( type === 'Ready' && uid === me.uid ) { me.trigger('ready'); } else if ( clients[ uid ] ) { clients[ uid ].trigger( type.toLowerCase(), evt, obj ); } // Base.log( evt, obj ); } // flash的接受器。 window[ jsreciver ] = function() { var args = arguments; // 为了能捕获得到。 setTimeout(function() { handler.apply( null, args ); }, 1 ); }; this.jsreciver = jsreciver; this.destroy = function() { // @todo 删除池子中的所有实例 return destroy && destroy.apply( this, arguments ); }; this.flashExec = function( comp, fn ) { var flash = me.getFlash(), args = Base.slice( arguments, 2 ); return flash.exec( this.uid, comp, fn, args ); }; // @todo } Base.inherits( Runtime, { constructor: FlashRuntime, init: function() { var container = this.getContainer(), opts = this.options, html; // if not the minimal height, shims are not initialized // in older browsers (e.g FF3.6, IE6,7,8, Safari 4.0,5.0, etc) container.css({ position: 'absolute', top: '-8px', left: '-8px', width: '9px', height: '9px', overflow: 'hidden' }); // insert flash object html = '' + '' + '' + '' + ''; container.html( html ); }, getFlash: function() { if ( this._flash ) { return this._flash; } this._flash = $( '#' + this.uid ).get( 0 ); return this._flash; } }); FlashRuntime.register = function( name, component ) { component = components[ name ] = Base.inherits( CompBase, $.extend({ // @todo fix this later flashExec: function() { var owner = this.owner, runtime = this.getRuntime(); return runtime.flashExec.apply( owner, arguments ); } }, component ) ); return component; }; if ( getFlashVersion() >= 11.4 ) { Runtime.addRuntime( type, FlashRuntime ); } return FlashRuntime; }); /** * @fileOverview FilePicker */ define('runtime/flash/filepicker',[ 'base', 'runtime/flash/runtime' ], function( Base, FlashRuntime ) { var $ = Base.$; return FlashRuntime.register( 'FilePicker', { init: function( opts ) { var copy = $.extend({}, opts ), len, i; // 修复Flash再没有设置title的情况下无法弹出flash文件选择框的bug. len = copy.accept && copy.accept.length; for ( i = 0; i < len; i++ ) { if ( !copy.accept[ i ].title ) { copy.accept[ i ].title = 'Files'; } } delete copy.button; delete copy.id; delete copy.container; this.flashExec( 'FilePicker', 'init', copy ); }, destroy: function() { this.flashExec( 'FilePicker', 'destroy' ); } }); }); /** * @fileOverview 图片压缩 */ define('runtime/flash/image',[ 'runtime/flash/runtime' ], function( FlashRuntime ) { return FlashRuntime.register( 'Image', { // init: function( options ) { // var owner = this.owner; // this.flashExec( 'Image', 'init', options ); // owner.on( 'load', function() { // debugger; // }); // }, loadFromBlob: function( blob ) { var owner = this.owner; owner.info() && this.flashExec( 'Image', 'info', owner.info() ); owner.meta() && this.flashExec( 'Image', 'meta', owner.meta() ); this.flashExec( 'Image', 'loadFromBlob', blob.uid ); } }); }); /** * @fileOverview Transport flash实现 */ define('runtime/flash/transport',[ 'base', 'runtime/flash/runtime', 'runtime/client' ], function( Base, FlashRuntime, RuntimeClient ) { var $ = Base.$; return FlashRuntime.register( 'Transport', { init: function() { this._status = 0; this._response = null; this._responseJson = null; }, send: function() { var owner = this.owner, opts = this.options, xhr = this._initAjax(), blob = owner._blob, server = opts.server, binary; xhr.connectRuntime( blob.ruid ); if ( opts.sendAsBinary ) { server += (/\?/.test( server ) ? '&' : '?') + $.param( owner._formData ); binary = blob.uid; } else { $.each( owner._formData, function( k, v ) { xhr.exec( 'append', k, v ); }); xhr.exec( 'appendBlob', opts.fileVal, blob.uid, opts.filename || owner._formData.name || '' ); } this._setRequestHeader( xhr, opts.headers ); xhr.exec( 'send', { method: opts.method, url: server, forceURLStream: opts.forceURLStream, mimeType: 'application/octet-stream' }, binary ); }, getStatus: function() { return this._status; }, getResponse: function() { return this._response || ''; }, getResponseAsJson: function() { return this._responseJson; }, abort: function() { var xhr = this._xhr; if ( xhr ) { xhr.exec('abort'); xhr.destroy(); this._xhr = xhr = null; } }, destroy: function() { this.abort(); }, _initAjax: function() { var me = this, xhr = new RuntimeClient('XMLHttpRequest'); xhr.on( 'uploadprogress progress', function( e ) { var percent = e.loaded / e.total; percent = Math.min( 1, Math.max( 0, percent ) ); return me.trigger( 'progress', percent ); }); xhr.on( 'load', function() { var status = xhr.exec('getStatus'), readBody = false, err = '', p; xhr.off(); me._xhr = null; if ( status >= 200 && status < 300 ) { readBody = true; } else if ( status >= 500 && status < 600 ) { readBody = true; err = 'server'; } else { err = 'http'; } if ( readBody ) { me._response = xhr.exec('getResponse'); me._response = decodeURIComponent( me._response ); // flash 处理可能存在 bug, 没辙只能靠 js 了 // try { // me._responseJson = xhr.exec('getResponseAsJson'); // } catch ( error ) { p = window.JSON && window.JSON.parse || function( s ) { try { return new Function('return ' + s).call(); } catch ( err ) { return {}; } }; me._responseJson = me._response ? p(me._response) : {}; // } } xhr.destroy(); xhr = null; return err ? me.trigger( 'error', err ) : me.trigger('load'); }); xhr.on( 'error', function() { xhr.off(); me._xhr = null; me.trigger( 'error', 'http' ); }); me._xhr = xhr; return xhr; }, _setRequestHeader: function( xhr, headers ) { $.each( headers, function( key, val ) { xhr.exec( 'setRequestHeader', key, val ); }); } }); }); /** * @fileOverview Blob Html实现 */ define('runtime/flash/blob',[ 'runtime/flash/runtime', 'lib/blob' ], function( FlashRuntime, Blob ) { return FlashRuntime.register( 'Blob', { slice: function( start, end ) { var blob = this.flashExec( 'Blob', 'slice', start, end ); return new Blob( blob.uid, blob ); } }); }); /** * @fileOverview Md5 flash实现 */ define('runtime/flash/md5',[ 'runtime/flash/runtime' ], function( FlashRuntime ) { return FlashRuntime.register( 'Md5', { init: function() { // do nothing. }, loadFromBlob: function( blob ) { return this.flashExec( 'Md5', 'loadFromBlob', blob.uid ); } }); }); /** * @fileOverview 完全版本。 */ define('preset/all',[ 'base', // widgets 'widgets/filednd', 'widgets/filepaste', 'widgets/filepicker', 'widgets/image', 'widgets/queue', 'widgets/runtime', 'widgets/upload', 'widgets/validator', 'widgets/md5', // runtimes // html5 'runtime/html5/blob', 'runtime/html5/dnd', 'runtime/html5/filepaste', 'runtime/html5/filepicker', 'runtime/html5/imagemeta/exif', 'runtime/html5/androidpatch', 'runtime/html5/image', 'runtime/html5/transport', 'runtime/html5/md5', // flash 'runtime/flash/filepicker', 'runtime/flash/image', 'runtime/flash/transport', 'runtime/flash/blob', 'runtime/flash/md5' ], function( Base ) { return Base; }); /** * @fileOverview 日志组件,主要用来收集错误信息,可以帮助 webuploader 更好的定位问题和发展。 * * 如果您不想要启用此功能,请在打包的时候去掉 log 模块。 * * 或者可以在初始化的时候通过 options.disableWidgets 属性禁用。 * * 如: * WebUploader.create({ * ... * * disableWidgets: 'log', * * ... * }) */ define('widgets/log',[ 'base', 'uploader', 'widgets/widget' ], function( Base, Uploader ) { var $ = Base.$, logUrl = ' http://static.tieba.baidu.com/tb/pms/img/st.gif??', product = (location.hostname || location.host || 'protected').toLowerCase(), // 只针对 baidu 内部产品用户做统计功能。 enable = product && /baidu/i.exec(product), base; if (!enable) { return; } base = { dv: 3, master: 'webuploader', online: /test/.exec(product) ? 0 : 1, module: '', product: product, type: 0 }; function send(data) { var obj = $.extend({}, base, data), url = logUrl.replace(/^(.*)\?/, '$1' + $.param( obj )), image = new Image(); image.src = url; } return Uploader.register({ name: 'log', init: function() { var owner = this.owner, count = 0, size = 0; owner .on('error', function(code) { send({ type: 2, c_error_code: code }); }) .on('uploadError', function(file, reason) { send({ type: 2, c_error_code: 'UPLOAD_ERROR', c_reason: '' + reason }); }) .on('uploadComplete', function(file) { count++; size += file.size; }). on('uploadFinished', function() { send({ c_count: count, c_size: size }); count = size = 0; }); send({ c_usage: 1 }); } }); }); /** * @fileOverview Uploader上传类 */ define('webuploader',[ 'preset/all', 'widgets/log' ], function( preset ) { return preset; }); return require('webuploader'); }); ================================================ FILE: gmall-manage-web/src/main/resources/templates/attrInfoPage.html ================================================ Title


            ================================================ FILE: gmall-manage-web/src/main/resources/templates/attrListPage.html ================================================ Title
            属性ID 属性名称
            一级分类: 二级分类: 三级分类: 刷新列表
            ================================================ FILE: gmall-manage-web/src/main/resources/templates/index.html ================================================ 后台管理系统
            后台管理系统
            east region
            ================================================ FILE: gmall-manage-web/src/main/resources/templates/skuInfoPage.html ================================================ Title





            ================================================ FILE: gmall-manage-web/src/main/resources/templates/skuListPage.html ================================================ Title
            库存单元ID 库存单元名称 价格 重量 三级分类 图片列表 平台属性 销售属性 商品描述 默认图片
            ================================================ FILE: gmall-manage-web/src/main/resources/templates/spuInfoPage.html ================================================ Title ================================================ FILE: gmall-manage-web/src/main/resources/templates/spuListPage.html ================================================ Title
            商品ID 商品名称 商品描述
            一级分类: 二级分类: 三级分类: 刷新列表
            ================================================ FILE: gmall-manage-web/src/main/resources/templates/spuSaleAttrPage.html ================================================ Title




            ================================================ FILE: gmall-manage-web/src/main/resources/tracker.conf ================================================ tracker_server=192.168.159.129:22122 #连接超时时间 connect_timeout=30000 #网络通讯超时时间 network_timeout=60000 ================================================ FILE: gmall-manage-web/src/test/java/com/lee/gmall/manage/GmallManageWebApplicationTests.java ================================================ package com.lee.gmall.manage; import com.lee.gmall.manage.util.MyUploadUtil; import org.csource.common.MyException; import org.csource.fastdfs.ClientGlobal; import org.csource.fastdfs.StorageClient; import org.csource.fastdfs.TrackerClient; import org.csource.fastdfs.TrackerServer; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.io.File; import java.io.IOException; @RunWith(SpringRunner.class) @SpringBootTest public class GmallManageWebApplicationTests { @Test public void contextLoads() throws IOException, MyException { //配置fdfs的全局信息 String file = GmallManageWebApplicationTests.class.getClassLoader().getResource("tracker.conf").getFile(); ClientGlobal.init(file); //获得tracker TrackerClient trackerClient = new TrackerClient(); TrackerServer connection = trackerClient.getConnection(); //通过tracker获得storage StorageClient storageClient = new StorageClient(connection, null); //通过storage上传文件 String[] gifs = storageClient.upload_file("d:/1010/front-end.png", "png", null); String url = "http://192.168.159.129:8888"; for (String gif : gifs) { url = url + "/" + gif; } System.out.println(url); } } ================================================ FILE: gmall-order-service/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-order-service 0.0.1-SNAPSHOT gmall-order-service Demo project for Spring Boot 1.8 com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-service-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-order-service/src/main/java/com/lee/gmall/GmallOrderServiceApplication.java ================================================ package com.lee.gmall; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication @MapperScan("com.lee.gmall.order.mapper") public class GmallOrderServiceApplication { public static void main(String[] args) { SpringApplication.run(GmallOrderServiceApplication.class, args); } } ================================================ FILE: gmall-order-service/src/main/java/com/lee/gmall/order/mapper/OrderDetailMapper.java ================================================ package com.lee.gmall.order.mapper; import com.lee.gmall.bean.OrderDetail; import tk.mybatis.mapper.common.Mapper; public interface OrderDetailMapper extends Mapper { } ================================================ FILE: gmall-order-service/src/main/java/com/lee/gmall/order/mapper/OrderInfoMapper.java ================================================ package com.lee.gmall.order.mapper; import com.lee.gmall.bean.OrderInfo; import tk.mybatis.mapper.common.Mapper; public interface OrderInfoMapper extends Mapper { } ================================================ FILE: gmall-order-service/src/main/java/com/lee/gmall/order/service/impl/OrderServiceImpl.java ================================================ package com.lee.gmall.order.service.impl; import com.alibaba.dubbo.config.annotation.Service; import com.lee.gmall.bean.OrderDetail; import com.lee.gmall.bean.OrderInfo; import com.lee.gmall.order.mapper.OrderDetailMapper; import com.lee.gmall.order.mapper.OrderInfoMapper; import com.lee.gmall.service.OrderService; import com.lee.gmall.util.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import redis.clients.jedis.Jedis; import java.util.List; import java.util.UUID; @Service public class OrderServiceImpl implements OrderService { @Autowired RedisUtil redisUtil; @Autowired OrderInfoMapper orderInfoMapper; @Autowired OrderDetailMapper orderDetailMapper; @Override public String genTradeCode(String userId) { String key = "user:" + userId + ":tradeCode"; String val = UUID.randomUUID().toString(); Jedis jedis = redisUtil.getJedis(); jedis.setex(key, 60 * 30, val); jedis.close(); return val; } @Override public boolean checkTradeCode(String tradeCode, String userId) { boolean bool = false; String key = "user:" + userId + ":tradeCode"; Jedis jedis = redisUtil.getJedis(); String val = jedis.get(key); if (tradeCode.equals(val)) { bool = true; jedis.del(key); } return bool; } @Override public void saveOrder(OrderInfo orderInfo) { orderInfoMapper.insertSelective(orderInfo); String orderId = orderInfo.getId(); List orderDetailList = orderInfo.getOrderDetailList(); for (OrderDetail orderDetail : orderDetailList) { orderDetail.setOrderId(orderId); orderDetailMapper.insertSelective(orderDetail); } } } ================================================ FILE: gmall-order-service/src/main/resources/application.properties ================================================ server.port=8076 #jdbc spring.datasource.username=root spring.datasource.password=password spring.datasource.url=jdbc:mysql://localhost:3306/gmall0328?characterEncoding=UTF-8 #mybatis mybatis.configuration.map-underscore-to-camel-case=true mybatis.mapper-locations=classpath:mapper/*Mapper.xml #zookeeper spring.dubbo.registry.address=192.168.159.129:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-order-service spring.dubbo.protocol.name=dubbo spring.dubbo.base-package=com.lee.gmall #redis spring.redis.host=192.168.159.129 spring.redis.port=6379 spring.redis.database=0 #logging.level.root=debug ================================================ FILE: gmall-order-service/src/test/java/com/lee/gmall/order/GmallOrderServiceImplApplicationTests.java ================================================ package com.lee.gmall.order; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GmallOrderServiceImplApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: gmall-order-web/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-order-web 0.0.1-SNAPSHOT gmall-order-web Demo project for Spring Boot 1.8 com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-web-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-order-web/src/main/java/com/lee/gmall/GmallOrderWebApplication.java ================================================ package com.lee.gmall; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class GmallOrderWebApplication { public static void main(String[] args) { SpringApplication.run(GmallOrderWebApplication.class, args); } } ================================================ FILE: gmall-order-web/src/main/java/com/lee/gmall/order/controller/OrderController.java ================================================ package com.lee.gmall.order.controller; import com.alibaba.dubbo.config.annotation.Reference; import com.lee.gmall.annotation.LoginRequire; import com.lee.gmall.bean.*; import com.lee.gmall.bean.enums.PaymentWay; import com.lee.gmall.service.CartService; import com.lee.gmall.service.OrderService; import com.lee.gmall.service.SkuService; import com.lee.gmall.service.UserService; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @Controller public class OrderController { @Reference CartService cartService; @Reference UserService userService; @Reference OrderService orderService; @Reference SkuService skuService; @LoginRequire(ifNeedSuccess = true) @RequestMapping("submitOrder") public String submitOrder(HttpServletRequest request, HttpServletResponse response, ModelMap map, String tradeCode) { String userId = (String) request.getAttribute("userId"); //比较交易码 boolean bTrade = orderService.checkTradeCode(tradeCode, userId); //订单对象 OrderInfo orderInfo = new OrderInfo(); List orderDetails = new ArrayList<>(); //执行提交订单业务 if (bTrade) { //获取购物车中被选中的商品数据 List cartInfos = cartService.getCartCacheByChecked(userId); //生成订单信息 for (CartInfo cartInfo : cartInfos) { OrderDetail orderDetail = new OrderDetail(); String skuId = cartInfo.getSkuId(); BigDecimal skuPrice = cartInfo.getSkuPrice(); //验价 boolean bPrice = skuService.checkPrice(skuPrice, skuId); //验库存 if (bPrice) { orderDetail.setSkuName(cartInfo.getSkuName()); orderDetail.setSkuId(cartInfo.getSkuId()); orderDetail.setOrderPrice(cartInfo.getCartPrice()); orderDetail.setImgUrl(cartInfo.getImgUrl()); orderDetail.setSkuNum(cartInfo.getSkuNum()); orderDetails.add(orderDetail); } else { map.put("errMsg", "订单中的商品价格(库存)发生了变化,请重新选择订单"); return "tradeFail"; } } orderInfo.setOrderDetailList(orderDetails); //封装订单信息 orderInfo.setProcessStatus("订单未支付"); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, 1); orderInfo.setExpireTime(calendar.getTime()); orderInfo.setOrderStatus("未支付"); String consignee = "测试收件人"; orderInfo.setConsignee(consignee); //外部订单号 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String currentTime = sdf.format(new Date()); String outTradeNo = "Lee" + currentTime + System.currentTimeMillis(); orderInfo.setOutTradeNo(outTradeNo); orderInfo.setPaymentWay(PaymentWay.ONLINE); orderInfo.setUserId(userId); orderInfo.setTotalAmount(getTotalPrice(cartInfos)); orderInfo.setOrderComment("订单"); String address = "测试收件地址"; orderInfo.setDeliveryAddress(address); orderInfo.setCreateTime(new Date()); String tel = "123123"; orderInfo.setConsigneeTel(tel); orderService.saveOrder(orderInfo); //删除购物车中提交的商品信息,同步缓存 cartService.deleteCartById(cartInfos); } else { return "tradeFail"; } return "payTest"; } @LoginRequire(ifNeedSuccess = true) @RequestMapping("toTrade") public String toTrade(HttpServletRequest request, HttpServletResponse response, ModelMap map) { String userId = (String) request.getAttribute("userId"); //将选中的购物车对象转化为订单对象 List cartInfos = cartService.getCartCacheByChecked(userId); List orderDetails = new ArrayList<>(); for (CartInfo cartInfo : cartInfos) { OrderDetail orderDetail = new OrderDetail(); //将购物车对象转化为订单对象 orderDetail.setImgUrl(cartInfo.getImgUrl()); orderDetail.setOrderPrice(cartInfo.getCartPrice()); orderDetail.setSkuId(cartInfo.getSkuId()); orderDetail.setSkuName(cartInfo.getSkuName()); orderDetails.add(orderDetail); } //查询用户收货地址,让用户选择 List userAddresses = userService.getUserAddressList(userId); //生成交易码 String traderCode = orderService.genTradeCode(userId); map.put("userAddressList", userAddresses); map.put("orderDetailList", orderDetails); map.put("totalAmount", getTotalPrice(cartInfos)); return "trade"; } private BigDecimal getTotalPrice(List cartInfos) { BigDecimal totalPrice = new BigDecimal("0"); for (CartInfo cartInfo : cartInfos) { totalPrice = totalPrice.add(cartInfo.getCartPrice()); } return totalPrice; } } ================================================ FILE: gmall-order-web/src/main/resources/application.properties ================================================ server.port=8086 #zookeeper spring.dubbo.registry.address=192.168.159.129:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-order-web spring.dubbo.protocol.name=dubbo spring.dubbo.consumer.check=false spring.dubbo.consumer.timeout=60000 #thymeleaf spring.thymeleaf.mode=LEGACYHTML5 spring.thymeleaf.cache=false #MVC #spring.resources.static-locations=classpath:/static/ #logging.level.root=debug ================================================ FILE: gmall-order-web/src/main/resources/static/css/JD2.css ================================================ * { padding: 0; margin: 0; text-decoration: none; list-style: none; font-size: 0.1rem; } a { color: black; } html { font-size: 100px; } ul { list-style: none; } img { vertical-align: middle; } header { width: 100%; background: #E3E4E5; min-width: 990px; } .header { width: 990px; margin: 0 auto; overflow: hidden; } .header-left > li > a, .header-right > li > a { text-decoration: none; color: #999; font-size: 12px; } .header-left > li > a:hover, .header-right > li > a:hover { color: red; } .header-left > li:nth-of-type(2) > a:hover { color: #5C5452; } .header-left > li:nth-of-type(2):hover { background: white; } .header-left { float: left; overflow: hidden; vertical-align: middle; } .header-right { float: right; overflow: hidden; } .header-left > li, .header-right li { float: left; line-height: 30px; /*position: relative;*/ padding: 0 8px; /*border: 1px solid red;*/ z-index: 99999; } .header-l-d { position: absolute; border: gainsboro 1px solid; z-index: 999999; overflow: hidden; margin-left: -11px; background: white; border-top: 0; display: none; width: 295px; } .header-l-d ul { float: left; } .header-l-d ul li { margin: 0 8px; } .header-l-d ul li a { text-decoration: none; color: #5C5452; font-size: 12px; padding: 3px 5px; /*border: 1px solid red;*/ } .header-l-d ul li a:hover { background: gainsboro; color: red; } .header-left > li:nth-of-type(2) { padding: 0 25px 0 10px; } .aa a { text-decoration: none; font-size: 12px; color: gray; } .header-r-1 { display: none; overflow: hidden; position: absolute; background: white; border: 1px solid gainsboro; border-top: 0; margin-left: -8px; z-index: 999999; /*padding: 15px;*/ } .header-r-1 div { border-bottom: 1px solid gainsboro; overflow: hidden; padding: 0 15px; } .header-r-1 div:nth-of-type(3) { border: 0; padding: 15px; } .header-right li:nth-of-type(6):hover, .header-right li:nth-of-type(12):hover, .header-right li:nth-of-type(14):hover { background: white; } .header-r-1 div ol { float: left; width: 120px; line-height: 25px !important; } .header-r-1 div h4 { font-size: 12px; color: #716d6d; } .header-r-1 div h4 a:nth-of-type(2) { float: right; } .header-r-1 div a:hover { color: red; } .header-r-11 { width: 275px; } .header-r-2 { width: 180px; min-width: 180px; } .header-r-2 div { padding: 0; } .header-r-2 div h4 { margin-left: 15px; } .header-r-2 div ol { width: auto; margin: 0 15px; } .header-r-4:hover { background: url(../image/1fb04a3972bf9f4592bdb705fe497c08.png) no-repeat 25px 24px; z-index: 10; } .h-r-1 { position: absolute; border: 1px solid gainsboro; margin-left: -135px; width: 190px; border-top: 0; display: none; z-index: 999999; background: white; } .h-r-1 > div { padding: 10px 5px; overflow: hidden; line-height: 20px; border-bottom: 1px solid gainsboro; } .h-r-1 > div p { font-size: 12px; color: red; } .h-r-1img2 { vertical-align: middle; } .h-r-1img { float: left; border: 2px solid gainsboro; padding: 1px; margin-right: 5px; } .h-r-1img img { width: 72px; } .header i { color: #C1C1C1; } .spacer { padding: 0 !important; display: inline-block; width: 1px; height: 10px; background: #C1C1C1; margin-top: 11px; } .header-r-3 { width: 990px; margin-left: -850px; z-index: 999999; overflow: hidden; box-sizing: border-box; padding-bottom: 10px; } .header-r-3 div { float: left; border: 0; padding: 0 0 0 15px; border-left: 1px solid gainsboro; } .header-r-3 div:nth-of-type(3) { border-left: 1px solid gainsboro; padding: 0 0 0 15px; } .header-r-3 div:nth-of-type(1) { border: 0; } .header-r-3 div ol { width: 102px; } nav { width: 1366px; height: 35px; background: #E3E4E5; } nav ul { width: 1100px; height: 35px; margin: 0 155px; } nav ul > li { line-height: 35px; float: left; margin: 0 5px; font-size: 12px; color: gray; } nav ul > li:nth-child(2) { position: relative; } nav img { margin-bottom: -6px; } nav ul > li:nth-child(3) { margin-left: 198px; } nav ul > li:hover { color: red; } nav .p { width: 300px; height: 240px; background: white; position: absolute; left: 0; top: 100%; z-index: 999999; } nav .p ol { padding-top: 6px; } nav .p ol li { text-align: center; width: 300px; height: 33px; } nav .p ol li p { width: 50px; height: 20px; float: left; line-height: 20px; cursor: pointer; font-size: 10px; color: gray; display: none; } nav .p ol li p:hover { color: brown; } nav .p ol li .hong { background: red; color: white; } .img1 { width: 180px; height: 70px; margin: 20px 150px; } .top-1 span { font-size: 22px; position: absolute; left: 340px; top: 80px; } .img2 { margin-left: 220px; position: absolute; top: 65px; } .p1 { color: dimgray; text-indent: 160px; } .section { width: 1040px; height: 1200px; border: 1px solid #E3E4E5; margin: 10px 160px; } .section .top-2 { display: flex; justify-content: space-between; } .section .top-2 span { font-size: 14px; padding: 10px 25px; } .section .top-2 span:first-child { font-weight: 600; } .section .top-2 span:last-child { color: cornflowerblue; } .section .top-3 { width: 600px; height: 50px; display: flex; align-items: center; margin-left: 50px; } .section .top-3 p { width: 135px; height: 27px; border: 2px solid red; line-height: 27px; font-size: 12px; text-align: center; color: dimgray; } .section .top-3 span { font-size: 13px; color: gray; margin-left: 10px; } .section .p2 { font-size: 10px; color: dimgray; text-indent: 50px; margin-top: 8px; } .section .hh1 { width: 94%; height: 1px; margin: 12px 30px; background: #E3E4E5; } .section .top-4 { display: flex; margin-left: 50px; } .section .top-4 p:first-child { width: 60px; height: 20px; background: #E4393C; border-radius: 5px; text-align: center; color: white; line-height: 20px; font-size: 12px; } .section .top-4 p:nth-child(2) { color: gray; font-size: 13px; text-indent: 10px; } .section .top-4 p:nth-child(3) { color: blue; font-size: 14px; text-indent: 10px; } .section .top-4 .xiang:hover { color: red; } .section .top-5 { width: 1000px; height: 40px; display: flex; align-items: center; margin-left: 50px; margin-top: 12px; } .section .top-5 p { width: 135px; height: 27px; border: 1px solid #E3E4E5; line-height: 27px; font-size: 12px; text-align: center; color: dimgray; } .section .top-5 p:hover { border: 2px solid red; } .section .top-5 span { font-size: 13px; color: gray; margin-left: 10px; } .section .top-5 .xiu:hover { color: red; } .section .top-5 img { margin-left: 30px; } .section .top-5 .p3 { width: 55px; border: 1px solid red; height: 20px; line-height: 20px; text-align: center; color: red; margin-left: 10px; } .section .top-5 span:last-child { color: blue; } .section .h4 { font-size: 14px; text-indent: 30px; } .section .top-6 { display: flex; margin-left: 50px; margin-top: 15px; } .section .top-6 p { width: 100px; height: 25px; border: 2px solid #E3E4E5; font-size: 9px; line-height: 25px; text-align: center; color: dimgray; margin: 5px; } .section .top-6 p:first-child { font-size: 9px; border: 2px solid red; justify-content: space-around; align-items: center; } .section .hh1 { width: 94%; height: 1px; margin: 15px 30px; background: #E3E4E5; } .section .top_1 { width: 1151px; margin-left: 30px; margin-top: 10px; } .section .top_1 .to_left { width: 350px; height: 300px; background: #f7f7f7; float: left; padding-left: 23px; } .section .top_1 .to_left > * { margin: 2px 0; } .section .top_1 .to_left h5 { margin: 15px 10px 15px 0px; font-size: 14px; color: #666666; } .section .top_1 .to_left h5 .peisong { font-size: 12px; } .section .top_1 .to_left h5 .dui { padding-left: 200px; color: #4f9dd0; font-size: 12px; } .section .top_1 .to_left h5 .dui img { width: 15px; height: 15px; margin: 2px 0px 0px 0px; } .section .top_1 .to_left .box { width: 135px; height: 27px; border: 2px solid red; line-height: 27px; font-size: 12px; text-align: center; color: dimgray; margin-bottom: 20px; } .section .top_1 .to_left .til { color: #A9A9A9; font-size: 14px; } .section .top_1 .to_left .con { font-size: 12px; color: #666; } .section .top_1 .to_left hr { color: #F6F6F6; width: 90%; text-align: center; margin-top: 3px; } .section .top_1 .to_left .biao a { font-size: 12px; color: #0081c6; } .section .top_1 .to_left .nul { font-size: 12px; padding-left: 92px; } .section .top_1 .to_left .kg { font-size: 14px; color: #A9A9A9; } .section .top_1 .to_left .kg span { color: #A9A9A9; font-size: 14px; } .section .top_1 .to_left .updata-1 { width: 210px; height: 25px; line-height: 30px; margin-left: 100px; margin-top: 2px; margin-bottom: 5px; border: 1px #edd28b solid; background: #fff; display: flex; justify-content: space-around; align-items: center; } .section .top_1 .to_left .updata-1 span { font-size: 12px; color: #0000FF; } .section .top_1 .to_left .hh1 { width: 94%; height: 1px; background: #E3E4E5; } .section .top_1 .to_left .updata-2 { width: 300px; height: 38px; line-height: 38px; border: 1px #E3E4E5 solid; margin-bottom: 5px; margin-top: 8px; } .section .top_1 .to_left .updata-2 span { color: #9c64cc; font-size: 14px; } .section .top_1 .to_left .updata-2 img { float: left; } .section .top_1 .to_right { width: 975px; background: #f3fbfe; float: left; display: flex; flex-direction: column; } .section .top_1 .to_right h5 { margin: 10px; font-size: 12px; color: #666666; } .section .top_1 .to_right div { display: flex; margin-left: 10px; } .section .top_1 .to_right div button { color: snow; background: red; border: none; font-size: 12px; padding: 1px 2.5px; } .section .top_1 .to_right div span { font-size: 12px; color: #666666; margin-left: 5px; } .section .top_1 .to_right .yun1 .yun { width: 90px; height: 90px; margin: 10px; } .section .top_1 .to_right .yun1 .mi { display: flex; flex-direction: column; } .section .top_1 .to_right .yun1 .mi p { color: #666; font-size: 12px; margin: 5px; } .section .top_1 .to_right .yun1 .mi .tui-1 { color: #6679B3; } .section .top_1 .to_right .yun1 .mi .tui-1 img { margin-right: 5px; } .section .top_1 .to_right .yun1 .mi span { margin-left: 30px; } .section .top_1 .to_right p { font-size: 12px; margin: 10px; } .section .top_1 .to_right p .money { font-size: 12px; font-weight: bold; margin-left: 400px; color: red; } .section .top_1 .to_right img { float: left; } .section .bto { width: 951px; margin: 30px; float: left; } .section .bto .hh2 { width: 100%; height: 1px; background: #E3E4E5; } .section .bto h4 { margin: 10px; font-size: 14px; } .section .bto .float { float: left; } .section .bto .float span { font-size: 14px; } .section .bto .hh3 { width: 100%; height: 1px; margin-top: 25px; background: #E3E4E5; } .section .bto .clear { clear: both; } .section .bto .note { margin-top: 5px; line-height: 25px; width: 350px; border: 1px solid #EDD28B; font-size: 13px; } .section .bto .note img { margin-left: 5px; } .section .bto ul li { float: left; margin-left: 25px; font-size: 12px; color: #999999; } .section .bto ul li a { color: blue; } .section .bto ul li a:hover { color: red; } .section .bto .hr1 { margin-top: 30px; } .section .bto .red { color: red; } .section .bto .tuijian { margin-left: 30px; padding-top: 10px; } .section .bto .tuijian span { font-size: 12px; } .section .xia { width: 1000px; float: left; } .section .xia .qian .qian_y { text-align: right; margin-top: 5px; } .section .xia .qian .qian_y span { font-size: 12px; color: #666666; } .section .xia .qian .qian_y .rmb { margin-left: 50px; } .section .xia .yfze { background: #F4F4F4; height: 80px; width: 950px; margin-left: 10px; margin-top: 20px; padding-right: 20px; } .section .xia .yfze .yfze_a { text-align: right; margin-top: 10px; } .section .xia .yfze .yfze_a .z { font-size: 12px; color: #666666; } .section .xia .yfze .yfze_a .hq { font-size: 20px; color: red; margin-left: 44px; } .section .xia .yfze .yfze_b { text-align: right; margin-top: 10px; font-size: 12px; color: #999999; } .section .xia .tijiao { margin-left: 850px; margin-top: 10px; text-align: center; background: #E2383B; border: none; color: white; font-size: 20px; width: 100px; height: 40px; padding: 5px; border-radius: 5px; } .headera { width: 100%; overflow: hidden; background: #F5F5F5; } .headera .Logo-tu { width: 100%; background: #F5F5F5; height: 94px; text-align: center; } .headera .Logo-tu span { width: 220px; height: 54px; display: inline-block; margin: 24px 50px; } .headera .Logo-tu span img { height: 54px; } .headera .table { overflow: hidden; width: 1210px; margin: 0 auto; border-bottom: 1px solid gainsboro; font-size: 12px; } .headera .table dl { margin-right: 182px; float: left; margin-bottom: 20px; } .headera .table dl dt { margin-top: 20px; font-size: 12px; } .headera .table dl dt a { color: #666666; } .headera .table dl dt a:hover { color: red; } .headera .table dl dd { margin-top: 7px; font-size: 12px; font-size: 12px; } .headera .table dl dd a { color: #666666; } .headera .table dl dd a:hover { color: red; } .headera .table .dls { float: left; margin-right: 0; } .headera .guanyuwomen { width: 100%; overflow: hidden; text-align: center; } .headera .guanyuwomen ul { padding: 20px; margin-left: 129px; } .headera .guanyuwomen ul li { padding: 0 5px; float: left; font-size: 12px; color: gainsboro; } .headera .guanyuwomen ul li a { font-size: 12px; color: #666666; } .headera .guanyuwomen ul li a:hover { color: red; } .headera .p1 { margin-top: 5px; text-align: center; font-size: 12px; color: gainsboro; } .headera .p1 img { height: 12px; vertical-align: 0; } .headera .p1 a { padding: 0 2px; font-size: 12px; color: #666666; } .headera .p1 a:hover { color: red; } .headera .p3 { margin-top: 5px; text-align: center; } .headera .p3 img { padding: 0 5px; } body { overflow-x: hidden; } /*# sourceMappingURL=JD2.css.map */ ================================================ FILE: gmall-order-web/src/main/resources/static/css/index.css ================================================ *{ margin: 0; padding: 0; box-sizing: border-box; } ul{ list-style: none; } img{ vertical-align: middle; } header{ width: 100%; background: #E3E4E5; min-width: 990px; } .header{ width: 990px; margin: 0 auto; overflow: hidden; } .header-left>li>a,.header-right>li>a{ text-decoration: none; color: #999; font-size: 12px; } .header-left>li>a:hover,.header-right>li>a:hover{ color: red; } .header-left>li:nth-of-type(2)>a:hover{ color: #5C5452; } .header-left>li:nth-of-type(2):hover{ background: white; } .header-left{ float: left; overflow: hidden; vertical-align: middle; } .header-right{ float: right; overflow: hidden; } .header-left>li,.header-right li{ float: left; line-height: 30px; /*position: relative;*/ padding: 0 8px; /*border: 1px solid red;*/ } .header-l-d{ position: absolute; border:gainsboro 1px solid ; z-index: 99; overflow: hidden; margin-left: -11px; background: white; border-top: 0; /*display: none;*/ width: 295px; } .header-l-d ul{ float: left; } .header-l-d ul li{ margin:0 8px; } .header-l-d ul li a{ text-decoration: none; color: #5C5452; font-size: 12px; padding: 3px 5px; /*border: 1px solid red;*/ } .header-l-d ul li a:hover{ background: gainsboro; color: red; } .header-left>li:nth-of-type(2){ padding: 0 25px 0 10px; } .aa a{ text-decoration: none; font-size: 12px; color: gray; } .header-r-1{ display: none; overflow: hidden; position: absolute; background: white; border: 1px solid gainsboro;border-top: 0; margin-left: -8px; /*padding: 15px;*/ } .header-r-1 div{ border-bottom: 1px solid gainsboro; overflow: hidden; padding: 0 15px; } .header-r-1 div:nth-of-type(3){ border: 0; padding: 15px; } .header-right li:nth-of-type(6):hover,.header-right li:nth-of-type(12):hover,.header-right li:nth-of-type(14):hover{ background: white; } .header-r-1 div ol{ float: left; width: 120px; line-height: 25px !important; } .header-r-1 div h4{ font-size: 12px; color:#716d6d; } .header-r-1 div h4 a:nth-of-type(2){ float: right; } .header-r-1 div a:hover{ color: red; } .header-r-11{ width: 275px; } .header-r-2{ width: 180px; min-width: 180px; } .header-r-2 div{ padding: 0; } .header-r-2 div h4{ margin-left: 15px; } .header-r-2 div ol{ width: auto; margin: 0 15px; } .header-r-4:hover{ background: url(../image/1fb04a3972bf9f4592bdb705fe497c08.png) no-repeat 25px 24px; z-index: 10; } .h-r-1{ position: absolute; border: 1px solid gainsboro; margin-left:-135px; width: 190px; border-top: 0; display: none; } .h-r-1>div{ padding:10px 5px; overflow: hidden; line-height: 20px; border-bottom: 1px solid gainsboro; } .h-r-1>div p{ font-size: 12px; color: red; } .h-r-1img2{ vertical-align: middle; } .h-r-1img{ float: left; border: 2px solid gainsboro; padding: 1px; margin-right: 5px; }.h-r-1img img{ width: 72px; } .header i{ color: #C1C1C1; } .spacer{ padding: 0 !important; display: inline-block; width: 1px; height: 10px; background: #C1C1C1; margin-top: 11px; } .header-r-3{ width: 990px; margin-left: -850px; z-index: 11; overflow: hidden; box-sizing: border-box; padding-bottom: 10px; } .header-r-3 div{ float: left; border: 0; padding: 0 0 0 15px; border-left: 1px solid gainsboro; }.header-r-3 div:nth-of-type(3){ border-left: 1px solid gainsboro; padding: 0 0 0 15px; } .header-r-3 div:nth-of-type(1){ border:0; } .header-r-3 div ol{ width: 102px; } ================================================ FILE: gmall-order-web/src/main/resources/static/css/list.css ================================================ * { margin: 0; padding: 0; box-sizing: border-box; } li, ol, ul { list-style: none; } a { text-decoration: none; } button, input { outline: none; } body { background: #F3F3F3; } #nav { width: 1349px; background: #E2231A; height: 80px; } nav { width: 1210px; margin: 0 auto; height: 80px; color: white; } nav .logo, nav .myjd, nav .nav_ul { float: left; } nav .myjd { padding-top: 16px; margin-left: 10px; text-align: center; } nav .myjd button { background: none; border: 1px solid #FFB2B2; color: #FFB2B2; border-radius: 10px; margin-top: 5px; padding: 1px 3px; } nav .myjd button:hover { background: white; color: #E2231A; } nav .nav_ul { padding-top: 30px; margin-left: 30px; text-align: center; } nav .nav_ul > li { float: left; width: 106px; position: relative; } nav .nav_ul > li ol { border: 1px solid #ccc; border-top: none; position: absolute; left: -1px; top: 21px; color: black; background: white; width: 106px; display: none; z-index: 100; } nav .nav_ul > li ol li { font-size: 14px; height: 30px; line-height: 30px; } nav .right { float: right; padding-top: 30px; } nav .right .btn { background: #F7F7F7; } nav .right .btn input { width: 128px; height: 32px; border: none; text-indent: 5px; } nav .right .btn button { height: 30px; width: 42px; background: #F7F7F7; border: none; font-size: 12px; } nav .right .shop { margin-left: 20px; height: 30px; width: 141px; background: white; color: #736F6A; } nav .right .shop > li { font-size: 12px; line-height: 32px; position: relative; } nav .right .shop > li ol { position: absolute; top: 31px; left: -160px; box-shadow: 0 0 2px 2px #F3F3F3; display: none; } nav .right .shop > li ol li { width: 300px; height: 60px; background: white; } nav .right .shop > li ol li img { float: left; margin-left: 50px; } nav .right .shop > li ol li div { height: 60px; line-height: 60px; } nav .right .shop > li .shop_che { margin: 0 10px 0 20px; display: inline-block; height: 14px; width: 15px; background: url("../img/jd2015img.png") no-repeat -1px -58px; } nav .right .btn, nav .right .shop { float: left; } .nav_ul .li .ul_i { margin-left: 5px; display: inline-block; height: 6px; width: 9px; background: url("../img/icon (1).png") no-repeat 0 0; transition: -webkit-transform 0.2s ease-in 0s; transition: transform 0.2s ease-in 0s; transition: transform 0.2s ease-in 0s,-webkit-transform 0.2s ease-in 0s; } .nav_ul .hover .ul_i { background-position: 0 -15px; -webkit-transform: rotate(180deg); transform: rotate(180deg); } #big { width: 1210px;martin:0 auto } #big #bigLeft { float: left; width: 120px; } #big #bigLeft ul { margin-bottom: 15px; } #big #bigLeft ul h5 { margin-bottom: 5px; } #big #bigLeft ul li { font-size: 12px; width: 100px; height: 24px; color: #777777; } #big #bigLeft ul li img { margin-left: 3px; vertical-align: middle; } #big #bigLeft ul li:hover { color: #E4393C; text-decoration: underline; } #big #bigRight { width: 1089px; float: left; } #big #bigRight .myOrder { background: white; height: 58px; line-height: 58px; margin-bottom: 20px; } #big #bigRight .myOrder p { font-size: 14px; font-weight: 500; color: #9A9A9A; margin-left: 20px; } #big #bigRight .allOrder { overflow: hidden; padding: 15px; background: white; } #big #bigRight .allOrder .allOrderTop { font-size: 13px; } #big #bigRight .allOrder .allOrderTop ol { padding-right: 10px; } #big #bigRight .allOrder .allOrderTop ol li { float: left; margin-right: 25px; } #big #bigRight .allOrder .allOrderTop ol li:first-child { color: #E4393C; text-decoration: underline; font-weight: 600; } #big #bigRight .allOrder .allOrderTop > li { float: left; border-right: 1px solid #ccc; } #big #bigRight .allOrder .allOrderTop .allOrderTopLi { width: 153px; text-align: center; font-weight: 600; } #big #bigRight .allOrder .allOrderTop .allOrderTopLastLi { float: right; display: flex; } #big #bigRight .allOrder .allOrderTop .allOrderTopLastLi span { display: inline-block; margin-right: 100px; } #big #bigRight .allOrder .allOrderTop .allOrderTopLastLi div { display: flex; align-items: center; } #big #bigRight .allOrder .allOrderTop .allOrderTopLastLi div input { width: 170px; font-size: 12px; height: 22px; border: 1px solid #ccc; } #big #bigRight .allOrder .allOrderTop .allOrderTopLastLi div .search { display: inline-block; width: 34px; height: 22px; border: 1px solid #ccc; background: url("../img/order-icons.png") no-repeat 0 -55px; } #big #bigRight .allOrder .allOrderTop .allOrderTopLastLi div .gao { display: inline-block; width: 50px; height: 22px; border: 1px solid #ccc; } #big #bigRight .allOrder .allOrderTop .allOrderTopLastLi div .gao i { display: inline-block; height: 8px; width: 5px; background: url("../img/order-icons.png") no-repeat -37px -207px; } #big #bigRight .details { width: 1048px; background: white; } #big #bigRight .details .detailsUl { background: #F3F3F3; } #big #bigRight .details .detailsUl .detailsLiok { position: relative; } #big #bigRight .details .detailsUl .detailsLiok ol { background: white; position: absolute; left: -1px; top: 31px; display: none; border: 1px solid #ccc; border-top: none; width: 110px; z-index: 100; } #big #bigRight .details .detailsUl .detailsLiok ol li { height: 32px; line-height: 32px; width: 106px; } #big #bigRight .details .detailsUl > li { float: left; font-size: 14px; text-align: center; height: 32px; line-height: 32px; width: 110px; margin-left: 10px; } #big #bigRight .details .detailsUl .detailsUlDiv { width: 540px; background: #F3F3F3; float: left; text-align: center; font-size: 14px; } #big #bigRight .details .detailsUl .detailsUlDiv > li:first-child { margin: 0 20px; position: relative; } #big #bigRight .details .detailsUl .detailsUlDiv > li:first-child ol { position: absolute; top: 30px; left: -1px; width: 138px; display: none; border: 1px solid #ccc; border-top: none; background: white; } #big #bigRight .details .detailsUl .detailsUlDiv > li:first-child ol li { height: 32px; line-height: 32px; width: 136px; } #big #bigRight .details .detailsUl .detailsLi { width: 138px; float: left; height: 32px; line-height: 32px; } .allBig { width: 1089px; padding: 10px 10px 20px; background: white; } .allBig .allBig_i { margin-left: 10px; display: inline-block; width: 9px; height: 6px; background: url("../img/order-icons.png") no-repeat -36px -207px; } .allBig .allBig_i1 { margin-left: 10px; display: inline-block; width: 9px; height: 6px; background: url("../img/order-icons.png") no-repeat -20px -207px; } .allBig .table { margin-top: 20px; width: 1048px; border: 1px solid #ccc; font-size: 12px; } .allBig .table td { width: 115px; border-right: 1px solid #ccc; text-align: center; } .allBig .table .order-header{ padding: 8px 0; text-indent: 8px; text-align: left; position: relative; } .allBig .table tr:first-child td .isShow { display: none; } .allBig .table tr:first-child td .table_i5 { position: absolute; right: 10px; top: 9px; } .allBig .table td span { display: inline-block; margin-right: 30px; font-size: 12px; } .allBig .table tr:first-child td span .table_i { display: inline-block; width: 16px; height: 16px; background: url("../img/sprite-im.png") no-repeat -26px 0; vertical-align: middle; margin-left: 10px; } .allBig .table .item { font-size: 12px; padding: 0 0 0 5px; width: 560px; } .allBig .table .item p:hover { color: #E4393C; } .allBig .table .item .img { float: left; margin: 10px 5px; border: 1px solid #ccc; width: 100px; hight:100px;} .allBig .table .item div { float: left; margin: 10px 5px; } .allBig .table td .table_i1 { width: 14px; height: 16px; background: url("../img/order-icons.png") no-repeat 0 -24px; display: inline-block; vertical-align: middle; } .allBig .table td .table_i2 { width: 22px; height: 16px; display: inline-block; background: url("../img/order-icons.png") no-repeat -48px -24px; vertical-align: middle; margin-right: 5px; } .allBig .table td .table_i3 { width: 7px; height: 7px; display: inline-block; background: url("../img/order-icons.png") no-repeat 0 -115px; vertical-align: middle; margin-left: 5px; } .allBig .table td .table_i4 { width: 14px; height: 16px; display: inline-block; background: url("../img/zhaodapei.png") no-repeat -57px 0; margin-right: 5px; } .allBig .table td .table_i5 { width: 13px; height: 14px; display: inline-block; background: url("../img/order-icons.png") no-repeat -23px -131px; } .allBig .table td .table_i51 { width: 13px; height: 14px; display: inline-block; background: url("../img/order-icons.png") no-repeat 0 -131px; position: absolute; right: 10px; top: 9px; } .allBig .table td button { background: white; color: #71B247; border: 1px solid #71B247; width: 87px; height: 25px; font-weight: 600; } .allBig .table td button:hover { color: white; background: #71B247; } .allBig .table td:last-child p:hover { color: #E4393C; } .allBig .table td .tdLi:hover { color: #E4393C; } .allBig .order_btm div { float: right; margin-right: 20px; margin-top: 15px; } .allBig .order_btm div span { color: red; } .allBig .order_btm div button { height: 28px; width: 78px; border: 1px solid #ccc; background: none; border-radius: 6px; } .buy { font-size: 14px; background: white; margin-top: 20px; } .buy .buy_top { padding: 10px; } .buy .buy_top div:first-child { font-weight: 600; float: left; } .buy .buy_top div:last-child { float: right; font-size: 12px; margin-right: 9px; } .buy .buy_btm { padding-top: 10px; padding-bottom: 10px; padding-left: 17px; } .buy .buy_btm dl { float: left; border: 1px solid #ccc; width: 248px; width: 248px; padding: 0 10px; margin-right: 20px; } .buy .buy_btm dl dt { text-align: center; } .buy .buy_btm dl dt div { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-top: 15px; margin-bottom: 3px; font-size: 20px; font-weight: 70px; color: #666666; } .buy .buy_btm dl dt p { color: #E7513C; margin-bottom: 10px; } .buy .buy_btm dl .ab_goods div:first-child { border: 1px solid #ccc; } .buy .buy_btm dl .ab_goods > div { float: left; } .buy .buy_btm dl .ab_goods > div img { display: block; } .buy .buy_btm dl .ab_goods > div img:nth-child(2) { margin: 2.5px 0; } .buy .buy_btm dl .ab_goods > div div { height: 50px; width: 48px; line-height: 50px; text-align: center; font-size: 30px; font-weight: 300; color: #9C9FA8; border: 1px solid #ccc; margin-top: 4px; } .buy .buy_btm dl .ab_operate ul { padding-top: 8px; padding-bottom: 10px; } .buy .buy_btm dl .ab_operate ul li { float: left; width: 103px; } .buy .buy_btm dl .ab_operate ul li i { margin-right: 5px; } .buy .buy_btm dl .ab_operate ul li:first-child { border-right: 1px solid #ccc; } .buy .buy_btm dl .ab_operate ul li:nth-child(2) { text-align: right; } .buy .buy_btm dl:nth-child(4) { margin-right: 0; } .buy .buy_btm .buy_btm_i1 { width: 28px; height: 28px; display: inline-block; background: url("../img/1.png") no-repeat 0 0; vertical-align: middle; } .buy .buy_btm .buy_btm_i1_1 { width: 28px; height: 28px; display: inline-block; background: url("../img/1.png") no-repeat -56px 0; vertical-align: middle; } .buy .buy_btm .buy_btm_i2 { width: 28px; height: 28px; display: inline-block; background: url("../img/1.png") no-repeat -84px 0; vertical-align: middle; } .buy .buy_btm .buy_btm_i2_1 { width: 28px; height: 28px; display: inline-block; background: url("../img/1.png") no-repeat -140px 0; vertical-align: middle; } .mySwiper { margin-top: 20px; background: white; height: 322px; margin-bottom: 20px; padding-top: 10px; padding-bottom: 20px; padding-right: 20px; } .mySwiper .mySwiper_like .left { float: left; font-size: 14px; margin-left: 20px; } .mySwiper .mySwiper_like ol { float: right; } .mySwiper .mySwiper_like ol li { float: left; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #ccc; text-align: center; line-height: 26px; margin-right: 5px; font-size: 14px; font-weight: 400; cursor: pointer; } .mySwiper ul { width: 1089px; position: relative; } .mySwiper ul li { position: absolute; top: 20px; background: white; width: 1089px; display: none; padding-bottom: 30px; } .mySwiper ul li dl { width: 200px; float: left; margin-left: 15px; } .mySwiper ul li dl dt { text-align: center; } .mySwiper ul li dl dd { text-align: left; padding-left: 20px; } .mySwiper ul li dl dd div { font-size: 12px; color: #666666; } .mySwiper ul li dl dd p { font-size: 14px; font-weight: 600; color: #E4393C; } .mySwiper ul li dl dd span { font-size: 12px; color: #3F72AC; } #logo { background: white; width: 1089px; padding: 10px; } #logo img { text-align: center; } .footer { width: 1349px; padding-bottom: 18px; background: #eaeaea; } .footer .top { width: 1210px; height: 102px; margin: 0 auto; } .footer .top ul { padding-top: 30px; padding-left: 42px; } .footer .top ul .item { float: left; width: 292px; height: 42px; line-height: 42px; font-size: 18px; font-weight: bold; color: #444; } .footer .top ul .item i { float: left; display: block; top: 0; left: 0; width: 36px; height: 42px; text-indent: -9999px; background-image: url("../img/ico_service.png"); background-repeat: no-repeat; background-position: 0 0; margin-right: 5px; } .footer .top ul .fore2 i { background-position: 0 -43px; } .footer .top ul .fore3 i { background-position: 0 -86px; } .footer .top ul .fore4 i { background-position: 0 -129px; } .footer .wrap { width: 100%; height: 202px; border-top: solid 1px #dedede; border-bottom: solid 1px #dedede; } .footer .wrap .wrap1 { width: 1210px; height: 202px; margin: 0 auto; } .footer .wrap .wrap1 .wrap2 { width: 1181px; height: 202px; padding-top: 20px; padding-left: 45px; } .footer .wrap .wrap1 .wrap2 dl:first-child { margin: 0; } .footer .wrap .wrap1 .wrap2 dl { width: 150px; float: left; margin-left: 70px; margin-right: 20px; } .footer .wrap .wrap1 .wrap2 dl dt { padding-bottom: 6px; font-weight: 700; font-size: 14px; color: #777; height: 22px; } .footer .wrap .wrap1 .wrap2 dl dd { font-size: 12px; color: #666; height: 22px; } .footer .wrap .wrap1 .wrap2 dl dd:hover { color: #f30213; } .footer .p1 { width: 1210px; height: 18px; margin: 20px auto 5px; } .footer .p1 a { width: 69px; text-align: center; display: inline-block; color: #666; float: left; font-size: 12px; margin-right: 5px; margin-left: 5px; border-right: 1px solid #666; } .footer .p1 a:hover { color: #f30213; } .footer .p2 { width: 1210px; height: 18px; margin: 0 auto; text-align: center; margin-bottom: 5px; } .footer .p2 a { display: inline-block; padding: 5px; color: #999; font-size: 11px; } .footer .p2 a:hover { color: #f30213; } .footer .p3 { width: 1210px; height: 22px; margin: 0 auto; text-align: center; margin-bottom: 5px; } .footer .p3 a { display: inline-block; padding: 5px; color: #999; font-size: 11px; } .footer .p3 a:hover { color: #f30213; } .footer .p4 { width: 1210px; height: 22px; margin: 0 auto; text-align: center; margin-bottom: 5px; } .footer .p4 a { display: inline-block; padding: 5px; color: #999; font-size: 11px; } .footer .p4 a:hover { color: #f30213; } .footer .p5 { width: 1210px; height: 22px; margin: 0 auto; text-align: center; margin-bottom: 5px; } .footer .p5 a { display: inline-block; padding: 5px; color: #999; font-size: 11px; } .footer .p5 a:hover { color: #f30213; } .footer .img { width: 727px; height: 32px; margin: 0 auto; text-align: center; padding-left: 64px; } .footer .img .span { display: inline-block; float: left; margin: 0 3px; width: 103px; height: 32px; background-image: url("../img/ico_footer.png"); background-position: 0 0; background-repeat: no-repeat; } .footer .img .icon2 { background-position: -104px 0; } .footer .img .icon3 { background-position: 0 -33px; } .footer .img .icon4 { background-position: -104px -33px; } .footer .img .icon5 { background-position: 0 -66px; } .footer .img .icon6 { background-position: -104px -66px; } .fixed { position: fixed; right: 0; bottom: 200px; text-align: right; } .fixed .teSe { text-align: right; width: 40px; } .fixed ul { width: 40px; padding-left: 40px; } .fixed .test_li1 { width: 40px; height: 40px; background: #ccc url("../img/tese.png") no-repeat 0 -1px; border-bottom: 1px solid white; position: relative; } .fixed .test_li1 div { position: absolute; top: 115px; left: 120px; border: 3px solid transparent; border-left-color: white; /* border-right-color: green; border-top-color: yellow; border-bottom-color: blue; */ height: 0; width: 0; } .fixed .test_li1 ol { position: absolute; left: -120px; top: -100px; background: white; padding: 10px; display: none; } .fixed .test_li1 ol > li { width: 100px; text-align: left; font-size: 12px; height: 30px; color: #666; } .fixed .test_li1 ol > li:hover { color: #E4393C; transform: translateX(3px); } .fixed .test_li1:hover { background: #C81623 url("../img/tese.png") no-repeat 0 -1px; } .fixed .test_li2 { width: 40px; height: 40px; background: #ccc url("../img/tese.png") no-repeat 0 -46px; } .fixed .test_li2:hover { background-position: -52px -40px; } .fixed .test_li3 { width: 40px; height: 40px; border-top: 1px dotted white; display: block; display: none; background: #ccc url("../img/tese.png") no-repeat 0 -88px; } .fixed .test_li3:hover { background: #C81623 url("../img/tese.png") no-repeat 0 -88px; } .hide { position: relative; } .hide .hi { position: absolute; max-height: 410px; padding-left: 5px; margin-bottom: 20px; line-height: 20px; top: -102px; right: 105px; z-index: 100; text-align: left; min-width: 337px; background: white; box-shadow: -3px -3px 20px 0px #ccc; display: none; } .hide .hi .p-tit { height: 40px; line-height: 40px; font-weight: 700; border-bottom: 1px solid #e3e3e3; padding-top: 0; padding-left: 10px; padding-bottom: 18px; } .hide .hi .hideList ul li { margin-bottom: 20px; width: 340px; padding: 15px 10px 0 15px; border-left: 1px solid #e3e3e3; } /*# sourceMappingURL=index.css.map */ ================================================ FILE: gmall-order-web/src/main/resources/static/css/style.css ================================================ *{ margin:0; padding:0; box-sizing: border-box; font-size: 14px; } html,body{ background: #FFFFFF; } ul,li{ list-style: none; } a{ text-decoration: none; } .One_Jdbox{ width:1000px; margin:0 auto; } .Jdbox_head img,.Jdbox_head ul{ float:left; } .Jdbox_head{ height:60px; padding:15px 0; } .Jdbox_head ul{ float:right; height:28px; } .Jdbox_head ul li{ float:left; border-right:1px solid #E3DDDF; padding:0 7px; color:#666666; } .Jdbox_head ul li:last-child{ border-right:none; } .Jdbox_BuySuc{ clear:left; width:1000px; height:100px; } .Jdbox_BuySuc dl dt,.Jdbox_BuySuc dl dd{ float:left; } .Jdbox_BuySuc dl dt{ border:1px solid #FB9D9D; padding:3px; } .Jdbox_BuySuc dl dt img{ width:90px; height:90px; vertical-align: middle; } .Jdbox_BuySuc dl dd{ width:892px; margin:2px 0; margin-left:10px; color:#333333; } .Jdbox_BuySuc dl dd:nth-child(2){ margin-top:25px; } .Jdbox_BuySuc dl dd:nth-child(2) span:last-child font{ font-size: 17px; color:#E31613; font-weight: bold; } .Jdbox_BuySuc dl dd:last-child span{ font-size: 12px; } .Jdbox_BuySuc dl dd:last-child span:first-child{ margin-right:20px; } .Jdbox_BuySuc dl dd:last-child span:nth-child(2) font{ color:#E21612; font-size: 10px; } .Jdbox_BuySuc dl dd:last-child span:last-child{ font-size: 12px; color:#67A4FF; margin-right:15px; } .Jdbox_BuySuc dl dd span:last-child{ float:right; } .Jd_Con{ clear:left; width:1000px; background: white; box-shadow:0px 5px 5px 5px #E9E9E9; margin-top:20px; } .Jd_Con .JdCon_title{ padding:10px 0; padding-left:30px; } .Jd_Fenqi{ margin:5px 20px; border:2px solid #B0C2E1; border-radius: 3px; height:130px; padding:20px 0; } .Jd_Fenqi>ul{ display: flex; justify-content: space-around; } .Jd_Fenqi>ul>li span{ border-right:1px solid #DFDFE6; padding:0 5px; } .Jd_Fenqi>ul>li span:last-child{ border-right:none; } .Jd_Fenqi>ul>li:first-child img{ width:30px; height:30px; vertical-align: middle; } .Jd_Fenqi>ul>li:first-child{ font-size: 16px; font-weight: bold; } .Jd_Fenqi>ul>li:nth-child(2) span{ color:#666666; font-size: 12px; } .Jd_Fenqi>ul>li:nth-child(2) span:last-child{ color:#E31613; } .Jd_Fenqi>ul>li:nth-child(2) span:last-child font{ background: #E31613; color:white; border-radius: 3px; margin:0 2px; padding:1px 3px; } .Jd_Fenqi>ul>li:last-child font{ font-size: 16px; color:#E31613; font-weight: bold; } .Jd_Fenqi ol{ display: flex; text-align: center; margin:0 auto; width:450px; } .Jd_Fenqi ol li{ border:1px solid #C9DFFF; border-radius: 3px; width:80px; text-align: center; margin:0 5px; } .Jd_main ul li{ padding:10px 0; padding-left:30px; margin:0 20px; } .Jd_main ul li:first-child,.Jd_main ul li:nth-child(2){ border-bottom: 1px solid #DDDDDD; } .Jd_main ul li:first-child{ color:gray; } .Jd_main ul li:first-child span:first-child,.Jd_main ul li:nth-child(2) span:first-child{ font-size: 16px; width:140px; display: inline-block; } .Jd_main ul li:nth-child(2) span:nth-child(2){ margin-right:15px; } .Jd_main ul li:nth-child(2) span:last-child{ color:#E31613 } .Jd_main ul li:nth-child(2) span font{ border:1px solid #E31613; border-radius: 3px; margin:0 2px; padding:0 3px; } .Jd_main ul li span:first-child img{ width:30px; height:30px; vertical-align: middle; margin-right:5px; } .Jd_main ul li:nth-child(3) button{ background: white; border:1px solid #E0E0E0; color:#67A4FF; padding:8px 25px; outline: none; } .Jd_main ul li:nth-child(4) input{ height:40px; outline: none; border-radius: 5px; border:1px solid #E0E0E0; text-align: center; } .Jd_main ul li:nth-child(4) p{ color:#999999; } .Jd_main ul li:nth-child(4) span{ color:#67A4FF; margin-left:8px; } .Jd_main ul li:nth-child(5) button{ width:200px; height:50px; background:#FC6E6C; border:none; color:white; text-align: center; line-height: 50px; border-radius: 5px; outline: none; } .Jd_footer{ box-shadow:0px 5px 5px 5px #E9E9E9; margin-top:30px; margin-bottom:50px; } .Jd_footer ul{ height:70px; padding:20px 15px; } .Jd_footer ul li{ float:left; padding:0 10px; font-size: 16px; color:#5E5E5E; } .Jd_footer ul li:first-child{ border-right: 1px solid #E3DDDF; } .Jd_footer ul li img{ vertical-align: middle; } .Jd_foots{ border-top:1px solid #DDDDDD; padding:15px 0; } .Jd_foots p{ text-align: center; display: flex; align-items: center; justify-content: center; } .Jd_foots p span{ color:#626262; font-size: 12px; margin:0 5px; } ================================================ FILE: gmall-order-web/src/main/resources/static/js/list.js ================================================ $(".nav_ul .li").removeClass("hover") $(".nav_ul .li").hover(function(){ $(this).children("ol").stop().show() $(this).css({"color":"black","background":"white","border":"1px solid #ccc"}) $(this).addClass("hover") },function(){ $(this).children("ol").stop().hide() $(this).css({"color":"white","background":"#E2231A","border":"none"}) $(this).removeClass("hover") }) $(".nav_ul .li ol li").hover(function(){ $(this).css({"background":"#F3F3F3","color":"#E43953"}) },function(){ $(this).css({"background":"#fff","color":"#000"}) }) $("#nav .right .shop>li").hover(function(){ $(this).children("ol").stop().show() },function(){ $(this).children("ol").stop().hide() }) $(".details .detailsLiok").hover(function(){ $(this).children("ol").stop().show(); $(this).css({"border":"1px solid #ccc","border-bottom":"none","background":"white"}); $(this).children("i").addClass("allBig_i1").removeClass("allBig_i") },function(){ $(this).children("ol").stop().hide() $(this).css({"border":"none","background":"#F3F3F3"}) $(this).children("i").addClass("allBig_i").removeClass("allBig_i1") }) $(".details .detailsUl>li ol li").hover(function(){ $(this).css({"background":"#F3F3F3","color":"#E43953"}) },function(){ $(this).css({"background":"#fff","color":"#000"}) }) $(".details .detailsUlDiv>li ol li").hover(function(){ $(this).css({"background":"#F3F3F3","color":"#E43953"}) },function(){ $(this).css({"background":"#fff","color":"#000"}) }) $(".table").hover(function(){ $(this).find(".isShow").show() },function(){ $(this).find(".isShow").hide() }) $(".table .isShow").hover(function(){ $(this).addClass("table_i51").removeClass("table_i5") },function(){ $(this).addClass("table_i5").removeClass("table_i51") }) $(".buy_btm dl .ab_operate ul .guanzhu").hover(function(){ $(this).children(".buy_btm_i").addClass("buy_btm_i1_1").removeClass("buy_btm_i1") },function(){ $(this).children(".buy_btm_i").addClass("buy_btm_i1").removeClass("buy_btm_i1_1") }) $(".buy_btm dl .ab_operate ul .zhan").hover(function(){ $(this).children(".buy_btm_i0").addClass("buy_btm_i2_1").removeClass("buy_btm_i2") },function(){ $(this).children(".buy_btm_i0").addClass("buy_btm_i2").removeClass("buy_btm_i2_1") }) $(".mySwiper .mySwiper_like ol .liList").mouseover(function(){ var i = $(this).index(); $('.mySwiper .mySwiper_like ol .liList').css({"background":"none","color":"#666"}).eq(i).css({"background":"#E4393C","color":"white"}) $(".mySwiper ul li").hide().eq(i).stop().show() }) $(".fixed .dog").hover(function(){ $(this).children("img").attr("src","img/joygif_hover.gif") },function(){ $(this).children("img").attr("src","img/joygif.gif") }) $(".fixed .teSe .test_li1").hover(function(){ $(this).children("ol").show() },function(){ $(this).children("ol").hide() }) $(document).bind("scroll",function(){ var oTop = document.body.scrollTop || document.documentElement.scrollTop; // var oScreen=window.screen.width if(oTop>50){ $(".teSe ul .test_li3").css({"display":"block"}) }else{ $(".teSe ul .test_li3").css({"display":"none"}) } }) $(".hide").hover(function(){ $(this).children(".hi").stop().show(); },function(){ $(this).children(".hi").stop().hide(); }) ================================================ FILE: gmall-order-web/src/main/resources/templates/list.html ================================================ 订单列表

            我的订单

              1. 全部订单
              2. 待付款
              3. 待收货
              4. 待评价
            • 近三个月订单
              1. 近三个月订单
              2. 今年内订单
              3. 今年内订单
              4. 2016年订单
              5. 2015年订单
              6. 2014年订单
              7. 2014年以前订单
            • 订单详情
            • 收货人
            • 金额
            • 全部状态
              1. 全部状态
              2. 等待付款
              3. 等待收货
              4. 已完成
              5. 已取消
            • 操作
            订单号: 状态

            商品名称11111111111111

            X 1
            张晨
            总额 9999

            在线支付

            • 等待收货
            • 跟踪
              普通快递 运单号:390085324974
              • [北京市] 在北京昌平区南口公司进行签收扫描,快件已被拍照(您 的快件已签收,感谢您使用韵达快递)签收
            • 订单详情

            取消订单

            催单

            商品名称2222222222222222222

            X 2
            2017-12-09 20:50:10 订单号: 70207298274 已拆分
            2017-12-09 20:50:10 订单号: 70207298274

            MUXIWEIERPU皮手套男冬季加绒保暖户外骑
            车开车触摸屏全指防寒全指手套 黑色 均码

            找搭配
            x1
            张三

            总额 ¥26.00

            • 等待收货
            • 跟踪
              普通快递 运单号:390085324974
              • [北京市] 在北京昌平区南口公司进行签收扫描,快件已被拍照(您 的快件已签收,感谢您使用韵达快递)签收
              • [北京市] 在北京昌平区南口公司进行签收扫描,快件已被拍照(您 的快件已签收,感谢您使用韵达快递)签收
              • [北京昌平区南口公司] 在北京昌平区南口公司进行派件扫描
              • [北京市] 在北京昌平区南口公司进行派件扫描;派送业务员:业务员;联系电话:17319268636
            • 订单详情

            取消订单

            催单

            2017-12-09 20:50:10 订单号: 70207298274

            MUXIWEIERPU皮手套男冬季加绒保暖户外骑
            车开车触摸屏全指防寒全指手套 123123123123123

            找搭配
            x1
            张三

            总额 ¥26.00

            • 等待收货
            • 跟踪
              普通快递 运单号:390085324974
              • [北京市] 在北京昌平区南口公司进行签收扫描,快件已被拍照(您 的快件已签收,感谢您使用韵达快递)签收
              • [北京市] 在北京昌平区南口公司进行签收扫描,快件已被拍照(您 的快件已签收,感谢您使用韵达快递)签收
              • [北京昌平区南口公司] 在北京昌平区南口公司进行派件扫描
              • [北京市] 在北京昌平区南口公司进行派件扫描;派送业务员:业务员;联系电话:17319268636
            • 订单详情

            取消订单

            催单

            MUXIWEIERPU皮手套男冬季加绒保暖户外骑
            车开车触摸屏全指防寒全指手套 999900000

            找搭配
            x1
            1
            ================================================ FILE: gmall-order-web/src/main/resources/templates/payTest.html ================================================ Title

            支付页面

            ================================================ FILE: gmall-order-web/src/main/resources/templates/trade.html ================================================ 结算页
            结算页

            填写并核对订单信息

            收货人信息 新增收货地址
            • 收件人AAAA 具体地址111

            支付方式

            在线支付

            送货清单

            商家:自营

            商品名称111111111111

            X 1 有货 无货

            添加订单备注


            应付总额: ¥99999

            ================================================ FILE: gmall-order-web/src/main/resources/templates/tradeFail.html ================================================
            下单失败

            可能是如下原因:

            ================================================ FILE: gmall-order-web/src/test/java/com/lee/gmall/order/GmallOrderWebApplicationTests.java ================================================ package com.lee.gmall.order; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GmallOrderWebApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: gmall-parent/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT pom UTF-8 UTF-8 1.8 1.2.46 1.0.10 2.6.0 0.10 1.3.3 1.9.20 1.4.01 1.9.1 1.11.2 4.5.5 3.7 1.2.3 2.9.0 5.3.3 5.2.0 1.8.3 org.springframework.boot spring-boot-starter-parent 1.5.10.RELEASE com.alibaba fastjson ${fastjson.version} com.alibaba dubbo ${dubbo.version} com.101tec zkclient ${zkclient.version} com.gitee.reger spring-boot-starter-dubbo ${dubbo-starter.version} org.mybatis.spring.boot mybatis-spring-boot-starter ${mybatis.version} net.sourceforge.nekohtml nekohtml ${nekohtml.version} xml-apis xml-apis ${xml-apis.version} org.apache.xmlgraphics batik-ext ${batik-ext.version} org.jsoup jsoup ${jsoup.version} org.apache.httpcomponents httpclient ${httpclient.version} org.apache.commons commons-lang3 ${commons-lang3.version} tk.mybatis mapper-spring-boot-starter ${mapper-starter.version} redis.clients jedis ${jedis.version} io.searchbox jest ${jest.version} net.java.dev.jna jna ${jna.version} commons-beanutils commons-beanutils ${beanUtils.version} org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-passport-web/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-passport-web 0.0.1-SNAPSHOT gmall-passport-web Demo project for Spring Boot 1.8 com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-web-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-passport-web/src/main/java/com/lee/gmall/passport/GmallPassportWebApplication.java ================================================ package com.lee.gmall.passport; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class GmallPassportWebApplication { public static void main(String[] args) { SpringApplication.run(GmallPassportWebApplication.class, args); } } ================================================ FILE: gmall-passport-web/src/main/java/com/lee/gmall/passport/controller/PassportController.java ================================================ package com.lee.gmall.passport.controller; import com.alibaba.dubbo.config.annotation.Reference; import com.alibaba.fastjson.JSON; import com.lee.gmall.bean.CartInfo; import com.lee.gmall.bean.UserInfo; import com.lee.gmall.service.CartService; import com.lee.gmall.util.CookieUtil; import com.lee.gmall.util.PassportUtil; import com.lee.gmall.service.UserService; import com.lee.gmall.util.JwtUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller public class PassportController { @Reference UserService userService; @Reference CartService cartService; /*** * 登录页 * @return */ @RequestMapping("index") public String index(String returnURL, ModelMap map) { map.put("returnURL", returnURL); return "index"; } /*** * 颁发token * @return */ @RequestMapping("login") @ResponseBody public String login(HttpServletRequest request, HttpServletResponse response, UserInfo userInfo) { //调用用户服务验证用户名和密码 UserInfo user = userService.login(userInfo); if (user == null) { //用户名或密码错误 return "username or password err"; } else { //使用jwt,颁发token Map map = new HashMap<>(); map.put("userId", user.getId()); map.put("nickName", user.getNickName()); String token = JwtUtil.encode("superlee1010", map, PassportUtil.getRequestAddr(request)); //合并购物车数据 String cartListCookie = CookieUtil.getCookieValue(request, "cartListCookie", true); List cartInfos = null; if (StringUtils.isNotBlank(cartListCookie)) { cartInfos = JSON.parseArray(cartListCookie, CartInfo.class); } cartService.combineCart(cartInfos, user.getId()); //删除cookie中的购物车数据 CookieUtil.setCookie(request, response, "cartListCookie", "", 0, true); return token; } } /*** * 认证token * @return */ @RequestMapping("verify") @ResponseBody public String verify(String token, String salt) { Map userMap = null; try { userMap = JwtUtil.decode("superlee1010", token, salt); } catch (Exception e) { return "fail"; } if (userMap != null) { return "success"; } else { return "fail"; } } } ================================================ FILE: gmall-passport-web/src/main/resources/application.properties ================================================ server.port=8085 #zookeeper spring.dubbo.registry.address=192.168.159.129:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-passport-web spring.dubbo.protocol.name=dubbo spring.dubbo.consumer.check=false spring.dubbo.consumer.timeout=60000 #thymeleaf spring.thymeleaf.mode=LEGACYHTML5 spring.thymeleaf.cache=false #MVC #spring.resources.static-locations=classpath:/static/ #logging.level.root=debug ================================================ FILE: gmall-passport-web/src/main/resources/static/css/gm1.css ================================================ * { padding: 0; margin: 0; text-decoration: none; list-style: none; } a { color: black; } header { width: 1100px; height: 58px; margin: 0 130px; position: relative; top: 10px; } header p { margin-left: 215px; margin-top: -40px; font-weight: 400; font-size: 24px; } header .top-1 { float: left; position: absolute; top: 40px; left: 950px; } header .top-1 img { float: left; position: absolute; top: 4px; } header .top-1 span { font-size: 12px; color: gray; margin-left: 25px; } .top-2 { width: 1366px; height: 35px; background: #FFF8F0; margin-top: 15px; } .top-2 .top-2a { float: left; height: 35px; line-height: 35px; } .top-2 .top-2a img { float: left; position: absolute; left: 255px; top: 82px; } .top-2 .top-2a p { font-size: 12px; margin: 0 280px; color: gray; } .top-2 .top-2a span { font-size: 12px; font-weight: 600; color: black; } .top-3 { width: 1365px; background: #E93854; position: relative; } .top-3 .img_1 { width: 990px; height: 475px; margin: 0 auto; } .top-3 #sign { width: 350px; height: 428px; background: #fff; position: absolute; top: 28px; left: 800px; z-index: 11; } .top-3 #sign .si_top { width: 100%; height: 40px; line-height: 40px; font-size: 12px; text-align: center; color: #999999; } .top-3 #sign .si_cen { color: #F4F4F4; border-bottom: 1px solid #f4f4f4; width: 100%; line-height: 50px; position: relative; z-index: 1111; } .top-3 #sign .si_cen h2 { color: #666; float: left; width: 48%; text-align: center; font-weight: 400; cursor: pointer; font-size: 18px; } .top-3 #sign .si_cen span { float: left; } .top-3 #sign .si_cen .act { color: red; font-weight: 700; } .top-3 #sign .tab { display: none; } .top-3 #sign .si_bom { position: relative; } .top-3 #sign .si_bom:hover .bom_1 { transform: translateX(-80px); } .top-3 #sign .si_bom:hover .bom_2 { opacity: 1; } .top-3 #sign .si_bom .bom_1 { margin-left: 95px; margin-top: 20px; padding: 2px 3px; border: 1px solid #F4F4F4; transition: all .5s; } .top-3 #sign .si_bom .bom_2 { position: absolute; top: 60px; left: 195px; opacity: 0; z-index: 111; transition: all 1s; } .top-3 #sign .si_bom h6 { color: #666666; margin: 10px 0 5px 100px; } .top-3 #sign .si_bom h6 span { padding-right: 10px; } .top-3 #sign .si_bom p { width: 100%; height: 40px; line-height: 40px; margin: 10px 0; text-align: center; } .top-3 #sign .si_bom p span { font-size: 14px; margin-right: 15px; } .top-3 #sign .si_bom p span a { color: #bfa6b3; } .top-3 #sign .si_bom p img { vertical-align: middle; } .top-3 #sign .si_bom1 { width: 100%; height: 257px; position: relative; } .top-3 #sign .si_bom1 .error { position: absolute; top: -25px; left: 30px; z-index: 111; font-size: 12px; color: #e4393c; padding-left: 30px; border: 1px solid #faccc6; line-height: 20px; height: 20px; padding-right: 85px; background: #ffebeb; display: none; } .top-3 #sign .si_bom1 .error div { width: 16px; height: 16px; float: left; margin-right: 12px; margin-top: 2px; background: -104px -49px no-repeat; } .top-3 #sign .si_bom1 ul { width: 100%; } .top-3 #sign .si_bom1 ul .top_1 { margin-top: 75px; } .top-3 #sign .si_bom1 ul li { width: 253px; height: 40px; line-height: 40px; margin: 30px 30px; } .top-3 #sign .si_bom1 ul li input { width: 211px; height: 38px; float: left; border: 1px solid #999; outline: none; border-left: none !important; } .top-3 #sign .si_bom1 ul li img { vertical-align: middle; float: left; } .top-3 #sign .si_bom1 ul li button { width: 100%; height: 40px; color: snow; border: none; background: #FF0000; position: relative; outline: none; cursor: pointer; } .top-3 #sign .si_bom1 ul li button a { display: inline-block; width: 100%; height: 40px; position: absolute; top: 0; left: 0; color: snow; font-size: 20px; line-height: 40px; } .top-3 #sign .si_bom1 ul li a { float: right; } .top-3 #sign .si_bom1 ul .bri { margin: 0 30px; height: 30px; margin-top: -10px; } .top-3 #sign .si_bom1 ul .bri a { font-size: 12px; } .top-3 #sign .si_bom1 ul .bri a:hover { color: red; text-decoration: underline; } .top-3 #sign .si_bom1 ul .ent { margin: 0 30px; } .top-3 #sign .red { color: red; } .top-3 #sign .si_out { width: 100%; height: 40px; line-height: 40px; border-top: 1px solid #F4F4F4; } .top-3 #sign .si_out ul { margin: 10px 25px; } .top-3 #sign .si_out ul li { margin: 0 8px; float: left; text-align: center; } .top-3 #sign .si_out ul li span { margin-right: 7px; font-size: 12px; } .top-3 #sign .si_out ul li img { vertical-align: middle; } .top-3 #sign .si_out ul li:hover a span { border-bottom: 1px solid red; color: red; } .top-3 #sign .si_out ul .f4 { color: #F4F4F4; } .top-3 #sign .si_out .rig { float: right; } .top-3 #sign .si_out h5 { padding-right: 20px; } .top-3 #sign .si_out h5 img { vertical-align: middle; } .top-3 #sign .si_out h5 a { color: red; font-size: 12px; } footer { width: 1100px; height: 30px; margin: 6px 220px; } footer ul { width: 1100px; float: left; } footer ul li { float: left; margin: 8px; } footer ul a { font-size: 12px; color: dimgray; } footer ul li a:hover { color: red; } footer ul .little { font-size: 10px; line-height: 22px; } footer span { font-size: 12px; color: dimgray; margin: -15px 335px; } /*# sourceMappingURL=JD1.css.map */ ================================================ FILE: gmall-passport-web/src/main/resources/static/css/gm1.css.bak ================================================ * { padding: 0; margin: 0; text-decoration: none; list-style: none; } a { color: black; } header { width: 1100px; height: 58px; margin: 0 130px; position: relative; top: 10px; } header p { margin-left: 215px; margin-top: -40px; font-weight: 400; font-size: 24px; } header .top-1 { float: left; position: absolute; top: 40px; left: 950px; } header .top-1 img { float: left; position: absolute; top: 4px; } header .top-1 span { font-size: 12px; color: gray; margin-left: 25px; } .top-2 { width: 1366px; height: 35px; background: #FFF8F0; margin-top: 15px; } .top-2 .top-2a { float: left; height: 35px; line-height: 35px; } .top-2 .top-2a img { float: left; position: absolute; left: 255px; top: 82px; } .top-2 .top-2a p { font-size: 12px; margin: 0 280px; color: gray; } .top-2 .top-2a span { font-size: 12px; font-weight: 600; color: black; } .top-3 { width: 1365px; background: #E93854; position: relative; } .top-3 .img_1 { width: 990px; height: 475px; margin: 0 auto; } .top-3 #sign { width: 350px; height: 428px; background: #fff; position: absolute; top: 28px; left: 800px; z-index: 11; } .top-3 #sign .si_top { width: 100%; height: 40px; line-height: 40px; font-size: 12px; text-align: center; color: #999999; } .top-3 #sign .si_cen { color: #F4F4F4; border-bottom: 1px solid #f4f4f4; width: 100%; line-height: 50px; position: relative; z-index: 1111; } .top-3 #sign .si_cen h2 { color: #666; float: left; width: 48%; text-align: center; font-weight: 400; cursor: pointer; font-size: 18px; } .top-3 #sign .si_cen span { float: left; } .top-3 #sign .si_cen .act { color: red; font-weight: 700; } .top-3 #sign .tab { display: none; } .top-3 #sign .si_bom { position: relative; } .top-3 #sign .si_bom:hover .bom_1 { transform: translateX(-80px); } .top-3 #sign .si_bom:hover .bom_2 { opacity: 1; } .top-3 #sign .si_bom .bom_1 { margin-left: 95px; margin-top: 20px; padding: 2px 3px; border: 1px solid #F4F4F4; transition: all .5s; } .top-3 #sign .si_bom .bom_2 { position: absolute; top: 60px; left: 195px; opacity: 0; z-index: 111; transition: all 1s; } .top-3 #sign .si_bom h6 { color: #666666; margin: 10px 0 5px 100px; } .top-3 #sign .si_bom h6 span { padding-right: 10px; } .top-3 #sign .si_bom p { width: 100%; height: 40px; line-height: 40px; margin: 10px 0; text-align: center; } .top-3 #sign .si_bom p span { font-size: 14px; margin-right: 15px; } .top-3 #sign .si_bom p span a { color: #bfa6b3; } .top-3 #sign .si_bom p img { vertical-align: middle; } .top-3 #sign .si_bom1 { width: 100%; height: 257px; position: relative; } .top-3 #sign .si_bom1 .error { position: absolute; top: -25px; left: 30px; z-index: 111; font-size: 12px; color: #e4393c; padding-left: 30px; border: 1px solid #faccc6; line-height: 20px; height: 20px; padding-right: 85px; background: #ffebeb; display: none; } .top-3 #sign .si_bom1 .error div { width: 16px; height: 16px; float: left; margin-right: 12px; margin-top: 2px; background: url(../JD_img/pwd-icons-new.png) -104px -49px no-repeat; } .top-3 #sign .si_bom1 ul { width: 100%; } .top-3 #sign .si_bom1 ul .top_1 { margin-top: 75px; } .top-3 #sign .si_bom1 ul li { width: 253px; height: 40px; line-height: 40px; margin: 30px 30px; } .top-3 #sign .si_bom1 ul li input { width: 211px; height: 38px; float: left; border: 1px solid #999; outline: none; border-left: none !important; } .top-3 #sign .si_bom1 ul li img { vertical-align: middle; float: left; } .top-3 #sign .si_bom1 ul li button { width: 100%; height: 40px; color: snow; border: none; background: #FF0000; position: relative; outline: none; cursor: pointer; } .top-3 #sign .si_bom1 ul li button a { display: inline-block; width: 100%; height: 40px; position: absolute; top: 0; left: 0; color: snow; font-size: 20px; line-height: 40px; } .top-3 #sign .si_bom1 ul li a { float: right; } .top-3 #sign .si_bom1 ul .bri { margin: 0 30px; height: 30px; margin-top: -10px; } .top-3 #sign .si_bom1 ul .bri a { font-size: 12px; } .top-3 #sign .si_bom1 ul .bri a:hover { color: red; text-decoration: underline; } .top-3 #sign .si_bom1 ul .ent { margin: 0 30px; } .top-3 #sign .red { color: red; } .top-3 #sign .si_out { width: 100%; height: 40px; line-height: 40px; border-top: 1px solid #F4F4F4; } .top-3 #sign .si_out ul { margin: 10px 25px; } .top-3 #sign .si_out ul li { margin: 0 8px; float: left; text-align: center; } .top-3 #sign .si_out ul li span { margin-right: 7px; font-size: 12px; } .top-3 #sign .si_out ul li img { vertical-align: middle; } .top-3 #sign .si_out ul li:hover a span { border-bottom: 1px solid red; color: red; } .top-3 #sign .si_out ul .f4 { color: #F4F4F4; } .top-3 #sign .si_out .rig { float: right; } .top-3 #sign .si_out h5 { padding-right: 20px; } .top-3 #sign .si_out h5 img { vertical-align: middle; } .top-3 #sign .si_out h5 a { color: red; font-size: 12px; } footer { width: 1100px; height: 30px; margin: 6px 220px; } footer ul { width: 1100px; float: left; } footer ul li { float: left; margin: 8px; } footer ul a { font-size: 12px; color: dimgray; } footer ul li a:hover { color: red; } footer ul .little { font-size: 10px; line-height: 22px; } footer span { font-size: 12px; color: dimgray; margin: -15px 335px; } /*# sourceMappingURL=JD1.css.map */ ================================================ FILE: gmall-passport-web/src/main/resources/static/js/zepto.js ================================================ /* Zepto 1.0 - polyfill zepto detect event ajax form fx fx_methods data assets selector touch - zeptojs.com/license */ ;(function(undefined){ if (String.prototype.trim === undefined) // fix for iOS 3.2 String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g, '') } // For iOS 3.x // from https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduce if (Array.prototype.reduce === undefined) Array.prototype.reduce = function(fun){ if(this === void 0 || this === null) throw new TypeError() var t = Object(this), len = t.length >>> 0, k = 0, accumulator if(typeof fun != 'function') throw new TypeError() if(len == 0 && arguments.length == 1) throw new TypeError() if(arguments.length >= 2) accumulator = arguments[1] else do{ if(k in t){ accumulator = t[k++] break } if(++k >= len) throw new TypeError() } while (true) while (k < len){ if(k in t) accumulator = fun.call(undefined, accumulator, t[k], k, t) k++ } return accumulator } })() var Zepto = (function() { var undefined, key, $, classList, emptyArray = [], slice = emptyArray.slice, filter = emptyArray.filter, document = window.document, elementDisplay = {}, classCache = {}, getComputedStyle = document.defaultView.getComputedStyle, cssNumber = { 'column-count': 1, 'columns': 1, 'font-weight': 1, 'line-height': 1,'opacity': 1, 'z-index': 1, 'zoom': 1 }, fragmentRE = /^\s*<(\w+|!)[^>]*>/, tagExpanderRE = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, rootNodeRE = /^(?:body|html)$/i, // special attributes that should be get/set via method calls methodAttributes = ['val', 'css', 'html', 'text', 'data', 'width', 'height', 'offset'], adjacencyOperators = [ 'after', 'prepend', 'before', 'append' ], table = document.createElement('table'), tableRow = document.createElement('tr'), containers = { 'tr': document.createElement('tbody'), 'tbody': table, 'thead': table, 'tfoot': table, 'td': tableRow, 'th': tableRow, '*': document.createElement('div') }, readyRE = /complete|loaded|interactive/, classSelectorRE = /^\.([\w-]+)$/, idSelectorRE = /^#([\w-]*)$/, tagSelectorRE = /^[\w-]+$/, class2type = {}, toString = class2type.toString, zepto = {}, camelize, uniq, tempParent = document.createElement('div') zepto.matches = function(element, selector) { if (!element || element.nodeType !== 1) return false var matchesSelector = element.webkitMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.matchesSelector if (matchesSelector) return matchesSelector.call(element, selector) // fall back to performing a selector: var match, parent = element.parentNode, temp = !parent if (temp) (parent = tempParent).appendChild(element) match = ~zepto.qsa(parent, selector).indexOf(element) temp && tempParent.removeChild(element) return match } function type(obj) { return obj == null ? String(obj) : class2type[toString.call(obj)] || "object" } function isFunction(value) { return type(value) == "function" } function isWindow(obj) { return obj != null && obj == obj.window } function isDocument(obj) { return obj != null && obj.nodeType == obj.DOCUMENT_NODE } function isObject(obj) { return type(obj) == "object" } function isPlainObject(obj) { return isObject(obj) && !isWindow(obj) && obj.__proto__ == Object.prototype } function isArray(value) { return value instanceof Array } function likeArray(obj) { return typeof obj.length == 'number' } function compact(array) { return filter.call(array, function(item){ return item != null }) } function flatten(array) { return array.length > 0 ? $.fn.concat.apply([], array) : array } camelize = function(str){ return str.replace(/-+(.)?/g, function(match, chr){ return chr ? chr.toUpperCase() : '' }) } function dasherize(str) { return str.replace(/::/g, '/') .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') .replace(/([a-z\d])([A-Z])/g, '$1_$2') .replace(/_/g, '-') .toLowerCase() } uniq = function(array){ return filter.call(array, function(item, idx){ return array.indexOf(item) == idx }) } function classRE(name) { return name in classCache ? classCache[name] : (classCache[name] = new RegExp('(^|\\s)' + name + '(\\s|$)')) } function maybeAddPx(name, value) { return (typeof value == "number" && !cssNumber[dasherize(name)]) ? value + "px" : value } function defaultDisplay(nodeName) { var element, display if (!elementDisplay[nodeName]) { element = document.createElement(nodeName) document.body.appendChild(element) display = getComputedStyle(element, '').getPropertyValue("display") element.parentNode.removeChild(element) display == "none" && (display = "block") elementDisplay[nodeName] = display } return elementDisplay[nodeName] } function children(element) { return 'children' in element ? slice.call(element.children) : $.map(element.childNodes, function(node){ if (node.nodeType == 1) return node }) } // `$.zepto.fragment` takes a html string and an optional tag name // to generate DOM nodes nodes from the given html string. // The generated DOM nodes are returned as an array. // This function can be overriden in plugins for example to make // it compatible with browsers that don't support the DOM fully. zepto.fragment = function(html, name, properties) { if (html.replace) html = html.replace(tagExpanderRE, "<$1>") if (name === undefined) name = fragmentRE.test(html) && RegExp.$1 if (!(name in containers)) name = '*' var nodes, dom, container = containers[name] container.innerHTML = '' + html dom = $.each(slice.call(container.childNodes), function(){ container.removeChild(this) }) if (isPlainObject(properties)) { nodes = $(dom) $.each(properties, function(key, value) { if (methodAttributes.indexOf(key) > -1) nodes[key](value) else nodes.attr(key, value) }) } return dom } // `$.zepto.Z` swaps out the prototype of the given `dom` array // of nodes with `$.fn` and thus supplying all the Zepto functions // to the array. Note that `__proto__` is not supported on Internet // Explorer. This method can be overriden in plugins. zepto.Z = function(dom, selector) { dom = dom || [] dom.__proto__ = $.fn dom.selector = selector || '' return dom } // `$.zepto.isZ` should return `true` if the given object is a Zepto // collection. This method can be overriden in plugins. zepto.isZ = function(object) { return object instanceof zepto.Z } // `$.zepto.init` is Zepto's counterpart to jQuery's `$.fn.init` and // takes a CSS selector and an optional context (and handles various // special cases). // This method can be overriden in plugins. zepto.init = function(selector, context) { // If nothing given, return an empty Zepto collection if (!selector) return zepto.Z() // If a function is given, call it when the DOM is ready else if (isFunction(selector)) return $(document).ready(selector) // If a Zepto collection is given, juts return it else if (zepto.isZ(selector)) return selector else { var dom // normalize array if an array of nodes is given if (isArray(selector)) dom = compact(selector) // Wrap DOM nodes. If a plain object is given, duplicate it. else if (isObject(selector)) dom = [isPlainObject(selector) ? $.extend({}, selector) : selector], selector = null // If it's a html fragment, create nodes from it else if (fragmentRE.test(selector)) dom = zepto.fragment(selector.trim(), RegExp.$1, context), selector = null // If there's a context, create a collection on that context first, and select // nodes from there else if (context !== undefined) return $(context).find(selector) // And last but no least, if it's a CSS selector, use it to select nodes. else dom = zepto.qsa(document, selector) // create a new Zepto collection from the nodes found return zepto.Z(dom, selector) } } // `$` will be the base `Zepto` object. When calling this // function just call `$.zepto.init, which makes the implementation // details of selecting nodes and creating Zepto collections // patchable in plugins. $ = function(selector, context){ return zepto.init(selector, context) } function extend(target, source, deep) { for (key in source) if (deep && (isPlainObject(source[key]) || isArray(source[key]))) { if (isPlainObject(source[key]) && !isPlainObject(target[key])) target[key] = {} if (isArray(source[key]) && !isArray(target[key])) target[key] = [] extend(target[key], source[key], deep) } else if (source[key] !== undefined) target[key] = source[key] } // Copy all but undefined properties from one or more // objects to the `target` object. $.extend = function(target){ var deep, args = slice.call(arguments, 1) if (typeof target == 'boolean') { deep = target target = args.shift() } args.forEach(function(arg){ extend(target, arg, deep) }) return target } // `$.zepto.qsa` is Zepto's CSS selector implementation which // uses `document.querySelectorAll` and optimizes for some special cases, like `#id`. // This method can be overriden in plugins. zepto.qsa = function(element, selector){ var found return (isDocument(element) && idSelectorRE.test(selector)) ? ( (found = element.getElementById(RegExp.$1)) ? [found] : [] ) : (element.nodeType !== 1 && element.nodeType !== 9) ? [] : slice.call( classSelectorRE.test(selector) ? element.getElementsByClassName(RegExp.$1) : tagSelectorRE.test(selector) ? element.getElementsByTagName(selector) : element.querySelectorAll(selector) ) } function filtered(nodes, selector) { return selector === undefined ? $(nodes) : $(nodes).filter(selector) } $.contains = function(parent, node) { return parent !== node && parent.contains(node) } function funcArg(context, arg, idx, payload) { return isFunction(arg) ? arg.call(context, idx, payload) : arg } function setAttribute(node, name, value) { value == null ? node.removeAttribute(name) : node.setAttribute(name, value) } // access className property while respecting SVGAnimatedString function className(node, value){ var klass = node.className, svg = klass && klass.baseVal !== undefined if (value === undefined) return svg ? klass.baseVal : klass svg ? (klass.baseVal = value) : (node.className = value) } // "true" => true // "false" => false // "null" => null // "42" => 42 // "42.5" => 42.5 // JSON => parse if valid // String => self function deserializeValue(value) { var num try { return value ? value == "true" || ( value == "false" ? false : value == "null" ? null : !isNaN(num = Number(value)) ? num : /^[\[\{]/.test(value) ? $.parseJSON(value) : value ) : value } catch(e) { return value } } $.type = type $.isFunction = isFunction $.isWindow = isWindow $.isArray = isArray $.isPlainObject = isPlainObject $.isEmptyObject = function(obj) { var name for (name in obj) return false return true } $.inArray = function(elem, array, i){ return emptyArray.indexOf.call(array, elem, i) } $.camelCase = camelize $.trim = function(str) { return str.trim() } // plugin compatibility $.uuid = 0 $.support = { } $.expr = { } $.map = function(elements, callback){ var value, values = [], i, key if (likeArray(elements)) for (i = 0; i < elements.length; i++) { value = callback(elements[i], i) if (value != null) values.push(value) } else for (key in elements) { value = callback(elements[key], key) if (value != null) values.push(value) } return flatten(values) } $.each = function(elements, callback){ var i, key if (likeArray(elements)) { for (i = 0; i < elements.length; i++) if (callback.call(elements[i], i, elements[i]) === false) return elements } else { for (key in elements) if (callback.call(elements[key], key, elements[key]) === false) return elements } return elements } $.grep = function(elements, callback){ return filter.call(elements, callback) } if (window.JSON) $.parseJSON = JSON.parse // Populate the class2type map $.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { class2type[ "[object " + name + "]" ] = name.toLowerCase() }) // Define methods that will be available on all // Zepto collections $.fn = { // Because a collection acts like an array // copy over these useful array functions. forEach: emptyArray.forEach, reduce: emptyArray.reduce, push: emptyArray.push, sort: emptyArray.sort, indexOf: emptyArray.indexOf, concat: emptyArray.concat, // `map` and `slice` in the jQuery API work differently // from their array counterparts map: function(fn){ return $($.map(this, function(el, i){ return fn.call(el, i, el) })) }, slice: function(){ return $(slice.apply(this, arguments)) }, ready: function(callback){ if (readyRE.test(document.readyState)) callback($) else document.addEventListener('DOMContentLoaded', function(){ callback($) }, false) return this }, get: function(idx){ return idx === undefined ? slice.call(this) : this[idx >= 0 ? idx : idx + this.length] }, toArray: function(){ return this.get() }, size: function(){ return this.length }, remove: function(){ return this.each(function(){ if (this.parentNode != null) this.parentNode.removeChild(this) }) }, each: function(callback){ emptyArray.every.call(this, function(el, idx){ return callback.call(el, idx, el) !== false }) return this }, filter: function(selector){ if (isFunction(selector)) return this.not(this.not(selector)) return $(filter.call(this, function(element){ return zepto.matches(element, selector) })) }, add: function(selector,context){ return $(uniq(this.concat($(selector,context)))) }, is: function(selector){ return this.length > 0 && zepto.matches(this[0], selector) }, not: function(selector){ var nodes=[] if (isFunction(selector) && selector.call !== undefined) this.each(function(idx){ if (!selector.call(this,idx)) nodes.push(this) }) else { var excludes = typeof selector == 'string' ? this.filter(selector) : (likeArray(selector) && isFunction(selector.item)) ? slice.call(selector) : $(selector) this.forEach(function(el){ if (excludes.indexOf(el) < 0) nodes.push(el) }) } return $(nodes) }, has: function(selector){ return this.filter(function(){ return isObject(selector) ? $.contains(this, selector) : $(this).find(selector).size() }) }, eq: function(idx){ return idx === -1 ? this.slice(idx) : this.slice(idx, + idx + 1) }, first: function(){ var el = this[0] return el && !isObject(el) ? el : $(el) }, last: function(){ var el = this[this.length - 1] return el && !isObject(el) ? el : $(el) }, find: function(selector){ var result, $this = this if (typeof selector == 'object') result = $(selector).filter(function(){ var node = this return emptyArray.some.call($this, function(parent){ return $.contains(parent, node) }) }) else if (this.length == 1) result = $(zepto.qsa(this[0], selector)) else result = this.map(function(){ return zepto.qsa(this, selector) }) return result }, closest: function(selector, context){ var node = this[0], collection = false if (typeof selector == 'object') collection = $(selector) while (node && !(collection ? collection.indexOf(node) >= 0 : zepto.matches(node, selector))) node = node !== context && !isDocument(node) && node.parentNode return $(node) }, parents: function(selector){ var ancestors = [], nodes = this while (nodes.length > 0) nodes = $.map(nodes, function(node){ if ((node = node.parentNode) && !isDocument(node) && ancestors.indexOf(node) < 0) { ancestors.push(node) return node } }) return filtered(ancestors, selector) }, parent: function(selector){ return filtered(uniq(this.pluck('parentNode')), selector) }, children: function(selector){ return filtered(this.map(function(){ return children(this) }), selector) }, contents: function() { return this.map(function() { return slice.call(this.childNodes) }) }, siblings: function(selector){ return filtered(this.map(function(i, el){ return filter.call(children(el.parentNode), function(child){ return child!==el }) }), selector) }, empty: function(){ return this.each(function(){ this.innerHTML = '' }) }, // `pluck` is borrowed from Prototype.js pluck: function(property){ return $.map(this, function(el){ return el[property] }) }, show: function(){ return this.each(function(){ this.style.display == "none" && (this.style.display = null) if (getComputedStyle(this, '').getPropertyValue("display") == "none") this.style.display = defaultDisplay(this.nodeName) }) }, replaceWith: function(newContent){ return this.before(newContent).remove() }, wrap: function(structure){ var func = isFunction(structure) if (this[0] && !func) var dom = $(structure).get(0), clone = dom.parentNode || this.length > 1 return this.each(function(index){ $(this).wrapAll( func ? structure.call(this, index) : clone ? dom.cloneNode(true) : dom ) }) }, wrapAll: function(structure){ if (this[0]) { $(this[0]).before(structure = $(structure)) var children // drill down to the inmost element while ((children = structure.children()).length) structure = children.first() $(structure).append(this) } return this }, wrapInner: function(structure){ var func = isFunction(structure) return this.each(function(index){ var self = $(this), contents = self.contents(), dom = func ? structure.call(this, index) : structure contents.length ? contents.wrapAll(dom) : self.append(dom) }) }, unwrap: function(){ this.parent().each(function(){ $(this).replaceWith($(this).children()) }) return this }, clone: function(){ return this.map(function(){ return this.cloneNode(true) }) }, hide: function(){ return this.css("display", "none") }, toggle: function(setting){ return this.each(function(){ var el = $(this) ;(setting === undefined ? el.css("display") == "none" : setting) ? el.show() : el.hide() }) }, prev: function(selector){ return $(this.pluck('previousElementSibling')).filter(selector || '*') }, next: function(selector){ return $(this.pluck('nextElementSibling')).filter(selector || '*') }, html: function(html){ return html === undefined ? (this.length > 0 ? this[0].innerHTML : null) : this.each(function(idx){ var originHtml = this.innerHTML $(this).empty().append( funcArg(this, html, idx, originHtml) ) }) }, text: function(text){ return text === undefined ? (this.length > 0 ? this[0].textContent : null) : this.each(function(){ this.textContent = text }) }, attr: function(name, value){ var result return (typeof name == 'string' && value === undefined) ? (this.length == 0 || this[0].nodeType !== 1 ? undefined : (name == 'value' && this[0].nodeName == 'INPUT') ? this.val() : (!(result = this[0].getAttribute(name)) && name in this[0]) ? this[0][name] : result ) : this.each(function(idx){ if (this.nodeType !== 1) return if (isObject(name)) for (key in name) setAttribute(this, key, name[key]) else setAttribute(this, name, funcArg(this, value, idx, this.getAttribute(name))) }) }, removeAttr: function(name){ return this.each(function(){ this.nodeType === 1 && setAttribute(this, name) }) }, prop: function(name, value){ return (value === undefined) ? (this[0] && this[0][name]) : this.each(function(idx){ this[name] = funcArg(this, value, idx, this[name]) }) }, data: function(name, value){ var data = this.attr('data-' + dasherize(name), value) return data !== null ? deserializeValue(data) : undefined }, val: function(value){ return (value === undefined) ? (this[0] && (this[0].multiple ? $(this[0]).find('option').filter(function(o){ return this.selected }).pluck('value') : this[0].value) ) : this.each(function(idx){ this.value = funcArg(this, value, idx, this.value) }) }, offset: function(coordinates){ if (coordinates) return this.each(function(index){ var $this = $(this), coords = funcArg(this, coordinates, index, $this.offset()), parentOffset = $this.offsetParent().offset(), props = { top: coords.top - parentOffset.top, left: coords.left - parentOffset.left } if ($this.css('position') == 'static') props['position'] = 'relative' $this.css(props) }) if (this.length==0) return null var obj = this[0].getBoundingClientRect() return { left: obj.left + window.pageXOffset, top: obj.top + window.pageYOffset, width: Math.round(obj.width), height: Math.round(obj.height) } }, css: function(property, value){ if (arguments.length < 2 && typeof property == 'string') return this[0] && (this[0].style[camelize(property)] || getComputedStyle(this[0], '').getPropertyValue(property)) var css = '' if (type(property) == 'string') { if (!value && value !== 0) this.each(function(){ this.style.removeProperty(dasherize(property)) }) else css = dasherize(property) + ":" + maybeAddPx(property, value) } else { for (key in property) if (!property[key] && property[key] !== 0) this.each(function(){ this.style.removeProperty(dasherize(key)) }) else css += dasherize(key) + ':' + maybeAddPx(key, property[key]) + ';' } return this.each(function(){ this.style.cssText += ';' + css }) }, index: function(element){ return element ? this.indexOf($(element)[0]) : this.parent().children().indexOf(this[0]) }, hasClass: function(name){ return emptyArray.some.call(this, function(el){ return this.test(className(el)) }, classRE(name)) }, addClass: function(name){ return this.each(function(idx){ classList = [] var cls = className(this), newName = funcArg(this, name, idx, cls) newName.split(/\s+/g).forEach(function(klass){ if (!$(this).hasClass(klass)) classList.push(klass) }, this) classList.length && className(this, cls + (cls ? " " : "") + classList.join(" ")) }) }, removeClass: function(name){ return this.each(function(idx){ if (name === undefined) return className(this, '') classList = className(this) funcArg(this, name, idx, classList).split(/\s+/g).forEach(function(klass){ classList = classList.replace(classRE(klass), " ") }) className(this, classList.trim()) }) }, toggleClass: function(name, when){ return this.each(function(idx){ var $this = $(this), names = funcArg(this, name, idx, className(this)) names.split(/\s+/g).forEach(function(klass){ (when === undefined ? !$this.hasClass(klass) : when) ? $this.addClass(klass) : $this.removeClass(klass) }) }) }, scrollTop: function(){ if (!this.length) return return ('scrollTop' in this[0]) ? this[0].scrollTop : this[0].scrollY }, position: function() { if (!this.length) return var elem = this[0], // Get *real* offsetParent offsetParent = this.offsetParent(), // Get correct offsets offset = this.offset(), parentOffset = rootNodeRE.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset() // Subtract element margins // note: when an element has margin: auto the offsetLeft and marginLeft // are the same in Safari causing offset.left to incorrectly be 0 offset.top -= parseFloat( $(elem).css('margin-top') ) || 0 offset.left -= parseFloat( $(elem).css('margin-left') ) || 0 // Add offsetParent borders parentOffset.top += parseFloat( $(offsetParent[0]).css('border-top-width') ) || 0 parentOffset.left += parseFloat( $(offsetParent[0]).css('border-left-width') ) || 0 // Subtract the two offsets return { top: offset.top - parentOffset.top, left: offset.left - parentOffset.left } }, offsetParent: function() { return this.map(function(){ var parent = this.offsetParent || document.body while (parent && !rootNodeRE.test(parent.nodeName) && $(parent).css("position") == "static") parent = parent.offsetParent return parent }) } } // for now $.fn.detach = $.fn.remove // Generate the `width` and `height` functions ;['width', 'height'].forEach(function(dimension){ $.fn[dimension] = function(value){ var offset, el = this[0], Dimension = dimension.replace(/./, function(m){ return m[0].toUpperCase() }) if (value === undefined) return isWindow(el) ? el['inner' + Dimension] : isDocument(el) ? el.documentElement['offset' + Dimension] : (offset = this.offset()) && offset[dimension] else return this.each(function(idx){ el = $(this) el.css(dimension, funcArg(this, value, idx, el[dimension]())) }) } }) function traverseNode(node, fun) { fun(node) for (var key in node.childNodes) traverseNode(node.childNodes[key], fun) } // Generate the `after`, `prepend`, `before`, `append`, // `insertAfter`, `insertBefore`, `appendTo`, and `prependTo` methods. adjacencyOperators.forEach(function(operator, operatorIndex) { var inside = operatorIndex % 2 //=> prepend, append $.fn[operator] = function(){ // arguments can be nodes, arrays of nodes, Zepto objects and HTML strings var argType, nodes = $.map(arguments, function(arg) { argType = type(arg) return argType == "object" || argType == "array" || arg == null ? arg : zepto.fragment(arg) }), parent, copyByClone = this.length > 1 if (nodes.length < 1) return this return this.each(function(_, target){ parent = inside ? target : target.parentNode // convert all methods to a "before" operation target = operatorIndex == 0 ? target.nextSibling : operatorIndex == 1 ? target.firstChild : operatorIndex == 2 ? target : null nodes.forEach(function(node){ if (copyByClone) node = node.cloneNode(true) else if (!parent) return $(node).remove() traverseNode(parent.insertBefore(node, target), function(el){ if (el.nodeName != null && el.nodeName.toUpperCase() === 'SCRIPT' && (!el.type || el.type === 'text/javascript') && !el.src) window['eval'].call(window, el.innerHTML) }) }) }) } // after => insertAfter // prepend => prependTo // before => insertBefore // append => appendTo $.fn[inside ? operator+'To' : 'insert'+(operatorIndex ? 'Before' : 'After')] = function(html){ $(html)[operator](this) return this } }) zepto.Z.prototype = $.fn // Export internal API functions in the `$.zepto` namespace zepto.uniq = uniq zepto.deserializeValue = deserializeValue $.zepto = zepto return $ })() window.Zepto = Zepto '$' in window || (window.$ = Zepto) ;(function($){ function detect(ua){ var os = this.os = {}, browser = this.browser = {}, webkit = ua.match(/WebKit\/([\d.]+)/), android = ua.match(/(Android)\s+([\d.]+)/), ipad = ua.match(/(iPad).*OS\s([\d_]+)/), iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/), webos = ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/), touchpad = webos && ua.match(/TouchPad/), kindle = ua.match(/Kindle\/([\d.]+)/), silk = ua.match(/Silk\/([\d._]+)/), blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/), bb10 = ua.match(/(BB10).*Version\/([\d.]+)/), rimtabletos = ua.match(/(RIM\sTablet\sOS)\s([\d.]+)/), playbook = ua.match(/PlayBook/), chrome = ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/), firefox = ua.match(/Firefox\/([\d.]+)/) // Todo: clean this up with a better OS/browser seperation: // - discern (more) between multiple browsers on android // - decide if kindle fire in silk mode is android or not // - Firefox on Android doesn't specify the Android version // - possibly devide in os, device and browser hashes if (browser.webkit = !!webkit) browser.version = webkit[1] if (android) os.android = true, os.version = android[2] if (iphone) os.ios = os.iphone = true, os.version = iphone[2].replace(/_/g, '.') if (ipad) os.ios = os.ipad = true, os.version = ipad[2].replace(/_/g, '.') if (webos) os.webos = true, os.version = webos[2] if (touchpad) os.touchpad = true if (blackberry) os.blackberry = true, os.version = blackberry[2] if (bb10) os.bb10 = true, os.version = bb10[2] if (rimtabletos) os.rimtabletos = true, os.version = rimtabletos[2] if (playbook) browser.playbook = true if (kindle) os.kindle = true, os.version = kindle[1] if (silk) browser.silk = true, browser.version = silk[1] if (!silk && os.android && ua.match(/Kindle Fire/)) browser.silk = true if (chrome) browser.chrome = true, browser.version = chrome[1] if (firefox) browser.firefox = true, browser.version = firefox[1] os.tablet = !!(ipad || playbook || (android && !ua.match(/Mobile/)) || (firefox && ua.match(/Tablet/))) os.phone = !!(!os.tablet && (android || iphone || webos || blackberry || bb10 || (chrome && ua.match(/Android/)) || (chrome && ua.match(/CriOS\/([\d.]+)/)) || (firefox && ua.match(/Mobile/)))) } detect.call($, navigator.userAgent) // make available to unit tests $.__detect = detect })(Zepto) ;(function($){ var $$ = $.zepto.qsa, handlers = {}, _zid = 1, specialEvents={}, hover = { mouseenter: 'mouseover', mouseleave: 'mouseout' } specialEvents.click = specialEvents.mousedown = specialEvents.mouseup = specialEvents.mousemove = 'MouseEvents' function zid(element) { return element._zid || (element._zid = _zid++) } function findHandlers(element, event, fn, selector) { event = parse(event) if (event.ns) var matcher = matcherFor(event.ns) return (handlers[zid(element)] || []).filter(function(handler) { return handler && (!event.e || handler.e == event.e) && (!event.ns || matcher.test(handler.ns)) && (!fn || zid(handler.fn) === zid(fn)) && (!selector || handler.sel == selector) }) } function parse(event) { var parts = ('' + event).split('.') return {e: parts[0], ns: parts.slice(1).sort().join(' ')} } function matcherFor(ns) { return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)') } function eachEvent(events, fn, iterator){ if ($.type(events) != "string") $.each(events, iterator) else events.split(/\s/).forEach(function(type){ iterator(type, fn) }) } function eventCapture(handler, captureSetting) { return handler.del && (handler.e == 'focus' || handler.e == 'blur') || !!captureSetting } function realEvent(type) { return hover[type] || type } function add(element, events, fn, selector, getDelegate, capture){ var id = zid(element), set = (handlers[id] || (handlers[id] = [])) eachEvent(events, fn, function(event, fn){ var handler = parse(event) handler.fn = fn handler.sel = selector // emulate mouseenter, mouseleave if (handler.e in hover) fn = function(e){ var related = e.relatedTarget if (!related || (related !== this && !$.contains(this, related))) return handler.fn.apply(this, arguments) } handler.del = getDelegate && getDelegate(fn, event) var callback = handler.del || fn handler.proxy = function (e) { var result = callback.apply(element, [e].concat(e.data)) if (result === false) e.preventDefault(), e.stopPropagation() return result } handler.i = set.length set.push(handler) element.addEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture)) }) } function remove(element, events, fn, selector, capture){ var id = zid(element) eachEvent(events || '', fn, function(event, fn){ findHandlers(element, event, fn, selector).forEach(function(handler){ delete handlers[id][handler.i] element.removeEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture)) }) }) } $.event = { add: add, remove: remove } $.proxy = function(fn, context) { if ($.isFunction(fn)) { var proxyFn = function(){ return fn.apply(context, arguments) } proxyFn._zid = zid(fn) return proxyFn } else if (typeof context == 'string') { return $.proxy(fn[context], fn) } else { throw new TypeError("expected function") } } $.fn.bind = function(event, callback){ return this.each(function(){ add(this, event, callback) }) } $.fn.unbind = function(event, callback){ return this.each(function(){ remove(this, event, callback) }) } $.fn.one = function(event, callback){ return this.each(function(i, element){ add(this, event, callback, null, function(fn, type){ return function(){ var result = fn.apply(element, arguments) remove(element, type, fn) return result } }) }) } var returnTrue = function(){return true}, returnFalse = function(){return false}, ignoreProperties = /^([A-Z]|layer[XY]$)/, eventMethods = { preventDefault: 'isDefaultPrevented', stopImmediatePropagation: 'isImmediatePropagationStopped', stopPropagation: 'isPropagationStopped' } function createProxy(event) { var key, proxy = { originalEvent: event } for (key in event) if (!ignoreProperties.test(key) && event[key] !== undefined) proxy[key] = event[key] $.each(eventMethods, function(name, predicate) { proxy[name] = function(){ this[predicate] = returnTrue return event[name].apply(event, arguments) } proxy[predicate] = returnFalse }) return proxy } // emulates the 'defaultPrevented' property for browsers that have none function fix(event) { if (!('defaultPrevented' in event)) { event.defaultPrevented = false var prevent = event.preventDefault event.preventDefault = function() { this.defaultPrevented = true prevent.call(this) } } } $.fn.delegate = function(selector, event, callback){ return this.each(function(i, element){ add(element, event, callback, selector, function(fn){ return function(e){ var evt, match = $(e.target).closest(selector, element).get(0) if (match) { evt = $.extend(createProxy(e), {currentTarget: match, liveFired: element}) return fn.apply(match, [evt].concat([].slice.call(arguments, 1))) } } }) }) } $.fn.undelegate = function(selector, event, callback){ return this.each(function(){ remove(this, event, callback, selector) }) } $.fn.live = function(event, callback){ $(document.body).delegate(this.selector, event, callback) return this } $.fn.die = function(event, callback){ $(document.body).undelegate(this.selector, event, callback) return this } $.fn.on = function(event, selector, callback){ return !selector || $.isFunction(selector) ? this.bind(event, selector || callback) : this.delegate(selector, event, callback) } $.fn.off = function(event, selector, callback){ return !selector || $.isFunction(selector) ? this.unbind(event, selector || callback) : this.undelegate(selector, event, callback) } $.fn.trigger = function(event, data){ if (typeof event == 'string' || $.isPlainObject(event)) event = $.Event(event) fix(event) event.data = data return this.each(function(){ // items in the collection might not be DOM elements // (todo: possibly support events on plain old objects) if('dispatchEvent' in this) this.dispatchEvent(event) }) } // triggers event handlers on current element just as if an event occurred, // doesn't trigger an actual event, doesn't bubble $.fn.triggerHandler = function(event, data){ var e, result this.each(function(i, element){ e = createProxy(typeof event == 'string' ? $.Event(event) : event) e.data = data e.target = element $.each(findHandlers(element, event.type || event), function(i, handler){ result = handler.proxy(e) if (e.isImmediatePropagationStopped()) return false }) }) return result } // shortcut methods for `.bind(event, fn)` for each event type ;('focusin focusout load resize scroll unload click dblclick '+ 'mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave '+ 'change select keydown keypress keyup error').split(' ').forEach(function(event) { $.fn[event] = function(callback) { return callback ? this.bind(event, callback) : this.trigger(event) } }) ;['focus', 'blur'].forEach(function(name) { $.fn[name] = function(callback) { if (callback) this.bind(name, callback) else this.each(function(){ try { this[name]() } catch(e) {} }) return this } }) $.Event = function(type, props) { if (typeof type != 'string') props = type, type = props.type var event = document.createEvent(specialEvents[type] || 'Events'), bubbles = true if (props) for (var name in props) (name == 'bubbles') ? (bubbles = !!props[name]) : (event[name] = props[name]) event.initEvent(type, bubbles, true, null, null, null, null, null, null, null, null, null, null, null, null) event.isDefaultPrevented = function(){ return this.defaultPrevented } return event } })(Zepto) ;(function($){ var jsonpID = 0, document = window.document, key, name, rscript = /)<[^<]*)*<\/script>/gi, scriptTypeRE = /^(?:text|application)\/javascript/i, xmlTypeRE = /^(?:text|application)\/xml/i, jsonType = 'application/json', htmlType = 'text/html', blankRE = /^\s*$/ // trigger a custom event and return false if it was cancelled function triggerAndReturn(context, eventName, data) { var event = $.Event(eventName) $(context).trigger(event, data) return !event.defaultPrevented } // trigger an Ajax "global" event function triggerGlobal(settings, context, eventName, data) { if (settings.global) return triggerAndReturn(context || document, eventName, data) } // Number of active Ajax requests $.active = 0 function ajaxStart(settings) { if (settings.global && $.active++ === 0) triggerGlobal(settings, null, 'ajaxStart') } function ajaxStop(settings) { if (settings.global && !(--$.active)) triggerGlobal(settings, null, 'ajaxStop') } // triggers an extra global event "ajaxBeforeSend" that's like "ajaxSend" but cancelable function ajaxBeforeSend(xhr, settings) { var context = settings.context if (settings.beforeSend.call(context, xhr, settings) === false || triggerGlobal(settings, context, 'ajaxBeforeSend', [xhr, settings]) === false) return false triggerGlobal(settings, context, 'ajaxSend', [xhr, settings]) } function ajaxSuccess(data, xhr, settings) { var context = settings.context, status = 'success' settings.success.call(context, data, status, xhr) triggerGlobal(settings, context, 'ajaxSuccess', [xhr, settings, data]) ajaxComplete(status, xhr, settings) } // type: "timeout", "error", "abort", "parsererror" function ajaxError(error, type, xhr, settings) { var context = settings.context settings.error.call(context, xhr, type, error) triggerGlobal(settings, context, 'ajaxError', [xhr, settings, error]) ajaxComplete(type, xhr, settings) } // status: "success", "notmodified", "error", "timeout", "abort", "parsererror" function ajaxComplete(status, xhr, settings) { var context = settings.context settings.complete.call(context, xhr, status) triggerGlobal(settings, context, 'ajaxComplete', [xhr, settings]) ajaxStop(settings) } // Empty function, used as default callback function empty() {} $.ajaxJSONP = function(options){ if (!('type' in options)) return $.ajax(options) var callbackName = 'jsonp' + (++jsonpID), script = document.createElement('script'), cleanup = function() { clearTimeout(abortTimeout) $(script).remove() delete window[callbackName] }, abort = function(type){ cleanup() // In case of manual abort or timeout, keep an empty function as callback // so that the SCRIPT tag that eventually loads won't result in an error. if (!type || type == 'timeout') window[callbackName] = empty ajaxError(null, type || 'abort', xhr, options) }, xhr = { abort: abort }, abortTimeout if (ajaxBeforeSend(xhr, options) === false) { abort('abort') return false } window[callbackName] = function(data){ cleanup() ajaxSuccess(data, xhr, options) } script.onerror = function() { abort('error') } script.src = options.url.replace(/=\?/, '=' + callbackName) $('head').append(script) if (options.timeout > 0) abortTimeout = setTimeout(function(){ abort('timeout') }, options.timeout) return xhr } $.ajaxSettings = { // Default type of request type: 'GET', // Callback that is executed before request beforeSend: empty, // Callback that is executed if the request succeeds success: empty, // Callback that is executed the the server drops error error: empty, // Callback that is executed on request complete (both: error and success) complete: empty, // The context for the callbacks context: null, // Whether to trigger "global" Ajax events global: true, // Transport xhr: function () { return new window.XMLHttpRequest() }, // MIME types mapping accepts: { script: 'text/javascript, application/javascript', json: jsonType, xml: 'application/xml, text/xml', html: htmlType, text: 'text/plain' }, // Whether the request is to another domain crossDomain: false, // Default timeout timeout: 0, // Whether data should be serialized to string processData: true, // Whether the browser should be allowed to cache GET responses cache: true, } function mimeToDataType(mime) { if (mime) mime = mime.split(';', 2)[0] return mime && ( mime == htmlType ? 'html' : mime == jsonType ? 'json' : scriptTypeRE.test(mime) ? 'script' : xmlTypeRE.test(mime) && 'xml' ) || 'text' } function appendQuery(url, query) { return (url + '&' + query).replace(/[&?]{1,2}/, '?') } // serialize payload and append it to the URL for GET requests function serializeData(options) { if (options.processData && options.data && $.type(options.data) != "string") options.data = $.param(options.data, options.traditional) if (options.data && (!options.type || options.type.toUpperCase() == 'GET')) options.url = appendQuery(options.url, options.data) } $.ajax = function(options){ var settings = $.extend({}, options || {}) for (key in $.ajaxSettings) if (settings[key] === undefined) settings[key] = $.ajaxSettings[key] ajaxStart(settings) if (!settings.crossDomain) settings.crossDomain = /^([\w-]+:)?\/\/([^\/]+)/.test(settings.url) && RegExp.$2 != window.location.host if (!settings.url) settings.url = window.location.toString() serializeData(settings) if (settings.cache === false) settings.url = appendQuery(settings.url, '_=' + Date.now()) var dataType = settings.dataType, hasPlaceholder = /=\?/.test(settings.url) if (dataType == 'jsonp' || hasPlaceholder) { if (!hasPlaceholder) settings.url = appendQuery(settings.url, 'callback=?') return $.ajaxJSONP(settings) } var mime = settings.accepts[dataType], baseHeaders = { }, protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol, xhr = settings.xhr(), abortTimeout if (!settings.crossDomain) baseHeaders['X-Requested-With'] = 'XMLHttpRequest' if (mime) { baseHeaders['Accept'] = mime if (mime.indexOf(',') > -1) mime = mime.split(',', 2)[0] xhr.overrideMimeType && xhr.overrideMimeType(mime) } if (settings.contentType || (settings.contentType !== false && settings.data && settings.type.toUpperCase() != 'GET')) baseHeaders['Content-Type'] = (settings.contentType || 'application/x-www-form-urlencoded') settings.headers = $.extend(baseHeaders, settings.headers || {}) xhr.onreadystatechange = function(){ if (xhr.readyState == 4) { xhr.onreadystatechange = empty; clearTimeout(abortTimeout) var result, error = false if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304 || (xhr.status == 0 && protocol == 'file:')) { dataType = dataType || mimeToDataType(xhr.getResponseHeader('content-type')) result = xhr.responseText try { // http://perfectionkills.com/global-eval-what-are-the-options/ if (dataType == 'script') (1,eval)(result) else if (dataType == 'xml') result = xhr.responseXML else if (dataType == 'json') result = blankRE.test(result) ? null : $.parseJSON(result) } catch (e) { error = e } if (error) ajaxError(error, 'parsererror', xhr, settings) else ajaxSuccess(result, xhr, settings) } else { ajaxError(null, xhr.status ? 'error' : 'abort', xhr, settings) } } } var async = 'async' in settings ? settings.async : true xhr.open(settings.type, settings.url, async) for (name in settings.headers) xhr.setRequestHeader(name, settings.headers[name]) if (ajaxBeforeSend(xhr, settings) === false) { xhr.abort() return false } if (settings.timeout > 0) abortTimeout = setTimeout(function(){ xhr.onreadystatechange = empty xhr.abort() ajaxError(null, 'timeout', xhr, settings) }, settings.timeout) // avoid sending empty string (#319) xhr.send(settings.data ? settings.data : null) return xhr } // handle optional data/success arguments function parseArguments(url, data, success, dataType) { var hasData = !$.isFunction(data) return { url: url, data: hasData ? data : undefined, success: !hasData ? data : $.isFunction(success) ? success : undefined, dataType: hasData ? dataType || success : success } } $.get = function(url, data, success, dataType){ return $.ajax(parseArguments.apply(null, arguments)) } $.post = function(url, data, success, dataType){ var options = parseArguments.apply(null, arguments) options.type = 'POST' return $.ajax(options) } $.getJSON = function(url, data, success){ var options = parseArguments.apply(null, arguments) options.dataType = 'json' return $.ajax(options) } $.fn.load = function(url, data, success){ if (!this.length) return this var self = this, parts = url.split(/\s/), selector, options = parseArguments(url, data, success), callback = options.success if (parts.length > 1) options.url = parts[0], selector = parts[1] options.success = function(response){ self.html(selector ? $('
            ').html(response.replace(rscript, "")).find(selector) : response) callback && callback.apply(self, arguments) } $.ajax(options) return this } var escape = encodeURIComponent function serialize(params, obj, traditional, scope){ var type, array = $.isArray(obj) $.each(obj, function(key, value) { type = $.type(value) if (scope) key = traditional ? scope : scope + '[' + (array ? '' : key) + ']' // handle data in serializeArray() format if (!scope && array) params.add(value.name, value.value) // recurse into nested objects else if (type == "array" || (!traditional && type == "object")) serialize(params, value, traditional, key) else params.add(key, value) }) } $.param = function(obj, traditional){ var params = [] params.add = function(k, v){ this.push(escape(k) + '=' + escape(v)) } serialize(params, obj, traditional) return params.join('&').replace(/%20/g, '+') } })(Zepto) ;(function ($) { $.fn.serializeArray = function () { var result = [], el $( Array.prototype.slice.call(this.get(0).elements) ).each(function () { el = $(this) var type = el.attr('type') if (this.nodeName.toLowerCase() != 'fieldset' && !this.disabled && type != 'submit' && type != 'reset' && type != 'button' && ((type != 'radio' && type != 'checkbox') || this.checked)) result.push({ name: el.attr('name'), value: el.val() }) }) return result } $.fn.serialize = function () { var result = [] this.serializeArray().forEach(function (elm) { result.push( encodeURIComponent(elm.name) + '=' + encodeURIComponent(elm.value) ) }) return result.join('&') } $.fn.submit = function (callback) { if (callback) this.bind('submit', callback) else if (this.length) { var event = $.Event('submit') this.eq(0).trigger(event) if (!event.defaultPrevented) this.get(0).submit() } return this } })(Zepto) ;(function($, undefined){ var prefix = '', eventPrefix, endEventName, endAnimationName, vendors = { Webkit: 'webkit', Moz: '', O: 'o', ms: 'MS' }, document = window.document, testEl = document.createElement('div'), supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i, transform, transitionProperty, transitionDuration, transitionTiming, animationName, animationDuration, animationTiming, cssReset = {} function dasherize(str) { return downcase(str.replace(/([a-z])([A-Z])/, '$1-$2')) } function downcase(str) { return str.toLowerCase() } function normalizeEvent(name) { return eventPrefix ? eventPrefix + name : downcase(name) } $.each(vendors, function(vendor, event){ if (testEl.style[vendor + 'TransitionProperty'] !== undefined) { prefix = '-' + downcase(vendor) + '-' eventPrefix = event return false } }) transform = prefix + 'transform' cssReset[transitionProperty = prefix + 'transition-property'] = cssReset[transitionDuration = prefix + 'transition-duration'] = cssReset[transitionTiming = prefix + 'transition-timing-function'] = cssReset[animationName = prefix + 'animation-name'] = cssReset[animationDuration = prefix + 'animation-duration'] = cssReset[animationTiming = prefix + 'animation-timing-function'] = '' $.fx = { off: (eventPrefix === undefined && testEl.style.transitionProperty === undefined), speeds: { _default: 400, fast: 200, slow: 600 }, cssPrefix: prefix, transitionEnd: normalizeEvent('TransitionEnd'), animationEnd: normalizeEvent('AnimationEnd') } $.fn.animate = function(properties, duration, ease, callback){ if ($.isPlainObject(duration)) ease = duration.easing, callback = duration.complete, duration = duration.duration if (duration) duration = (typeof duration == 'number' ? duration : ($.fx.speeds[duration] || $.fx.speeds._default)) / 1000 return this.anim(properties, duration, ease, callback) } $.fn.anim = function(properties, duration, ease, callback){ var key, cssValues = {}, cssProperties, transforms = '', that = this, wrappedCallback, endEvent = $.fx.transitionEnd if (duration === undefined) duration = 0.4 if ($.fx.off) duration = 0 if (typeof properties == 'string') { // keyframe animation cssValues[animationName] = properties cssValues[animationDuration] = duration + 's' cssValues[animationTiming] = (ease || 'linear') endEvent = $.fx.animationEnd } else { cssProperties = [] // CSS transitions for (key in properties) if (supportedTransforms.test(key)) transforms += key + '(' + properties[key] + ') ' else cssValues[key] = properties[key], cssProperties.push(dasherize(key)) if (transforms) cssValues[transform] = transforms, cssProperties.push(transform) if (duration > 0 && typeof properties === 'object') { cssValues[transitionProperty] = cssProperties.join(', ') cssValues[transitionDuration] = duration + 's' cssValues[transitionTiming] = (ease || 'linear') } } wrappedCallback = function(event){ if (typeof event !== 'undefined') { if (event.target !== event.currentTarget) return // makes sure the event didn't bubble from "below" $(event.target).unbind(endEvent, wrappedCallback) } $(this).css(cssReset) callback && callback.call(this) } if (duration > 0) this.bind(endEvent, wrappedCallback) // trigger page reflow so new elements can animate this.size() && this.get(0).clientLeft this.css(cssValues) if (duration <= 0) setTimeout(function() { that.each(function(){ wrappedCallback.call(this) }) }, 0) return this } testEl = null })(Zepto) ;(function($, undefined){ var document = window.document, docElem = document.documentElement, origShow = $.fn.show, origHide = $.fn.hide, origToggle = $.fn.toggle function anim(el, speed, opacity, scale, callback) { if (typeof speed == 'function' && !callback) callback = speed, speed = undefined var props = { opacity: opacity } if (scale) { props.scale = scale el.css($.fx.cssPrefix + 'transform-origin', '0 0') } return el.animate(props, speed, null, callback) } function hide(el, speed, scale, callback) { return anim(el, speed, 0, scale, function(){ origHide.call($(this)) callback && callback.call(this) }) } $.fn.show = function(speed, callback) { origShow.call(this) if (speed === undefined) speed = 0 else this.css('opacity', 0) return anim(this, speed, 1, '1,1', callback) } $.fn.hide = function(speed, callback) { if (speed === undefined) return origHide.call(this) else return hide(this, speed, '0,0', callback) } $.fn.toggle = function(speed, callback) { if (speed === undefined || typeof speed == 'boolean') return origToggle.call(this, speed) else return this.each(function(){ var el = $(this) el[el.css('display') == 'none' ? 'show' : 'hide'](speed, callback) }) } $.fn.fadeTo = function(speed, opacity, callback) { return anim(this, speed, opacity, null, callback) } $.fn.fadeIn = function(speed, callback) { var target = this.css('opacity') if (target > 0) this.css('opacity', 0) else target = 1 return origShow.call(this).fadeTo(speed, target, callback) } $.fn.fadeOut = function(speed, callback) { return hide(this, speed, null, callback) } $.fn.fadeToggle = function(speed, callback) { return this.each(function(){ var el = $(this) el[ (el.css('opacity') == 0 || el.css('display') == 'none') ? 'fadeIn' : 'fadeOut' ](speed, callback) }) } })(Zepto) ;(function($) { var data = {}, dataAttr = $.fn.data, camelize = $.camelCase, exp = $.expando = 'Zepto' + (+new Date()) // Get value from node: // 1. first try key as given, // 2. then try camelized key, // 3. fall back to reading "data-*" attribute. function getData(node, name) { var id = node[exp], store = id && data[id] if (name === undefined) return store || setData(node) else { if (store) { if (name in store) return store[name] var camelName = camelize(name) if (camelName in store) return store[camelName] } return dataAttr.call($(node), name) } } // Store value under camelized key on node function setData(node, name, value) { var id = node[exp] || (node[exp] = ++$.uuid), store = data[id] || (data[id] = attributeData(node)) if (name !== undefined) store[camelize(name)] = value return store } // Read all "data-*" attributes from a node function attributeData(node) { var store = {} $.each(node.attributes, function(i, attr){ if (attr.name.indexOf('data-') == 0) store[camelize(attr.name.replace('data-', ''))] = $.zepto.deserializeValue(attr.value) }) return store } $.fn.data = function(name, value) { return value === undefined ? // set multiple values via object $.isPlainObject(name) ? this.each(function(i, node){ $.each(name, function(key, value){ setData(node, key, value) }) }) : // get value from first element this.length == 0 ? undefined : getData(this[0], name) : // set value on all elements this.each(function(){ setData(this, name, value) }) } $.fn.removeData = function(names) { if (typeof names == 'string') names = names.split(/\s+/) return this.each(function(){ var id = this[exp], store = id && data[id] if (store) $.each(names, function(){ delete store[camelize(this)] }) }) } })(Zepto) ;(function($){ var cache = [], timeout $.fn.remove = function(){ return this.each(function(){ if(this.parentNode){ if(this.tagName === 'IMG'){ cache.push(this) this.src = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=' if (timeout) clearTimeout(timeout) timeout = setTimeout(function(){ cache = [] }, 60000) } this.parentNode.removeChild(this) } }) } })(Zepto) ;(function($){ var zepto = $.zepto, oldQsa = zepto.qsa, oldMatches = zepto.matches function visible(elem){ elem = $(elem) return !!(elem.width() || elem.height()) && elem.css("display") !== "none" } // Implements a subset from: // http://api.jquery.com/category/selectors/jquery-selector-extensions/ // // Each filter function receives the current index, all nodes in the // considered set, and a value if there were parentheses. The value // of `this` is the node currently being considered. The function returns the // resulting node(s), null, or undefined. // // Complex selectors are not supported: // li:has(label:contains("foo")) + li:has(label:contains("bar")) // ul.inner:first > li var filters = $.expr[':'] = { visible: function(){ if (visible(this)) return this }, hidden: function(){ if (!visible(this)) return this }, selected: function(){ if (this.selected) return this }, checked: function(){ if (this.checked) return this }, parent: function(){ return this.parentNode }, first: function(idx){ if (idx === 0) return this }, last: function(idx, nodes){ if (idx === nodes.length - 1) return this }, eq: function(idx, _, value){ if (idx === value) return this }, contains: function(idx, _, text){ if ($(this).text().indexOf(text) > -1) return this }, has: function(idx, _, sel){ if (zepto.qsa(this, sel).length) return this } } var filterRe = new RegExp('(.*):(\\w+)(?:\\(([^)]+)\\))?$\\s*'), childRe = /^\s*>/, classTag = 'Zepto' + (+new Date()) function process(sel, fn) { // quote the hash in `a[href^=#]` expression sel = sel.replace(/=#\]/g, '="#"]') var filter, arg, match = filterRe.exec(sel) if (match && match[2] in filters) { filter = filters[match[2]], arg = match[3] sel = match[1] if (arg) { var num = Number(arg) if (isNaN(num)) arg = arg.replace(/^["']|["']$/g, '') else arg = num } } return fn(sel, filter, arg) } zepto.qsa = function(node, selector) { return process(selector, function(sel, filter, arg){ try { var taggedParent if (!sel && filter) sel = '*' else if (childRe.test(sel)) // support "> *" child queries by tagging the parent node with a // unique class and prepending that classname onto the selector taggedParent = $(node).addClass(classTag), sel = '.'+classTag+' '+sel var nodes = oldQsa(node, sel) } catch(e) { console.error('error performing selector: %o', selector) throw e } finally { if (taggedParent) taggedParent.removeClass(classTag) } return !filter ? nodes : zepto.uniq($.map(nodes, function(n, i){ return filter.call(n, i, nodes, arg) })) }) } zepto.matches = function(node, selector){ return process(selector, function(sel, filter, arg){ return (!sel || oldMatches(node, sel)) && (!filter || filter.call(node, null, arg) === node) }) } })(Zepto) ;(function($){ var touch = {}, touchTimeout, tapTimeout, swipeTimeout, longTapDelay = 750, longTapTimeout function parentIfText(node) { return 'tagName' in node ? node : node.parentNode } function swipeDirection(x1, x2, y1, y2) { var xDelta = Math.abs(x1 - x2), yDelta = Math.abs(y1 - y2) return xDelta >= yDelta ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down') } function longTap() { longTapTimeout = null if (touch.last) { touch.el.trigger('longTap') touch = {} } } function cancelLongTap() { if (longTapTimeout) clearTimeout(longTapTimeout) longTapTimeout = null } function cancelAll() { if (touchTimeout) clearTimeout(touchTimeout) if (tapTimeout) clearTimeout(tapTimeout) if (swipeTimeout) clearTimeout(swipeTimeout) if (longTapTimeout) clearTimeout(longTapTimeout) touchTimeout = tapTimeout = swipeTimeout = longTapTimeout = null touch = {} } $(document).ready(function(){ var now, delta $(document.body) .bind('touchstart', function(e){ now = Date.now() delta = now - (touch.last || now) touch.el = $(parentIfText(e.touches[0].target)) touchTimeout && clearTimeout(touchTimeout) touch.x1 = e.touches[0].pageX touch.y1 = e.touches[0].pageY if (delta > 0 && delta <= 250) touch.isDoubleTap = true touch.last = now longTapTimeout = setTimeout(longTap, longTapDelay) }) .bind('touchmove', function(e){ cancelLongTap() touch.x2 = e.touches[0].pageX touch.y2 = e.touches[0].pageY if (Math.abs(touch.x1 - touch.x2) > 10) e.preventDefault() }) .bind('touchend', function(e){ cancelLongTap() // swipe if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) || (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30)) swipeTimeout = setTimeout(function() { touch.el.trigger('swipe') touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2))) touch = {} }, 0) // normal tap else if ('last' in touch) // delay by one tick so we can cancel the 'tap' event if 'scroll' fires // ('tap' fires before 'scroll') tapTimeout = setTimeout(function() { // trigger universal 'tap' with the option to cancelTouch() // (cancelTouch cancels processing of single vs double taps for faster 'tap' response) var event = $.Event('tap') event.cancelTouch = cancelAll touch.el.trigger(event) // trigger double tap immediately if (touch.isDoubleTap) { touch.el.trigger('doubleTap') touch = {} } // trigger single tap after 250ms of inactivity else { touchTimeout = setTimeout(function(){ touchTimeout = null touch.el.trigger('singleTap') touch = {} }, 250) } }, 0) }) .bind('touchcancel', cancelAll) $(window).bind('scroll', cancelAll) }) ;['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(m){ $.fn[m] = function(callback){ return this.bind(m, callback) } }) })(Zepto) ================================================ FILE: gmall-passport-web/src/main/resources/templates/index.html ================================================ 欢迎登录

            欢迎登录

            用户登录

            请输入账户名和密码
            ================================================ FILE: gmall-passport-web/src/test/java/com/lee/gmall/passport/GmallPassportWebApplicationTests.java ================================================ package com.lee.gmall.passport; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GmallPassportWebApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: gmall-service-util/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-service-util 1.0-SNAPSHOT com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-common-util 1.0-SNAPSHOT org.slf4j slf4j-log4j12 org.springframework.boot spring-boot-starter-jdbc org.mybatis.spring.boot mybatis-spring-boot-starter mysql mysql-connector-java runtime redis.clients jedis ================================================ FILE: gmall-service-util/src/main/java/com/lee/gmall/util/RedisConfig.java ================================================ package com.lee.gmall.util; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class RedisConfig { //读取配置文件中的redis的ip地址 @Value("${spring.redis.host:disabled}") private String host; @Value("${spring.redis.port:0}") private int port; @Value("${spring.redis.database:0}") private int database; @Bean public RedisUtil getRedisUtil(){ if(host.equals("disabled")){ return null; } RedisUtil redisUtil=new RedisUtil(); redisUtil.initPool(host,port,database); return redisUtil; } } ================================================ FILE: gmall-service-util/src/main/java/com/lee/gmall/util/RedisUtil.java ================================================ package com.lee.gmall.util; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class RedisUtil { private JedisPool jedisPool; public void initPool(String host,int port ,int database){ JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxTotal(200); poolConfig.setMaxIdle(30); poolConfig.setBlockWhenExhausted(true); poolConfig.setMaxWaitMillis(10*1000); poolConfig.setTestOnBorrow(true); jedisPool=new JedisPool(poolConfig,host,port,20*1000); } public Jedis getJedis(){ Jedis jedis = jedisPool.getResource(); return jedis; } } ================================================ FILE: gmall-user/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-user 0.0.1-SNAPSHOT gmall-user Demo project for Spring Boot 1.8 1.0.10 2.6.0 0.10 com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-service-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-user/src/main/java/com/lee/gmall/GmallUserApplication.java ================================================ package com.lee.gmall; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication @MapperScan("com.lee.gmall.user.mapper") public class GmallUserApplication { public static void main(String[] args) { SpringApplication.run(GmallUserApplication.class, args); } } ================================================ FILE: gmall-user/src/main/java/com/lee/gmall/user/mapper/UserAddressMapper.java ================================================ package com.lee.gmall.user.mapper; import com.lee.gmall.bean.UserAddress; import tk.mybatis.mapper.common.Mapper; public interface UserAddressMapper extends Mapper { } ================================================ FILE: gmall-user/src/main/java/com/lee/gmall/user/mapper/UserInfoMapper.java ================================================ package com.lee.gmall.user.mapper; import com.lee.gmall.bean.UserInfo; import tk.mybatis.mapper.common.Mapper; public interface UserInfoMapper extends Mapper { } ================================================ FILE: gmall-user/src/main/java/com/lee/gmall/user/service/impl/UserServiceImpl.java ================================================ package com.lee.gmall.user.service.impl; import com.alibaba.dubbo.config.annotation.Service; import com.alibaba.fastjson.JSON; import com.lee.gmall.bean.UserAddress; import com.lee.gmall.bean.UserInfo; import com.lee.gmall.service.UserService; import com.lee.gmall.user.mapper.UserAddressMapper; import com.lee.gmall.user.mapper.UserInfoMapper; import com.lee.gmall.util.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import redis.clients.jedis.Jedis; import java.util.List; @Service public class UserServiceImpl implements UserService { @Autowired UserInfoMapper userInfoMapper; @Autowired UserAddressMapper userAddressMapper; @Autowired RedisUtil redisUtil; @Override public List userInfoList() { return userInfoMapper.selectAll(); } @Override public UserInfo login(UserInfo userInfo) { UserInfo user = userInfoMapper.selectOne(userInfo); if (user != null) { //同步缓存 Jedis jedis = redisUtil.getJedis(); jedis.set("user:" + user.getId() + ":info", JSON.toJSONString(user)); jedis.close(); } return user; } @Override public List getUserAddressList(String userId) { UserAddress userAddress = new UserAddress(); userAddress.setUserId(userId); List userAddressList = userAddressMapper.select(userAddress); return userAddressList; } } ================================================ FILE: gmall-user/src/main/resources/application.properties ================================================ server.port=8070 #jdbc spring.datasource.username=root spring.datasource.password=password spring.datasource.url=jdbc:mysql://localhost:3306/gmall0328?characterEncoding=UTF-8 #mybatis mybatis.configuration.map-underscore-to-camel-case=true mybatis.mapper-locations=classpath:mapper/*Mapper.xml #zookeeper spring.dubbo.registry.address=192.168.159.129:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-user spring.dubbo.protocol.name=dubbo spring.dubbo.base-package=com.lee.gmall #redis spring.redis.host=192.168.159.129 spring.redis.port=6379 spring.redis.database=0 ================================================ FILE: gmall-user/src/test/java/com/lee/gmall/user/GmallUserApplicationTests.java ================================================ package com.lee.gmall.user; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GmallUserApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: gmall-user-web/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-user-web 0.0.1-SNAPSHOT gmall-user-web Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test com.lee.gmall gmall-api 1.0-SNAPSHOT com.lee.gmall gmall-web-util 1.0-SNAPSHOT org.springframework.boot spring-boot-maven-plugin ================================================ FILE: gmall-user-web/src/main/java/com/lee/gmall/user/GmallUserWebApplication.java ================================================ package com.lee.gmall.user; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class GmallUserWebApplication { public static void main(String[] args) { SpringApplication.run(GmallUserWebApplication.class, args); } } ================================================ FILE: gmall-user-web/src/main/java/com/lee/gmall/user/controller/UserController.java ================================================ package com.lee.gmall.user.controller; import com.alibaba.dubbo.config.annotation.Reference; import com.lee.gmall.bean.UserInfo; import com.lee.gmall.service.UserService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class UserController { @Reference UserService userService; @RequestMapping("/userInfoList") public ResponseEntity> userInfoList() { List userInfoList = userService.userInfoList(); return ResponseEntity.ok(userInfoList); } } ================================================ FILE: gmall-user-web/src/main/resources/application.properties ================================================ server.port=8080 #zookeeper spring.dubbo.registry.address=192.168.142.130:2181 spring.dubbo.registry.protocol=zookeeper #dubbo spring.dubbo.application.name=gmall-user-web spring.dubbo.protocol.name=dubbo spring.dubbo.consumer.check=false spring.dubbo.consumer.timeout=60000 #logging.level.root=debug ================================================ FILE: gmall-user-web/src/test/java/com/lee/gmall/user/GmallUserWebApplicationTests.java ================================================ package com.lee.gmall.user; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GmallUserWebApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: gmall-web-util/pom.xml ================================================ 4.0.0 com.lee.gmall gmall-web-util 1.0-SNAPSHOT com.lee.gmall gmall-parent 1.0-SNAPSHOT com.lee.gmall gmall-common-util 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-thymeleaf net.sourceforge.nekohtml nekohtml xml-apis xml-apis org.apache.xmlgraphics batik-ext io.jsonwebtoken jjwt 0.9.0 ================================================ FILE: gmall-web-util/src/main/java/com/lee/gmall/annotation/LoginRequire.java ================================================ package com.lee.gmall.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface LoginRequire { boolean ifNeedSuccess() default true; } ================================================ FILE: gmall-web-util/src/main/java/com/lee/gmall/config/WebMvcConfiguration.java ================================================ package com.lee.gmall.config; import com.lee.gmall.interceptor.AuthInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration public class WebMvcConfiguration extends WebMvcConfigurerAdapter { @Override public void addInterceptors(InterceptorRegistry registry){ registry.addInterceptor(new AuthInterceptor()).addPathPatterns("/**"); super.addInterceptors(registry); } } ================================================ FILE: gmall-web-util/src/main/java/com/lee/gmall/interceptor/AuthInterceptor.java ================================================ package com.lee.gmall.interceptor; import com.lee.gmall.annotation.LoginRequire; import com.lee.gmall.util.CookieUtil; import com.lee.gmall.util.HttpClientUtil; import com.lee.gmall.util.JwtUtil; import com.lee.gmall.util.PassportUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; @Component public class AuthInterceptor extends HandlerInterceptorAdapter{ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HandlerMethod method = (HandlerMethod) handler; LoginRequire methodAnnotation = method.getMethodAnnotation(LoginRequire.class); //方法不需要验证身份 if (methodAnnotation == null) { return true; } String oldToken = CookieUtil.getCookieValue(request, "oldToken", true); String newToken = request.getParameter("newToken"); String token = ""; if (StringUtils.isNotBlank(oldToken) && StringUtils.isBlank(newToken)) { //用户登录过 token = oldToken; } if (StringUtils.isBlank(oldToken) && StringUtils.isNotBlank(newToken)) { //用户第一次登陆 token = newToken; } if (StringUtils.isNotBlank(oldToken) && StringUtils.isNotBlank(newToken)) { //用户登陆已过期 token = newToken; } //方法需要验证身份,且请求中没有token if (methodAnnotation.ifNeedSuccess() && StringUtils.isBlank(token)) { StringBuffer requestURL = request.getRequestURL(); response.sendRedirect("http://passport.gmall.com:8085/index?returnURL=" + requestURL); return false; } //方法需要验证身份,且请求中有token String success = ""; if (StringUtils.isNotBlank(token)) { //远程访问passport,验证token success = HttpClientUtil.doGet("http://passport.gmall.com:8085/verify?token=" + token + "&salt=" + PassportUtil.getRequestAddr(request)); } if (!success.equals("success") && methodAnnotation.ifNeedSuccess()) { response.sendRedirect("http://passport.gmall.com:8085/index"); return false; } if (success.equals("success")) { //cookie验证通过,重新刷新cookie的过期时间 CookieUtil.setCookie(request, response, "oldCookie", token, 60 * 60 * 2, true); //将用户信息放入应用请求中 Map userMap = JwtUtil.decode("superlee1010", token, PassportUtil.getRequestAddr(request)); request.setAttribute("userId", userMap.get("userId")); request.setAttribute("nickName", userMap.get("nickName")); } if (!success.equals("success") && !methodAnnotation.ifNeedSuccess()) { return true; } return true; } } ================================================ FILE: gmall-web-util/src/main/java/com/lee/gmall/util/CookieUtil.java ================================================ package com.lee.gmall.util; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; /** * @param * @return */ public class CookieUtil { /*** * 获得cookie中的值,默认为主ip:www.gmall.com * @param request * @param cookieName * @param isDecoder * @return */ public static String getCookieValue(HttpServletRequest request, String cookieName, boolean isDecoder) { Cookie[] cookies = request.getCookies(); if (cookies == null || cookieName == null){ return null; } String retValue = null; try { for (int i = 0; i < cookies.length; i++) { if (cookies[i].getName().equals(cookieName)) { if (isDecoder) {//如果涉及中文 retValue = URLDecoder.decode(cookies[i].getValue(), "UTF-8"); } else { retValue = cookies[i].getValue(); } break; } } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return retValue; } /*** * 设置cookie的值 * @param request * @param response * @param cookieName * @param cookieValue * @param cookieMaxage * @param isEncode */ public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName, String cookieValue, int cookieMaxage, boolean isEncode) { try { if (cookieValue == null) { cookieValue = ""; } else if (isEncode) { cookieValue = URLEncoder.encode(cookieValue, "utf-8"); } Cookie cookie = new Cookie(cookieName, cookieValue); if (cookieMaxage >= 0) cookie.setMaxAge(cookieMaxage); if (null != request)// 设置域名的cookie cookie.setDomain(getDomainName(request)); // 在域名的根路径下保存 cookie.setPath("/"); response.addCookie(cookie); } catch (Exception e) { e.printStackTrace(); } } /*** * 获得cookie的主域名,本系统为gmall.com,保存时使用 * @param request * @return */ private static final String getDomainName(HttpServletRequest request) { String domainName = null; String serverName = request.getRequestURL().toString(); if (serverName == null || serverName.equals("")) { domainName = ""; } else { serverName = serverName.toLowerCase(); serverName = serverName.substring(7); final int end = serverName.indexOf("/"); serverName = serverName.substring(0, end); final String[] domains = serverName.split("\\."); int len = domains.length; if (len > 3) { // www.xxx.com.cn domainName = domains[len - 3] + "." + domains[len - 2] + "." + domains[len - 1]; } else if (len <= 3 && len > 1) { // xxx.com or xxx.cn domainName = domains[len - 2] + "." + domains[len - 1]; } else { domainName = serverName; } } if (domainName != null && domainName.indexOf(":") > 0) { String[] ary = domainName.split("\\:"); domainName = ary[0]; } System.out.println("domainName = " + domainName); return domainName; } /*** * 将cookie中的内容按照key删除 * @param request * @param response * @param cookieName */ public static void deleteCookie(HttpServletRequest request, HttpServletResponse response, String cookieName) { setCookie(request, response, cookieName, null, 0, false); } } ================================================ FILE: gmall-web-util/src/main/java/com/lee/gmall/util/JwtUtil.java ================================================ package com.lee.gmall.util; import com.alibaba.fastjson.JSON; import io.jsonwebtoken.*; import io.jsonwebtoken.impl.Base64UrlCodec; import org.apache.commons.lang3.StringUtils; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; /** * @param * @return */ public class JwtUtil { public static void main(String[] args){ } /*** * jwt加密 * @param key * @param map * @param salt * @return */ public static String encode(String key,Map map,String salt){ if(salt!=null){ key+=salt; } JwtBuilder jwtBuilder = Jwts.builder().signWith(SignatureAlgorithm.HS256, key); jwtBuilder.addClaims(map); String token = jwtBuilder.compact(); return token; } /*** * jwt解密 * @param key * @param token * @param salt * @return * @throws SignatureException */ public static Map decode(String key,String token,String salt)throws SignatureException{ if(salt!=null){ key+=salt; } Claims map = null; map = Jwts.parser().setSigningKey(key).parseClaimsJws(token).getBody(); System.out.println("map.toString() = " + map.toString()); return map; } } ================================================ FILE: gmall-web-util/src/main/java/com/lee/gmall/util/PassportUtil.java ================================================ package com.lee.gmall.util; import org.apache.commons.lang3.StringUtils; import javax.servlet.http.HttpServletRequest; public class PassportUtil { public static String getRequestAddr(HttpServletRequest request) { String ip = ""; ip = request.getHeader("x-forwarded-for"); if (StringUtils.isBlank(ip)) { //直接获取ip ip = request.getRemoteAddr(); } if (StringUtils.isBlank(ip)) { //设置一个虚拟ip ip = "127.0.0.1"; } return ip; } } ================================================ FILE: gmall4.sql ================================================ /* Navicat MySQL Data Transfer Source Server : atguigu Source Server Version : 50528 Source Host : localhost:3306 Source Database : gmall4 Target Server Type : MYSQL Target Server Version : 50528 File Encoding : 65001 Date: 2018-07-30 10:56:40 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for ad_banner -- ---------------------------- DROP TABLE IF EXISTS `ad_banner`; CREATE TABLE `ad_banner` ( `Id` bigint(11) NOT NULL AUTO_INCREMENT, `ad_desc` varchar(500) DEFAULT NULL, `file_name` varchar(500) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for base_attr_info -- ---------------------------- DROP TABLE IF EXISTS `base_attr_info`; CREATE TABLE `base_attr_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `attr_name` varchar(100) NOT NULL COMMENT '属性名称', `catalog3_id` bigint(20) DEFAULT NULL, `is_enabled` varchar(1) DEFAULT NULL COMMENT '启用:1 停用:0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COMMENT='属性表'; -- ---------------------------- -- Table structure for base_attr_value -- ---------------------------- DROP TABLE IF EXISTS `base_attr_value`; CREATE TABLE `base_attr_value` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `value_name` varchar(100) NOT NULL COMMENT '属性值名称', `attr_id` bigint(20) DEFAULT NULL COMMENT '属性id', `is_enabled` varchar(1) DEFAULT NULL COMMENT '启用:1 停用:0 1', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=69 DEFAULT CHARSET=utf8 COMMENT='属性值表'; -- ---------------------------- -- Table structure for base_catalog1 -- ---------------------------- DROP TABLE IF EXISTS `base_catalog1`; CREATE TABLE `base_catalog1` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(200) NOT NULL COMMENT '分类名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COMMENT='一级分类表'; -- ---------------------------- -- Table structure for base_catalog1_tm -- ---------------------------- DROP TABLE IF EXISTS `base_catalog1_tm`; CREATE TABLE `base_catalog1_tm` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `tm_id` bigint(20) DEFAULT NULL COMMENT '品牌id', `catalog1_id` varchar(4000) DEFAULT NULL COMMENT '一级分类id', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=144 DEFAULT CHARSET=utf8 COMMENT='分类与品牌关联表'; -- ---------------------------- -- Table structure for base_catalog2 -- ---------------------------- DROP TABLE IF EXISTS `base_catalog2`; CREATE TABLE `base_catalog2` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(200) NOT NULL COMMENT '二级分类名称', `catalog1_id` int(11) DEFAULT NULL COMMENT '一级分类编号', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=144 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for base_catalog3 -- ---------------------------- DROP TABLE IF EXISTS `base_catalog3`; CREATE TABLE `base_catalog3` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(200) NOT NULL COMMENT '三级分类名称', `catalog2_id` bigint(20) DEFAULT NULL COMMENT '二级分类编号', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1260 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for base_dict -- ---------------------------- DROP TABLE IF EXISTS `base_dict`; CREATE TABLE `base_dict` ( `id` varchar(200) NOT NULL COMMENT '编号', `parent_id` varchar(200) DEFAULT NULL COMMENT '父id', `name` varchar(200) DEFAULT NULL COMMENT '名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典表'; -- ---------------------------- -- Table structure for base_sale_attr -- ---------------------------- DROP TABLE IF EXISTS `base_sale_attr`; CREATE TABLE `base_sale_attr` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(100) NOT NULL COMMENT '销售属性名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for base_trademark -- ---------------------------- DROP TABLE IF EXISTS `base_trademark`; CREATE TABLE `base_trademark` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `tm_name` varchar(100) NOT NULL COMMENT '属性值', `logo_url` varchar(200) DEFAULT NULL COMMENT '品牌logo的图片路径', `is_enable` varchar(1) DEFAULT NULL COMMENT '是否启用', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=144 DEFAULT CHARSET=utf8 COMMENT='品牌表'; -- ---------------------------- -- Table structure for cart_info -- ---------------------------- DROP TABLE IF EXISTS `cart_info`; CREATE TABLE `cart_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `user_id` bigint(20) DEFAULT NULL COMMENT '用户id', `sku_id` bigint(20) DEFAULT NULL COMMENT 'skuid', `cart_price` decimal(10,2) DEFAULT NULL COMMENT '放入购物车时价格', `quantity` int(11) DEFAULT NULL COMMENT '数量', `img_url` varchar(200) DEFAULT NULL COMMENT '图片文件名称', `is_checked` varchar(1) DEFAULT NULL COMMENT '是否选中', `sku_price` decimal(10,2) DEFAULT NULL COMMENT 'sku单价(冗余需要同步)', `sku_num` decimal(10,0) DEFAULT NULL, `sku_name` varchar(200) DEFAULT NULL COMMENT 'sku名称 (冗余)', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='购物车表 用户登录系统时更新冗余'; -- ---------------------------- -- Table structure for order_detail -- ---------------------------- DROP TABLE IF EXISTS `order_detail`; CREATE TABLE `order_detail` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `order_id` bigint(20) DEFAULT NULL COMMENT '订单编号', `sku_id` bigint(20) DEFAULT NULL COMMENT 'sku_id', `sku_name` varchar(200) DEFAULT NULL COMMENT 'sku名称(冗余)', `img_file_name` varchar(200) DEFAULT NULL COMMENT '图片名称(冗余)', `order_price` decimal(10,0) DEFAULT NULL COMMENT '购买价格(下单时sku价格)', `sku_nums` varchar(200) DEFAULT NULL COMMENT '购买个数', `logistics_id` bigint(20) DEFAULT NULL COMMENT '物流包裹id', `img_url` varchar(200) DEFAULT NULL, `sku_num` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=417 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for order_info -- ---------------------------- DROP TABLE IF EXISTS `order_info`; CREATE TABLE `order_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `consignee` varchar(100) DEFAULT NULL COMMENT '收货人', `total_amount` decimal(10,2) DEFAULT NULL COMMENT '总金额', `order_status` varchar(100) DEFAULT NULL COMMENT '订单状态', `user_id` bigint(20) DEFAULT NULL COMMENT '用户id', `payment_way` varchar(20) DEFAULT NULL COMMENT '付款方式', `expect_delivery_time` datetime DEFAULT NULL COMMENT '预计送达时间', `delivery_address` varchar(1000) DEFAULT NULL COMMENT '送货地址', `order_comment` varchar(400) DEFAULT NULL, `out_trade_no` varchar(50) DEFAULT NULL, `trade_body` varchar(200) DEFAULT NULL COMMENT '订单描述(第三方支付用)', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `expire_time` datetime DEFAULT NULL COMMENT '失效时间', `ware_status` varchar(2) DEFAULT NULL, `parent_order_id` bigint(20) DEFAULT NULL, `process_status` varchar(100) DEFAULT NULL, `tracking_no` varchar(100) DEFAULT NULL, `consignee_tel` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for order_log -- ---------------------------- DROP TABLE IF EXISTS `order_log`; CREATE TABLE `order_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `order_id` bigint(20) DEFAULT NULL COMMENT '订单编号', `operate_date` datetime DEFAULT NULL COMMENT '发生时间', `log_comment` varchar(200) DEFAULT NULL COMMENT '状态描述', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=292 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for order_logistics -- ---------------------------- DROP TABLE IF EXISTS `order_logistics`; CREATE TABLE `order_logistics` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `order_id` bigint(20) DEFAULT NULL COMMENT '订单id', `logistics_status` varchar(2) DEFAULT NULL COMMENT '物流状态', `logistics_no` varchar(100) DEFAULT NULL COMMENT '物流单号', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='物流表'; -- ---------------------------- -- Table structure for payment_info -- ---------------------------- DROP TABLE IF EXISTS `payment_info`; CREATE TABLE `payment_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `out_trade_no` varchar(50) DEFAULT NULL COMMENT '对外业务编号', `order_id` varchar(50) DEFAULT NULL COMMENT '订单编号', `alipay_trade_no` varchar(50) DEFAULT NULL COMMENT '支付宝交易编号', `total_amount` decimal(10,2) DEFAULT NULL COMMENT '支付金额', `subject` varchar(200) DEFAULT NULL COMMENT '交易内容', `payment_status` varchar(20) DEFAULT NULL COMMENT '支付状态', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `confirm_time` datetime DEFAULT NULL COMMENT '创建时间', `callback_content` varchar(1000) DEFAULT NULL COMMENT '回调信息', `callback_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=117 DEFAULT CHARSET=utf8 COMMENT='支付信息表'; -- ---------------------------- -- Table structure for sku_attr_value -- ---------------------------- DROP TABLE IF EXISTS `sku_attr_value`; CREATE TABLE `sku_attr_value` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `attr_id` bigint(20) DEFAULT NULL COMMENT '属性id(冗余)', `value_id` bigint(20) DEFAULT NULL COMMENT '属性值id', `sku_id` bigint(20) DEFAULT NULL COMMENT 'skuid', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=658 DEFAULT CHARSET=utf8 COMMENT='sku平台属性值关联表'; -- ---------------------------- -- Table structure for sku_image -- ---------------------------- DROP TABLE IF EXISTS `sku_image`; CREATE TABLE `sku_image` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `sku_id` bigint(20) DEFAULT NULL COMMENT '商品id', `img_name` varchar(200) DEFAULT NULL COMMENT '图片名称(冗余)', `img_url` varchar(200) DEFAULT NULL COMMENT '图片路径(冗余)', `spu_img_id` bigint(20) DEFAULT NULL COMMENT '商品图片id', `is_default` varchar(4000) DEFAULT NULL COMMENT '是否默认', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=937 DEFAULT CHARSET=utf8 COMMENT='库存单元图片表'; -- ---------------------------- -- Table structure for sku_info -- ---------------------------- DROP TABLE IF EXISTS `sku_info`; CREATE TABLE `sku_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '库存id(itemID)', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `price` double DEFAULT NULL COMMENT '价格', `sku_name` varchar(200) DEFAULT NULL COMMENT 'sku名称', `sku_desc` varchar(2000) DEFAULT NULL COMMENT '商品规格描述', `weight` double DEFAULT NULL, `tm_id` bigint(20) DEFAULT NULL COMMENT '品牌(冗余)', `catalog3_id` bigint(20) DEFAULT NULL COMMENT '三级分类id(冗余)', `sku_default_img` varchar(200) DEFAULT NULL COMMENT '默认显示图片(冗余)', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=93 DEFAULT CHARSET=utf8 COMMENT='库存单元表'; -- ---------------------------- -- Table structure for sku_sale_attr_value -- ---------------------------- DROP TABLE IF EXISTS `sku_sale_attr_value`; CREATE TABLE `sku_sale_attr_value` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `sku_id` bigint(20) DEFAULT NULL COMMENT '库存单元id', `sale_attr_id` bigint(20) DEFAULT NULL COMMENT '销售属性id(冗余)', `sale_attr_value_id` bigint(20) DEFAULT NULL COMMENT '销售属性值id', `sale_attr_name` varchar(20) DEFAULT NULL COMMENT '销售属性名称(冗余)', `sale_attr_value_name` varchar(20) DEFAULT NULL COMMENT '销售属性值名称(冗余)', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=434 DEFAULT CHARSET=utf8 COMMENT='sku销售属性值'; -- ---------------------------- -- Table structure for spu_color -- ---------------------------- DROP TABLE IF EXISTS `spu_color`; CREATE TABLE `spu_color` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `color` varchar(100) DEFAULT NULL COMMENT '商品颜色', `file_name` varchar(100) DEFAULT NULL COMMENT '文件名', `is_enabled` varchar(1) DEFAULT NULL COMMENT '是否启用', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='商品颜色表'; -- ---------------------------- -- Table structure for spu_image -- ---------------------------- DROP TABLE IF EXISTS `spu_image`; CREATE TABLE `spu_image` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `img_name` varchar(200) DEFAULT NULL COMMENT '图片名称', `img_url` varchar(200) DEFAULT NULL COMMENT '图片路径', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8 COMMENT='商品图片表'; -- ---------------------------- -- Table structure for spu_info -- ---------------------------- DROP TABLE IF EXISTS `spu_info`; CREATE TABLE `spu_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品id', `spu_name` varchar(200) DEFAULT NULL COMMENT '商品名称', `description` varchar(1000) DEFAULT NULL COMMENT '商品描述(后台简述)', `catalog3_id` bigint(20) DEFAULT NULL COMMENT '三级分类id', `tm_id` bigint(20) DEFAULT NULL COMMENT '品牌id', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for spu_poster -- ---------------------------- DROP TABLE IF EXISTS `spu_poster`; CREATE TABLE `spu_poster` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `file_name` varchar(200) DEFAULT NULL COMMENT '文件名称', `file_type` varchar(200) DEFAULT NULL COMMENT '文件类型', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='商品海报表'; -- ---------------------------- -- Table structure for spu_sale_attr -- ---------------------------- DROP TABLE IF EXISTS `spu_sale_attr`; CREATE TABLE `spu_sale_attr` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `sale_attr_id` bigint(20) DEFAULT NULL COMMENT '销售属性id', `sale_attr_name` varchar(20) DEFAULT NULL COMMENT '销售属性名称(冗余)', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for spu_sale_attr_value -- ---------------------------- DROP TABLE IF EXISTS `spu_sale_attr_value`; CREATE TABLE `spu_sale_attr_value` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `sale_attr_id` bigint(20) DEFAULT NULL COMMENT '销售属性id', `sale_attr_value_name` varchar(20) DEFAULT NULL COMMENT '销售属性值名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=165 DEFAULT CHARSET=utf8 COMMENT='spu销售属性值'; -- ---------------------------- -- Table structure for spu_size -- ---------------------------- DROP TABLE IF EXISTS `spu_size`; CREATE TABLE `spu_size` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `spu_size` varchar(100) DEFAULT NULL COMMENT '商品尺寸', `is_enabled` varchar(1) DEFAULT NULL COMMENT '是否启用', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='商品尺寸表'; -- ---------------------------- -- Table structure for spu_version -- ---------------------------- DROP TABLE IF EXISTS `spu_version`; CREATE TABLE `spu_version` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `spu_id` bigint(20) DEFAULT NULL COMMENT '商品id', `spu_version` varchar(100) DEFAULT NULL COMMENT '商品版本', `is_enabled` varchar(1) DEFAULT NULL COMMENT '是否启用', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='商品版本表'; -- ---------------------------- -- Table structure for user_address -- ---------------------------- DROP TABLE IF EXISTS `user_address`; CREATE TABLE `user_address` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `user_address` varchar(500) DEFAULT NULL COMMENT '用户地址', `user_id` bigint(20) DEFAULT NULL COMMENT '用户id', `consignee` varchar(40) DEFAULT NULL COMMENT '收件人', `phone_num` varchar(40) DEFAULT NULL COMMENT '联系方式', `is_default` varchar(1) DEFAULT NULL COMMENT '是否是默认', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户地址表'; -- ---------------------------- -- Table structure for user_details -- ---------------------------- DROP TABLE IF EXISTS `user_details`; CREATE TABLE `user_details` ( `id` bigint(20) NOT NULL COMMENT '编号', `id_card` bigint(20) DEFAULT NULL COMMENT '身份证编号', `user_id` bigint(20) DEFAULT NULL COMMENT '用户', `user_phone` varchar(100) DEFAULT NULL COMMENT '用户手机号', `hometown` varchar(200) DEFAULT NULL COMMENT '用户籍贯', `address_id` bigint(20) DEFAULT NULL COMMENT '用户住址', `sex` varchar(1) DEFAULT NULL COMMENT '0女1男', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户帐户信息表'; -- ---------------------------- -- Table structure for user_info -- ---------------------------- DROP TABLE IF EXISTS `user_info`; CREATE TABLE `user_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `login_name` varchar(200) DEFAULT NULL COMMENT '用户名称', `nick_name` varchar(200) DEFAULT NULL COMMENT '用户昵称', `passwd` varchar(200) DEFAULT NULL COMMENT '用户密码', `name` varchar(200) DEFAULT NULL COMMENT '用户姓名', `phone_num` varchar(200) DEFAULT NULL COMMENT '手机号', `email` varchar(200) DEFAULT NULL COMMENT '邮箱', `head_img` varchar(200) DEFAULT NULL COMMENT '头像', `user_level` varchar(200) DEFAULT '''1''' COMMENT '用户级别', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户表'; -- ---------------------------- -- Table structure for ware_info -- ---------------------------- DROP TABLE IF EXISTS `ware_info`; CREATE TABLE `ware_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(200) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, `areacode` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for ware_order_task -- ---------------------------- DROP TABLE IF EXISTS `ware_order_task`; CREATE TABLE `ware_order_task` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `order_id` bigint(20) DEFAULT NULL COMMENT '订单编号', `consignee` varchar(100) DEFAULT NULL COMMENT '收货人', `consignee_tel` varchar(20) DEFAULT NULL COMMENT '收货人电话', `delivery_address` varchar(1000) DEFAULT NULL COMMENT '送货地址', `order_comment` varchar(200) DEFAULT NULL COMMENT '订单备注', `payment_way` varchar(2) DEFAULT NULL COMMENT '付款方式 1:在线付款 2:货到付款', `task_status` varchar(20) DEFAULT NULL, `order_body` varchar(200) DEFAULT NULL COMMENT '订单描述', `tracking_no` varchar(200) DEFAULT NULL COMMENT '物流单号', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `ware_id` bigint(20) DEFAULT NULL COMMENT '仓库编号', `task_comment` varchar(500) DEFAULT NULL COMMENT '工作单备注', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=134 DEFAULT CHARSET=utf8 COMMENT='库存工作单表 库存工作单表'; -- ---------------------------- -- Table structure for ware_order_task_detail -- ---------------------------- DROP TABLE IF EXISTS `ware_order_task_detail`; CREATE TABLE `ware_order_task_detail` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `sku_id` bigint(20) DEFAULT NULL COMMENT 'sku_id', `sku_name` varchar(200) DEFAULT NULL COMMENT 'sku名称', `sku_nums` int(11) DEFAULT NULL COMMENT '购买个数', `task_id` bigint(20) DEFAULT NULL COMMENT '工作单编号', `sku_num` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=176 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for ware_sku -- ---------------------------- DROP TABLE IF EXISTS `ware_sku`; CREATE TABLE `ware_sku` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `sku_id` bigint(20) DEFAULT NULL COMMENT 'skuid', `warehouse_id` bigint(20) DEFAULT NULL COMMENT '仓库id', `stock` int(11) DEFAULT NULL COMMENT '库存数', `stock_name` varchar(200) DEFAULT NULL COMMENT '存货名称', `stock_locked` int(11) DEFAULT '0', PRIMARY KEY (`id`), KEY `idx_skuid` (`sku_id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; ================================================ FILE: 类目.sql ================================================ /* SQLyog v12.2.6 (64 bit) MySQL - 5.5.54-log : Database - mymall1225 ********************************************************************* */ /*!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*/`mymall1225` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `new_mall`; /*Table structure for table `product_catalog1` */ DROP TABLE IF EXISTS `base_catalog1`; CREATE TABLE `base_catalog1` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(200) NOT NULL COMMENT '分类名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=144 DEFAULT CHARSET=utf8 COMMENT='一级分类表'; /*Data for the table `product_catalog1` */ insert into `base_catalog1`(`id`,`name`) values (1,'电子书刊'), (2,'音像'), (3,'英文原版'), (4,'文艺'), (5,'少儿'), (6,'人文社科'), (7,'经管励志'), (8,'生活'), (9,'科技'), (10,'教育'), (11,'港台图书'), (12,'其他'), (13,'手机通讯'), (14,'运营商'), (15,'手机配件'), (16,'大 家 电'), (17,'厨卫大电'), (18,'厨房小电'), (19,'生活电器'), (20,'个护健康'), (21,'五金家装'), (22,'摄影摄像'), (23,'数码配件'), (24,'智能设备'), (25,'影音娱乐'), (26,'电子教育'), (27,'虚拟商品'), (28,'家纺'), (29,'灯具'), (30,'生活日用'), (31,'家装软饰'), (32,'宠物生活'), (33,'电脑整机'), (34,'电脑配件'), (35,'外设产品'), (36,'游戏设备'), (37,'网络产品'), (38,'办公设备'), (39,'文具/耗材'), (40,'服务产品'), (41,'烹饪锅具'), (42,'刀剪菜板'), (43,'厨房配件'), (44,'水具酒具'), (45,'餐具'), (46,'酒店用品'), (47,'茶具/咖啡具'), (48,'清洁用品'), (49,'面部护肤'), (50,'身体护理'), (51,'口腔护理'), (52,'女性护理'), (53,'洗发护发'), (54,'香水彩妆'), (55,'女装'), (56,'男装'), (57,'内衣'), (58,'洗衣服务'), (59,'服饰配件'), (60,'钟表'), (61,'流行男鞋'), (62,'时尚女鞋'), (63,'奶粉'), (64,'营养辅食'), (65,'尿裤湿巾'), (66,'喂养用品'), (67,'洗护用品'), (68,'童车童床'), (69,'寝居服饰'), (70,'妈妈专区'), (71,'童装童鞋'), (72,'安全座椅'), (73,'潮流女包'), (74,'精品男包'), (75,'功能箱包'), (76,'礼品'), (77,'奢侈品'), (78,'婚庆'), (79,'进口食品'), (80,'地方特产'), (81,'休闲食品'), (82,'粮油调味'), (83,'饮料冲调'), (84,'食品礼券'), (85,'茗茶'), (86,'时尚饰品'), (87,'黄金'), (88,'K金饰品'), (89,'金银投资'), (90,'银饰'), (91,'钻石'), (92,'翡翠玉石'), (93,'水晶玛瑙'), (94,'彩宝'), (95,'铂金'), (96,'木手串/把件'), (97,'珍珠'), (98,'维修保养'), (99,'车载电器'), (100,'美容清洗'), (101,'汽车装饰'), (102,'安全自驾'), (103,'汽车服务'), (104,'赛事改装'), (105,'运动鞋包'), (106,'运动服饰'), (107,'骑行运动'), (108,'垂钓用品'), (109,'游泳用品'), (110,'户外鞋服'), (111,'户外装备'), (112,'健身训练'), (113,'体育用品'), (114,'适用年龄'), (115,'遥控/电动'), (116,'毛绒布艺'), (117,'娃娃玩具'), (118,'模型玩具'), (119,'健身玩具'), (120,'动漫玩具'), (121,'益智玩具'), (122,'积木拼插'), (123,'DIY玩具'), (124,'创意减压'), (125,'乐器'), (126,'彩票'), (127,'机票'), (128,'酒店'), (129,'旅行'), (130,'充值'), (131,'游戏'), (132,'票务'), (133,'产地直供'), (134,'水果'), (135,'猪牛羊肉'), (136,'海鲜水产'), (137,'禽肉蛋品'), (138,'冷冻食品'), (139,'熟食腊味'), (140,'饮品甜品'), (141,'蔬菜'), (142,'全新整车'), (143,'二手车'); /*Table structure for table `product_catalog2` */ DROP TABLE IF EXISTS `base_catalog2`; CREATE TABLE `base_catalog2` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(200) NOT NULL COMMENT '二级分类名称', `catalog1_id` int(11) DEFAULT NULL COMMENT '一级分类编号', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1260 DEFAULT CHARSET=utf8; /*Data for the table `product_catalog2` */ insert into `base_catalog2`(`id`,`name`,`catalog1_id`) values (1,'电子书',1), (2,'网络原创',1), (3,'数字杂志',1), (4,'多媒体图书',1), (5,'音乐',2), (6,'影视',2), (7,'教育音像',2), (8,'少儿',3), (9,'商务投资',3), (10,'英语学习与考试',3), (11,'文学',3), (12,'传记',3), (13,'励志',3), (14,'小说',4), (15,'文学',4), (16,'青春文学',4), (17,'传记',4), (18,'艺术',4), (19,'少儿',5), (20,'0-2岁',5), (21,'3-6岁',5), (22,'7-10岁',5), (23,'11-14岁',5), (24,'历史',6), (25,'哲学',6), (26,'国学',6), (27,'政治/军事',6), (28,'法律',6), (29,'人文社科',6), (30,'心理学',6), (31,'文化',6), (32,'社会科学',6), (33,'经济',7), (34,'金融与投资',7), (35,'管理',7), (36,'励志与成功',7), (37,'生活',8), (38,'健身与保健',8), (39,'家庭与育儿',8), (40,'旅游',8), (41,'烹饪美食',8), (42,'工业技术',9), (43,'科普读物',9), (44,'建筑',9), (45,'医学',9), (46,'科学与自然',9), (47,'计算机与互联网',9), (48,'电子通信',9), (49,'中小学教辅',10), (50,'教育与考试',10), (51,'外语学习',10), (52,'大中专教材',10), (53,'字典词典',10), (54,'艺术/设计/收藏',11), (55,'经济管理',11), (56,'文化/学术',11), (57,'少儿',11), (58,'工具书',12), (59,'杂志/期刊',12), (60,'套装书',12), (61,'手机',13), (62,'对讲机',13), (63,'合约机',14), (64,'选号中心',14), (65,'装宽带',14), (66,'办套餐',14), (67,'移动电源',15), (68,'电池/移动电源',15), (69,'蓝牙耳机',15), (70,'充电器/数据线',15), (71,'苹果周边',15), (72,'手机耳机',15), (73,'手机贴膜',15), (74,'手机存储卡',15), (75,'充电器',15), (76,'数据线',15), (77,'手机保护套',15), (78,'车载配件',15), (79,'iPhone 配件',15), (80,'手机电池',15), (81,'创意配件',15), (82,'便携/无线音响',15), (83,'手机饰品',15), (84,'拍照配件',15), (85,'手机支架',15), (86,'平板电视',16), (87,'空调',16), (88,'冰箱',16), (89,'洗衣机',16), (90,'家庭影院',16), (91,'DVD/电视盒子',16), (92,'迷你音响',16), (93,'冷柜/冰吧',16), (94,'家电配件',16), (95,'功放',16), (96,'回音壁/Soundbar',16), (97,'Hi-Fi专区',16), (98,'电视盒子',16), (99,'酒柜',16), (100,'燃气灶',17), (101,'油烟机',17), (102,'热水器',17), (103,'消毒柜',17), (104,'洗碗机',17), (105,'料理机',18), (106,'榨汁机',18), (107,'电饭煲',18), (108,'电压力锅',18), (109,'豆浆机',18), (110,'咖啡机',18), (111,'微波炉',18), (112,'电烤箱',18), (113,'电磁炉',18), (114,'面包机',18), (115,'煮蛋器',18), (116,'酸奶机',18), (117,'电炖锅',18), (118,'电水壶/热水瓶',18), (119,'电饼铛',18), (120,'多用途锅',18), (121,'电烧烤炉',18), (122,'果蔬解毒机',18), (123,'其它厨房电器',18), (124,'养生壶/煎药壶',18), (125,'电热饭盒',18), (126,'取暖电器',19), (127,'净化器',19), (128,'加湿器',19), (129,'扫地机器人',19), (130,'吸尘器',19), (131,'挂烫机/熨斗',19), (132,'插座',19), (133,'电话机',19), (134,'清洁机',19), (135,'除湿机',19), (136,'干衣机',19), (137,'收录/音机',19), (138,'电风扇',19), (139,'冷风扇',19), (140,'其它生活电器',19), (141,'生活电器配件',19), (142,'净水器',19), (143,'饮水机',19), (144,'剃须刀',20), (145,'剃/脱毛器',20), (146,'口腔护理',20), (147,'电吹风',20), (148,'美容器',20), (149,'理发器',20), (150,'卷/直发器',20), (151,'按摩椅',20), (152,'按摩器',20), (153,'足浴盆',20), (154,'血压计',20), (155,'电子秤/厨房秤',20), (156,'血糖仪',20), (157,'体温计',20), (158,'其它健康电器',20), (159,'计步器/脂肪检测仪',20), (160,'电动工具',21), (161,'手动工具',21), (162,'仪器仪表',21), (163,'浴霸/排气扇',21), (164,'灯具',21), (165,'LED灯',21), (166,'洁身器',21), (167,'水槽',21), (168,'龙头',21), (169,'淋浴花洒',21), (170,'厨卫五金',21), (171,'家具五金',21), (172,'门铃',21), (173,'电气开关',21), (174,'插座',21), (175,'电工电料',21), (176,'监控安防',21), (177,'电线/线缆',21), (178,'数码相机',22), (179,'单电/微单相机',22), (180,'单反相机',22), (181,'摄像机',22), (182,'拍立得',22), (183,'运动相机',22), (184,'镜头',22), (185,'户外器材',22), (186,'影棚器材',22), (187,'冲印服务',22), (188,'数码相框',22), (189,'存储卡',23), (190,'读卡器',23), (191,'滤镜',23), (192,'闪光灯/手柄',23), (193,'相机包',23), (194,'三脚架/云台',23), (195,'相机清洁/贴膜',23), (196,'机身附件',23), (197,'镜头附件',23), (198,'电池/充电器',23), (199,'移动电源',23), (200,'数码支架',23), (201,'智能手环',24), (202,'智能手表',24), (203,'智能眼镜',24), (204,'运动跟踪器',24), (205,'健康监测',24), (206,'智能配饰',24), (207,'智能家居',24), (208,'体感车',24), (209,'其他配件',24), (210,'智能机器人',24), (211,'无人机',24), (212,'MP3/MP4',25), (213,'智能设备',25), (214,'耳机/耳麦',25), (215,'便携/无线音箱',25), (216,'音箱/音响',25), (217,'高清播放器',25), (218,'收音机',25), (219,'MP3/MP4配件',25), (220,'麦克风',25), (221,'专业音频',25), (222,'苹果配件',25), (223,'学生平板',26), (224,'点读机/笔',26), (225,'早教益智',26), (226,'录音笔',26), (227,'电纸书',26), (228,'电子词典',26), (229,'复读机',26), (230,'延保服务',27), (231,'杀毒软件',27), (232,'积分商品',27), (233,'桌布/罩件',28), (234,'地毯地垫',28), (235,'沙发垫套/椅垫',28), (236,'床品套件',28), (237,'被子',28), (238,'枕芯',28), (239,'床单被罩',28), (240,'毯子',28), (241,'床垫/床褥',28), (242,'蚊帐',28), (243,'抱枕靠垫',28), (244,'毛巾浴巾',28), (245,'电热毯',28), (246,'窗帘/窗纱',28), (247,'布艺软饰',28), (248,'凉席',28), (249,'台灯',29), (250,'节能灯',29), (251,'装饰灯',29), (252,'落地灯',29), (253,'应急灯/手电',29), (254,'LED灯',29), (255,'吸顶灯',29), (256,'五金电器',29), (257,'筒灯射灯',29), (258,'吊灯',29), (259,'氛围照明',29), (260,'保暖防护',30), (261,'收纳用品',30), (262,'雨伞雨具',30), (263,'浴室用品',30), (264,'缝纫/针织用品',30), (265,'洗晒/熨烫',30), (266,'净化除味',30), (267,'相框/照片墙',31), (268,'装饰字画',31), (269,'节庆饰品',31), (270,'手工/十字绣',31), (271,'装饰摆件',31), (272,'帘艺隔断',31), (273,'墙贴/装饰贴',31), (274,'钟饰',31), (275,'花瓶花艺',31), (276,'香薰蜡烛',31), (277,'创意家居',31), (278,'宠物主粮',32), (279,'宠物零食',32), (280,'医疗保健',32), (281,'家居日用',32), (282,'宠物玩具',32), (283,'出行装备',32), (284,'洗护美容',32), (285,'笔记本',33), (286,'超极本',33), (287,'游戏本',33), (288,'平板电脑',33), (289,'平板电脑配件',33), (290,'台式机',33), (291,'服务器/工作站',33), (292,'笔记本配件',33), (293,'一体机',33), (294,'CPU',34), (295,'主板',34), (296,'显卡',34), (297,'硬盘',34), (298,'SSD固态硬盘',34), (299,'内存',34), (300,'机箱',34), (301,'电源',34), (302,'显示器',34), (303,'刻录机/光驱',34), (304,'散热器',34), (305,'声卡/扩展卡',34), (306,'装机配件',34), (307,'组装电脑',34), (308,'移动硬盘',35), (309,'U盘',35), (310,'鼠标',35), (311,'键盘',35), (312,'鼠标垫',35), (313,'摄像头',35), (314,'手写板',35), (315,'硬盘盒',35), (316,'插座',35), (317,'线缆',35), (318,'UPS电源',35), (319,'电脑工具',35), (320,'游戏设备',35), (321,'电玩',35), (322,'电脑清洁',35), (323,'网络仪表仪器',35), (324,'游戏机',36), (325,'游戏耳机',36), (326,'手柄/方向盘',36), (327,'游戏软件',36), (328,'游戏周边',36), (329,'路由器',37), (330,'网卡',37), (331,'交换机',37), (332,'网络存储',37), (333,'4G/3G上网',37), (334,'网络盒子',37), (335,'网络配件',37), (336,'投影机',38), (337,'投影配件',38), (338,'多功能一体机',38), (339,'打印机',38), (340,'传真设备',38), (341,'验钞/点钞机',38), (342,'扫描设备',38), (343,'复合机',38), (344,'碎纸机',38), (345,'考勤机',38), (346,'收款/POS机',38), (347,'会议音频视频',38), (348,'保险柜',38), (349,'装订/封装机',38), (350,'安防监控',38), (351,'办公家具',38), (352,'白板',38), (353,'硒鼓/墨粉',39), (354,'墨盒',39), (355,'色带',39), (356,'纸类',39), (357,'办公文具',39), (358,'学生文具',39), (359,'财会用品',39), (360,'文件管理',39), (361,'本册/便签',39), (362,'计算器',39), (363,'笔类',39), (364,'画具画材',39), (365,'刻录碟片/附件',39), (366,'上门安装',40), (367,'延保服务',40), (368,'维修保养',40), (369,'电脑软件',40), (370,'京东服务',40), (371,'炒锅',41), (372,'煎锅',41), (373,'压力锅',41), (374,'蒸锅',41), (375,'汤锅',41), (376,'奶锅',41), (377,'锅具套装',41), (378,'煲类',41), (379,'水壶',41), (380,'火锅',41), (381,'菜刀',42), (382,'剪刀',42), (383,'刀具套装',42), (384,'砧板',42), (385,'瓜果刀/刨',42), (386,'多功能刀',42), (387,'保鲜盒',43), (388,'烘焙/烧烤',43), (389,'饭盒/提锅',43), (390,'储物/置物架',43), (391,'厨房DIY/小工具',43), (392,'塑料杯',44), (393,'运动水壶',44), (394,'玻璃杯',44), (395,'陶瓷/马克杯',44), (396,'保温杯',44), (397,'保温壶',44), (398,'酒杯/酒具',44), (399,'杯具套装',44), (400,'餐具套装',45), (401,'碗/碟/盘',45), (402,'筷勺/刀叉',45), (403,'一次性用品',45), (404,'果盘/果篮',45), (405,'自助餐炉',46), (406,'酒店餐具',46), (407,'酒店水具',46), (408,'整套茶具',47), (409,'茶杯',47), (410,'茶壶',47), (411,'茶盘茶托',47), (412,'茶叶罐',47), (413,'茶具配件',47), (414,'茶宠摆件',47), (415,'咖啡具',47), (416,'其他',47), (417,'纸品湿巾',48), (418,'衣物清洁',48), (419,'清洁工具',48), (420,'驱虫用品',48), (421,'家庭清洁',48), (422,'皮具护理',48), (423,'一次性用品',48), (424,'洁面',49), (425,'乳液面霜',49), (426,'面膜',49), (427,'剃须',49), (428,'套装',49), (429,'精华',49), (430,'眼霜',49), (431,'卸妆',49), (432,'防晒',49), (433,'防晒隔离',49), (434,'T区护理',49), (435,'眼部护理',49), (436,'精华露',49), (437,'爽肤水',49), (438,'沐浴',50), (439,'润肤',50), (440,'颈部',50), (441,'手足',50), (442,'纤体塑形',50), (443,'美胸',50), (444,'套装',50), (445,'精油',50), (446,'洗发护发',50), (447,'染发/造型',50), (448,'香薰精油',50), (449,'磨砂/浴盐',50), (450,'手工/香皂',50), (451,'洗发',50), (452,'护发',50), (453,'染发',50), (454,'磨砂膏',50), (455,'香皂',50), (456,'牙膏/牙粉',51), (457,'牙刷/牙线',51), (458,'漱口水',51), (459,'套装',51), (460,'卫生巾',52), (461,'卫生护垫',52), (462,'私密护理',52), (463,'脱毛膏',52), (464,'其他',52), (465,'洗发',53), (466,'护发',53), (467,'染发',53), (468,'造型',53), (469,'假发',53), (470,'套装',53), (471,'美发工具',53), (472,'脸部护理',53), (473,'香水',54), (474,'底妆',54), (475,'腮红',54), (476,'眼影',54), (477,'唇部',54), (478,'美甲',54), (479,'眼线',54), (480,'美妆工具',54), (481,'套装',54), (482,'防晒隔离',54), (483,'卸妆',54), (484,'眉笔',54), (485,'睫毛膏',54), (486,'T恤',55), (487,'衬衫',55), (488,'针织衫',55), (489,'雪纺衫',55), (490,'卫衣',55), (491,'马甲',55), (492,'连衣裙',55), (493,'半身裙',55), (494,'牛仔裤',55), (495,'休闲裤',55), (496,'打底裤',55), (497,'正装裤',55), (498,'小西装',55), (499,'短外套',55), (500,'风衣',55), (501,'毛呢大衣',55), (502,'真皮皮衣',55), (503,'棉服',55), (504,'羽绒服',55), (505,'大码女装',55), (506,'中老年女装',55), (507,'婚纱',55), (508,'打底衫',55), (509,'旗袍/唐装',55), (510,'加绒裤',55), (511,'吊带/背心',55), (512,'羊绒衫',55), (513,'短裤',55), (514,'皮草',55), (515,'礼服',55), (516,'仿皮皮衣',55), (517,'羊毛衫',55), (518,'设计师/潮牌',55), (519,'衬衫',56), (520,'T恤',56), (521,'POLO衫',56), (522,'针织衫',56), (523,'羊绒衫',56), (524,'卫衣',56), (525,'马甲/背心',56), (526,'夹克',56), (527,'风衣',56), (528,'毛呢大衣',56), (529,'仿皮皮衣',56), (530,'西服',56), (531,'棉服',56), (532,'羽绒服',56), (533,'牛仔裤',56), (534,'休闲裤',56), (535,'西裤',56), (536,'西服套装',56), (537,'大码男装',56), (538,'中老年男装',56), (539,'唐装/中山装',56), (540,'工装',56), (541,'真皮皮衣',56), (542,'加绒裤',56), (543,'卫裤/运动裤',56), (544,'短裤',56), (545,'设计师/潮牌',56), (546,'羊毛衫',56), (547,'文胸',57), (548,'女式内裤',57), (549,'男式内裤',57), (550,'睡衣/家居服',57), (551,'塑身美体',57), (552,'泳衣',57), (553,'吊带/背心',57), (554,'抹胸',57), (555,'连裤袜/丝袜',57), (556,'美腿袜',57), (557,'商务男袜',57), (558,'保暖内衣',57), (559,'情侣睡衣',57), (560,'文胸套装',57), (561,'少女文胸',57), (562,'休闲棉袜',57), (563,'大码内衣',57), (564,'内衣配件',57), (565,'打底裤袜',57), (566,'打底衫',57), (567,'秋衣秋裤',57), (568,'情趣内衣',57), (569,'服装洗护',58), (570,'太阳镜',59), (571,'光学镜架/镜片',59), (572,'围巾/手套/帽子套装',59), (573,'袖扣',59), (574,'棒球帽',59), (575,'毛线帽',59), (576,'遮阳帽',59), (577,'老花镜',59), (578,'装饰眼镜',59), (579,'防辐射眼镜',59), (580,'游泳镜',59), (581,'女士丝巾/围巾/披肩',59), (582,'男士丝巾/围巾',59), (583,'鸭舌帽',59), (584,'贝雷帽',59), (585,'礼帽',59), (586,'真皮手套',59), (587,'毛线手套',59), (588,'防晒手套',59), (589,'男士腰带/礼盒',59), (590,'女士腰带/礼盒',59), (591,'钥匙扣',59), (592,'遮阳伞/雨伞',59), (593,'口罩',59), (594,'耳罩/耳包',59), (595,'假领',59), (596,'毛线/布面料',59), (597,'领带/领结/领带夹',59), (598,'男表',60), (599,'瑞表',60), (600,'女表',60), (601,'国表',60), (602,'日韩表',60), (603,'欧美表',60), (604,'德表',60), (605,'儿童手表',60), (606,'智能手表',60), (607,'闹钟',60), (608,'座钟挂钟',60), (609,'钟表配件',60), (610,'商务休闲鞋',61), (611,'正装鞋',61), (612,'休闲鞋',61), (613,'凉鞋/沙滩鞋',61), (614,'男靴',61), (615,'功能鞋',61), (616,'拖鞋/人字拖',61), (617,'雨鞋/雨靴',61), (618,'传统布鞋',61), (619,'鞋配件',61), (620,'帆布鞋',61), (621,'增高鞋',61), (622,'工装鞋',61), (623,'定制鞋',61), (624,'高跟鞋',62), (625,'单鞋',62), (626,'休闲鞋',62), (627,'凉鞋',62), (628,'女靴',62), (629,'雪地靴',62), (630,'拖鞋/人字拖',62), (631,'踝靴',62), (632,'筒靴',62), (633,'帆布鞋',62), (634,'雨鞋/雨靴',62), (635,'妈妈鞋',62), (636,'鞋配件',62), (637,'特色鞋',62), (638,'鱼嘴鞋',62), (639,'布鞋/绣花鞋',62), (640,'马丁靴',62), (641,'坡跟鞋',62), (642,'松糕鞋',62), (643,'内增高',62), (644,'防水台',62), (645,'婴幼奶粉',63), (646,'孕妈奶粉',63), (647,'益生菌/初乳',64), (648,'米粉/菜粉',64), (649,'果泥/果汁',64), (650,'DHA',64), (651,'宝宝零食',64), (652,'钙铁锌/维生素',64), (653,'清火/开胃',64), (654,'面条/粥',64), (655,'婴儿尿裤',65), (656,'拉拉裤',65), (657,'婴儿湿巾',65), (658,'成人尿裤',65), (659,'奶瓶奶嘴',66), (660,'吸奶器',66), (661,'暖奶消毒',66), (662,'儿童餐具',66), (663,'水壶/水杯',66), (664,'牙胶安抚',66), (665,'围兜/防溅衣',66), (666,'辅食料理机',66), (667,'食物存储',66), (668,'宝宝护肤',67), (669,'洗发沐浴',67), (670,'奶瓶清洗',67), (671,'驱蚊防晒',67), (672,'理发器',67), (673,'洗澡用具',67), (674,'婴儿口腔清洁',67), (675,'洗衣液/皂',67), (676,'日常护理',67), (677,'座便器',67), (678,'婴儿推车',68), (679,'餐椅摇椅',68), (680,'婴儿床',68), (681,'学步车',68), (682,'三轮车',68), (683,'自行车',68), (684,'电动车',68), (685,'扭扭车',68), (686,'滑板车',68), (687,'婴儿床垫',68), (688,'婴儿外出服',69), (689,'婴儿内衣',69), (690,'婴儿礼盒',69), (691,'婴儿鞋帽袜',69), (692,'安全防护',69), (693,'家居床品',69), (694,'睡袋/抱被',69), (695,'爬行垫',69), (696,'妈咪包/背婴带',70), (697,'产后塑身',70), (698,'文胸/内裤',70), (699,'防辐射服',70), (700,'孕妈装',70), (701,'孕期营养',70), (702,'孕妇护肤',70), (703,'待产护理',70), (704,'月子装',70), (705,'防溢乳垫',70), (706,'套装',71), (707,'上衣',71), (708,'裤子',71), (709,'裙子',71), (710,'内衣/家居服',71), (711,'羽绒服/棉服',71), (712,'亲子装',71), (713,'儿童配饰',71), (714,'礼服/演出服',71), (715,'运动鞋',71), (716,'皮鞋/帆布鞋',71), (717,'靴子',71), (718,'凉鞋',71), (719,'功能鞋',71), (720,'户外/运动服',71), (721,'提篮式',72), (722,'安全座椅',72), (723,'增高垫',72), (724,'钱包',73), (725,'手拿包',73), (726,'单肩包',73), (727,'双肩包',73), (728,'手提包',73), (729,'斜挎包',73), (730,'钥匙包',73), (731,'卡包/零钱包',73), (732,'男士钱包',74), (733,'男士手包',74), (734,'卡包名片夹',74), (735,'商务公文包',74), (736,'双肩包',74), (737,'单肩/斜挎包',74), (738,'钥匙包',74), (739,'电脑包',75), (740,'拉杆箱',75), (741,'旅行包',75), (742,'旅行配件',75), (743,'休闲运动包',75), (744,'拉杆包',75), (745,'登山包',75), (746,'妈咪包',75), (747,'书包',75), (748,'相机包',75), (749,'腰包/胸包',75), (750,'火机烟具',76), (751,'礼品文具',76), (752,'军刀军具',76), (753,'收藏品',76), (754,'工艺礼品',76), (755,'创意礼品',76), (756,'礼盒礼券',76), (757,'鲜花绿植',76), (758,'婚庆节庆',76), (759,'京东卡',76), (760,'美妆礼品',76), (761,'礼品定制',76), (762,'京东福卡',76), (763,'古董文玩',76), (764,'箱包',77), (765,'钱包',77), (766,'服饰',77), (767,'腰带',77), (768,'太阳镜/眼镜框',77), (769,'配件',77), (770,'鞋靴',77), (771,'饰品',77), (772,'名品腕表',77), (773,'高档化妆品',77), (774,'婚嫁首饰',78), (775,'婚纱摄影',78), (776,'婚纱礼服',78), (777,'婚庆服务',78), (778,'婚庆礼品/用品',78), (779,'婚宴',78), (780,'饼干蛋糕',79), (781,'糖果/巧克力',79), (782,'休闲零食',79), (783,'冲调饮品',79), (784,'粮油调味',79), (785,'牛奶',79), (786,'其他特产',80), (787,'新疆',80), (788,'北京',80), (789,'山西',80), (790,'内蒙古',80), (791,'福建',80), (792,'湖南',80), (793,'四川',80), (794,'云南',80), (795,'东北',80), (796,'休闲零食',81), (797,'坚果炒货',81), (798,'肉干肉脯',81), (799,'蜜饯果干',81), (800,'糖果/巧克力',81), (801,'饼干蛋糕',81), (802,'无糖食品',81), (803,'米面杂粮',82), (804,'食用油',82), (805,'调味品',82), (806,'南北干货',82), (807,'方便食品',82), (808,'有机食品',82), (809,'饮用水',83), (810,'饮料',83), (811,'牛奶乳品',83), (812,'咖啡/奶茶',83), (813,'冲饮谷物',83), (814,'蜂蜜/柚子茶',83), (815,'成人奶粉',83), (816,'月饼',84), (817,'大闸蟹',84), (818,'粽子',84), (819,'卡券',84), (820,'铁观音',85), (821,'普洱',85), (822,'龙井',85), (823,'绿茶',85), (824,'红茶',85), (825,'乌龙茶',85), (826,'花草茶',85), (827,'花果茶',85), (828,'养生茶',85), (829,'黑茶',85), (830,'白茶',85), (831,'其它茶',85), (832,'项链',86), (833,'手链/脚链',86), (834,'戒指',86), (835,'耳饰',86), (836,'毛衣链',86), (837,'发饰/发卡',86), (838,'胸针',86), (839,'饰品配件',86), (840,'婚庆饰品',86), (841,'黄金吊坠',87), (842,'黄金项链',87), (843,'黄金转运珠',87), (844,'黄金手镯/手链/脚链',87), (845,'黄金耳饰',87), (846,'黄金戒指',87), (847,'K金吊坠',88), (848,'K金项链',88), (849,'K金手镯/手链/脚链',88), (850,'K金戒指',88), (851,'K金耳饰',88), (852,'投资金',89), (853,'投资银',89), (854,'投资收藏',89), (855,'银吊坠/项链',90), (856,'银手镯/手链/脚链',90), (857,'银戒指',90), (858,'银耳饰',90), (859,'足银手镯',90), (860,'宝宝银饰',90), (861,'裸钻',91), (862,'钻戒',91), (863,'钻石项链/吊坠',91), (864,'钻石耳饰',91), (865,'钻石手镯/手链',91), (866,'项链/吊坠',92), (867,'手镯/手串',92), (868,'戒指',92), (869,'耳饰',92), (870,'挂件/摆件/把件',92), (871,'玉石孤品',92), (872,'项链/吊坠',93), (873,'耳饰',93), (874,'手镯/手链/脚链',93), (875,'戒指',93), (876,'头饰/胸针',93), (877,'摆件/挂件',93), (878,'琥珀/蜜蜡',94), (879,'碧玺',94), (880,'红宝石/蓝宝石',94), (881,'坦桑石',94), (882,'珊瑚',94), (883,'祖母绿',94), (884,'葡萄石',94), (885,'其他天然宝石',94), (886,'项链/吊坠',94), (887,'耳饰',94), (888,'手镯/手链',94), (889,'戒指',94), (890,'铂金项链/吊坠',95), (891,'铂金手镯/手链/脚链',95), (892,'铂金戒指',95), (893,'铂金耳饰',95), (894,'小叶紫檀',96), (895,'黄花梨',96), (896,'沉香木',96), (897,'金丝楠',96), (898,'菩提',96), (899,'其他',96), (900,'橄榄核/核桃',96), (901,'檀香',96), (902,'珍珠项链',97), (903,'珍珠吊坠',97), (904,'珍珠耳饰',97), (905,'珍珠手链',97), (906,'珍珠戒指',97), (907,'珍珠胸针',97), (908,'机油',98), (909,'正时皮带',98), (910,'添加剂',98), (911,'汽车喇叭',98), (912,'防冻液',98), (913,'汽车玻璃',98), (914,'滤清器',98), (915,'火花塞',98), (916,'减震器',98), (917,'柴机油/辅助油',98), (918,'雨刷',98), (919,'车灯',98), (920,'后视镜',98), (921,'轮胎',98), (922,'轮毂',98), (923,'刹车片/盘',98), (924,'维修配件',98), (925,'蓄电池',98), (926,'底盘装甲/护板',98), (927,'贴膜',98), (928,'汽修工具',98), (929,'改装配件',98), (930,'导航仪',99), (931,'安全预警仪',99), (932,'行车记录仪',99), (933,'倒车雷达',99), (934,'蓝牙设备',99), (935,'车载影音',99), (936,'净化器',99), (937,'电源',99), (938,'智能驾驶',99), (939,'车载电台',99), (940,'车载电器配件',99), (941,'吸尘器',99), (942,'智能车机',99), (943,'冰箱',99), (944,'汽车音响',99), (945,'车载生活电器',99), (946,'车蜡',100), (947,'补漆笔',100), (948,'玻璃水',100), (949,'清洁剂',100), (950,'洗车工具',100), (951,'镀晶镀膜',100), (952,'打蜡机',100), (953,'洗车配件',100), (954,'洗车机',100), (955,'洗车水枪',100), (956,'毛巾掸子',100), (957,'脚垫',101), (958,'座垫',101), (959,'座套',101), (960,'后备箱垫',101), (961,'头枕腰靠',101), (962,'方向盘套',101), (963,'香水',101), (964,'空气净化',101), (965,'挂件摆件',101), (966,'功能小件',101), (967,'车身装饰件',101), (968,'车衣',101), (969,'安全座椅',102), (970,'胎压监测',102), (971,'防盗设备',102), (972,'应急救援',102), (973,'保温箱',102), (974,'地锁',102), (975,'摩托车',102), (976,'充气泵',102), (977,'储物箱',102), (978,'自驾野营',102), (979,'摩托车装备',102), (980,'清洗美容',103), (981,'功能升级',103), (982,'保养维修',103), (983,'油卡充值',103), (984,'车险',103), (985,'加油卡',103), (986,'ETC',103), (987,'驾驶培训',103), (988,'赛事服装',104), (989,'赛事用品',104), (990,'制动系统',104), (991,'悬挂系统',104), (992,'进气系统',104), (993,'排气系统',104), (994,'电子管理',104), (995,'车身强化',104), (996,'赛事座椅',104), (997,'跑步鞋',105), (998,'休闲鞋',105), (999,'篮球鞋',105), (1000,'板鞋',105), (1001,'帆布鞋',105), (1002,'足球鞋',105), (1003,'乒羽网鞋',105), (1004,'专项运动鞋',105), (1005,'训练鞋',105), (1006,'拖鞋',105), (1007,'运动包',105), (1008,'羽绒服',106), (1009,'棉服',106), (1010,'运动裤',106), (1011,'夹克/风衣',106), (1012,'卫衣/套头衫',106), (1013,'T恤',106), (1014,'套装',106), (1015,'乒羽网服',106), (1016,'健身服',106), (1017,'运动背心',106), (1018,'毛衫/线衫',106), (1019,'运动配饰',106), (1020,'折叠车',107), (1021,'山地车/公路车',107), (1022,'电动车',107), (1023,'其他整车',107), (1024,'骑行服',107), (1025,'骑行装备',107), (1026,'平衡车',107), (1027,'鱼竿鱼线',108), (1028,'浮漂鱼饵',108), (1029,'钓鱼桌椅',108), (1030,'钓鱼配件',108), (1031,'钓箱鱼包',108), (1032,'其它',108), (1033,'泳镜',109), (1034,'泳帽',109), (1035,'游泳包防水包',109), (1036,'女士泳衣',109), (1037,'男士泳衣',109), (1038,'比基尼',109), (1039,'其它',109), (1040,'冲锋衣裤',110), (1041,'速干衣裤',110), (1042,'滑雪服',110), (1043,'羽绒服/棉服',110), (1044,'休闲衣裤',110), (1045,'抓绒衣裤',110), (1046,'软壳衣裤',110), (1047,'T恤',110), (1048,'户外风衣',110), (1049,'功能内衣',110), (1050,'军迷服饰',110), (1051,'登山鞋',110), (1052,'雪地靴',110), (1053,'徒步鞋',110), (1054,'越野跑鞋',110), (1055,'休闲鞋',110), (1056,'工装鞋',110), (1057,'溯溪鞋',110), (1058,'沙滩/凉拖',110), (1059,'户外袜',110), (1060,'帐篷/垫子',111), (1061,'睡袋/吊床',111), (1062,'登山攀岩',111), (1063,'户外配饰',111), (1064,'背包',111), (1065,'户外照明',111), (1066,'户外仪表',111), (1067,'户外工具',111), (1068,'望远镜',111), (1069,'旅游用品',111), (1070,'便携桌椅床',111), (1071,'野餐烧烤',111), (1072,'军迷用品',111), (1073,'救援装备',111), (1074,'滑雪装备',111), (1075,'极限户外',111), (1076,'冲浪潜水',111), (1077,'综合训练器',112), (1078,'其他大型器械',112), (1079,'哑铃',112), (1080,'仰卧板/收腹机',112), (1081,'其他中小型器材',112), (1082,'瑜伽舞蹈',112), (1083,'甩脂机',112), (1084,'踏步机',112), (1085,'武术搏击',112), (1086,'健身车/动感单车',112), (1087,'跑步机',112), (1088,'运动护具',112), (1089,'羽毛球',113), (1090,'乒乓球',113), (1091,'篮球',113), (1092,'足球',113), (1093,'网球',113), (1094,'排球',113), (1095,'高尔夫',113), (1096,'台球',113), (1097,'棋牌麻将',113), (1098,'轮滑滑板',113), (1099,'其他',113), (1100,'0-6个月',114), (1101,'6-12个月',114), (1102,'1-3岁',114), (1103,'3-6岁',114), (1104,'6-14岁',114), (1105,'14岁以上',114), (1106,'遥控车',115), (1107,'遥控飞机',115), (1108,'遥控船',115), (1109,'机器人',115), (1110,'轨道/助力',115), (1111,'毛绒/布艺',116), (1112,'靠垫/抱枕',116), (1113,'芭比娃娃',117), (1114,'卡通娃娃',117), (1115,'智能娃娃',117), (1116,'仿真模型',118), (1117,'拼插模型',118), (1118,'收藏爱好',118), (1119,'炫舞毯',119), (1120,'爬行垫/毯',119), (1121,'户外玩具',119), (1122,'戏水玩具',119), (1123,'电影周边',120), (1124,'卡通周边',120), (1125,'网游周边',120), (1126,'摇铃/床铃',121), (1127,'健身架',121), (1128,'早教启智',121), (1129,'拖拉玩具',121), (1130,'积木',122), (1131,'拼图',122), (1132,'磁力棒',122), (1133,'立体拼插',122), (1134,'手工彩泥',123), (1135,'绘画工具',123), (1136,'情景玩具',123), (1137,'减压玩具',124), (1138,'创意玩具',124), (1139,'钢琴',125), (1140,'电子琴/电钢琴',125), (1141,'吉他/尤克里里',125), (1142,'打击乐器',125), (1143,'西洋管弦',125), (1144,'民族管弦乐器',125), (1145,'乐器配件',125), (1146,'电脑音乐',125), (1147,'工艺礼品乐器',125), (1148,'口琴/口风琴/竖笛',125), (1149,'手风琴',125), (1150,'双色球',126), (1151,'大乐透',126), (1152,'福彩3D',126), (1153,'排列三',126), (1154,'排列五',126), (1155,'七星彩',126), (1156,'七乐彩',126), (1157,'竞彩足球',126), (1158,'竞彩篮球',126), (1159,'新时时彩',126), (1160,'国内机票',127), (1161,'国内酒店',128), (1162,'酒店团购',128), (1163,'度假',129), (1164,'景点',129), (1165,'租车',129), (1166,'火车票',129), (1167,'旅游团购',129), (1168,'手机充值',130), (1169,'游戏点卡',131), (1170,'QQ充值',131), (1171,'电影票',132), (1172,'演唱会',132), (1173,'话剧歌剧',132), (1174,'音乐会',132), (1175,'体育赛事',132), (1176,'舞蹈芭蕾',132), (1177,'戏曲综艺',132), (1178,'东北',133), (1179,'华北',133), (1180,'西北',133), (1181,'华中',133), (1182,'华东',133), (1183,'华南',133), (1184,'西南',133), (1185,'苹果',134), (1186,'橙子',134), (1187,'奇异果/猕猴桃',134), (1188,'车厘子/樱桃',134), (1189,'芒果',134), (1190,'蓝莓',134), (1191,'火龙果',134), (1192,'葡萄/提子',134), (1193,'柚子',134), (1194,'香蕉',134), (1195,'牛油果',134), (1196,'梨',134), (1197,'菠萝/凤梨',134), (1198,'桔/橘',134), (1199,'柠檬',134), (1200,'草莓',134), (1201,'桃/李/杏',134), (1202,'更多水果',134), (1203,'水果礼盒/券',134), (1204,'牛肉',135), (1205,'羊肉',135), (1206,'猪肉',135), (1207,'内脏类',135), (1208,'鱼类',136), (1209,'虾类',136), (1210,'蟹类',136), (1211,'贝类',136), (1212,'海参',136), (1213,'海产干货',136), (1214,'其他水产',136), (1215,'海产礼盒',136), (1216,'鸡肉',137), (1217,'鸭肉',137), (1218,'蛋类',137), (1219,'其他禽类',137), (1220,'水饺/馄饨',138), (1221,'汤圆/元宵',138), (1222,'面点',138), (1223,'火锅丸串',138), (1224,'速冻半成品',138), (1225,'奶酪黄油',138), (1226,'熟食',139), (1227,'腊肠/腊肉',139), (1228,'火腿',139), (1229,'糕点',139), (1230,'礼品卡券',139), (1231,'冷藏果蔬汁',140), (1232,'冰激凌',140), (1233,'其他',140), (1234,'叶菜类',141), (1235,'茄果瓜类',141), (1236,'根茎类',141), (1237,'鲜菌菇',141), (1238,'葱姜蒜椒',141), (1239,'半加工蔬菜',141), (1240,'微型车',142), (1241,'小型车',142), (1242,'紧凑型车',142), (1243,'中型车',142), (1244,'中大型车',142), (1245,'豪华车',142), (1246,'MPV',142), (1247,'SUV',142), (1248,'跑车',142), (1249,'微型车(二手)',143), (1250,'小型车(二手)',143), (1251,'紧凑型车(二手)',143), (1252,'中型车(二手)',143), (1253,'中大型车(二手)',143), (1254,'豪华车(二手)',143), (1255,'MPV(二手)',143), (1256,'SUV(二手)',143), (1257,'跑车(二手)',143), (1258,'皮卡(二手)',143), (1259,'面包车(二手)',143); /*!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 */;