diff --git a/src/demo/.idea/.gitignore b/src/demo/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/src/demo/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/demo/.idea/compiler.xml b/src/demo/.idea/compiler.xml new file mode 100644 index 00000000..c937fdd5 --- /dev/null +++ b/src/demo/.idea/compiler.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/src/demo/.idea/dataSources.xml b/src/demo/.idea/dataSources.xml new file mode 100644 index 00000000..5c37d79d --- /dev/null +++ b/src/demo/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/recommend + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/src/demo/.idea/demo.iml b/src/demo/.idea/demo.iml new file mode 100644 index 00000000..6054576e --- /dev/null +++ b/src/demo/.idea/demo.iml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/demo/.idea/encodings.xml b/src/demo/.idea/encodings.xml new file mode 100644 index 00000000..dfc8d742 --- /dev/null +++ b/src/demo/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/demo/.idea/jarRepositories.xml b/src/demo/.idea/jarRepositories.xml new file mode 100644 index 00000000..712ab9d9 --- /dev/null +++ b/src/demo/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/.idea/misc.xml b/src/demo/.idea/misc.xml new file mode 100644 index 00000000..14883811 --- /dev/null +++ b/src/demo/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/demo/.idea/modules.xml b/src/demo/.idea/modules.xml new file mode 100644 index 00000000..c95e899e --- /dev/null +++ b/src/demo/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/demo/.idea/uiDesigner.xml b/src/demo/.idea/uiDesigner.xml new file mode 100644 index 00000000..2b63946d --- /dev/null +++ b/src/demo/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/.idea/vcs.xml b/src/demo/.idea/vcs.xml new file mode 100644 index 00000000..b2bdec2d --- /dev/null +++ b/src/demo/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/demo/backend/demo.sql b/src/demo/backend/demo.sql new file mode 100644 index 00000000..dad5c3c9 --- /dev/null +++ b/src/demo/backend/demo.sql @@ -0,0 +1,422 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost_3306 + Source Server Type : MySQL + Source Server Version : 80023 + Source Host : 127.0.0.1:3306 + Source Schema : sharePlatform + + Target Server Type : MySQL + Target Server Version : 80023 + File Encoding : 65001 + + Date: 01/07/2021 18:15:00 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for cart_item +-- ---------------------------- +DROP TABLE IF EXISTS `cart_item`; +CREATE TABLE `cart_item` ( + `cart_item_id` int NOT NULL AUTO_INCREMENT COMMENT '购物项id', + `user_id` int DEFAULT NULL COMMENT '用户id', + `goods_id` int DEFAULT NULL COMMENT '物品id', + `goods_count` int DEFAULT NULL COMMENT '物品数量', + `is_deleted` int DEFAULT NULL COMMENT '删除标识字段(0-未删除 1-已删除)', + `create_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `price` double DEFAULT NULL COMMENT '单项总价', + `goods_cover_img` varchar(255) DEFAULT NULL COMMENT '物品图片', + `goods_name` varchar(255) DEFAULT NULL COMMENT '物品名称', + PRIMARY KEY (`cart_item_id`) +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of cart_item +-- ---------------------------- +BEGIN; +INSERT INTO `cart_item` VALUES (1, 10, 1, 10, 0, '2021-06-15 19:00:00', '2021-06-29 19:00:00', NULL, NULL, NULL); +INSERT INTO `cart_item` VALUES (3, 3, 1, 10, 0, '2021-06-15 19:00:00', '2021-06-29 19:00:00', NULL, NULL, NULL); +INSERT INTO `cart_item` VALUES (19, 12, 1, 1, 0, NULL, NULL, 100, '12', 'iphone12 手机'); +INSERT INTO `cart_item` VALUES (22, 12, 9, 1, 0, NULL, NULL, 110, '8c5d5f5f-14e9-43b5-9d41-b69b31f2859a', 'rtx3080ti显卡'); +COMMIT; + +-- ---------------------------- +-- Table structure for category +-- ---------------------------- +DROP TABLE IF EXISTS `category`; +CREATE TABLE `category` ( + `category_id` int NOT NULL AUTO_INCREMENT COMMENT '分类id', + `category_level` varchar(5) NOT NULL COMMENT '分类级别', + `parent_id` int NOT NULL COMMENT '父分类ID', + `category_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '分类名称', + `is_deleted` int DEFAULT NULL COMMENT '删除标识(0-未删除,1-已删除)', + `category_img` varchar(255) DEFAULT NULL COMMENT '图片id', + PRIMARY KEY (`category_id`) +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of category +-- ---------------------------- +BEGIN; +INSERT INTO `category` VALUES (1, '1', 0, '手机相关', 0, '2'); +INSERT INTO `category` VALUES (2, '1', 0, '电脑相关', 0, '2'); +INSERT INTO `category` VALUES (3, '2', 1, '手机', 0, '2'); +INSERT INTO `category` VALUES (4, '2', 1, '充电器', 0, '2'); +INSERT INTO `category` VALUES (5, '2', 1, '数据线', 0, '2'); +INSERT INTO `category` VALUES (6, '2', 2, '键盘', 0, '2'); +INSERT INTO `category` VALUES (7, '2', 2, '鼠标', 0, '2'); +INSERT INTO `category` VALUES (8, '2', 2, '显示器', 0, '2'); +INSERT INTO `category` VALUES (9, '1', 0, '相机相关', 0, '2'); +INSERT INTO `category` VALUES (10, '1', 0, '电视相关', 0, '2'); +INSERT INTO `category` VALUES (11, '1', 0, '影音设备', 0, '2'); +INSERT INTO `category` VALUES (12, '1', 0, '网络设备', 0, '2'); +INSERT INTO `category` VALUES (13, '2', 1, '手机贴膜', 0, NULL); +INSERT INTO `category` VALUES (14, '2', 1, '手机壳', 0, NULL); +INSERT INTO `category` VALUES (15, '2', 1, '手机支架', 0, NULL); +INSERT INTO `category` VALUES (16, '2', 1, '苹果周边', 0, NULL); +INSERT INTO `category` VALUES (17, '2', 1, 'iphone', 0, NULL); +INSERT INTO `category` VALUES (18, '2', 2, '显卡', 0, NULL); +INSERT INTO `category` VALUES (19, '2', 2, '硬盘', 0, NULL); +INSERT INTO `category` VALUES (20, '2', 2, 'cpu', 0, NULL); +INSERT INTO `category` VALUES (21, '2', 2, '主板', 0, NULL); +INSERT INTO `category` VALUES (22, '2', 2, '内存', 0, NULL); +INSERT INTO `category` VALUES (23, '2', 9, '数码相机', 0, NULL); +INSERT INTO `category` VALUES (24, '2', 9, '微单相机', 0, NULL); +INSERT INTO `category` VALUES (25, '2', 9, '单反相机', 0, NULL); +INSERT INTO `category` VALUES (26, '2', 9, '存储卡', 0, NULL); +INSERT INTO `category` VALUES (27, '2', 9, '云台', 0, NULL); +INSERT INTO `category` VALUES (28, '2', 9, '索尼', 0, NULL); +INSERT INTO `category` VALUES (29, '2', 10, 'OLED电视', 0, NULL); +INSERT INTO `category` VALUES (30, '2', 11, '电脑音响', 0, NULL); +INSERT INTO `category` VALUES (31, '2', 12, '路由器', 0, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for entrust +-- ---------------------------- +DROP TABLE IF EXISTS `entrust`; +CREATE TABLE `entrust` ( + `entrust_id` int NOT NULL AUTO_INCREMENT COMMENT '委托id', + `e_goods_name` varchar(255) DEFAULT NULL COMMENT '委托物品名称', + `e_goods_intro` varchar(255) DEFAULT NULL COMMENT '物品简介', + `e_goods_category` int DEFAULT NULL COMMENT '物品分类id', + `e_goods_cover_img` varchar(255) DEFAULT NULL COMMENT '物品主图片', + `e_goods_carousel` varchar(255) DEFAULT NULL COMMENT '物品轮播图片', + `e_goods_detail_content` text COMMENT '物品详情', + `e_goods_price` double(10,2) DEFAULT NULL COMMENT '委托租赁单价 元/天', + `e_stock_num` int DEFAULT NULL COMMENT '委托数量', + PRIMARY KEY (`entrust_id`) +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of entrust +-- ---------------------------- +BEGIN; +INSERT INTO `entrust` VALUES (1, 'qqq11', 'qqq', 3, '173f2300-83a2-45ea-b613-09a894ab3be0', '8378118b-2727-46eb-82a9-c537b3d0fc7c', 'qwe', 123.00, 1); +INSERT INTO `entrust` VALUES (18, '索尼微单相机', '索尼微单相机', 24, 'b70a9afb-af55-46ea-b465-f557bed735da', '', '索尼微单相机', 100.00, 1); +COMMIT; + +-- ---------------------------- +-- Table structure for goods +-- ---------------------------- +DROP TABLE IF EXISTS `goods`; +CREATE TABLE `goods` ( + `goods_id` int NOT NULL AUTO_INCREMENT COMMENT '物品ID', + `goods_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '物品名称', + `goods_intro` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '物品简介', + `goods_category_id` int NOT NULL COMMENT '物品分类id', + `goods_cover_img` varchar(255) DEFAULT NULL COMMENT '物品主图片', + `goods_carousel` varchar(500) DEFAULT NULL COMMENT '物品轮播图片', + `goods_detail_content` text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '物品详情', + `goods_price` double(10,2) DEFAULT NULL COMMENT '物品价格', + `stock_num` int DEFAULT NULL COMMENT '物品数量', + `goods_status` int DEFAULT NULL COMMENT '物品上架状态(0下架,1上架)', + `goods_score` double DEFAULT NULL COMMENT '物品评价分数', + PRIMARY KEY (`goods_id`) +) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of goods +-- ---------------------------- +BEGIN; +INSERT INTO `goods` VALUES (1, 'iphone12 手机', '苹果最新款手机', 3, '12', '21', '苹果最新款手机', 100.00, 100, 1, 3.4); +INSERT INTO `goods` VALUES (2, 'iphone11 手机', 'iphone11', 3, '13', '21', '111', 100.00, 100, 1, 1.3); +INSERT INTO `goods` VALUES (3, 'iphone12 pro 手机', 'iphone', 3, '19', '21', '111', 100.00, 100, 1, 4.9); +INSERT INTO `goods` VALUES (4, 'qqq11', 'qqq', 3, '173f2300-83a2-45ea-b613-09a894ab3be0', '8378118b-2727-46eb-82a9-c537b3d0fc7c', 'qwe', 123.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (5, 'rtx3060显卡', 'rtx3060显卡', 18, '984fb033-eea8-4174-ae17-025012ed3a4e', 'e6d78f17-267a-4173-88e6-93c330a9bfc4', 'rtx3060显卡', 50.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (6, 'rtx3060显卡', 'rtx3060显卡', 18, '984fb033-eea8-4174-ae17-025012ed3a4e', 'e6d78f17-267a-4173-88e6-93c330a9bfc4', 'rtx3060显卡', 50.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (7, 'rtx3070显卡', 'rtx3070显卡', 18, '3f41b68f-60d4-48fd-a079-ed9354111bea', '5a586e79-eb60-484c-b0cd-d003c2efad8e', 'rtx3070显卡', 80.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (8, 'rtx3080显卡', 'rtx3080显卡', 18, '4e8b8334-cfb7-451a-a673-91ba66c88411', '562e46cb-80c6-4691-b7f2-17c3fec80774', 'rtx3080显卡', 100.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (9, 'rtx3080ti显卡', 'rtx3080ti显卡', 18, '8c5d5f5f-14e9-43b5-9d41-b69b31f2859a', '9ab74473-df00-45e5-a894-0432289d84ac', 'rtx3080ti显卡', 110.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (10, '6700xt 显卡', '6700xt显卡', 18, '6700', '76fdb9d7-d7af-467c-8b7f-075cfb108faf', '6700xt', 80.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (11, '6800xt 显卡', '6800xt显卡', 18, '6800', 'cce21e0c-743b-46c0-b87d-9fa66483414b', '6800xt', 90.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (12, '6800xt 显卡', '6800xt显卡', 18, '6800', 'cce21e0c-743b-46c0-b87d-9fa66483414b', '6800xt', 90.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (13, '6900xt 显卡', '6900xt显卡', 18, '6900', '0afe5d80-3d83-4ea9-8d5b-60e5b45337e5', '6900xt', 110.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (14, 'rtx3060显卡', 'rtx3060显卡', 18, '3060', 'cebf2e7b-2828-4616-b15f-62fb372f6788', 'rtx3060显卡', 80.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (15, 'rtx3060显卡', 'rtx3060显卡', 18, '3060', 'd92b8308-7e39-4352-9dac-bff0919b6e4d', 'rtx3060显卡', 90.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (16, 'rtx3080显卡', 'rtx3080显卡', 18, '3080', '7d6267ef-762d-4038-9ff7-d5248c3e5a0e', 'rtx3080显卡', 110.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (17, 'rtx3080显卡', 'rtx3080显卡', 18, '3080', 'de29277a-32d5-4117-8de7-81e9882c634b', 'rtx3080显卡', 110.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (18, 'rtx3090显卡', 'rtx3090显卡', 18, '3090', '736d461f-fe38-43e3-a850-889dadb4cbd4', 'rtx3090显卡', 130.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (19, 'ipad 2021 pro平板电脑', 'ipad 2021 pro平板电脑', 16, 'ipad', 'ipadDetail', 'ipad 2021 pro平板电脑', 110.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (20, '索尼微单 A74', '索尼微单 A74', 24, 'a7r4', 'a7r4Detail', '索尼微单 A74', 190.00, 1, 1, 3.7); +INSERT INTO `goods` VALUES (21, '富士微单相机 xt4', '富士微单相机 xt4', 24, 'fujixt4', 'xt4Detail', '富士微单相机 xt4', 150.00, 1, 1, 3.7); +COMMIT; + +-- ---------------------------- +-- Table structure for index_config +-- ---------------------------- +DROP TABLE IF EXISTS `index_config`; +CREATE TABLE `index_config` ( + `config_id` int NOT NULL AUTO_INCREMENT COMMENT '首页配置项id', + `config_name` varchar(100) DEFAULT NULL COMMENT '显示字符', + `config_type` int DEFAULT NULL COMMENT '1-今日推荐 2-今日优惠 3-为您推荐', + `goods_id` int NOT NULL COMMENT '物品id', + `is_deleted` int DEFAULT NULL COMMENT '删除标识字段(0-未删除 1-已删除)', + `goods_cover_img` varchar(255) DEFAULT NULL COMMENT '物品图片', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of index_config +-- ---------------------------- +BEGIN; +INSERT INTO `index_config` VALUES (1, 'iphone', 1, 0, 0, '3'); +INSERT INTO `index_config` VALUES (2, 'ipad', 1, 0, 0, '4'); +INSERT INTO `index_config` VALUES (3, '索尼微单', 2, 0, 0, '23'); +INSERT INTO `index_config` VALUES (4, '富士微单', 2, 0, 0, '22'); +INSERT INTO `index_config` VALUES (5, '戴尔显示器', 3, 0, 0, '24'); +INSERT INTO `index_config` VALUES (6, 'LG显示器', 3, 0, 0, '25'); +INSERT INTO `index_config` VALUES (7, 'macbook', 3, 0, 0, 'macbook'); +INSERT INTO `index_config` VALUES (8, 'macmini', 3, 0, 0, 'macmini'); +INSERT INTO `index_config` VALUES (9, 'xdr', 3, 0, 0, 'xdr'); +COMMIT; + +-- ---------------------------- +-- Table structure for order_item +-- ---------------------------- +DROP TABLE IF EXISTS `order_item`; +CREATE TABLE `order_item` ( + `order_item_id` int NOT NULL AUTO_INCREMENT COMMENT '订单项id', + `order_id` int DEFAULT NULL COMMENT '关联订单id', + `goods_id` int DEFAULT NULL COMMENT '关联物品id', + `goods_name` varchar(100) DEFAULT NULL COMMENT '物品名称', + `goods_cover_img` varchar(255) DEFAULT NULL COMMENT '物品主图', + `price` double(10,2) DEFAULT NULL COMMENT '物品价格', + `goods_count` int DEFAULT NULL COMMENT '物品数量', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `end_time` datetime DEFAULT NULL COMMENT '结束租赁时间', + `user_id` int DEFAULT NULL, + PRIMARY KEY (`order_item_id`) +) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of order_item +-- ---------------------------- +BEGIN; +INSERT INTO `order_item` VALUES (3, 7, 1, 'iphone12', '1', 20970.00, 1, '2021-06-16 00:00:00', '2021-09-14 00:00:00', 10); +INSERT INTO `order_item` VALUES (4, 7, 1, 'iphone12', '1', 20000.00, 1, '2021-06-16 20:50:31', '2021-06-25 20:50:34', 10); +INSERT INTO `order_item` VALUES (5, 8, 1, 'iphone12', '12', 20970.00, 1, '2021-06-16 00:00:00', '2021-09-14 00:00:00', 11); +INSERT INTO `order_item` VALUES (6, 9, 2, 'iphone11', '13', 20970.00, 1, '2021-06-16 00:00:00', '2021-09-14 00:00:00', 12); +INSERT INTO `order_item` VALUES (7, 10, 3, 'iphone12 pro', '19', 12815.00, 1, '2021-06-16 00:00:00', '2021-08-10 00:00:00', 12); +INSERT INTO `order_item` VALUES (8, 11, 1, 'iphone12', '1', 11111.00, 1, '2021-06-17 11:27:51', '2021-06-17 11:27:54', 10); +INSERT INTO `order_item` VALUES (9, 11, 2, 'iphone11', '13', 13333.00, 1, '2021-06-17 11:28:17', '2021-06-17 11:28:20', 10); +INSERT INTO `order_item` VALUES (10, 12, 1, 'iphone12', '12', 20970.00, 1, '2021-06-17 00:00:00', '2021-09-15 00:00:00', 12); +INSERT INTO `order_item` VALUES (11, 19, 1, 'iphone12', '12', 1200.00, 1, '2021-06-17 00:00:00', '2021-06-29 00:00:00', NULL); +INSERT INTO `order_item` VALUES (12, 20, 1, 'iphone12', '12', 1200.00, 1, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (13, 21, 1, 'iphone12', '12', 6000.00, 5, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (14, 21, 2, 'iphone11', '13', 7200.00, 6, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (15, 22, 5, 'rtx3060显卡', '984fb033-eea8-4174-ae17-025012ed3a4e', 9087.00, 1, '2021-06-18 00:00:00', '2021-07-27 00:00:00', 12); +INSERT INTO `order_item` VALUES (16, 23, 5, 'rtx3060显卡', '984fb033-eea8-4174-ae17-025012ed3a4e', 8621.00, 1, '2021-06-18 00:00:00', '2021-07-25 00:00:00', 12); +INSERT INTO `order_item` VALUES (17, 24, 7, 'rtx3070显卡', '3f41b68f-60d4-48fd-a079-ed9354111bea', 960.00, 1, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (18, 25, 7, 'rtx3070显卡', '3f41b68f-60d4-48fd-a079-ed9354111bea', 960.00, 1, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (19, 26, 7, 'rtx3070显卡', '3f41b68f-60d4-48fd-a079-ed9354111bea', 960.00, 1, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (20, 27, 7, 'rtx3070显卡', '3f41b68f-60d4-48fd-a079-ed9354111bea', 2880.00, 3, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (21, 28, 7, 'rtx3070显卡', '3f41b68f-60d4-48fd-a079-ed9354111bea', 960.00, 1, '2021-06-17 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (22, 29, 1, 'iphone12 手机', '12', 4000.00, 5, '2021-06-21 00:00:00', '2021-06-29 00:00:00', 12); +INSERT INTO `order_item` VALUES (23, 30, 5, 'rtx3060显卡', '984fb033-eea8-4174-ae17-025012ed3a4e', 1500.00, 1, '2021-06-28 00:00:00', '2021-07-28 00:00:00', 12); +INSERT INTO `order_item` VALUES (24, 30, 5, 'rtx3060显卡', '984fb033-eea8-4174-ae17-025012ed3a4e', 1500.00, 1, '2021-06-28 00:00:00', '2021-07-28 00:00:00', 12); +INSERT INTO `order_item` VALUES (25, 31, 1, 'iphone12 手机', '12', 15000.00, 5, '2021-06-30 00:00:00', '2021-07-30 00:00:00', 11); +INSERT INTO `order_item` VALUES (26, 31, 2, 'iphone11 手机', '13', 15000.00, 5, '2021-06-30 00:00:00', '2021-07-30 00:00:00', 11); +INSERT INTO `order_item` VALUES (27, 32, 1, 'iphone12 手机', '12', 9000.00, 3, '2021-06-30 00:00:00', '2021-07-30 00:00:00', 15); +INSERT INTO `order_item` VALUES (28, 33, 1, 'iphone12 手机', '12', 2900.00, 1, '2021-06-30 00:00:00', '2021-07-29 00:00:00', 15); +INSERT INTO `order_item` VALUES (29, 34, 20, '索尼微单 A74', 'a7r4', 20970.00, 1, '2021-07-01 00:00:00', '2021-09-29 00:00:00', 15); +INSERT INTO `order_item` VALUES (30, 35, 19, 'ipad 2021 pro平板电脑', 'ipad', 3300.00, 1, '2021-06-30 00:00:00', '2021-07-30 00:00:00', 15); +INSERT INTO `order_item` VALUES (31, 35, 20, '索尼微单 A74', 'a7r4', 5700.00, 1, '2021-06-30 00:00:00', '2021-07-30 00:00:00', 15); +INSERT INTO `order_item` VALUES (32, 36, 5, 'rtx3060显卡', '984fb033-eea8-4174-ae17-025012ed3a4e', 20970.00, 1, '2021-07-01 00:00:00', '2021-09-29 00:00:00', 15); +COMMIT; + +-- ---------------------------- +-- Table structure for orderKK +-- ---------------------------- +DROP TABLE IF EXISTS `orderKK`; +CREATE TABLE `orderKK` ( + `order_id` int NOT NULL AUTO_INCREMENT COMMENT '订单表id', + `order_num` varchar(50) DEFAULT NULL COMMENT '订单号', + `user_id` int DEFAULT NULL COMMENT '用户id', + `total_price` double(10,2) DEFAULT NULL COMMENT '订单总价', + `pay_status` int DEFAULT NULL COMMENT '支付状态:0.未支付,1.支付成功,-1:支付失败', + `pay_time` datetime DEFAULT NULL COMMENT '支付时间', + `order_status` int DEFAULT NULL COMMENT '订单状态:0.待支付 1.已支付 2.配货完成 3:出库成功 4.交易成功 -1.手动关闭 -2.超时关闭 -3.商家关闭', + `extra_info` varchar(100) DEFAULT NULL COMMENT '订单内容描述', + `user_name` varchar(255) DEFAULT NULL COMMENT '收货人姓名', + `user_phone` varchar(255) DEFAULT NULL COMMENT '收货人手机号', + `user_address` varchar(255) DEFAULT NULL COMMENT '收货人地址', + `is_deleted` int DEFAULT NULL COMMENT '删除标识字段(0-未删除 1-已删除)', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `end_time` datetime DEFAULT NULL COMMENT '结束租赁时间', + PRIMARY KEY (`order_id`) +) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of orderKK +-- ---------------------------- +BEGIN; +INSERT INTO `orderKK` VALUES (7, '111', 10, 20970.00, 1, '2021-06-16 00:00:00', 1, NULL, 'test2', '111', '金湾区', NULL, '2021-06-16 00:00:00', '2021-09-14 00:00:00'); +INSERT INTO `orderKK` VALUES (8, NULL, 11, 20970.00, 1, '2021-06-16 00:00:00', 1, NULL, 'test3', '111', 'qqq', NULL, '2021-06-16 00:00:00', '2021-09-14 00:00:00'); +INSERT INTO `orderKK` VALUES (9, NULL, 12, 20970.00, 1, '2021-06-16 00:00:00', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-16 00:00:00', '2021-09-14 00:00:00'); +INSERT INTO `orderKK` VALUES (10, NULL, 12, 12815.00, 1, '2021-06-16 00:00:00', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-16 00:00:00', '2021-08-10 00:00:00'); +INSERT INTO `orderKK` VALUES (11, '113', 10, 20970.00, 1, '2021-06-17 11:26:05', 1, NULL, 'test2', '111', '金湾区', NULL, '2021-06-17 11:26:17', '2021-06-17 11:26:20'); +INSERT INTO `orderKK` VALUES (12, '20210617185717383140', 12, 20970.00, 1, '2021-06-17 00:00:00', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-17 00:00:00', '2021-09-15 00:00:00'); +INSERT INTO `orderKK` VALUES (19, '20210618002946125022', 12, 1200.00, 1, '2021-06-18 12:29:46', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 12:29:46', NULL); +INSERT INTO `orderKK` VALUES (20, '20210618003322619466', 12, 1200.00, 1, '2021-06-18 12:33:22', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 12:33:22', NULL); +INSERT INTO `orderKK` VALUES (21, '20210618003606983028', 12, 13200.00, 1, '2021-06-18 12:36:06', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 12:36:06', NULL); +INSERT INTO `orderKK` VALUES (22, '20210618013201115016', 12, 9087.00, 1, '2021-06-18 00:00:00', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 00:00:00', '2021-07-27 00:00:00'); +INSERT INTO `orderKK` VALUES (23, '2021061801325558720', 12, 8621.00, 1, '2021-06-18 00:00:00', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 00:00:00', '2021-07-25 00:00:00'); +INSERT INTO `orderKK` VALUES (24, '20210618013702386573', 12, 960.00, 1, '2021-06-18 01:37:02', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 01:37:02', NULL); +INSERT INTO `orderKK` VALUES (25, '20210618013703934027', 12, 960.00, 1, '2021-06-18 01:37:03', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 01:37:03', NULL); +INSERT INTO `orderKK` VALUES (26, '2021061801370464186', 12, 960.00, 1, '2021-06-18 01:37:04', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 01:37:04', NULL); +INSERT INTO `orderKK` VALUES (27, '20210618013803831934', 12, 2880.00, 1, '2021-06-18 01:38:03', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 01:38:03', NULL); +INSERT INTO `orderKK` VALUES (28, '20210618013841663674', 12, 960.00, 1, '2021-06-18 01:38:41', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-18 01:38:41', NULL); +INSERT INTO `orderKK` VALUES (29, '20210622223223241262', 12, 4000.00, 1, '2021-06-22 10:32:23', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-22 10:32:23', NULL); +INSERT INTO `orderKK` VALUES (30, '2021062915572843465', 12, 3000.00, 1, '2021-06-29 03:57:28', 1, NULL, 'test233', '15302634390', '金湾区', NULL, '2021-06-29 03:57:28', NULL); +INSERT INTO `orderKK` VALUES (31, '20210701162638816095', 11, 30000.00, 1, '2021-07-01 04:26:38', 1, NULL, 'test3', '66677788876', '333', NULL, '2021-07-01 04:26:38', NULL); +INSERT INTO `orderKK` VALUES (32, '20210701162950954060', 15, 9000.00, 1, '2021-07-01 04:29:50', 1, NULL, 'test232', '10086', 'qqq', NULL, '2021-07-01 04:29:50', NULL); +INSERT INTO `orderKK` VALUES (33, '20210701163001303859', 15, 2900.00, 1, '2021-07-01 04:30:01', 1, NULL, 'test232', '10086', 'qqq', NULL, '2021-07-01 04:30:01', NULL); +INSERT INTO `orderKK` VALUES (34, '20210701163027237993', 15, 20970.00, 1, '2021-07-01 00:00:00', 1, NULL, 'test232', '10086', 'qqq', NULL, '2021-07-01 00:00:00', '2021-09-29 00:00:00'); +INSERT INTO `orderKK` VALUES (35, '20210701163057424313', 15, 9000.00, 1, '2021-07-01 04:30:57', 1, NULL, 'test232', '10086', 'qqq', NULL, '2021-07-01 04:30:57', NULL); +INSERT INTO `orderKK` VALUES (36, '20210701163116942651', 15, 20970.00, 1, '2021-07-01 00:00:00', 1, NULL, 'test232', '10086', 'qqq', NULL, '2021-07-01 00:00:00', '2021-09-29 00:00:00'); +COMMIT; + +-- ---------------------------- +-- Table structure for permission +-- ---------------------------- +DROP TABLE IF EXISTS `permission`; +CREATE TABLE `permission` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) DEFAULT NULL COMMENT '权限名称', + `url` varchar(255) DEFAULT NULL COMMENT '接口路径', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of permission +-- ---------------------------- +BEGIN; +INSERT INTO `permission` VALUES (1, 'memberPermission', ''); +INSERT INTO `permission` VALUES (2, 'adminPermission', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for role +-- ---------------------------- +DROP TABLE IF EXISTS `role`; +CREATE TABLE `role` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) DEFAULT NULL COMMENT '角色名称', + `description` varchar(255) DEFAULT NULL COMMENT '描述', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of role +-- ---------------------------- +BEGIN; +INSERT INTO `role` VALUES (1, 'member', '普通会员'); +INSERT INTO `role` VALUES (2, 'admin', '管理员'); +COMMIT; + +-- ---------------------------- +-- Table structure for role_permission +-- ---------------------------- +DROP TABLE IF EXISTS `role_permission`; +CREATE TABLE `role_permission` ( + `id` int NOT NULL AUTO_INCREMENT, + `role_id` int DEFAULT NULL COMMENT '角色id', + `permission_id` int DEFAULT NULL COMMENT '权限id', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of role_permission +-- ---------------------------- +BEGIN; +INSERT INTO `role_permission` VALUES (1, 1, 1); +COMMIT; + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `user_id` int NOT NULL AUTO_INCREMENT COMMENT '用户主键id', + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户昵称', + `sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '性别', + `phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '电话号码', + `userName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '登录用户名', + `passWord` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'MD5加密后的密码', + `address` varchar(255) DEFAULT NULL COMMENT '收货地址', + `createTime` datetime DEFAULT NULL COMMENT '注册时间', + `salt` varchar(255) DEFAULT NULL COMMENT '加密盐', + PRIMARY KEY (`user_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of user +-- ---------------------------- +BEGIN; +INSERT INTO `user` VALUES (1, 'jjk', '男', '133', 'jjk', '123456', NULL, NULL, 'jjk'); +INSERT INTO `user` VALUES (2, NULL, NULL, NULL, 'jjk332', '123456', NULL, NULL, NULL); +INSERT INTO `user` VALUES (3, NULL, NULL, NULL, 'jjk233', 'fe3cc6652d0e45d9afbac817cde3ead5', NULL, NULL, NULL); +INSERT INTO `user` VALUES (4, NULL, NULL, NULL, 'jjk233', 'ebd4a2f568c43c2efd338446ed97bab8', NULL, NULL, NULL); +INSERT INTO `user` VALUES (5, NULL, NULL, NULL, 'jjk233', '6fa88c345337dce86a7dca5b82a42567', NULL, NULL, 'e410dff56897cc44bf37e9cde02d4a3c'); +INSERT INTO `user` VALUES (6, NULL, NULL, NULL, 'jjk233', 'ec91eb3b49981268db4431fdf689e2e9', NULL, NULL, '70fbbcdea6150cce9e2c1f2cc3fd576b'); +INSERT INTO `user` VALUES (7, NULL, NULL, NULL, 'jjk333', '9cc4e2abfec86d7ff3986b83e41b2d9e', NULL, NULL, '370434581cb6b0cbdb36caf5392d6832'); +INSERT INTO `user` VALUES (8, '111', '男', '133', '111', '6f34cfc9032f744f3f4646c37e3e3383', '金湾区', '2021-06-14 23:57:26', '948fe69811fb7fdb26e51eab890fdfd1'); +INSERT INTO `user` VALUES (9, 'test1', '男', '13632926406', 'test1', '1d74cde43ded7b91b4f2eb5a6da43efe', '金湾区', '2021-06-15 00:05:29', '23e6e8b12170867dbd462a866a95a54e'); +INSERT INTO `user` VALUES (10, 'test2', '男', '1112435', 'test2', 'b5b0aa536a42b1585e183d51991f3e35', '金湾区', '2021-06-15 00:20:23', '8aa297f32a77cc58467977e7f2cedb7e'); +INSERT INTO `user` VALUES (11, 'test3', '男', '66677788876', 'test3', 'c8b3d9163f72f9d0bceee0e30262c16a', '333', '2021-06-16 23:42:45', 'f4836e5acf60176419a5a6726346a699'); +INSERT INTO `user` VALUES (12, 'test233', '男', '15302634390', 'test233', 'eab10ebab97b024ef47549d553664abd', '金湾区', '2021-06-16 23:55:00', 'b535741de2dd33287fd882a9a1cacdb6'); +INSERT INTO `user` VALUES (13, 'test23333', '男', '123', 'test23333', '85992e28350824b398c4ae9d3e21b66c', 'qqq', '2021-06-22 22:19:17', '7f63d1c9f1f00db2bb497bad1cedc456'); +INSERT INTO `user` VALUES (14, 'test233333', '男', '1111111', 'test233333', 'ca855d84405295841d252468b3a44813', 'qqq', '2021-06-22 22:20:24', 'eae27637af7f7f21928f766521a154e0'); +INSERT INTO `user` VALUES (15, 'test232', '男', '10086', 'test232', '0f7791c2f6ede4d964ad3bdbb195a678', 'qqq', '2021-06-22 22:21:08', 'e5e14c39ac108ffedb5024a5748cd4ba'); +COMMIT; + +-- ---------------------------- +-- Table structure for user_role +-- ---------------------------- +DROP TABLE IF EXISTS `user_role`; +CREATE TABLE `user_role` ( + `id` int NOT NULL AUTO_INCREMENT, + `role_id` int DEFAULT NULL COMMENT '角色id', + `user_id` int DEFAULT NULL COMMENT '用户id', + `remarks` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of user_role +-- ---------------------------- +BEGIN; +INSERT INTO `user_role` VALUES (1, 1, 1, '111'); +INSERT INTO `user_role` VALUES (2, 2, 12, NULL); +INSERT INTO `user_role` VALUES (3, 1, 13, NULL); +INSERT INTO `user_role` VALUES (4, 1, 14, NULL); +INSERT INTO `user_role` VALUES (5, 1, 15, NULL); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/demo/logs/spring.log b/src/demo/logs/spring.log new file mode 100644 index 00000000..c475882f --- /dev/null +++ b/src/demo/logs/spring.log @@ -0,0 +1,2377 @@ +2023-11-13 08:07:26.751 INFO 11788 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 11788 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 08:07:26.760 INFO 11788 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 08:07:27.923 INFO 11788 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 08:07:27.927 INFO 11788 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 08:07:27.977 INFO 11788 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 30 ms. Found 0 Redis repository interfaces. +2023-11-13 08:07:28.547 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$3e862e4a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:29.609 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:29.679 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:29.688 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$1d4e3b9e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:29.692 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:29.701 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:29.725 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:30.994 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.004 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.015 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.020 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.030 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.077 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.090 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.096 INFO 11788 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:07:31.431 INFO 11788 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 08:07:31.440 INFO 11788 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 08:07:31.440 INFO 11788 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 08:07:31.915 INFO 11788 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 08:07:31.915 INFO 11788 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 5074 ms +2023-11-13 08:07:32.799 INFO 11788 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 08:07:32.807 INFO 11788 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 6.695 seconds (JVM running for 12.22) +2023-11-13 08:07:32.808 INFO 11788 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 08:07:32.810 INFO 11788 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 08:08:31.312 INFO 11788 --- [http-nio-8088-exec-4] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 08:08:31.313 INFO 11788 --- [http-nio-8088-exec-4] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 08:08:31.315 INFO 11788 --- [http-nio-8088-exec-4] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2023-11-13 08:08:31.401 INFO 11788 --- [http-nio-8088-exec-9] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 08:08:31.454 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:08:31.454 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:08:31.454 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:08:31.455 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:31.455 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:31.455 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:31.455 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:31.455 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:31.455 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:31.456 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:1732+++++++++ +2023-11-13 08:08:31.456 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:1728+++++++++ +2023-11-13 08:08:31.456 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:1730+++++++++ +2023-11-13 08:08:31.459 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:08:31.459 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:08:31.459 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:08:31.460 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:31.460 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:31.460 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:31.561 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:08:31.561 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:08:31.561 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:31.561 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:1727+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:1731+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:08:31.561 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:08:31.562 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:31.563 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:1729+++++++++ +2023-11-13 08:08:31.563 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:08:31.563 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:08:31.599 INFO 11788 --- [http-nio-8088-exec-8] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 08:08:32.062 INFO 11788 --- [http-nio-8088-exec-8] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 08:08:50.115 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:08:50.116 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:50.116 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:50.116 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:1752+++++++++ +2023-11-13 08:08:50.117 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:08:50.117 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:50.121 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:08:50.122 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:50.122 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:50.122 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:1753+++++++++ +2023-11-13 08:08:50.122 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:08:50.123 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:50.128 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:08:50.129 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:50.129 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:50.129 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:1755+++++++++ +2023-11-13 08:08:50.129 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:08:50.129 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:52.243 ERROR 11788 --- [http-nio-8088-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$e81fbd5.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:08:55.757 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:08:55.758 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:55.758 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:55.758 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:1753+++++++++ +2023-11-13 08:08:55.759 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:08:55.760 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:55.763 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:08:55.763 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:55.764 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:55.764 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:1755+++++++++ +2023-11-13 08:08:55.764 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:08:55.764 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:55.776 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:08:55.776 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:55.776 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:55.776 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:1752+++++++++ +2023-11-13 08:08:55.776 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:08:55.776 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:08:55.780 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:08:55.780 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:55.780 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:55.780 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:1758+++++++++ +2023-11-13 08:08:55.781 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:08:55.782 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:55.782 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:55.782 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:1757+++++++++ +2023-11-13 08:08:55.783 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:08:55.783 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:08:55.780 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:08:55.783 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:08:55.806 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:08:55.806 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:08:55.806 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:08:55.806 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:1759+++++++++ +2023-11-13 08:08:55.807 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:08:55.807 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:11:15.804 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:11:15.804 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:15.805 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:15.807 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:1808+++++++++ +2023-11-13 08:11:15.808 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:11:15.808 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:15.812 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:11:15.812 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:15.812 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:15.812 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:1809+++++++++ +2023-11-13 08:11:15.812 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:11:15.812 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:15.817 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:11:15.818 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:15.818 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:15.818 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:1811+++++++++ +2023-11-13 08:11:15.818 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:11:15.818 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:17.845 ERROR 11788 --- [http-nio-8088-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$e81fbd5.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:11:21.701 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:11:21.702 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:21.702 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:21.702 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:1809+++++++++ +2023-11-13 08:11:21.703 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:11:21.703 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:21.703 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:1815+++++++++ +2023-11-13 08:11:21.703 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:1808+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:11:21.705 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:21.711 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:11:21.712 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:21.704 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:11:21.718 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:21.720 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:21.722 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:21.722 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:1811+++++++++ +2023-11-13 08:11:21.722 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:11:21.722 INFO 11788 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:21.714 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:11:21.722 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:1816+++++++++ +2023-11-13 08:11:21.723 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:11:21.723 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:21.723 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:21.723 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:1817+++++++++ +2023-11-13 08:11:21.723 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:11:21.723 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:11:21.723 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:11:40.485 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:11:40.486 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:40.486 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:40.486 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:1826+++++++++ +2023-11-13 08:11:40.486 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:11:40.486 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:40.491 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:11:40.491 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:40.491 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:40.491 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:1825+++++++++ +2023-11-13 08:11:40.491 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:11:40.491 INFO 11788 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:40.515 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:11:40.516 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:11:40.516 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:11:40.516 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:1829+++++++++ +2023-11-13 08:11:40.518 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:11:40.518 INFO 11788 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:11:42.502 ERROR 11788 --- [http-nio-8088-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$e81fbd5.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:31:17.934 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:31:17.934 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:31:17.934 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:31:17.934 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:3089+++++++++ +2023-11-13 08:31:17.934 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:31:17.934 INFO 11788 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:31:17.935 INFO 11788 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:31:17.935 INFO 11788 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:31:17.936 INFO 11788 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:31:17.940 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3091+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:3090+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:31:17.942 INFO 11788 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:31:17.940 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:31:17.943 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:3088+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3092+++++++++ +2023-11-13 08:31:17.947 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:31:17.943 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:31:17.948 INFO 11788 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:31:17.948 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:31:17.948 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:31:17.948 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3093+++++++++ +2023-11-13 08:31:17.948 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:31:17.948 INFO 11788 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:37:57.284 INFO 16740 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 16740 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 08:37:57.287 INFO 16740 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 08:37:58.173 INFO 16740 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 08:37:58.175 INFO 16740 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 08:37:58.220 INFO 16740 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 27 ms. Found 0 Redis repository interfaces. +2023-11-13 08:37:58.692 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:37:59.509 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:37:59.561 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:37:59.570 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:37:59.575 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:37:59.584 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:37:59.612 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.442 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.448 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.454 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.459 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.467 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.506 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.515 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.520 INFO 16740 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:38:00.776 INFO 16740 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 08:38:00.784 INFO 16740 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 08:38:00.785 INFO 16740 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 08:38:00.913 INFO 16740 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 08:38:00.913 INFO 16740 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3556 ms +2023-11-13 08:38:01.669 INFO 16740 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 08:38:01.677 INFO 16740 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 5.058 seconds (JVM running for 5.761) +2023-11-13 08:38:01.678 INFO 16740 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 08:38:01.680 INFO 16740 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 08:38:25.381 INFO 16740 --- [http-nio-8088-exec-5] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 08:38:25.381 INFO 16740 --- [http-nio-8088-exec-5] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 08:38:25.383 INFO 16740 --- [http-nio-8088-exec-5] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2023-11-13 08:38:25.464 INFO 16740 --- [http-nio-8088-exec-9] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:25.508 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:25.509 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3222+++++++++ +2023-11-13 08:38:25.509 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3220+++++++++ +2023-11-13 08:38:25.509 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:25.509 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3219+++++++++ +2023-11-13 08:38:25.511 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:38:25.511 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:38:25.511 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:38:25.512 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:25.512 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:25.512 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:25.577 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:38:25.577 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:38:25.577 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3217+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3221+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3218+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:38:25.578 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:38:25.612 INFO 16740 --- [http-nio-8088-exec-6] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 08:38:25.910 INFO 16740 --- [http-nio-8088-exec-6] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 08:38:35.175 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:38:35.176 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:35.176 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:35.176 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:3235+++++++++ +2023-11-13 08:38:35.176 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:38:35.176 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:35.183 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:38:35.183 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:35.183 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:35.184 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3237+++++++++ +2023-11-13 08:38:35.184 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:38:35.184 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:35.190 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:38:35.190 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:35.190 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:35.198 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3238+++++++++ +2023-11-13 08:38:35.202 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:38:35.202 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:37.309 ERROR 16740 --- [http-nio-8088-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$8a000958.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:38:44.902 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:38:44.903 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:44.902 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:38:44.903 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:44.903 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:44.904 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:44.905 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3238+++++++++ +2023-11-13 08:38:44.905 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:38:44.905 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:44.904 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3235+++++++++ +2023-11-13 08:38:44.906 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:38:44.906 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:44.908 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:38:44.908 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:44.908 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:38:44.909 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:44.910 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:3242+++++++++ +2023-11-13 08:38:44.910 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:38:44.910 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:38:44.909 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:44.911 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:44.911 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:3241+++++++++ +2023-11-13 08:38:44.911 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:38:44.912 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:44.912 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:38:44.912 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:44.912 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:44.912 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3243+++++++++ +2023-11-13 08:38:44.912 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:38:44.912 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:38:44.918 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:38:44.918 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:44.918 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:44.919 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3244+++++++++ +2023-11-13 08:38:44.919 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:38:44.919 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:38:57.396 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:38:57.396 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:57.397 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:57.399 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3246+++++++++ +2023-11-13 08:38:57.400 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:38:57.400 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:57.401 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:38:57.402 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:57.402 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:57.402 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3247+++++++++ +2023-11-13 08:38:57.402 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:38:57.402 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:38:57.405 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:38:57.409 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:38:57.410 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:38:57.410 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3248+++++++++ +2023-11-13 08:38:57.410 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:38:57.411 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:08.891 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/home/login+++++++++ +2023-11-13 08:39:08.892 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:08.892 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:08.892 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3247+++++++++ +2023-11-13 08:39:08.892 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.HomeController.login+++++++++ +2023-11-13 08:39:08.892 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{userName=zjh, passWord=123456}]+++++++++ +2023-11-13 08:39:09.110 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:39:09.111 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:09.111 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:09.111 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3247+++++++++ +2023-11-13 08:39:09.111 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:39:09.111 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:09.120 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:39:09.121 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:09.121 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:09.121 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3246+++++++++ +2023-11-13 08:39:09.123 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:39:09.123 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:09.122 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:39:09.125 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3248+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:3250+++++++++ +2023-11-13 08:39:09.129 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:09.130 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:39:09.130 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:39:09.125 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:39:09.130 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:09.130 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:09.130 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:3251+++++++++ +2023-11-13 08:39:09.130 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:39:09.130 INFO 16740 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:39:09.123 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:39:09.134 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:09.135 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:09.136 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3249+++++++++ +2023-11-13 08:39:09.136 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:39:09.136 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:39:20.496 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:39:20.498 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:20.499 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:20.499 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3259+++++++++ +2023-11-13 08:39:20.499 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:39:20.499 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:20.509 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:39:20.510 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:20.511 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:20.511 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:3262+++++++++ +2023-11-13 08:39:20.512 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:39:20.512 INFO 16740 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:20.512 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/cart/list+++++++++ +2023-11-13 08:39:20.515 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:20.515 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3261+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CartItemController.list+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3260+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:39:20.516 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:27.210 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/order/addOrderByCart+++++++++ +2023-11-13 08:39:27.210 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:27.210 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:27.210 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3261+++++++++ +2023-11-13 08:39:27.210 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.OrderController.addOrderByCart+++++++++ +2023-11-13 08:39:27.211 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[{cartItemList=[{cartItemId=32, goodsCount=1, goodsCoverImg=13, goodsId=2, goodsName=iphone11 手机, isDeleted=0, price=100, singleTotalPrice=100, userId=16, totalDay=[]}, {cartItemId=33, goodsCount=1, goodsCoverImg=13, goodsId=2, goodsName=iphone11 手机, isDeleted=0, price=100, singleTotalPrice=100, userId=16, totalDay=[]}], totalPrice=}]+++++++++ +2023-11-13 08:39:27.229 ERROR 16740 --- [http-nio-8088-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.alibaba.fastjson.JSONException: parseInt error, field : totalDay] with root cause + +com.alibaba.fastjson.JSONException: can not cast to int, value : [] + at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:1007) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:93) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:88) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:1282) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:897) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:1628) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_1_CartItem.deserialze(Unknown Source) ~[na:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:291) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:795) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:729) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:724) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.JSON.parseArray(JSON.java:643) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.JSON.parseArray(JSON.java:623) ~[fastjson-1.2.76.jar:na] + at com.example.demo.controller.OrderController.addOrderByCart(OrderController.java:100) ~[classes/:na] + at com.example.demo.controller.OrderController$$FastClassBySpringCGLIB$$1fa10612.invoke() ~[classes/:na] + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:58) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.OrderController$$EnhancerBySpringCGLIB$$e4bb9de6.addOrderByCart() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:39:28.904 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/order/addOrderByCart+++++++++ +2023-11-13 08:39:28.904 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:28.905 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:28.905 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3260+++++++++ +2023-11-13 08:39:28.905 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.OrderController.addOrderByCart+++++++++ +2023-11-13 08:39:28.905 INFO 16740 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{cartItemList=[{cartItemId=32, goodsCount=1, goodsCoverImg=13, goodsId=2, goodsName=iphone11 手机, isDeleted=0, price=100, singleTotalPrice=100, userId=16, totalDay=[]}, {cartItemId=33, goodsCount=1, goodsCoverImg=13, goodsId=2, goodsName=iphone11 手机, isDeleted=0, price=100, singleTotalPrice=100, userId=16, totalDay=[]}], totalPrice=}]+++++++++ +2023-11-13 08:39:28.912 ERROR 16740 --- [http-nio-8088-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.alibaba.fastjson.JSONException: parseInt error, field : totalDay] with root cause + +com.alibaba.fastjson.JSONException: can not cast to int, value : [] + at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:1007) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:93) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:88) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:1282) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:897) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:1628) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_1_CartItem.deserialze(Unknown Source) ~[na:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:291) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:795) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:729) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:724) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.JSON.parseArray(JSON.java:643) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.JSON.parseArray(JSON.java:623) ~[fastjson-1.2.76.jar:na] + at com.example.demo.controller.OrderController.addOrderByCart(OrderController.java:100) ~[classes/:na] + at com.example.demo.controller.OrderController$$FastClassBySpringCGLIB$$1fa10612.invoke() ~[classes/:na] + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:58) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.OrderController$$EnhancerBySpringCGLIB$$e4bb9de6.addOrderByCart() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:39:31.812 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/order/addOrderByCart+++++++++ +2023-11-13 08:39:31.812 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:31.812 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:31.812 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:3262+++++++++ +2023-11-13 08:39:31.812 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.OrderController.addOrderByCart+++++++++ +2023-11-13 08:39:31.813 INFO 16740 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[{cartItemList=[{cartItemId=32, goodsCount=1, goodsCoverImg=13, goodsId=2, goodsName=iphone11 手机, isDeleted=0, price=100, singleTotalPrice=100, userId=16, totalDay=[]}, {cartItemId=33, goodsCount=1, goodsCoverImg=13, goodsId=2, goodsName=iphone11 手机, isDeleted=0, price=100, singleTotalPrice=100, userId=16, totalDay=[]}], totalPrice=}]+++++++++ +2023-11-13 08:39:31.821 ERROR 16740 --- [http-nio-8088-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.alibaba.fastjson.JSONException: parseInt error, field : totalDay] with root cause + +com.alibaba.fastjson.JSONException: can not cast to int, value : [] + at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:1007) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:93) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:88) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:1282) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:897) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:1628) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_1_CartItem.deserialze(Unknown Source) ~[na:na] + at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:291) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:795) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:729) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:724) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.JSON.parseArray(JSON.java:643) ~[fastjson-1.2.76.jar:na] + at com.alibaba.fastjson.JSON.parseArray(JSON.java:623) ~[fastjson-1.2.76.jar:na] + at com.example.demo.controller.OrderController.addOrderByCart(OrderController.java:100) ~[classes/:na] + at com.example.demo.controller.OrderController$$FastClassBySpringCGLIB$$1fa10612.invoke() ~[classes/:na] + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:58) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.OrderController$$EnhancerBySpringCGLIB$$e4bb9de6.addOrderByCart() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:39:34.889 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/cart/delete+++++++++ +2023-11-13 08:39:34.890 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:34.890 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:34.890 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3259+++++++++ +2023-11-13 08:39:34.890 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CartItemController.delete+++++++++ +2023-11-13 08:39:34.890 INFO 16740 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{cartItemId=33}]+++++++++ +2023-11-13 08:39:36.666 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/cart/list+++++++++ +2023-11-13 08:39:36.666 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:36.666 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:36.666 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3259+++++++++ +2023-11-13 08:39:36.666 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CartItemController.list+++++++++ +2023-11-13 08:39:36.666 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:40.177 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/cart/delete+++++++++ +2023-11-13 08:39:40.177 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:40.177 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:40.177 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3259+++++++++ +2023-11-13 08:39:40.177 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CartItemController.delete+++++++++ +2023-11-13 08:39:40.178 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[{cartItemId=32}]+++++++++ +2023-11-13 08:39:41.662 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/cart/list+++++++++ +2023-11-13 08:39:41.663 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:41.663 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:41.663 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:3259+++++++++ +2023-11-13 08:39:41.663 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CartItemController.list+++++++++ +2023-11-13 08:39:41.663 INFO 16740 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:48.514 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:39:48.514 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:48.520 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:48.521 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3263+++++++++ +2023-11-13 08:39:48.521 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:39:48.521 INFO 16740 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:48.522 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:39:48.522 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:48.522 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:48.522 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3264+++++++++ +2023-11-13 08:39:48.522 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:39:48.522 INFO 16740 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:48.524 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:39:48.525 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:39:48.525 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:39:48.525 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3266+++++++++ +2023-11-13 08:39:48.525 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:39:48.525 INFO 16740 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:39:50.537 ERROR 16740 --- [http-nio-8088-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$8a000958.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:40:22.475 INFO 16740 --- [SpringContextShutdownHook] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed from ACCEPTING_TRAFFIC to REFUSING_TRAFFIC +2023-11-13 08:46:31.620 INFO 2980 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 2980 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 08:46:31.624 INFO 2980 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 08:46:32.478 INFO 2980 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 08:46:32.481 INFO 2980 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 08:46:32.519 INFO 2980 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 23 ms. Found 0 Redis repository interfaces. +2023-11-13 08:46:32.968 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:33.720 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:33.767 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:33.776 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:33.783 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:33.793 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:33.815 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.590 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.596 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.602 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.606 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.615 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.650 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.659 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.665 INFO 2980 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:46:34.921 INFO 2980 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 08:46:34.965 INFO 2980 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 08:46:34.966 INFO 2980 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 08:46:35.069 INFO 2980 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 08:46:35.069 INFO 2980 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3385 ms +2023-11-13 08:46:35.856 INFO 2980 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 08:46:35.863 INFO 2980 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 4.874 seconds (JVM running for 5.582) +2023-11-13 08:46:35.864 INFO 2980 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 08:46:35.865 INFO 2980 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 08:47:13.431 INFO 2980 --- [http-nio-8088-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 08:47:13.432 INFO 2980 --- [http-nio-8088-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 08:47:13.433 INFO 2980 --- [http-nio-8088-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2023-11-13 08:47:13.506 INFO 2980 --- [http-nio-8088-exec-8] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:13.540 INFO 2980 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:13.541 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3484+++++++++ +2023-11-13 08:47:13.541 INFO 2980 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3485+++++++++ +2023-11-13 08:47:13.541 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:13.541 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3483+++++++++ +2023-11-13 08:47:13.543 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:47:13.543 INFO 2980 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:47:13.543 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:47:13.543 INFO 2980 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:13.543 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:13.543 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:13.603 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:47:13.603 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:47:13.603 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:13.603 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:47:13.603 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:13.603 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:3486+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3482+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3487+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:47:13.604 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:47:13.640 INFO 2980 --- [http-nio-8088-exec-8] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 08:47:13.939 INFO 2980 --- [http-nio-8088-exec-8] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 08:47:19.394 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:47:19.394 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:19.394 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:19.395 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:3500+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3501+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:47:19.396 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:19.413 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:47:19.413 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:19.413 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:19.414 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3502+++++++++ +2023-11-13 08:47:19.415 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:47:19.415 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:21.025 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:47:21.025 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:21.026 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:21.026 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3502+++++++++ +2023-11-13 08:47:21.026 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:47:21.026 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:21.029 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:47:21.033 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:21.033 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:21.033 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:3505+++++++++ +2023-11-13 08:47:21.033 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:47:21.033 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:21.039 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:47:21.040 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:21.041 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:21.041 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3500+++++++++ +2023-11-13 08:47:21.041 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:47:21.041 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:21.048 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/goods/detail+++++++++ +2023-11-13 08:47:21.048 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:21.048 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:21.048 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3502+++++++++ +2023-11-13 08:47:21.049 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.GoodsController.detail+++++++++ +2023-11-13 08:47:21.071 INFO 2980 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[{key=2}]+++++++++ +2023-11-13 08:47:21.058 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/goods/detail+++++++++ +2023-11-13 08:47:21.088 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:21.088 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:21.088 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3505+++++++++ +2023-11-13 08:47:21.088 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.GoodsController.detail+++++++++ +2023-11-13 08:47:21.089 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[{key=2}]+++++++++ +2023-11-13 08:47:21.524 ERROR 2980 --- [http-nio-8088-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$8a000958.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:47:25.235 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:47:25.236 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.236 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.236 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3502+++++++++ +2023-11-13 08:47:25.236 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:47:25.236 INFO 2980 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:25.244 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:47:25.244 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.245 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.249 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:47:25.250 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.251 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.251 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3506+++++++++ +2023-11-13 08:47:25.251 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:47:25.251 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:25.249 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:3500+++++++++ +2023-11-13 08:47:25.252 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:47:25.252 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:25.851 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:47:25.852 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.852 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.852 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3500+++++++++ +2023-11-13 08:47:25.852 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:47:25.852 INFO 2980 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:25.854 INFO 2980 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:47:25.854 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:47:25.854 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.854 INFO 2980 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:3502+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:3506+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:25.855 INFO 2980 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:47:25.875 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:47:25.876 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.883 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.884 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:47:25.884 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.884 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.884 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3500+++++++++ +2023-11-13 08:47:25.884 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:47:25.884 INFO 2980 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:47:25.884 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:3502+++++++++ +2023-11-13 08:47:25.885 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:47:25.885 INFO 2980 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:47:25.890 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:47:25.890 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:47:25.890 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:47:25.890 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:3506+++++++++ +2023-11-13 08:47:25.890 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:47:25.890 INFO 2980 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:47:27.267 ERROR 2980 --- [http-nio-8088-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$8a000958.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 08:50:51.902 INFO 9940 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 9940 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 08:50:51.906 INFO 9940 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 08:50:52.773 INFO 9940 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 08:50:52.776 INFO 9940 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 08:50:52.816 INFO 9940 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 0 Redis repository interfaces. +2023-11-13 08:50:53.261 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$8e10f29d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:54.178 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:54.243 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:54.256 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$6cd8fff1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:54.263 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:54.275 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:54.306 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.728 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.744 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.758 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.768 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.789 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.873 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.896 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:55.910 INFO 9940 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 08:50:56.252 INFO 9940 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 08:50:56.262 INFO 9940 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 08:50:56.263 INFO 9940 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 08:50:56.373 INFO 9940 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 08:50:56.373 INFO 9940 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4396 ms +2023-11-13 08:50:57.534 INFO 9940 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 08:50:57.545 INFO 9940 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 6.225 seconds (JVM running for 6.912) +2023-11-13 08:50:57.546 INFO 9940 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 08:50:57.549 INFO 9940 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 08:51:47.013 INFO 9940 --- [http-nio-8088-exec-5] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 08:51:47.014 INFO 9940 --- [http-nio-8088-exec-5] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 08:51:47.019 INFO 9940 --- [http-nio-8088-exec-5] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms +2023-11-13 08:51:47.104 INFO 9940 --- [http-nio-8088-exec-7] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 08:51:47.140 INFO 9940 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 08:51:47.140 INFO 9940 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 08:51:47.140 INFO 9940 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 08:51:47.140 INFO 9940 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:51:47.140 INFO 9940 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:51:47.141 INFO 9940 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:51:47.141 INFO 9940 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:51:47.141 INFO 9940 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:51:47.141 INFO 9940 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:51:47.141 INFO 9940 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3667+++++++++ +2023-11-13 08:51:47.141 INFO 9940 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:3665+++++++++ +2023-11-13 08:51:47.141 INFO 9940 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3668+++++++++ +2023-11-13 08:51:47.143 INFO 9940 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 08:51:47.143 INFO 9940 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 08:51:47.143 INFO 9940 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 08:51:47.144 INFO 9940 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:51:47.144 INFO 9940 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:51:47.144 INFO 9940 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3669+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3670+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3666+++++++++ +2023-11-13 08:51:47.225 INFO 9940 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:51:47.226 INFO 9940 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 08:51:47.226 INFO 9940 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 08:51:47.226 INFO 9940 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 08:51:47.268 INFO 9940 --- [http-nio-8088-exec-7] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 08:51:47.610 INFO 9940 --- [http-nio-8088-exec-7] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 09:04:16.719 INFO 14972 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 14972 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 09:04:16.723 INFO 14972 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 09:04:17.613 INFO 14972 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 09:04:17.616 INFO 14972 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 09:04:17.656 INFO 14972 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 0 Redis repository interfaces. +2023-11-13 09:04:18.154 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$8e10f29d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:18.915 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:18.977 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:18.988 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$6cd8fff1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:18.995 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:19.009 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:19.042 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.186 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.195 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.203 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.209 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.225 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.283 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.298 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.307 INFO 14972 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:04:20.677 INFO 14972 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 09:04:20.688 INFO 14972 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 09:04:20.688 INFO 14972 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 09:04:20.798 INFO 14972 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 09:04:20.798 INFO 14972 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4012 ms +2023-11-13 09:04:21.895 INFO 14972 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 09:04:21.907 INFO 14972 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 5.823 seconds (JVM running for 6.685) +2023-11-13 09:04:21.908 INFO 14972 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 09:04:21.910 INFO 14972 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 09:04:41.632 INFO 14972 --- [http-nio-8088-exec-7] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 09:04:41.633 INFO 14972 --- [http-nio-8088-exec-7] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 09:04:41.634 INFO 14972 --- [http-nio-8088-exec-7] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2023-11-13 09:04:41.679 INFO 14972 --- [http-nio-8088-exec-3] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 09:04:41.705 INFO 14972 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 09:04:41.705 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 09:04:41.705 INFO 14972 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3913+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:3914+++++++++ +2023-11-13 09:04:41.706 INFO 14972 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:3916+++++++++ +2023-11-13 09:04:41.708 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 09:04:41.708 INFO 14972 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 09:04:41.708 INFO 14972 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 09:04:41.709 INFO 14972 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:04:41.709 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:04:41.709 INFO 14972 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:3912+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:3915+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:3917+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:04:41.756 INFO 14972 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 09:04:41.785 INFO 14972 --- [http-nio-8088-exec-10] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 09:04:41.986 INFO 14972 --- [http-nio-8088-exec-10] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 09:04:53.618 INFO 14972 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 09:04:53.618 INFO 14972 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:53.618 INFO 14972 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:53.618 INFO 14972 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:3934+++++++++ +2023-11-13 09:04:53.618 INFO 14972 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 09:04:53.619 INFO 14972 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:04:53.618 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 09:04:53.620 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:53.621 INFO 14972 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 09:04:53.621 INFO 14972 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:04:53.621 INFO 14972 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:53.621 INFO 14972 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++源端口:3936+++++++++ +2023-11-13 09:04:53.621 INFO 14972 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 09:04:53.621 INFO 14972 --- [http-nio-8088-exec-2] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:04:53.623 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:04:53.625 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:3935+++++++++ +2023-11-13 09:04:53.625 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 09:04:53.625 INFO 14972 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:04:55.733 ERROR 14972 --- [http-nio-8088-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause + +java.net.SocketTimeoutException: connect timed out + at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_391] + at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_391] + at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_391] + at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_391] + at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_391] + at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_391] + at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:80) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Connection.connect(Connection.java:226) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:135) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:309) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:87) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.BinaryJedis.(BinaryJedis.java:292) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.Jedis.(Jedis.java:167) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:177) ~[jedis-3.6.3.jar:na] + at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:918) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:431) ~[commons-pool2-2.9.0.jar:2.9.0] + at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:356) ~[commons-pool2-2.9.0.jar:2.9.0] + at redis.clients.jedis.util.Pool.getResource(Pool.java:75) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:370) ~[jedis-3.6.3.jar:na] + at redis.clients.jedis.JedisPool.getResource(JedisPool.java:15) ~[jedis-3.6.3.jar:na] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:283) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:514) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:300) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.DefaultRedisCacheWriter.get(DefaultRedisCacheWriter.java:126) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:89) ~[spring-data-redis-2.5.3.jar:2.5.3] + at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) ~[spring-context-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.3.7.jar:5.3.7] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) ~[spring-aop-5.3.7.jar:5.3.7] + at com.example.demo.controller.GoodsController$$EnhancerBySpringCGLIB$$1726d7fd.search() ~[classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_391] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_391] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_391] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_391] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.7.jar:5.3.7] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.7.jar:5.3.7] + at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) ~[shiro-core-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) ~[shiro-web-1.4.0.jar:1.4.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.7.jar:5.3.7] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.7.jar:5.3.7] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_391] + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_391] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46] + at java.lang.Thread.run(Thread.java:750) [na:1.8.0_391] + +2023-11-13 09:10:00.413 INFO 2768 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 2768 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 09:10:00.416 INFO 2768 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 09:10:01.298 INFO 2768 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 09:10:01.302 INFO 2768 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 09:10:01.345 INFO 2768 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 27 ms. Found 0 Redis repository interfaces. +2023-11-13 09:10:01.827 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:02.692 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:02.757 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:02.770 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:02.777 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:02.789 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:02.823 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.014 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.022 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.030 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.036 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.049 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.101 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.116 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.124 INFO 2768 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:10:04.464 INFO 2768 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2023-11-13 09:10:04.476 INFO 2768 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 09:10:04.476 INFO 2768 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 09:10:04.596 INFO 2768 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 09:10:04.597 INFO 2768 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4110 ms +2023-11-13 09:10:05.787 INFO 2768 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2023-11-13 09:10:05.798 INFO 2768 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 6.026 seconds (JVM running for 6.71) +2023-11-13 09:10:05.799 INFO 2768 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 09:10:05.801 INFO 2768 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 09:10:36.613 INFO 2768 --- [http-nio-8080-exec-8] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 09:10:36.613 INFO 2768 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 09:10:36.615 INFO 2768 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2023-11-13 09:10:36.687 INFO 2768 --- [http-nio-8080-exec-10] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 09:10:36.721 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/user/userInfo+++++++++ +2023-11-13 09:10:36.721 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/user/isAdmin+++++++++ +2023-11-13 09:10:36.721 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/category/list+++++++++ +2023-11-13 09:10:36.721 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:36.721 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:36.721 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:36.722 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:36.722 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:36.722 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:36.722 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:4217+++++++++ +2023-11-13 09:10:36.722 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:4194+++++++++ +2023-11-13 09:10:36.722 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:4214+++++++++ +2023-11-13 09:10:36.724 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 09:10:36.724 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 09:10:36.724 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 09:10:36.724 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:10:36.724 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:10:36.724 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:4213+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:4215+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:4216+++++++++ +2023-11-13 09:10:36.783 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 09:10:36.784 INFO 2768 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:10:36.784 INFO 2768 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 09:10:36.815 INFO 2768 --- [http-nio-8080-exec-10] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 09:10:37.136 INFO 2768 --- [http-nio-8080-exec-10] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 09:10:47.845 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/user/userInfo+++++++++ +2023-11-13 09:10:47.848 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:47.848 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:47.848 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:4240+++++++++ +2023-11-13 09:10:47.848 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 09:10:47.848 INFO 2768 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:10:47.862 INFO 2768 --- [http-nio-8080-exec-4] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/category/list+++++++++ +2023-11-13 09:10:47.863 INFO 2768 --- [http-nio-8080-exec-4] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:47.863 INFO 2768 --- [http-nio-8080-exec-4] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:47.864 INFO 2768 --- [http-nio-8080-exec-4] com.example.demo.util.LogAspect : +++++++++源端口:4245+++++++++ +2023-11-13 09:10:47.864 INFO 2768 --- [http-nio-8080-exec-4] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 09:10:47.864 INFO 2768 --- [http-nio-8080-exec-4] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:10:47.875 INFO 2768 --- [http-nio-8080-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/user/isAdmin+++++++++ +2023-11-13 09:10:47.877 INFO 2768 --- [http-nio-8080-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:47.877 INFO 2768 --- [http-nio-8080-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:47.880 INFO 2768 --- [http-nio-8080-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:4240+++++++++ +2023-11-13 09:10:47.881 INFO 2768 --- [http-nio-8080-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 09:10:47.882 INFO 2768 --- [http-nio-8080-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:10:47.882 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:10:47.883 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:47.884 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:47.885 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:4248+++++++++ +2023-11-13 09:10:47.885 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:10:47.886 INFO 2768 --- [http-nio-8080-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 09:10:47.888 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:10:47.889 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:47.889 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:10:47.889 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:47.889 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:10:47.890 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:4246+++++++++ +2023-11-13 09:10:47.890 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:10:47.890 INFO 2768 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 09:10:47.890 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:10:47.894 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:4247+++++++++ +2023-11-13 09:10:47.896 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:10:47.897 INFO 2768 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 09:12:14.161 INFO 12636 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 12636 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 09:12:14.164 INFO 12636 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 09:12:15.043 INFO 12636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 09:12:15.047 INFO 12636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 09:12:15.109 INFO 12636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 37 ms. Found 0 Redis repository interfaces. +2023-11-13 09:12:15.618 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:16.508 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:16.573 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:16.584 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:16.591 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:16.604 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:16.637 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.788 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.796 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.803 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.809 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.822 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.875 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.889 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:17.897 INFO 12636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:12:18.233 INFO 12636 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 09:12:18.244 INFO 12636 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 09:12:18.244 INFO 12636 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 09:12:18.370 INFO 12636 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 09:12:18.370 INFO 12636 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4141 ms +2023-11-13 09:12:19.598 INFO 12636 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 09:12:19.608 INFO 12636 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 6.105 seconds (JVM running for 6.823) +2023-11-13 09:12:19.610 INFO 12636 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 09:12:19.612 INFO 12636 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 09:14:27.232 INFO 12636 --- [SpringContextShutdownHook] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed from ACCEPTING_TRAFFIC to REFUSING_TRAFFIC +2023-11-13 09:14:39.677 INFO 12964 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 12964 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 09:14:39.681 INFO 12964 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 09:14:40.539 INFO 12964 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 09:14:40.542 INFO 12964 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 09:14:40.582 INFO 12964 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 25 ms. Found 0 Redis repository interfaces. +2023-11-13 09:14:41.037 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:41.930 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:41.991 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:42.003 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:42.011 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:42.023 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:42.058 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.247 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.256 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.264 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.271 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.283 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.341 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.355 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.363 INFO 12964 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:14:43.729 INFO 12964 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2023-11-13 09:14:43.740 INFO 12964 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 09:14:43.740 INFO 12964 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 09:14:43.851 INFO 12964 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 09:14:43.851 INFO 12964 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4100 ms +2023-11-13 09:14:45.154 INFO 12964 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2023-11-13 09:14:45.165 INFO 12964 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 6.11 seconds (JVM running for 6.818) +2023-11-13 09:14:45.167 INFO 12964 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 09:14:45.169 INFO 12964 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 09:15:06.284 INFO 12964 --- [http-nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 09:15:06.284 INFO 12964 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 09:15:06.285 INFO 12964 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2023-11-13 09:15:06.329 INFO 12964 --- [http-nio-8080-exec-7] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/category/list+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/user/userInfo+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/user/isAdmin+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:4351+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:4349+++++++++ +2023-11-13 09:15:06.350 INFO 12964 --- [http-nio-8080-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:15:06.351 INFO 12964 --- [http-nio-8080-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:4348+++++++++ +2023-11-13 09:15:06.352 INFO 12964 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 09:15:06.352 INFO 12964 --- [http-nio-8080-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 09:15:06.352 INFO 12964 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 09:15:06.352 INFO 12964 --- [http-nio-8080-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:15:06.353 INFO 12964 --- [http-nio-8080-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:15:06.353 INFO 12964 --- [http-nio-8080-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8080/index-config/list+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:4350+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:4347+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:15:06.395 INFO 12964 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:15:06.396 INFO 12964 --- [http-nio-8080-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 09:15:06.396 INFO 12964 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:15:06.396 INFO 12964 --- [http-nio-8080-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 09:15:06.396 INFO 12964 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:4352+++++++++ +2023-11-13 09:15:06.396 INFO 12964 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:15:06.396 INFO 12964 --- [http-nio-8080-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 09:15:06.419 INFO 12964 --- [http-nio-8080-exec-10] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 09:15:06.606 INFO 12964 --- [http-nio-8080-exec-10] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 09:20:22.810 INFO 4296 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 4296 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 09:20:22.814 INFO 4296 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 09:20:23.732 INFO 4296 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 09:20:23.735 INFO 4296 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 09:20:23.777 INFO 4296 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 26 ms. Found 0 Redis repository interfaces. +2023-11-13 09:20:24.228 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:25.077 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:25.138 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:25.149 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:25.155 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:25.167 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:25.199 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.461 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.469 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.478 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.484 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.498 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.549 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.562 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.571 INFO 4296 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:20:26.938 INFO 4296 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 09:20:26.952 INFO 4296 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 09:20:26.952 INFO 4296 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 09:20:27.068 INFO 4296 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 09:20:27.068 INFO 4296 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4172 ms +2023-11-13 09:20:28.230 INFO 4296 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 09:20:28.241 INFO 4296 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 6.083 seconds (JVM running for 6.871) +2023-11-13 09:20:28.243 INFO 4296 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 09:20:28.245 INFO 4296 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 09:20:51.189 INFO 4296 --- [http-nio-8088-exec-5] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 09:20:51.189 INFO 4296 --- [http-nio-8088-exec-5] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 09:20:51.191 INFO 4296 --- [http-nio-8088-exec-5] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2023-11-13 09:20:51.242 INFO 4296 --- [http-nio-8088-exec-7] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:4742+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:4741+++++++++ +2023-11-13 09:20:51.264 INFO 4296 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++源端口:4744+++++++++ +2023-11-13 09:20:51.265 INFO 4296 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 09:20:51.265 INFO 4296 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 09:20:51.265 INFO 4296 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 09:20:51.266 INFO 4296 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:20:51.266 INFO 4296 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:20:51.266 INFO 4296 --- [http-nio-8088-exec-5] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++源端口:4745+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:4743+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:4740+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-3] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 09:20:51.310 INFO 4296 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 09:20:51.331 INFO 4296 --- [http-nio-8088-exec-9] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 09:20:51.519 INFO 4296 --- [http-nio-8088-exec-9] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2023-11-13 09:21:00.928 INFO 4296 --- [SpringContextShutdownHook] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed from ACCEPTING_TRAFFIC to REFUSING_TRAFFIC +2023-11-13 09:21:32.666 INFO 11096 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 11096 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 09:21:32.669 INFO 11096 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 09:21:33.556 INFO 11096 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 09:21:33.557 INFO 11096 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 09:21:33.600 INFO 11096 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 26 ms. Found 0 Redis repository interfaces. +2023-11-13 09:21:34.054 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:34.867 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:34.932 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:34.945 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:34.951 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:34.963 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:34.995 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.161 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.198 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.212 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.221 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.234 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.283 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.297 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.306 INFO 11096 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:21:36.625 INFO 11096 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 09:21:36.636 INFO 11096 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 09:21:36.636 INFO 11096 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 09:21:36.748 INFO 11096 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 09:21:36.748 INFO 11096 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4003 ms +2023-11-13 09:21:37.870 INFO 11096 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 09:21:37.881 INFO 11096 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 5.831 seconds (JVM running for 6.537) +2023-11-13 09:21:37.883 INFO 11096 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 09:21:37.884 INFO 11096 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 09:34:13.890 INFO 11184 --- [main] com.example.demo.DemoApplication : Starting DemoApplication using Java 1.8.0_391 on LAPTOP-KF1N52RI with PID 11184 (D:\project\gitProject_recommend\src\demo\backend\target\classes started by hw in D:\project\gitProject_recommend\src\demo) +2023-11-13 09:34:13.894 INFO 11184 --- [main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default +2023-11-13 09:34:14.787 INFO 11184 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-11-13 09:34:14.790 INFO 11184 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2023-11-13 09:34:14.832 INFO 11184 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 26 ms. Found 0 Redis repository interfaces. +2023-11-13 09:34:15.287 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.example.demo.config.ShiroConfig$$EnhancerBySpringCGLIB$$d0ac3ff4] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:16.139 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'hashedCredentialsMatcher' of type [org.apache.shiro.authc.credential.HashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:16.223 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-plus-com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:16.246 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration' of type [com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration$$EnhancerBySpringCGLIB$$af744d48] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:16.256 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:16.277 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:16.305 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dataSource' of type [com.zaxxer.hikari.HikariDataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.579 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionFactory' of type [org.apache.ibatis.session.defaults.DefaultSqlSessionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.589 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sqlSessionTemplate' of type [org.mybatis.spring.SqlSessionTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.597 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [org.mybatis.spring.mapper.MapperFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.602 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userMapper' of type [com.sun.proxy.$Proxy72] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.614 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'userServiceImpl' of type [com.example.demo.service.impl.UserServiceImpl] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.681 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroRealm' of type [com.example.demo.config.EnceladusShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.701 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'sessionManager' of type [com.example.demo.config.ShiroSession] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:17.712 INFO 11184 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-11-13 09:34:18.076 INFO 11184 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8088 (http) +2023-11-13 09:34:18.087 INFO 11184 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-11-13 09:34:18.088 INFO 11184 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.46] +2023-11-13 09:34:18.243 INFO 11184 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2023-11-13 09:34:18.243 INFO 11184 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4274 ms +2023-11-13 09:34:19.267 INFO 11184 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8088 (http) with context path '' +2023-11-13 09:34:19.274 INFO 11184 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 6.02 seconds (JVM running for 6.745) +2023-11-13 09:34:19.275 INFO 11184 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT +2023-11-13 09:34:19.276 INFO 11184 --- [main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC +2023-11-13 09:35:37.059 INFO 11184 --- [http-nio-8088-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-11-13 09:35:37.059 INFO 11184 --- [http-nio-8088-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-11-13 09:35:37.060 INFO 11184 --- [http-nio-8088-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2023-11-13 09:35:37.125 INFO 11184 --- [http-nio-8088-exec-9] a.s.s.m.AbstractValidatingSessionManager : Enabling session validation scheduler... +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/isAdmin+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/user/userInfo+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/category/list+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:35:37.156 INFO 11184 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:35:37.157 INFO 11184 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++源端口:5186+++++++++ +2023-11-13 09:35:37.157 INFO 11184 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++源端口:5190+++++++++ +2023-11-13 09:35:37.157 INFO 11184 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++源端口:5188+++++++++ +2023-11-13 09:35:37.159 INFO 11184 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.isAdmin+++++++++ +2023-11-13 09:35:37.159 INFO 11184 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.UserController.userInfo+++++++++ +2023-11-13 09:35:37.159 INFO 11184 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.CategoryController.list+++++++++ +2023-11-13 09:35:37.159 INFO 11184 --- [http-nio-8088-exec-7] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:35:37.159 INFO 11184 --- [http-nio-8088-exec-9] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:35:37.160 INFO 11184 --- [http-nio-8088-exec-1] com.example.demo.util.LogAspect : +++++++++请求参数:[]+++++++++ +2023-11-13 09:35:37.220 INFO 11184 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:35:37.220 INFO 11184 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:35:37.220 INFO 11184 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求地址:http://localhost:8088/index-config/list+++++++++ +2023-11-13 09:35:37.220 INFO 11184 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:35:37.220 INFO 11184 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:35:37.220 INFO 11184 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++方法:POST+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源ip地址:0:0:0:0:0:0:0:1+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++源端口:5187+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++源端口:5189+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++源端口:5191+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++类与方法名 : com.example.demo.controller.IndexConfigController.list+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-10] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=2}]+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-6] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=3}]+++++++++ +2023-11-13 09:35:37.221 INFO 11184 --- [http-nio-8088-exec-8] com.example.demo.util.LogAspect : +++++++++请求参数:[{indexType=1}]+++++++++ +2023-11-13 09:35:37.254 INFO 11184 --- [http-nio-8088-exec-6] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2023-11-13 09:35:37.537 INFO 11184 --- [http-nio-8088-exec-6] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. diff --git a/src/demo/logs/spring.log.2023-11-07.0.gz b/src/demo/logs/spring.log.2023-11-07.0.gz new file mode 100644 index 00000000..aa16bce7 Binary files /dev/null and b/src/demo/logs/spring.log.2023-11-07.0.gz differ diff --git a/src/demo/logs/spring.log.2023-11-08.0.gz b/src/demo/logs/spring.log.2023-11-08.0.gz new file mode 100644 index 00000000..fb3c7e1b Binary files /dev/null and b/src/demo/logs/spring.log.2023-11-08.0.gz differ diff --git a/src/demo/logs/spring.log.2023-11-10.0.gz b/src/demo/logs/spring.log.2023-11-10.0.gz new file mode 100644 index 00000000..df5acf20 Binary files /dev/null and b/src/demo/logs/spring.log.2023-11-10.0.gz differ diff --git a/src/demo/manager/pom.xml b/src/demo/manager/pom.xml deleted file mode 100644 index d21d5d6c..00000000 --- a/src/demo/manager/pom.xml +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - 4.0.0 - war - - MovieManager - com.dream - MovieManager - 1.0-SNAPSHOT - - http://maven.apache.org - - - - - junit - junit - 4.11 - - - - - com.alibaba - druid - 1.0.9 - - - - - jstl - jstl - 1.2 - - - javax.servlet - servlet-api - 2.5 - provided - - - javax.servlet - jsp-api - 2.0 - provided - - - - - - ch.qos.logback - logback-classic - 1.1.1 - - - - - mysql - mysql-connector-java - 5.1.37 - runtime - - - c3p0 - c3p0 - 0.9.1.2 - - - - - org.mybatis - mybatis - 3.2.7 - - - org.mybatis - mybatis-spring - 1.2.2 - - - - - taglibs - standard - 1.1.2 - - - jstl - jstl - 1.2 - - - com.fasterxml.jackson.core - jackson-databind - 2.5.4 - - - javax.servlet - javax.servlet-api - 3.1.0 - - - - - - org.springframework - spring-core - 4.1.3.RELEASE - - - org.springframework - spring-beans - 4.1.3.RELEASE - - - org.springframework - spring-context - 4.1.3.RELEASE - - - - org.springframework - spring-jdbc - 4.1.3.RELEASE - - - org.springframework - spring-tx - 4.1.3.RELEASE - - - - org.springframework - spring-web - 4.1.3.RELEASE - - - org.springframework - spring-webmvc - 4.1.3.RELEASE - - - - org.springframework - spring-test - 4.1.3.RELEASE - - - - - org.apache.commons - commons-lang3 - 3.3.2 - - - org.apache.commons - commons-io - 1.3.2 - - - commons-net - commons-net - 3.3 - - - - - redis.clients - jedis - 2.7.3 - - - com.dyuproject.protostuff - protostuff-core - 1.0.8 - - - com.dyuproject.protostuff - protostuff-runtime - 1.0.8 - - - - - commons-collections - commons-collections - 3.2 - - - - - commons-fileupload - commons-fileupload - 1.3.1 - - - - fastdfs_client - fastdfs_client - 1.25 - - - - - org.apache.shiro - shiro-core - 1.4.0 - - - org.apache.shiro - shiro-spring - 1.4.0 - - - - - - - src/main/java - - **/*.properties - **/*.xml - - false - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - UTF-8 - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.2 - - 1.7 - 1.7 - UTF-8 - - - - MovieManager - - diff --git a/src/demo/manager/src/main/java/com/dream/common/DateConverter.java b/src/demo/manager/src/main/java/com/dream/common/DateConverter.java deleted file mode 100644 index eb2776a8..00000000 --- a/src/demo/manager/src/main/java/com/dream/common/DateConverter.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.dream.common; - - -import org.springframework.core.convert.converter.Converter; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class DateConverter implements Converter { - @Override - public Date convert(String source) { - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - dateFormat.setLenient(false); - try { - return dateFormat.parse(source); - } catch (ParseException e) { - e.printStackTrace(); - } - return null; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/common/E3Result.java b/src/demo/manager/src/main/java/com/dream/common/E3Result.java deleted file mode 100644 index 13efb557..00000000 --- a/src/demo/manager/src/main/java/com/dream/common/E3Result.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.dream.common; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -import java.io.Serializable; -import java.util.List; - -public class E3Result implements Serializable { - - // 定义jackson对象 - private static final ObjectMapper MAPPER = new ObjectMapper(); - - // 响应业务状态 - private Integer status; - - // 响应消息 - private String msg; - - // 响应中的数据 - private Object data; - - public static E3Result build(Integer status, String msg, Object data) { - return new E3Result(status, msg, data); - } - - public static E3Result ok(Object data) { - return new E3Result(data); - } - - public static E3Result ok() { - return new E3Result(null); - } - - public E3Result() { - - } - - public static E3Result build(Integer status, String msg) { - return new E3Result(status, msg, null); - } - - public E3Result(Integer status, String msg, Object data) { - this.status = status; - this.msg = msg; - this.data = data; - } - - public E3Result(Object data) { - this.status = 200; - this.msg = "OK"; - this.data = data; - } - -// public Boolean isOK() { -// return this.status == 200; -// } - - public Integer getStatus() { - return status; - } - - public void setStatus(Integer status) { - this.status = status; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public Object getData() { - return data; - } - - public void setData(Object data) { - this.data = data; - } - - /** - * 将json结果集转化为TaotaoResult对象 - * - * @param jsonData json数据 - * @param clazz TaotaoResult中的object类型 - * @return - */ - public static E3Result formatToPojo(String jsonData, Class clazz) { - try { - if (clazz == null) { - return MAPPER.readValue(jsonData, E3Result.class); - } - JsonNode jsonNode = MAPPER.readTree(jsonData); - JsonNode data = jsonNode.get("data"); - Object obj = null; - if (clazz != null) { - if (data.isObject()) { - obj = MAPPER.readValue(data.traverse(), clazz); - } else if (data.isTextual()) { - obj = MAPPER.readValue(data.asText(), clazz); - } - } - return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj); - } catch (Exception e) { - return null; - } - } - - /** - * 没有object对象的转化 - * - * @param json - * @return - */ - public static E3Result format(String json) { - try { - return MAPPER.readValue(json, E3Result.class); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - /** - * Object是集合转化 - * - * @param jsonData json数据 - * @param clazz 集合中的类型 - * @return - */ - public static E3Result formatToList(String jsonData, Class clazz) { - try { - JsonNode jsonNode = MAPPER.readTree(jsonData); - JsonNode data = jsonNode.get("data"); - Object obj = null; - if (data.isArray() && data.size() > 0) { - obj = MAPPER.readValue(data.traverse(), - MAPPER.getTypeFactory().constructCollectionType(List.class, clazz)); - } - return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj); - } catch (Exception e) { - return null; - } - } - -} diff --git a/src/demo/manager/src/main/java/com/dream/common/FastDFSClient.java b/src/demo/manager/src/main/java/com/dream/common/FastDFSClient.java deleted file mode 100644 index 264f1778..00000000 --- a/src/demo/manager/src/main/java/com/dream/common/FastDFSClient.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.dream.common; - -import org.csource.common.NameValuePair; -import org.csource.fastdfs.ClientGlobal; -import org.csource.fastdfs.StorageClient1; -import org.csource.fastdfs.StorageServer; -import org.csource.fastdfs.TrackerClient; -import org.csource.fastdfs.TrackerServer; - -public class FastDFSClient { - - private TrackerClient trackerClient = null; - private TrackerServer trackerServer = null; - private StorageServer storageServer = null; - private StorageClient1 storageClient = null; - - public FastDFSClient(String conf) throws Exception { - if (conf.contains("classpath:")) { - conf = conf.replace("classpath:", this.getClass().getResource("/").getPath()); - } - ClientGlobal.init(conf); - trackerClient = new TrackerClient(); - trackerServer = trackerClient.getConnection(); - storageServer = null; - storageClient = new StorageClient1(trackerServer, storageServer); - } - - /** - * 上传文件方法 - *

Title: uploadFile

- *

Description:

- * @param fileName 文件全路径 - * @param extName 文件扩展名,不包含(.) - * @param metas 文件扩展信息 - * @return - * @throws Exception - */ - public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception { - String result = storageClient.upload_file1(fileName, extName, metas); - return result; - } - - public String uploadFile(String fileName) throws Exception { - return uploadFile(fileName, null, null); - } - - public String uploadFile(String fileName, String extName) throws Exception { - return uploadFile(fileName, extName, null); - } - - /** - * 上传文件方法 - *

Title: uploadFile

- *

Description:

- * @param fileContent 文件的内容,字节数组 - * @param extName 文件扩展名 - * @param metas 文件扩展信息 - * @return - * @throws Exception - */ - public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception { - - String result = storageClient.upload_file1(fileContent, extName, metas); - return result; - } - - public String uploadFile(byte[] fileContent) throws Exception { - return uploadFile(fileContent, null, null); - } - - public String uploadFile(byte[] fileContent, String extName) throws Exception { - return uploadFile(fileContent, extName, null); - } -} diff --git a/src/demo/manager/src/main/java/com/dream/common/JsonUtils.java b/src/demo/manager/src/main/java/com/dream/common/JsonUtils.java deleted file mode 100644 index 0338383e..00000000 --- a/src/demo/manager/src/main/java/com/dream/common/JsonUtils.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.dream.common; - -import java.util.List; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -public class JsonUtils { - - // 定义jackson对象 - private static final ObjectMapper MAPPER = new ObjectMapper(); - - /** - * 将对象转换成json字符串。 - *

Title: pojoToJson

- *

Description:

- * @param data - * @return - */ - public static String objectToJson(Object data) { - try { - String string = MAPPER.writeValueAsString(data); - return string; - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - return null; - } - - /** - * 将json结果集转化为对象 - * - * @param jsonData json数据 - * @param clazz 对象中的object类型 - * @return - */ - public static T jsonToPojo(String jsonData, Class beanType) { - try { - T t = MAPPER.readValue(jsonData, beanType); - return t; - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - /** - * 将json数据转换成pojo对象list - *

Title: jsonToList

- *

Description:

- * @param jsonData - * @param beanType - * @return - */ - public static List jsonToList(String jsonData, Class beanType) { - JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); - try { - List list = MAPPER.readValue(jsonData, javaType); - return list; - } catch (Exception e) { - e.printStackTrace(); - } - - return null; - } - -} diff --git a/src/demo/manager/src/main/java/com/dream/common/MovieRealm.java b/src/demo/manager/src/main/java/com/dream/common/MovieRealm.java deleted file mode 100644 index 4c229df7..00000000 --- a/src/demo/manager/src/main/java/com/dream/common/MovieRealm.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.dream.common; - -import com.dream.mapper.AdminMapper; -import com.dream.po.Admin; -import com.dream.po.AdminExample; -import org.apache.shiro.authc.*; -import org.apache.shiro.authz.AuthorizationInfo; -import org.apache.shiro.authz.SimpleAuthorizationInfo; -import org.apache.shiro.realm.AuthorizingRealm; -import org.apache.shiro.subject.PrincipalCollection; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class MovieRealm extends AuthorizingRealm{ - - @Autowired - private AdminMapper adminMapper; - - // 授权 - @Override - protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { - Admin admin = (Admin)principalCollection.getPrimaryPrincipal(); - SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); - // 根据用户名查询用户拥有的角色 -// AdminExample adminExample = new AdminExample(); -// AdminExample.Criteria criteria = adminExample.createCriteria(); -// criteria.andAdminnameEqualTo(adminname); -// List list = adminMapper.selectByExample(adminExample); - Set roleNames = new HashSet(); - if (0 == admin.getRole()) { - roleNames.add("admin"); - } else { - roleNames.add("user"); - } - // 将角色名称提供给info - authorizationInfo.setRoles(roleNames); - - return authorizationInfo; - } - - // 认证 - @Override - protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { - - System.out.println("----执行了认证方法----"); - UsernamePasswordToken mytoken = (UsernamePasswordToken) authenticationToken; - String adminName = mytoken.getUsername(); - // 根据用户名查询数据库 - AdminExample example = new AdminExample(); - AdminExample.Criteria criteria = example.createCriteria(); - criteria.andAdminnameEqualTo(adminName); - List list = adminMapper.selectByExample(example); - - if (list == null || list.size() == 0) { - // 返回登录失败 - return null; - } - Admin admin = list.get(0); - SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(admin, admin.getAdminpassword(), this.getName()); - return info; - } -} diff --git a/src/demo/manager/src/main/java/com/dream/common/NavigationTag.java b/src/demo/manager/src/main/java/com/dream/common/NavigationTag.java deleted file mode 100644 index f6e59daa..00000000 --- a/src/demo/manager/src/main/java/com/dream/common/NavigationTag.java +++ /dev/null @@ -1,179 +0,0 @@ -package com.dream.common; - -import java.io.IOException; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.TagSupport; - -import org.apache.taglibs.standard.tag.common.core.UrlSupport; - -/** - * 显示格式 上一页 1 2 3 4 5 下一页 - */ -/* - * 自定义标签类继承TagSupport - */ -public class NavigationTag extends TagSupport { - - static final long serialVersionUID = 2372405317744358833L; - - /** - * request 中用于保存Page 对象的变量名,默认为“page” - */ - private String bean = "page"; //以page为key值,value为分页对象,放到Request域中就结束了。 - - /** - * 分页跳转的url地址,此属性必须 - */ - private String url = null; - - /** - * 显示页码数量 - */ - private int number = 5; - - - @Override - public int doStartTag() throws JspException { - JspWriter writer = pageContext.getOut(); - HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); - Page page = (Page)request.getAttribute(bean); - if (page == null) - return SKIP_BODY; - url = resolveUrl(url, pageContext); - try { - //计算总页数 - int pageCount = page.getTotal() / page.getSize(); - if (page.getTotal() % page.getSize() > 0) { - pageCount++; - } - writer.print(""); - } catch (IOException e) { - e.printStackTrace(); - } - return SKIP_BODY; - } - - private String append(String url, String key, int value) { - - return append(url, key, String.valueOf(value)); - } - - /** - * 为url 参加参数对儿 - * - * @param url - * @param key - * @param value - * @return - */ - private String append(String url, String key, String value) { - if (url == null || url.trim().length() == 0) { - return ""; - } - - if (url.indexOf("?") == -1) { - url = url + "?" + key + "=" + value; - } else { - if(url.endsWith("?")) { - url = url + key + "=" + value; - } else { - url = url + "&" + key + "=" + value; - } - } - - return url; - } - - /** - * 为url 添加翻页请求参数 - * - * @param url - * @param pageContext - * @return - * @throws javax.servlet.jsp.JspException - */ - private String resolveUrl(String url, javax.servlet.jsp.PageContext pageContext) throws JspException{ - //UrlSupport.resolveUrl(url, context, pageContext) - Map params = pageContext.getRequest().getParameterMap(); - for (Object key:params.keySet()) { - if ("page".equals(key) || "rows".equals(key)) continue; - Object value = params.get(key); - if (value == null) continue; - if (value.getClass().isArray()) { - url = append(url, key.toString(), ((String[])value)[0]); - } else if (value instanceof String) { - url = append(url, key.toString(), value.toString()); - } - } - return url; - } - - - - /** - * @return the bean - */ - public String getBean() { - return bean; - } - - /** - * @param bean the bean to set - */ - public void setBean(String bean) { - this.bean = bean; - } - - /** - * @return the url - */ - public String getUrl() { - return url; - } - - /** - * @param url the url to set - */ - public void setUrl(String url) { - this.url = url; - } - - public void setNumber(int number) { - this.number = number; - } - -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/common/Page.java b/src/demo/manager/src/main/java/com/dream/common/Page.java deleted file mode 100644 index d21413e7..00000000 --- a/src/demo/manager/src/main/java/com/dream/common/Page.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.dream.common; - - -import java.util.List; - -public class Page { - - private int total; - private int page; - private int size; - private List rows; - public int getTotal() { - return total; - } - public void setTotal(int total) { - this.total = total; - } - public int getPage() { - return page; - } - public void setPage(int page) { - this.page = page; - } - public int getSize() { - return size; - } - public void setSize(int size) { - this.size = size; - } - public List getRows() { - return rows; - } - public void setRows(List rows) { - this.rows = rows; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/controller/AdminController.java b/src/demo/manager/src/main/java/com/dream/controller/AdminController.java deleted file mode 100644 index eecc99f9..00000000 --- a/src/demo/manager/src/main/java/com/dream/controller/AdminController.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.dream.controller; - - -import com.dream.common.E3Result; -import com.dream.common.Page; -import com.dream.po.Admin; -import com.dream.service.AdminService; -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authc.IncorrectCredentialsException; -import org.apache.shiro.authc.UnknownAccountException; -import org.apache.shiro.authc.UsernamePasswordToken; -import org.apache.shiro.authz.annotation.RequiresRoles; -import org.apache.shiro.subject.Subject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletRequest; - -@Controller -public class AdminController { - - @Autowired - private AdminService adminService; - - @RequestMapping("/") - public String showLogin(){ - - return "adminLogin"; - } - - @RequestMapping("/{page}") - public String showPage(@PathVariable String page){ - return page; - } - -// @RequestMapping(value="/admin/login",method = RequestMethod.POST) -// @ResponseBody -// public E3Result login(String adminname, String adminpassword, Model model, HttpServletRequest request) { -// E3Result e3Result = adminService.adminLogin(adminname, adminpassword); -// Admin admin = null; -// // 判断是否登录成功 -// if (e3Result.getStatus() == 200) { -// admin= (Admin) e3Result.getData(); -// } -// model.addAttribute("admin", admin); -// request.getSession().setAttribute("admin", admin); -// // 返回结果 -// return e3Result; -// } - - - @RequestMapping(value = "/login", method = RequestMethod.POST) - @ResponseBody - public E3Result login(String adminname, String adminpassword, Model model) { - Subject subject = SecurityUtils.getSubject(); - UsernamePasswordToken token = new UsernamePasswordToken(adminname, adminpassword); - try { - subject.login(token); - } catch (UnknownAccountException e) { - e.printStackTrace(); - model.addAttribute("userName", "用户名错误!"); - return E3Result.build(500, "用户名错误"); - } catch (IncorrectCredentialsException e) { - e.printStackTrace(); - model.addAttribute("passwd", "密码错误"); - return E3Result.build(500, "密码错误" ); - } - return E3Result.ok(); - } - - - @RequestMapping(value = "/admin/list") - @RequiresRoles("admin") - public String getUserList(@RequestParam(defaultValue="1")Integer page, @RequestParam(defaultValue="10")Integer rows, String adminname, Model model) { - - Page admins = adminService.findAdminList(page, rows, adminname); - model.addAttribute("page", admins); - model.addAttribute("adminname", adminname); - return "adminManage"; - } - - @RequestMapping("/admin/delete") - @ResponseBody - public String deleteAdmin(Integer id) { - adminService.deleteAdmin(id); - return "OK"; - } - - @RequestMapping("/admin/edit") - @ResponseBody - public Admin getAdminById(Integer id) { - Admin admin = adminService.getAdminById(id); - return admin; - } - - @RequestMapping("/admin/update") - @ResponseBody - public String updateAdmin(Admin admin) { - adminService.updateAdmin(admin); - return "OK"; - } - - @RequestMapping("/admin/add") - @ResponseBody - public String addAdmin(Admin admin) { - adminService.addAdmin(admin); - return "OK"; - } -} diff --git a/src/demo/manager/src/main/java/com/dream/controller/MovieController.java b/src/demo/manager/src/main/java/com/dream/controller/MovieController.java deleted file mode 100644 index e49ff42f..00000000 --- a/src/demo/manager/src/main/java/com/dream/controller/MovieController.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.dream.controller; - - -import com.dream.common.Page; -import com.dream.po.*; -import com.dream.service.MovieService; -import com.dream.service.UserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.Mapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; - -import javax.servlet.http.HttpServletRequest; -import java.util.List; - -@Controller -public class MovieController { - - @Autowired - private MovieService movieService; - @Autowired - private UserService userService; - - @RequestMapping(value = "/movie") - public String showMovie() { - return "redirect:/movie/list.action"; - } - - // 电影列表 - @RequestMapping(value = "/movie/list") - public String list(Query query, Model model) { - - Page movies = movieService.findMovieList(query); - model.addAttribute("page", movies); - List categorylist = movieService.selectCategory(); - model.addAttribute("categoryList", categorylist); - - //参数回显 - model.addAttribute("movieName", query.getMovieName()); - model.addAttribute("categoryId", query.getCategoryId()); - return "movieManage"; - } - - // 用户管理 - @RequestMapping(value = "/movie/userlist") - public String showUser() { - return "redirect:/user/list.action"; - } - // 管理员管理 - @RequestMapping(value = "/movie/adminlist") - public String showAdmin() { - return "redirect:/admin/list.action"; - } - - - @RequestMapping("/movie/delete") - @ResponseBody - public String customerDelete(Integer id) { - movieService.deleteMovie(id); - return "OK"; - } - - @RequestMapping("/movie/edit") - @ResponseBody - public NewMovie getMovieById(Integer id) { - NewMovie newMovie = movieService.getMovieById(id); - return newMovie; - } - - @RequestMapping("/movie/update") - @ResponseBody - public String updateMovie(Movie movie, HttpServletRequest request) { - String[] categoryIds = request.getParameterValues("categoryId"); - movieService.updateMovie(movie, categoryIds); - return "OK"; - } - - @RequestMapping("/movie/add") - @ResponseBody - public String addMovie(Movie movie, HttpServletRequest request) { - String[] categoryIds = request.getParameterValues("categoryId"); - movieService.addMovie(movie, categoryIds); - return "OK"; - } - -} diff --git a/src/demo/manager/src/main/java/com/dream/controller/PictureController.java b/src/demo/manager/src/main/java/com/dream/controller/PictureController.java deleted file mode 100644 index f3b950c6..00000000 --- a/src/demo/manager/src/main/java/com/dream/controller/PictureController.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.dream.controller; - -import java.util.HashMap; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.MediaType; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.multipart.MultipartFile; - -import com.dream.common.FastDFSClient; -import com.dream.common.JsonUtils; - -/** - * 图片上传处理Controller - * @author ZXL - * - */ -@Controller -public class PictureController { - - @Value("${IMAGE_SERVER_URL}") - private String IMAGE_SERVER_URL; - - @RequestMapping(value="/movie/file/upload", produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8") - @ResponseBody - public String uploadFile(@RequestParam(value = "file") MultipartFile uploadFile){ - try { - //把图片上传的图片服务器 - FastDFSClient fastDFSClient = new FastDFSClient("classpath:conf/client.conf"); - //取文件扩展名 - String originalFilename = uploadFile.getOriginalFilename(); - String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1); - //得到一个图片的地址和文件名 - String url = fastDFSClient.uploadFile(uploadFile.getBytes(), extName); - //补充为完整的url - url = IMAGE_SERVER_URL + '/' + url; - //封装到map中返回 - System.out.println(url); - - Map result = new HashMap<>(); - result.put("error", 0); - result.put("url", url); - return JsonUtils.objectToJson(result); - } catch (Exception e) { - e.printStackTrace(); - Map result = new HashMap<>(); - result.put("error", 0); - result.put("url", "图片上传失败"); - return JsonUtils.objectToJson(result); - } - } -} diff --git a/src/demo/manager/src/main/java/com/dream/controller/UserController.java b/src/demo/manager/src/main/java/com/dream/controller/UserController.java deleted file mode 100644 index 7cdfb93e..00000000 --- a/src/demo/manager/src/main/java/com/dream/controller/UserController.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.dream.controller; - -import com.dream.common.Page; -import com.dream.po.User; -import com.dream.service.UserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; - -@Controller -public class UserController { - - @Autowired - private UserService userService; - - @RequestMapping(value = "/user/list") - public String getUserList(@RequestParam(defaultValue="1")Integer page, @RequestParam(defaultValue="10")Integer rows, String username, Model model) { - - Page users = userService.findUserList(page, rows, username); - model.addAttribute("page", users); - model.addAttribute("username", username); - return "userManage"; - } - - @RequestMapping("/user/delete") - @ResponseBody - public String deleteUser(Integer id) { - userService.deleteUser(id); - return "OK"; - } - - @RequestMapping("/user/edit") - @ResponseBody - public User getUserById(Integer id) { - User user = userService.getUserById(id); - return user; - } - - @RequestMapping("/user/update") - @ResponseBody - public String updateUser(User user) { - userService.updateUser(user); - return "OK"; - } - - @RequestMapping("/user/add") - @ResponseBody - public String addUser(User user) { - userService.addUser(user); - return "OK"; - } -} diff --git a/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.java deleted file mode 100644 index fd9d4c5f..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.dream.mapper; - -import com.dream.po.Admin; -import com.dream.po.AdminExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface AdminMapper { - int countByExample(AdminExample example); - - int deleteByExample(AdminExample example); - - int deleteByPrimaryKey(Integer adminid); - - int insert(Admin record); - - int insertSelective(Admin record); - - List selectByExample(AdminExample example); - - Admin selectByPrimaryKey(Integer adminid); - - int updateByExampleSelective(@Param("record") Admin record, @Param("example") AdminExample example); - - int updateByExample(@Param("record") Admin record, @Param("example") AdminExample example); - - int updateByPrimaryKeySelective(Admin record); - - int updateByPrimaryKey(Admin record); - - List selectAdminList(Admin admin); - Integer selectAdminListCount(Admin admin); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.xml deleted file mode 100644 index 00d9071a..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.xml +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - adminid, adminname, adminpassword, role - - - - - delete from admin - where adminid = #{adminid,jdbcType=INTEGER} - - - delete from admin - - - - - - insert into admin (adminid, adminname, adminpassword,role - ) - values (#{adminid,jdbcType=INTEGER}, #{adminname,jdbcType=VARCHAR}, #{adminpassword,jdbcType=VARCHAR},#{role,jdbcType=INTEGER} - ) - - - insert into admin - - - adminid, - - - adminname, - - - adminpassword, - - - - - #{adminid,jdbcType=INTEGER}, - - - #{adminname,jdbcType=VARCHAR}, - - - #{adminpassword,jdbcType=VARCHAR}, - - - - - - update admin - - - adminid = #{record.adminid,jdbcType=INTEGER}, - - - adminname = #{record.adminname,jdbcType=VARCHAR}, - - - adminpassword = #{record.adminpassword,jdbcType=VARCHAR}, - - - - - - - - update admin - set adminid = #{record.adminid,jdbcType=INTEGER}, - adminname = #{record.adminname,jdbcType=VARCHAR}, - adminpassword = #{record.adminpassword,jdbcType=VARCHAR} - - - - - - update admin - - - adminname = #{adminname,jdbcType=VARCHAR}, - - - adminpassword = #{adminpassword,jdbcType=VARCHAR}, - - - where adminid = #{adminid,jdbcType=INTEGER} - - - update admin - set adminname = #{adminname,jdbcType=VARCHAR}, - adminpassword = #{adminpassword,jdbcType=VARCHAR}, - role = #{role,jdbcType=INTEGER} - where adminid = #{adminid,jdbcType=INTEGER} - - - - - - adminname like "%"#{adminname}"%" - - and role = 1 - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.java deleted file mode 100644 index b5ea1856..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.dream.mapper; - -import java.util.List; - -import com.dream.po.Browse; -import com.dream.po.BrowseExample; -import org.apache.ibatis.annotations.Param; - -public interface BrowseMapper { - int countByExample(BrowseExample example); - - int deleteByExample(BrowseExample example); - - int deleteByPrimaryKey(Integer browseid); - - int insert(Browse record); - - int insertSelective(Browse record); - - List selectByExample(BrowseExample example); - - Browse selectByPrimaryKey(Integer browseid); - - int updateByExampleSelective(@Param("record") Browse record, @Param("example") BrowseExample example); - - int updateByExample(@Param("record") Browse record, @Param("example") BrowseExample example); - - int updateByPrimaryKeySelective(Browse record); - - int updateByPrimaryKey(Browse record); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.xml deleted file mode 100644 index f20868d9..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - browseid, userid, movieids, browsetime - - - - - delete from browse - where browseid = #{browseid,jdbcType=INTEGER} - - - delete from browse - - - - - - insert into browse (browseid, userid, movieids, - browsetime) - values (#{browseid,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{movieids,jdbcType=VARCHAR}, - #{browsetime,jdbcType=TIMESTAMP}) - - - insert into browse - - - browseid, - - - userid, - - - movieids, - - - browsetime, - - - - - #{browseid,jdbcType=INTEGER}, - - - #{userid,jdbcType=INTEGER}, - - - #{movieids,jdbcType=VARCHAR}, - - - #{browsetime,jdbcType=TIMESTAMP}, - - - - - - update browse - - - browseid = #{record.browseid,jdbcType=INTEGER}, - - - userid = #{record.userid,jdbcType=INTEGER}, - - - movieids = #{record.movieids,jdbcType=VARCHAR}, - - - browsetime = #{record.browsetime,jdbcType=TIMESTAMP}, - - - - - - - - update browse - set browseid = #{record.browseid,jdbcType=INTEGER}, - userid = #{record.userid,jdbcType=INTEGER}, - movieids = #{record.movieids,jdbcType=VARCHAR}, - browsetime = #{record.browsetime,jdbcType=TIMESTAMP} - - - - - - update browse - - - userid = #{userid,jdbcType=INTEGER}, - - - movieids = #{movieids,jdbcType=VARCHAR}, - - - browsetime = #{browsetime,jdbcType=TIMESTAMP}, - - - where browseid = #{browseid,jdbcType=INTEGER} - - - update browse - set userid = #{userid,jdbcType=INTEGER}, - movieids = #{movieids,jdbcType=VARCHAR}, - browsetime = #{browsetime,jdbcType=TIMESTAMP} - where browseid = #{browseid,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.java deleted file mode 100644 index 85b76548..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.dream.mapper; - -import com.dream.po.Category; -import com.dream.po.CategoryExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface CategoryMapper { - int countByExample(CategoryExample example); - - int deleteByExample(CategoryExample example); - - int deleteByPrimaryKey(Integer categoryid); - - int insert(Category record); - - int insertSelective(Category record); - - List selectByExample(CategoryExample example); - - Category selectByPrimaryKey(Integer categoryid); - - int updateByExampleSelective(@Param("record") Category record, @Param("example") CategoryExample example); - - int updateByExample(@Param("record") Category record, @Param("example") CategoryExample example); - - int updateByPrimaryKeySelective(Category record); - - int updateByPrimaryKey(Category record); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.xml deleted file mode 100644 index b5f303d5..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - categoryid, category - - - - - delete from category - where categoryid = #{categoryid,jdbcType=INTEGER} - - - delete from category - - - - - - insert into category (categoryid, category) - values (#{categoryid,jdbcType=INTEGER}, #{category,jdbcType=VARCHAR}) - - - insert into category - - - categoryid, - - - category, - - - - - #{categoryid,jdbcType=INTEGER}, - - - #{category,jdbcType=VARCHAR}, - - - - - - update category - - - categoryid = #{record.categoryid,jdbcType=INTEGER}, - - - category = #{record.category,jdbcType=VARCHAR}, - - - - - - - - update category - set categoryid = #{record.categoryid,jdbcType=INTEGER}, - category = #{record.category,jdbcType=VARCHAR} - - - - - - update category - - - category = #{category,jdbcType=VARCHAR}, - - - where categoryid = #{categoryid,jdbcType=INTEGER} - - - update category - set category = #{category,jdbcType=VARCHAR} - where categoryid = #{categoryid,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.java deleted file mode 100644 index 0155b1ab..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.dream.mapper; - -import com.dream.po.Movie; -import com.dream.po.MovieExample; -import java.util.List; - -import com.dream.po.Query; -import org.apache.ibatis.annotations.Param; - -public interface MovieMapper { - int countByExample(MovieExample example); - - int deleteByExample(MovieExample example); - - int deleteByPrimaryKey(Integer movieid); - - int insert(Movie record); - - int insertSelective(Movie record); - - List selectByExample(MovieExample example); - - Movie selectByPrimaryKey(Integer movieid); - - int updateByExampleSelective(@Param("record") Movie record, @Param("example") MovieExample example); - - int updateByExample(@Param("record") Movie record, @Param("example") MovieExample example); - - int updateByPrimaryKeySelective(Movie record); - - int updateByPrimaryKey(Movie record); - - List selectMovieList(Movie movie); - Integer selectMovieListCount(Movie movie); - void updateMovie(Movie movie); - - //总条数 - public Integer movieCount(Query query); - //结果集 - public List selectMovieListByQuery(Query query); - - -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.xml deleted file mode 100644 index 92061f82..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.xml +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - movieid, moviename, showyear, nation, director, leadactors, screenwriter, picture, averating, numrating, description - - - - - - moviename like "%"#{moviename}"%" - - - - - - - - - - - delete from movie - where movieid = #{movieid,jdbcType=INTEGER} - - - delete from movie - - - - - - insert into movie (movieid, moviename, showyear, - nation, director, leadactors, - screenwriter, averating, numrating, picture, description) - values (#{movieid,jdbcType=INTEGER}, #{moviename,jdbcType=VARCHAR}, #{showyear,jdbcType=TIMESTAMP}, - #{nation,jdbcType=VARCHAR}, #{director,jdbcType=VARCHAR}, #{leadactors,jdbcType=VARCHAR}, - #{screenwriter,jdbcType=VARCHAR},#{averating,jdbcType=DOUBLE}, #{numrating,jdbcType=INTEGER}, #{picture,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}) - - - insert into movie - - - movieid, - - - moviename, - - - showyear, - - - nation, - - - director, - - - leadactors, - - - screenwriter, - - - picture, - - - - - #{movieid,jdbcType=INTEGER}, - - - #{moviename,jdbcType=VARCHAR}, - - - #{showyear,jdbcType=TIMESTAMP}, - - - #{nation,jdbcType=VARCHAR}, - - - #{director,jdbcType=VARCHAR}, - - - #{leadactors,jdbcType=VARCHAR}, - - - #{screenwriter,jdbcType=VARCHAR}, - - - #{picture,jdbcType=VARCHAR}, - - - - - - update movie - - - movieid = #{record.movieid,jdbcType=INTEGER}, - - - moviename = #{record.moviename,jdbcType=VARCHAR}, - - - showyear = #{record.showyear,jdbcType=TIMESTAMP}, - - - nation = #{record.nation,jdbcType=VARCHAR}, - - - director = #{record.director,jdbcType=VARCHAR}, - - - leadactors = #{record.leadactors,jdbcType=VARCHAR}, - - - screenwriter = #{record.screenwriter,jdbcType=VARCHAR}, - - - picture = #{record.picture,jdbcType=VARCHAR}, - - - - - - - - update movie - set movieid = #{record.movieid,jdbcType=INTEGER}, - moviename = #{record.moviename,jdbcType=VARCHAR}, - showyear = #{record.showyear,jdbcType=TIMESTAMP}, - nation = #{record.nation,jdbcType=VARCHAR}, - director = #{record.director,jdbcType=VARCHAR}, - leadactors = #{record.leadactors,jdbcType=VARCHAR}, - screenwriter = #{record.screenwriter,jdbcType=VARCHAR}, - picture = #{record.picture,jdbcType=VARCHAR} - - - - - - update movie - - - moviename = #{moviename,jdbcType=VARCHAR}, - - - showyear = #{showyear,jdbcType=TIMESTAMP}, - - - nation = #{nation,jdbcType=VARCHAR}, - - - director = #{director,jdbcType=VARCHAR}, - - - leadactors = #{leadactors,jdbcType=VARCHAR}, - - - screenwriter = #{screenwriter,jdbcType=VARCHAR}, - - - picture = #{picture,jdbcType=VARCHAR}, - - - where movieid = #{movieid,jdbcType=INTEGER} - - - update movie - set moviename = #{moviename,jdbcType=VARCHAR}, - nation = #{nation,jdbcType=VARCHAR}, - director = #{director,jdbcType=VARCHAR}, - leadactors = #{leadactors,jdbcType=VARCHAR}, - screenwriter = #{screenwriter,jdbcType=VARCHAR}, - averating = #{averating,jdbcType=DOUBLE}, - numrating = #{numrating,jdbcType=INTEGER}, - description = #{description,jdbcType=VARCHAR}, - picture = #{picture,jdbcType=VARCHAR} - where movieid = #{movieid,jdbcType=INTEGER} - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.java deleted file mode 100644 index 505b5276..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.dream.mapper; - -import com.dream.po.Moviecategory; -import com.dream.po.MoviecategoryExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface MoviecategoryMapper { - int countByExample(MoviecategoryExample example); - - int deleteByExample(MoviecategoryExample example); - - int deleteByPrimaryKey(Integer movcatid); - - int insert(Moviecategory record); - - int insertSelective(Moviecategory record); - - List selectByExample(MoviecategoryExample example); - - Moviecategory selectByPrimaryKey(Integer movcatid); - - int updateByExampleSelective(@Param("record") Moviecategory record, @Param("example") MoviecategoryExample example); - - int updateByExample(@Param("record") Moviecategory record, @Param("example") MoviecategoryExample example); - - int updateByPrimaryKeySelective(Moviecategory record); - - int updateByPrimaryKey(Moviecategory record); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.xml deleted file mode 100644 index 473f43e8..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - movcatid, movieid, categoryid - - - - - delete from moviecategory - where movcatid = #{movcatid,jdbcType=INTEGER} - - - delete from moviecategory - - - - - - insert into moviecategory (movcatid, movieid, categoryid - ) - values (#{movcatid,jdbcType=INTEGER}, #{movieid,jdbcType=INTEGER}, #{categoryid,jdbcType=INTEGER} - ) - - - insert into moviecategory - - - movcatid, - - - movieid, - - - categoryid, - - - - - #{movcatid,jdbcType=INTEGER}, - - - #{movieid,jdbcType=INTEGER}, - - - #{categoryid,jdbcType=INTEGER}, - - - - - - update moviecategory - - - movcatid = #{record.movcatid,jdbcType=INTEGER}, - - - movieid = #{record.movieid,jdbcType=INTEGER}, - - - categoryid = #{record.categoryid,jdbcType=INTEGER}, - - - - - - - - update moviecategory - set movcatid = #{record.movcatid,jdbcType=INTEGER}, - movieid = #{record.movieid,jdbcType=INTEGER}, - categoryid = #{record.categoryid,jdbcType=INTEGER} - - - - - - update moviecategory - - - movieid = #{movieid,jdbcType=INTEGER}, - - - categoryid = #{categoryid,jdbcType=INTEGER}, - - - where movcatid = #{movcatid,jdbcType=INTEGER} - - - update moviecategory - set movieid = #{movieid,jdbcType=INTEGER}, - categoryid = #{categoryid,jdbcType=INTEGER} - where movcatid = #{movcatid,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.java deleted file mode 100644 index 0b176e68..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.dream.mapper; - -import com.dream.po.Rectab; -import com.dream.po.RectabExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface RectabMapper { - int countByExample(RectabExample example); - - int deleteByExample(RectabExample example); - - int insert(Rectab record); - - int insertSelective(Rectab record); - - List selectByExample(RectabExample example); - - int updateByExampleSelective(@Param("record") Rectab record, @Param("example") RectabExample example); - - int updateByExample(@Param("record") Rectab record, @Param("example") RectabExample example); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.xml deleted file mode 100644 index 9505e100..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - userid, movieids - - - - delete from rectab - - - - - - insert into rectab (userid, movieids) - values (#{userid,jdbcType=INTEGER}, #{movieids,jdbcType=VARCHAR}) - - - insert into rectab - - - userid, - - - movieids, - - - - - #{userid,jdbcType=INTEGER}, - - - #{movieids,jdbcType=VARCHAR}, - - - - - - update rectab - - - userid = #{record.userid,jdbcType=INTEGER}, - - - movieids = #{record.movieids,jdbcType=VARCHAR}, - - - - - - - - update rectab - set userid = #{record.userid,jdbcType=INTEGER}, - movieids = #{record.movieids,jdbcType=VARCHAR} - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.java deleted file mode 100644 index ff919344..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.dream.mapper; - -import com.dream.po.Review; -import com.dream.po.ReviewExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface ReviewMapper { - int countByExample(ReviewExample example); - - int deleteByExample(ReviewExample example); - - int deleteByPrimaryKey(Integer reviewid); - - int insert(Review record); - - int insertSelective(Review record); - - List selectByExample(ReviewExample example); - - Review selectByPrimaryKey(Integer reviewid); - - int updateByExampleSelective(@Param("record") Review record, @Param("example") ReviewExample example); - - int updateByExample(@Param("record") Review record, @Param("example") ReviewExample example); - - int updateByPrimaryKeySelective(Review record); - - int updateByPrimaryKey(Review record); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.xml deleted file mode 100644 index 48d4cc30..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.xml +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - reviewid, userid, movieid, content, star, reviewtime - - - - - delete from review - where reviewid = #{reviewid,jdbcType=INTEGER} - - - delete from review - - - - - - insert into review (reviewid, userid, movieid, - content, star, reviewtime - ) - values (#{reviewid,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{movieid,jdbcType=INTEGER}, - #{content,jdbcType=VARCHAR}, #{star,jdbcType=INTEGER}, #{reviewtime,jdbcType=TIMESTAMP} - ) - - - insert into review - - - reviewid, - - - userid, - - - movieid, - - - content, - - - star, - - - reviewtime, - - - - - #{reviewid,jdbcType=INTEGER}, - - - #{userid,jdbcType=INTEGER}, - - - #{movieid,jdbcType=INTEGER}, - - - #{content,jdbcType=VARCHAR}, - - - #{star,jdbcType=INTEGER}, - - - #{reviewtime,jdbcType=TIMESTAMP}, - - - - - - update review - - - reviewid = #{record.reviewid,jdbcType=INTEGER}, - - - userid = #{record.userid,jdbcType=INTEGER}, - - - movieid = #{record.movieid,jdbcType=INTEGER}, - - - content = #{record.content,jdbcType=VARCHAR}, - - - star = #{record.star,jdbcType=INTEGER}, - - - reviewtime = #{record.reviewtime,jdbcType=TIMESTAMP}, - - - - - - - - update review - set reviewid = #{record.reviewid,jdbcType=INTEGER}, - userid = #{record.userid,jdbcType=INTEGER}, - movieid = #{record.movieid,jdbcType=INTEGER}, - content = #{record.content,jdbcType=VARCHAR}, - star = #{record.star,jdbcType=INTEGER}, - reviewtime = #{record.reviewtime,jdbcType=TIMESTAMP} - - - - - - update review - - - userid = #{userid,jdbcType=INTEGER}, - - - movieid = #{movieid,jdbcType=INTEGER}, - - - content = #{content,jdbcType=VARCHAR}, - - - star = #{star,jdbcType=INTEGER}, - - - reviewtime = #{reviewtime,jdbcType=TIMESTAMP}, - - - where reviewid = #{reviewid,jdbcType=INTEGER} - - - update review - set userid = #{userid,jdbcType=INTEGER}, - movieid = #{movieid,jdbcType=INTEGER}, - content = #{content,jdbcType=VARCHAR}, - star = #{star,jdbcType=INTEGER}, - reviewtime = #{reviewtime,jdbcType=TIMESTAMP} - where reviewid = #{reviewid,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.java deleted file mode 100644 index b9f8d2c7..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.dream.mapper; - -import com.dream.po.User; -import com.dream.po.UserExample; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -public interface UserMapper { - int countByExample(UserExample example); - - int deleteByExample(UserExample example); - - int deleteByPrimaryKey(Integer userid); - - int insert(User record); - - int insertSelective(User record); - - List selectByExample(UserExample example); - - User selectByPrimaryKey(Integer userid); - - int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example); - - int updateByExample(@Param("record") User record, @Param("example") UserExample example); - - int updateByPrimaryKeySelective(User record); - - int updateByPrimaryKey(User record); - - List selectUserList(User user); - Integer selectUserListCount(User user); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.xml deleted file mode 100644 index d10b6a0b..00000000 --- a/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - userid, username, password, registertime, lastlogintime, email - - - - - - - username like "%"#{username}"%" - - - - - - - - - delete from user - where userid = #{userid,jdbcType=INTEGER} - - - delete from user - - - - - - insert into user (userid, username, password, - registertime, lastlogintime,email) - values (#{userid,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, - #{registertime,jdbcType=TIMESTAMP}, #{lastlogintime,jdbcType=TIMESTAMP}, #{email,jdbcType=VARCHAR}) - - - insert into user - - - userid, - - - username, - - - password, - - - registertime, - - - lastlogintime, - - - email, - - - - - #{userid,jdbcType=INTEGER}, - - - #{username,jdbcType=VARCHAR}, - - - #{password,jdbcType=VARCHAR}, - - - #{registertime,jdbcType=TIMESTAMP}, - - - #{lastlogintime,jdbcType=TIMESTAMP}, - - - #{email,jdbcType=VARCHAR}, - - - - - - update user - - - userid = #{record.userid,jdbcType=INTEGER}, - - - username = #{record.username,jdbcType=VARCHAR}, - - - password = #{record.password,jdbcType=VARCHAR}, - - - registertime = #{record.registertime,jdbcType=TIMESTAMP}, - - - lastlogintime = #{record.lastlogintime,jdbcType=TIMESTAMP}, - - - email = #{record.email,jdbcType=VARCHAR}, - - - - - - - - update user - set userid = #{record.userid,jdbcType=INTEGER}, - username = #{record.username,jdbcType=VARCHAR}, - password = #{record.password,jdbcType=VARCHAR}, - registertime = #{record.registertime,jdbcType=TIMESTAMP}, - lastlogintime = #{record.lastlogintime,jdbcType=TIMESTAMP}, - email = #{record.email,jdbcType=VARCHAR} - - - - - - update user - - - username = #{username,jdbcType=VARCHAR}, - - - password = #{password,jdbcType=VARCHAR}, - - - registertime = #{registertime,jdbcType=TIMESTAMP}, - - - lastlogintime = #{lastlogintime,jdbcType=TIMESTAMP}, - - - email = #{email,jdbcType=VARCHAR}, - - - where userid = #{userid,jdbcType=INTEGER} - - - update user - set username = #{username,jdbcType=VARCHAR}, - password = #{password,jdbcType=VARCHAR}, - registertime = #{registertime,jdbcType=TIMESTAMP}, - lastlogintime = #{lastlogintime,jdbcType=TIMESTAMP}, - email = #{email,jdbcType=VARCHAR} - where userid = #{userid,jdbcType=INTEGER} - - \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Admin.java b/src/demo/manager/src/main/java/com/dream/po/Admin.java deleted file mode 100644 index 3dcb465d..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Admin.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.dream.po; - -public class Admin { - private Integer adminid; - - private String adminname; - - private String adminpassword; - - private Integer role; - - private Integer start; - - private Integer rows; - - public Integer getStart() { - return start; - } - - public void setStart(Integer start) { - this.start = start; - } - - public Integer getRows() { - return rows; - } - - public void setRows(Integer rows) { - this.rows = rows; - } - - public Integer getRole() { - return role; - } - - public void setRole(Integer role) { - this.role = role; - } - - public Integer getAdminid() { - return adminid; - } - - public void setAdminid(Integer adminid) { - this.adminid = adminid; - } - - public String getAdminname() { - return adminname; - } - - public void setAdminname(String adminname) { - this.adminname = adminname == null ? null : adminname.trim(); - } - - public String getAdminpassword() { - return adminpassword; - } - - public void setAdminpassword(String adminpassword) { - this.adminpassword = adminpassword == null ? null : adminpassword.trim(); - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/AdminExample.java b/src/demo/manager/src/main/java/com/dream/po/AdminExample.java deleted file mode 100644 index 3317cc50..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/AdminExample.java +++ /dev/null @@ -1,400 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.List; - -public class AdminExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public AdminExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andAdminidIsNull() { - addCriterion("adminid is null"); - return (Criteria) this; - } - - public Criteria andAdminidIsNotNull() { - addCriterion("adminid is not null"); - return (Criteria) this; - } - - public Criteria andAdminidEqualTo(Integer value) { - addCriterion("adminid =", value, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidNotEqualTo(Integer value) { - addCriterion("adminid <>", value, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidGreaterThan(Integer value) { - addCriterion("adminid >", value, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidGreaterThanOrEqualTo(Integer value) { - addCriterion("adminid >=", value, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidLessThan(Integer value) { - addCriterion("adminid <", value, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidLessThanOrEqualTo(Integer value) { - addCriterion("adminid <=", value, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidIn(List values) { - addCriterion("adminid in", values, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidNotIn(List values) { - addCriterion("adminid not in", values, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidBetween(Integer value1, Integer value2) { - addCriterion("adminid between", value1, value2, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminidNotBetween(Integer value1, Integer value2) { - addCriterion("adminid not between", value1, value2, "adminid"); - return (Criteria) this; - } - - public Criteria andAdminnameIsNull() { - addCriterion("adminname is null"); - return (Criteria) this; - } - - public Criteria andAdminnameIsNotNull() { - addCriterion("adminname is not null"); - return (Criteria) this; - } - - public Criteria andAdminnameEqualTo(String value) { - addCriterion("adminname =", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameNotEqualTo(String value) { - addCriterion("adminname <>", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameGreaterThan(String value) { - addCriterion("adminname >", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameGreaterThanOrEqualTo(String value) { - addCriterion("adminname >=", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameLessThan(String value) { - addCriterion("adminname <", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameLessThanOrEqualTo(String value) { - addCriterion("adminname <=", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameLike(String value) { - addCriterion("adminname like", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameNotLike(String value) { - addCriterion("adminname not like", value, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameIn(List values) { - addCriterion("adminname in", values, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameNotIn(List values) { - addCriterion("adminname not in", values, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameBetween(String value1, String value2) { - addCriterion("adminname between", value1, value2, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminnameNotBetween(String value1, String value2) { - addCriterion("adminname not between", value1, value2, "adminname"); - return (Criteria) this; - } - - public Criteria andAdminpasswordIsNull() { - addCriterion("adminpassword is null"); - return (Criteria) this; - } - - public Criteria andAdminpasswordIsNotNull() { - addCriterion("adminpassword is not null"); - return (Criteria) this; - } - - public Criteria andAdminpasswordEqualTo(String value) { - addCriterion("adminpassword =", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordNotEqualTo(String value) { - addCriterion("adminpassword <>", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordGreaterThan(String value) { - addCriterion("adminpassword >", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordGreaterThanOrEqualTo(String value) { - addCriterion("adminpassword >=", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordLessThan(String value) { - addCriterion("adminpassword <", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordLessThanOrEqualTo(String value) { - addCriterion("adminpassword <=", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordLike(String value) { - addCriterion("adminpassword like", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordNotLike(String value) { - addCriterion("adminpassword not like", value, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordIn(List values) { - addCriterion("adminpassword in", values, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordNotIn(List values) { - addCriterion("adminpassword not in", values, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordBetween(String value1, String value2) { - addCriterion("adminpassword between", value1, value2, "adminpassword"); - return (Criteria) this; - } - - public Criteria andAdminpasswordNotBetween(String value1, String value2) { - addCriterion("adminpassword not between", value1, value2, "adminpassword"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Browse.java b/src/demo/manager/src/main/java/com/dream/po/Browse.java deleted file mode 100644 index 3a3ce4ae..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Browse.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.dream.po; - -import java.util.Date; - -public class Browse { - private Integer browseid; - - private Integer userid; - - private String movieids; - - private Date browsetime; - - public Integer getBrowseid() { - return browseid; - } - - public void setBrowseid(Integer browseid) { - this.browseid = browseid; - } - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } - - public String getMovieids() { - return movieids; - } - - public void setMovieids(String movieids) { - this.movieids = movieids == null ? null : movieids.trim(); - } - - public Date getBrowsetime() { - return browsetime; - } - - public void setBrowsetime(Date browsetime) { - this.browsetime = browsetime; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/BrowseExample.java b/src/demo/manager/src/main/java/com/dream/po/BrowseExample.java deleted file mode 100644 index 3c7239c5..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/BrowseExample.java +++ /dev/null @@ -1,451 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class BrowseExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public BrowseExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andBrowseidIsNull() { - addCriterion("browseid is null"); - return (Criteria) this; - } - - public Criteria andBrowseidIsNotNull() { - addCriterion("browseid is not null"); - return (Criteria) this; - } - - public Criteria andBrowseidEqualTo(Integer value) { - addCriterion("browseid =", value, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidNotEqualTo(Integer value) { - addCriterion("browseid <>", value, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidGreaterThan(Integer value) { - addCriterion("browseid >", value, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidGreaterThanOrEqualTo(Integer value) { - addCriterion("browseid >=", value, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidLessThan(Integer value) { - addCriterion("browseid <", value, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidLessThanOrEqualTo(Integer value) { - addCriterion("browseid <=", value, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidIn(List values) { - addCriterion("browseid in", values, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidNotIn(List values) { - addCriterion("browseid not in", values, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidBetween(Integer value1, Integer value2) { - addCriterion("browseid between", value1, value2, "browseid"); - return (Criteria) this; - } - - public Criteria andBrowseidNotBetween(Integer value1, Integer value2) { - addCriterion("browseid not between", value1, value2, "browseid"); - return (Criteria) this; - } - - public Criteria andUseridIsNull() { - addCriterion("userid is null"); - return (Criteria) this; - } - - public Criteria andUseridIsNotNull() { - addCriterion("userid is not null"); - return (Criteria) this; - } - - public Criteria andUseridEqualTo(Integer value) { - addCriterion("userid =", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotEqualTo(Integer value) { - addCriterion("userid <>", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThan(Integer value) { - addCriterion("userid >", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThanOrEqualTo(Integer value) { - addCriterion("userid >=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThan(Integer value) { - addCriterion("userid <", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThanOrEqualTo(Integer value) { - addCriterion("userid <=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridIn(List values) { - addCriterion("userid in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotIn(List values) { - addCriterion("userid not in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridBetween(Integer value1, Integer value2) { - addCriterion("userid between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotBetween(Integer value1, Integer value2) { - addCriterion("userid not between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andMovieidsIsNull() { - addCriterion("movieids is null"); - return (Criteria) this; - } - - public Criteria andMovieidsIsNotNull() { - addCriterion("movieids is not null"); - return (Criteria) this; - } - - public Criteria andMovieidsEqualTo(String value) { - addCriterion("movieids =", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotEqualTo(String value) { - addCriterion("movieids <>", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsGreaterThan(String value) { - addCriterion("movieids >", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsGreaterThanOrEqualTo(String value) { - addCriterion("movieids >=", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsLessThan(String value) { - addCriterion("movieids <", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsLessThanOrEqualTo(String value) { - addCriterion("movieids <=", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsLike(String value) { - addCriterion("movieids like", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotLike(String value) { - addCriterion("movieids not like", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsIn(List values) { - addCriterion("movieids in", values, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotIn(List values) { - addCriterion("movieids not in", values, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsBetween(String value1, String value2) { - addCriterion("movieids between", value1, value2, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotBetween(String value1, String value2) { - addCriterion("movieids not between", value1, value2, "movieids"); - return (Criteria) this; - } - - public Criteria andBrowsetimeIsNull() { - addCriterion("browsetime is null"); - return (Criteria) this; - } - - public Criteria andBrowsetimeIsNotNull() { - addCriterion("browsetime is not null"); - return (Criteria) this; - } - - public Criteria andBrowsetimeEqualTo(Date value) { - addCriterion("browsetime =", value, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeNotEqualTo(Date value) { - addCriterion("browsetime <>", value, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeGreaterThan(Date value) { - addCriterion("browsetime >", value, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeGreaterThanOrEqualTo(Date value) { - addCriterion("browsetime >=", value, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeLessThan(Date value) { - addCriterion("browsetime <", value, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeLessThanOrEqualTo(Date value) { - addCriterion("browsetime <=", value, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeIn(List values) { - addCriterion("browsetime in", values, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeNotIn(List values) { - addCriterion("browsetime not in", values, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeBetween(Date value1, Date value2) { - addCriterion("browsetime between", value1, value2, "browsetime"); - return (Criteria) this; - } - - public Criteria andBrowsetimeNotBetween(Date value1, Date value2) { - addCriterion("browsetime not between", value1, value2, "browsetime"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Category.java b/src/demo/manager/src/main/java/com/dream/po/Category.java deleted file mode 100644 index 0da43103..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Category.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.dream.po; - -public class Category { - private Integer categoryid; - - private String category; - - public Integer getCategoryid() { - return categoryid; - } - - public void setCategoryid(Integer categoryid) { - this.categoryid = categoryid; - } - - public String getCategory() { - return category; - } - - public void setCategory(String category) { - this.category = category == null ? null : category.trim(); - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/CategoryExample.java b/src/demo/manager/src/main/java/com/dream/po/CategoryExample.java deleted file mode 100644 index 8bc8af4c..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/CategoryExample.java +++ /dev/null @@ -1,330 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.List; - -public class CategoryExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public CategoryExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andCategoryidIsNull() { - addCriterion("categoryid is null"); - return (Criteria) this; - } - - public Criteria andCategoryidIsNotNull() { - addCriterion("categoryid is not null"); - return (Criteria) this; - } - - public Criteria andCategoryidEqualTo(Integer value) { - addCriterion("categoryid =", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidNotEqualTo(Integer value) { - addCriterion("categoryid <>", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidGreaterThan(Integer value) { - addCriterion("categoryid >", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidGreaterThanOrEqualTo(Integer value) { - addCriterion("categoryid >=", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidLessThan(Integer value) { - addCriterion("categoryid <", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidLessThanOrEqualTo(Integer value) { - addCriterion("categoryid <=", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidIn(List values) { - addCriterion("categoryid in", values, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidNotIn(List values) { - addCriterion("categoryid not in", values, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidBetween(Integer value1, Integer value2) { - addCriterion("categoryid between", value1, value2, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidNotBetween(Integer value1, Integer value2) { - addCriterion("categoryid not between", value1, value2, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryIsNull() { - addCriterion("category is null"); - return (Criteria) this; - } - - public Criteria andCategoryIsNotNull() { - addCriterion("category is not null"); - return (Criteria) this; - } - - public Criteria andCategoryEqualTo(String value) { - addCriterion("category =", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryNotEqualTo(String value) { - addCriterion("category <>", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryGreaterThan(String value) { - addCriterion("category >", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryGreaterThanOrEqualTo(String value) { - addCriterion("category >=", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryLessThan(String value) { - addCriterion("category <", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryLessThanOrEqualTo(String value) { - addCriterion("category <=", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryLike(String value) { - addCriterion("category like", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryNotLike(String value) { - addCriterion("category not like", value, "category"); - return (Criteria) this; - } - - public Criteria andCategoryIn(List values) { - addCriterion("category in", values, "category"); - return (Criteria) this; - } - - public Criteria andCategoryNotIn(List values) { - addCriterion("category not in", values, "category"); - return (Criteria) this; - } - - public Criteria andCategoryBetween(String value1, String value2) { - addCriterion("category between", value1, value2, "category"); - return (Criteria) this; - } - - public Criteria andCategoryNotBetween(String value1, String value2) { - addCriterion("category not between", value1, value2, "category"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Movie.java b/src/demo/manager/src/main/java/com/dream/po/Movie.java deleted file mode 100644 index b0f936ac..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Movie.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.dream.po; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -//import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.util.Date; - -public class Movie implements Serializable{ - private Integer movieid; - - private String moviename; - - @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") - @DateTimeFormat(pattern="yyyy-MM-dd") - private Date showyear; - - private String nation; - - private String director; - - private String leadactors; - - private String screenwriter; - - private String picture; - - // 添加三个字段 - private Double averating; - private Integer numrating; - private String description; - - private Integer start; - - private Integer rows; - - public Integer getStart() { - return start; - } - - public void setStart(Integer start) { - this.start = start; - } - - public Integer getRows() { - return rows; - } - - public void setRows(Integer rows) { - this.rows = rows; - } - - public Integer getMovieid() { - return movieid; - } - - public void setMovieid(Integer movieid) { - this.movieid = movieid; - } - - public String getMoviename() { - return moviename; - } - - public void setMoviename(String moviename) { - this.moviename = moviename == null ? null : moviename.trim(); - } - - public Date getShowyear() { - return showyear; - } - - public void setShowyear(Date showyear) { - this.showyear = showyear; - } - - public String getNation() { - return nation; - } - - public void setNation(String nation) { - this.nation = nation == null ? null : nation.trim(); - } - - public String getDirector() { - return director; - } - - public void setDirector(String director) { - this.director = director == null ? null : director.trim(); - } - - public String getLeadactors() { - return leadactors; - } - - public void setLeadactors(String leadactors) { - this.leadactors = leadactors == null ? null : leadactors.trim(); - } - - public String getScreenwriter() { - return screenwriter; - } - - public void setScreenwriter(String screenwriter) { - this.screenwriter = screenwriter == null ? null : screenwriter.trim(); - } - - public String getPicture() { - return picture; - } - - public void setPicture(String picture) { - this.picture = picture == null ? null : picture.trim(); - } - - public Double getAverating() { - return averating; - } - - public void setAverating(Double averating) { - this.averating = averating; - } - - public Integer getNumrating() { - return numrating; - } - - public void setNumrating(Integer numrating) { - this.numrating = numrating; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/MovieExample.java b/src/demo/manager/src/main/java/com/dream/po/MovieExample.java deleted file mode 100644 index 478b3f3f..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/MovieExample.java +++ /dev/null @@ -1,741 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class MovieExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public MovieExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andMovieidIsNull() { - addCriterion("movieid is null"); - return (Criteria) this; - } - - public Criteria andMovieidIsNotNull() { - addCriterion("movieid is not null"); - return (Criteria) this; - } - - public Criteria andMovieidEqualTo(Integer value) { - addCriterion("movieid =", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotEqualTo(Integer value) { - addCriterion("movieid <>", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidGreaterThan(Integer value) { - addCriterion("movieid >", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidGreaterThanOrEqualTo(Integer value) { - addCriterion("movieid >=", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidLessThan(Integer value) { - addCriterion("movieid <", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidLessThanOrEqualTo(Integer value) { - addCriterion("movieid <=", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidIn(List values) { - addCriterion("movieid in", values, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotIn(List values) { - addCriterion("movieid not in", values, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidBetween(Integer value1, Integer value2) { - addCriterion("movieid between", value1, value2, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotBetween(Integer value1, Integer value2) { - addCriterion("movieid not between", value1, value2, "movieid"); - return (Criteria) this; - } - - public Criteria andMovienameIsNull() { - addCriterion("moviename is null"); - return (Criteria) this; - } - - public Criteria andMovienameIsNotNull() { - addCriterion("moviename is not null"); - return (Criteria) this; - } - - public Criteria andMovienameEqualTo(String value) { - addCriterion("moviename =", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameNotEqualTo(String value) { - addCriterion("moviename <>", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameGreaterThan(String value) { - addCriterion("moviename >", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameGreaterThanOrEqualTo(String value) { - addCriterion("moviename >=", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameLessThan(String value) { - addCriterion("moviename <", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameLessThanOrEqualTo(String value) { - addCriterion("moviename <=", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameLike(String value) { - addCriterion("moviename like", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameNotLike(String value) { - addCriterion("moviename not like", value, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameIn(List values) { - addCriterion("moviename in", values, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameNotIn(List values) { - addCriterion("moviename not in", values, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameBetween(String value1, String value2) { - addCriterion("moviename between", value1, value2, "moviename"); - return (Criteria) this; - } - - public Criteria andMovienameNotBetween(String value1, String value2) { - addCriterion("moviename not between", value1, value2, "moviename"); - return (Criteria) this; - } - - public Criteria andShowyearIsNull() { - addCriterion("showyear is null"); - return (Criteria) this; - } - - public Criteria andShowyearIsNotNull() { - addCriterion("showyear is not null"); - return (Criteria) this; - } - - public Criteria andShowyearEqualTo(Date value) { - addCriterion("showyear =", value, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearNotEqualTo(Date value) { - addCriterion("showyear <>", value, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearGreaterThan(Date value) { - addCriterion("showyear >", value, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearGreaterThanOrEqualTo(Date value) { - addCriterion("showyear >=", value, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearLessThan(Date value) { - addCriterion("showyear <", value, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearLessThanOrEqualTo(Date value) { - addCriterion("showyear <=", value, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearIn(List values) { - addCriterion("showyear in", values, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearNotIn(List values) { - addCriterion("showyear not in", values, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearBetween(Date value1, Date value2) { - addCriterion("showyear between", value1, value2, "showyear"); - return (Criteria) this; - } - - public Criteria andShowyearNotBetween(Date value1, Date value2) { - addCriterion("showyear not between", value1, value2, "showyear"); - return (Criteria) this; - } - - public Criteria andNationIsNull() { - addCriterion("nation is null"); - return (Criteria) this; - } - - public Criteria andNationIsNotNull() { - addCriterion("nation is not null"); - return (Criteria) this; - } - - public Criteria andNationEqualTo(String value) { - addCriterion("nation =", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationNotEqualTo(String value) { - addCriterion("nation <>", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationGreaterThan(String value) { - addCriterion("nation >", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationGreaterThanOrEqualTo(String value) { - addCriterion("nation >=", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationLessThan(String value) { - addCriterion("nation <", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationLessThanOrEqualTo(String value) { - addCriterion("nation <=", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationLike(String value) { - addCriterion("nation like", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationNotLike(String value) { - addCriterion("nation not like", value, "nation"); - return (Criteria) this; - } - - public Criteria andNationIn(List values) { - addCriterion("nation in", values, "nation"); - return (Criteria) this; - } - - public Criteria andNationNotIn(List values) { - addCriterion("nation not in", values, "nation"); - return (Criteria) this; - } - - public Criteria andNationBetween(String value1, String value2) { - addCriterion("nation between", value1, value2, "nation"); - return (Criteria) this; - } - - public Criteria andNationNotBetween(String value1, String value2) { - addCriterion("nation not between", value1, value2, "nation"); - return (Criteria) this; - } - - public Criteria andDirectorIsNull() { - addCriterion("director is null"); - return (Criteria) this; - } - - public Criteria andDirectorIsNotNull() { - addCriterion("director is not null"); - return (Criteria) this; - } - - public Criteria andDirectorEqualTo(String value) { - addCriterion("director =", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorNotEqualTo(String value) { - addCriterion("director <>", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorGreaterThan(String value) { - addCriterion("director >", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorGreaterThanOrEqualTo(String value) { - addCriterion("director >=", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorLessThan(String value) { - addCriterion("director <", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorLessThanOrEqualTo(String value) { - addCriterion("director <=", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorLike(String value) { - addCriterion("director like", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorNotLike(String value) { - addCriterion("director not like", value, "director"); - return (Criteria) this; - } - - public Criteria andDirectorIn(List values) { - addCriterion("director in", values, "director"); - return (Criteria) this; - } - - public Criteria andDirectorNotIn(List values) { - addCriterion("director not in", values, "director"); - return (Criteria) this; - } - - public Criteria andDirectorBetween(String value1, String value2) { - addCriterion("director between", value1, value2, "director"); - return (Criteria) this; - } - - public Criteria andDirectorNotBetween(String value1, String value2) { - addCriterion("director not between", value1, value2, "director"); - return (Criteria) this; - } - - public Criteria andLeadactorsIsNull() { - addCriterion("leadactors is null"); - return (Criteria) this; - } - - public Criteria andLeadactorsIsNotNull() { - addCriterion("leadactors is not null"); - return (Criteria) this; - } - - public Criteria andLeadactorsEqualTo(String value) { - addCriterion("leadactors =", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsNotEqualTo(String value) { - addCriterion("leadactors <>", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsGreaterThan(String value) { - addCriterion("leadactors >", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsGreaterThanOrEqualTo(String value) { - addCriterion("leadactors >=", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsLessThan(String value) { - addCriterion("leadactors <", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsLessThanOrEqualTo(String value) { - addCriterion("leadactors <=", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsLike(String value) { - addCriterion("leadactors like", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsNotLike(String value) { - addCriterion("leadactors not like", value, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsIn(List values) { - addCriterion("leadactors in", values, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsNotIn(List values) { - addCriterion("leadactors not in", values, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsBetween(String value1, String value2) { - addCriterion("leadactors between", value1, value2, "leadactors"); - return (Criteria) this; - } - - public Criteria andLeadactorsNotBetween(String value1, String value2) { - addCriterion("leadactors not between", value1, value2, "leadactors"); - return (Criteria) this; - } - - public Criteria andScreenwriterIsNull() { - addCriterion("screenwriter is null"); - return (Criteria) this; - } - - public Criteria andScreenwriterIsNotNull() { - addCriterion("screenwriter is not null"); - return (Criteria) this; - } - - public Criteria andScreenwriterEqualTo(String value) { - addCriterion("screenwriter =", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterNotEqualTo(String value) { - addCriterion("screenwriter <>", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterGreaterThan(String value) { - addCriterion("screenwriter >", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterGreaterThanOrEqualTo(String value) { - addCriterion("screenwriter >=", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterLessThan(String value) { - addCriterion("screenwriter <", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterLessThanOrEqualTo(String value) { - addCriterion("screenwriter <=", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterLike(String value) { - addCriterion("screenwriter like", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterNotLike(String value) { - addCriterion("screenwriter not like", value, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterIn(List values) { - addCriterion("screenwriter in", values, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterNotIn(List values) { - addCriterion("screenwriter not in", values, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterBetween(String value1, String value2) { - addCriterion("screenwriter between", value1, value2, "screenwriter"); - return (Criteria) this; - } - - public Criteria andScreenwriterNotBetween(String value1, String value2) { - addCriterion("screenwriter not between", value1, value2, "screenwriter"); - return (Criteria) this; - } - - public Criteria andPictureIsNull() { - addCriterion("picture is null"); - return (Criteria) this; - } - - public Criteria andPictureIsNotNull() { - addCriterion("picture is not null"); - return (Criteria) this; - } - - public Criteria andPictureEqualTo(String value) { - addCriterion("picture =", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureNotEqualTo(String value) { - addCriterion("picture <>", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureGreaterThan(String value) { - addCriterion("picture >", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureGreaterThanOrEqualTo(String value) { - addCriterion("picture >=", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureLessThan(String value) { - addCriterion("picture <", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureLessThanOrEqualTo(String value) { - addCriterion("picture <=", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureLike(String value) { - addCriterion("picture like", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureNotLike(String value) { - addCriterion("picture not like", value, "picture"); - return (Criteria) this; - } - - public Criteria andPictureIn(List values) { - addCriterion("picture in", values, "picture"); - return (Criteria) this; - } - - public Criteria andPictureNotIn(List values) { - addCriterion("picture not in", values, "picture"); - return (Criteria) this; - } - - public Criteria andPictureBetween(String value1, String value2) { - addCriterion("picture between", value1, value2, "picture"); - return (Criteria) this; - } - - public Criteria andPictureNotBetween(String value1, String value2) { - addCriterion("picture not between", value1, value2, "picture"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Moviecategory.java b/src/demo/manager/src/main/java/com/dream/po/Moviecategory.java deleted file mode 100644 index 6f75263a..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Moviecategory.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.dream.po; - -public class Moviecategory { - private Integer movcatid; - - private Integer movieid; - - private Integer categoryid; - - public Integer getMovcatid() { - return movcatid; - } - - public void setMovcatid(Integer movcatid) { - this.movcatid = movcatid; - } - - public Integer getMovieid() { - return movieid; - } - - public void setMovieid(Integer movieid) { - this.movieid = movieid; - } - - public Integer getCategoryid() { - return categoryid; - } - - public void setCategoryid(Integer categoryid) { - this.categoryid = categoryid; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/MoviecategoryExample.java b/src/demo/manager/src/main/java/com/dream/po/MoviecategoryExample.java deleted file mode 100644 index c2245552..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/MoviecategoryExample.java +++ /dev/null @@ -1,380 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.List; - -public class MoviecategoryExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public MoviecategoryExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andMovcatidIsNull() { - addCriterion("movcatid is null"); - return (Criteria) this; - } - - public Criteria andMovcatidIsNotNull() { - addCriterion("movcatid is not null"); - return (Criteria) this; - } - - public Criteria andMovcatidEqualTo(Integer value) { - addCriterion("movcatid =", value, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidNotEqualTo(Integer value) { - addCriterion("movcatid <>", value, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidGreaterThan(Integer value) { - addCriterion("movcatid >", value, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidGreaterThanOrEqualTo(Integer value) { - addCriterion("movcatid >=", value, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidLessThan(Integer value) { - addCriterion("movcatid <", value, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidLessThanOrEqualTo(Integer value) { - addCriterion("movcatid <=", value, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidIn(List values) { - addCriterion("movcatid in", values, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidNotIn(List values) { - addCriterion("movcatid not in", values, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidBetween(Integer value1, Integer value2) { - addCriterion("movcatid between", value1, value2, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovcatidNotBetween(Integer value1, Integer value2) { - addCriterion("movcatid not between", value1, value2, "movcatid"); - return (Criteria) this; - } - - public Criteria andMovieidIsNull() { - addCriterion("movieid is null"); - return (Criteria) this; - } - - public Criteria andMovieidIsNotNull() { - addCriterion("movieid is not null"); - return (Criteria) this; - } - - public Criteria andMovieidEqualTo(Integer value) { - addCriterion("movieid =", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotEqualTo(Integer value) { - addCriterion("movieid <>", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidGreaterThan(Integer value) { - addCriterion("movieid >", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidGreaterThanOrEqualTo(Integer value) { - addCriterion("movieid >=", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidLessThan(Integer value) { - addCriterion("movieid <", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidLessThanOrEqualTo(Integer value) { - addCriterion("movieid <=", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidIn(List values) { - addCriterion("movieid in", values, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotIn(List values) { - addCriterion("movieid not in", values, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidBetween(Integer value1, Integer value2) { - addCriterion("movieid between", value1, value2, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotBetween(Integer value1, Integer value2) { - addCriterion("movieid not between", value1, value2, "movieid"); - return (Criteria) this; - } - - public Criteria andCategoryidIsNull() { - addCriterion("categoryid is null"); - return (Criteria) this; - } - - public Criteria andCategoryidIsNotNull() { - addCriterion("categoryid is not null"); - return (Criteria) this; - } - - public Criteria andCategoryidEqualTo(Integer value) { - addCriterion("categoryid =", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidNotEqualTo(Integer value) { - addCriterion("categoryid <>", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidGreaterThan(Integer value) { - addCriterion("categoryid >", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidGreaterThanOrEqualTo(Integer value) { - addCriterion("categoryid >=", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidLessThan(Integer value) { - addCriterion("categoryid <", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidLessThanOrEqualTo(Integer value) { - addCriterion("categoryid <=", value, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidIn(List values) { - addCriterion("categoryid in", values, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidNotIn(List values) { - addCriterion("categoryid not in", values, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidBetween(Integer value1, Integer value2) { - addCriterion("categoryid between", value1, value2, "categoryid"); - return (Criteria) this; - } - - public Criteria andCategoryidNotBetween(Integer value1, Integer value2) { - addCriterion("categoryid not between", value1, value2, "categoryid"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/NewMovie.java b/src/demo/manager/src/main/java/com/dream/po/NewMovie.java deleted file mode 100644 index 4a3f38f1..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/NewMovie.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.dream.po; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -public class NewMovie { - private Integer movieid; - - private String moviename; - - @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") - @DateTimeFormat(pattern="yyyy-MM-dd") - private Date showyear; - - private String nation; - - private String director; - - private String leadactors; - - private String screenwriter; - - private String picture; - - private Integer[] categoryid; - - private String categoryname; - - // 新加入的三个字段 - private Double averating; - - private Integer numrating; - - private String description; - - public Double getAverating() { - return averating; - } - - public void setAverating(Double averating) { - this.averating = averating; - } - - public Integer getNumrating() { - return numrating; - } - - public void setNumrating(Integer numrating) { - this.numrating = numrating; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Integer[] getCategoryid() { - return categoryid; - } - - public void setCategoryid(Integer[] categoryid) { - this.categoryid = categoryid; - } - - - public String getCategoryname() { - return categoryname; - } - - public void setCategoryname(String categoryname) { - this.categoryname = categoryname; - } - - public Integer getMovieid() { - return movieid; - } - - public void setMovieid(Integer movieid) { - this.movieid = movieid; - } - - public String getMoviename() { - return moviename; - } - - public void setMoviename(String moviename) { - this.moviename = moviename; - } - - public Date getShowyear() { - return showyear; - } - - public void setShowyear(Date showyear) { - this.showyear = showyear; - } - - public String getNation() { - return nation; - } - - public void setNation(String nation) { - this.nation = nation; - } - - public String getDirector() { - return director; - } - - public void setDirector(String director) { - this.director = director; - } - - public String getLeadactors() { - return leadactors; - } - - public void setLeadactors(String leadactors) { - this.leadactors = leadactors; - } - - public String getScreenwriter() { - return screenwriter; - } - - public void setScreenwriter(String screenwriter) { - this.screenwriter = screenwriter; - } - - public String getPicture() { - return picture; - } - - public void setPicture(String picture) { - this.picture = picture; - } - - -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Query.java b/src/demo/manager/src/main/java/com/dream/po/Query.java deleted file mode 100644 index d2bc073c..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Query.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.dream.po; - -public class Query{ - private String movieName; - - private int categoryId; - //当前页 - private Integer page; - //每页数 - private Integer size=5; - //开始行 - private Integer startRow = 0; - - public String getMovieName() { - return movieName; - } - - - public Integer getPage() { - return page; - } - - public Integer getSize() { - return size; - } - - public Integer getStartRow() { - return startRow; - } - - public void setMovieName(String movieName) { - this.movieName = movieName; - } - - - - public void setPage(Integer page) { - this.page = page; - } - - public void setSize(Integer size) { - this.size = size; - } - - public void setStartRow(Integer startRow) { - this.startRow = startRow; - } - public int getCategoryId() { - return categoryId; - } - - public void setCategoryId(int categoryId) { - this.categoryId = categoryId; - } -} diff --git a/src/demo/manager/src/main/java/com/dream/po/QueryUser.java b/src/demo/manager/src/main/java/com/dream/po/QueryUser.java deleted file mode 100644 index d68b2517..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/QueryUser.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.dream.po; - -public class QueryUser { - private String username; - - //当前页 - private Integer page; - //每页数 - private Integer size=5; - //开始行 - private Integer startRow = 0; - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public Integer getPage() { - return page; - } - - public void setPage(Integer page) { - this.page = page; - } - - public Integer getSize() { - return size; - } - - public void setSize(Integer size) { - this.size = size; - } - - public Integer getStartRow() { - return startRow; - } - - public void setStartRow(Integer startRow) { - this.startRow = startRow; - } -} diff --git a/src/demo/manager/src/main/java/com/dream/po/Rectab.java b/src/demo/manager/src/main/java/com/dream/po/Rectab.java deleted file mode 100644 index 77f56cf4..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Rectab.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.dream.po; - -public class Rectab { - private Integer userid; - - private String movieids; - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } - - public String getMovieids() { - return movieids; - } - - public void setMovieids(String movieids) { - this.movieids = movieids == null ? null : movieids.trim(); - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/RectabExample.java b/src/demo/manager/src/main/java/com/dream/po/RectabExample.java deleted file mode 100644 index 21c85c30..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/RectabExample.java +++ /dev/null @@ -1,330 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.List; - -public class RectabExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public RectabExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andUseridIsNull() { - addCriterion("userid is null"); - return (Criteria) this; - } - - public Criteria andUseridIsNotNull() { - addCriterion("userid is not null"); - return (Criteria) this; - } - - public Criteria andUseridEqualTo(Integer value) { - addCriterion("userid =", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotEqualTo(Integer value) { - addCriterion("userid <>", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThan(Integer value) { - addCriterion("userid >", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThanOrEqualTo(Integer value) { - addCriterion("userid >=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThan(Integer value) { - addCriterion("userid <", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThanOrEqualTo(Integer value) { - addCriterion("userid <=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridIn(List values) { - addCriterion("userid in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotIn(List values) { - addCriterion("userid not in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridBetween(Integer value1, Integer value2) { - addCriterion("userid between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotBetween(Integer value1, Integer value2) { - addCriterion("userid not between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andMovieidsIsNull() { - addCriterion("movieids is null"); - return (Criteria) this; - } - - public Criteria andMovieidsIsNotNull() { - addCriterion("movieids is not null"); - return (Criteria) this; - } - - public Criteria andMovieidsEqualTo(String value) { - addCriterion("movieids =", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotEqualTo(String value) { - addCriterion("movieids <>", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsGreaterThan(String value) { - addCriterion("movieids >", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsGreaterThanOrEqualTo(String value) { - addCriterion("movieids >=", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsLessThan(String value) { - addCriterion("movieids <", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsLessThanOrEqualTo(String value) { - addCriterion("movieids <=", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsLike(String value) { - addCriterion("movieids like", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotLike(String value) { - addCriterion("movieids not like", value, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsIn(List values) { - addCriterion("movieids in", values, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotIn(List values) { - addCriterion("movieids not in", values, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsBetween(String value1, String value2) { - addCriterion("movieids between", value1, value2, "movieids"); - return (Criteria) this; - } - - public Criteria andMovieidsNotBetween(String value1, String value2) { - addCriterion("movieids not between", value1, value2, "movieids"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Review.java b/src/demo/manager/src/main/java/com/dream/po/Review.java deleted file mode 100644 index df5464c2..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/Review.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.dream.po; - -import java.util.Date; - -public class Review { - private Integer reviewid; - - private Integer userid; - - private Integer movieid; - - private String content; - - private Integer star; - - private Date reviewtime; - - public Integer getReviewid() { - return reviewid; - } - - public void setReviewid(Integer reviewid) { - this.reviewid = reviewid; - } - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } - - public Integer getMovieid() { - return movieid; - } - - public void setMovieid(Integer movieid) { - this.movieid = movieid; - } - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content == null ? null : content.trim(); - } - - public Integer getStar() { - return star; - } - - public void setStar(Integer star) { - this.star = star; - } - - public Date getReviewtime() { - return reviewtime; - } - - public void setReviewtime(Date reviewtime) { - this.reviewtime = reviewtime; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/ReviewExample.java b/src/demo/manager/src/main/java/com/dream/po/ReviewExample.java deleted file mode 100644 index 33427889..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/ReviewExample.java +++ /dev/null @@ -1,571 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class ReviewExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public ReviewExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andReviewidIsNull() { - addCriterion("reviewid is null"); - return (Criteria) this; - } - - public Criteria andReviewidIsNotNull() { - addCriterion("reviewid is not null"); - return (Criteria) this; - } - - public Criteria andReviewidEqualTo(Integer value) { - addCriterion("reviewid =", value, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidNotEqualTo(Integer value) { - addCriterion("reviewid <>", value, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidGreaterThan(Integer value) { - addCriterion("reviewid >", value, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidGreaterThanOrEqualTo(Integer value) { - addCriterion("reviewid >=", value, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidLessThan(Integer value) { - addCriterion("reviewid <", value, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidLessThanOrEqualTo(Integer value) { - addCriterion("reviewid <=", value, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidIn(List values) { - addCriterion("reviewid in", values, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidNotIn(List values) { - addCriterion("reviewid not in", values, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidBetween(Integer value1, Integer value2) { - addCriterion("reviewid between", value1, value2, "reviewid"); - return (Criteria) this; - } - - public Criteria andReviewidNotBetween(Integer value1, Integer value2) { - addCriterion("reviewid not between", value1, value2, "reviewid"); - return (Criteria) this; - } - - public Criteria andUseridIsNull() { - addCriterion("userid is null"); - return (Criteria) this; - } - - public Criteria andUseridIsNotNull() { - addCriterion("userid is not null"); - return (Criteria) this; - } - - public Criteria andUseridEqualTo(Integer value) { - addCriterion("userid =", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotEqualTo(Integer value) { - addCriterion("userid <>", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThan(Integer value) { - addCriterion("userid >", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThanOrEqualTo(Integer value) { - addCriterion("userid >=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThan(Integer value) { - addCriterion("userid <", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThanOrEqualTo(Integer value) { - addCriterion("userid <=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridIn(List values) { - addCriterion("userid in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotIn(List values) { - addCriterion("userid not in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridBetween(Integer value1, Integer value2) { - addCriterion("userid between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotBetween(Integer value1, Integer value2) { - addCriterion("userid not between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andMovieidIsNull() { - addCriterion("movieid is null"); - return (Criteria) this; - } - - public Criteria andMovieidIsNotNull() { - addCriterion("movieid is not null"); - return (Criteria) this; - } - - public Criteria andMovieidEqualTo(Integer value) { - addCriterion("movieid =", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotEqualTo(Integer value) { - addCriterion("movieid <>", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidGreaterThan(Integer value) { - addCriterion("movieid >", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidGreaterThanOrEqualTo(Integer value) { - addCriterion("movieid >=", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidLessThan(Integer value) { - addCriterion("movieid <", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidLessThanOrEqualTo(Integer value) { - addCriterion("movieid <=", value, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidIn(List values) { - addCriterion("movieid in", values, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotIn(List values) { - addCriterion("movieid not in", values, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidBetween(Integer value1, Integer value2) { - addCriterion("movieid between", value1, value2, "movieid"); - return (Criteria) this; - } - - public Criteria andMovieidNotBetween(Integer value1, Integer value2) { - addCriterion("movieid not between", value1, value2, "movieid"); - return (Criteria) this; - } - - public Criteria andContentIsNull() { - addCriterion("content is null"); - return (Criteria) this; - } - - public Criteria andContentIsNotNull() { - addCriterion("content is not null"); - return (Criteria) this; - } - - public Criteria andContentEqualTo(String value) { - addCriterion("content =", value, "content"); - return (Criteria) this; - } - - public Criteria andContentNotEqualTo(String value) { - addCriterion("content <>", value, "content"); - return (Criteria) this; - } - - public Criteria andContentGreaterThan(String value) { - addCriterion("content >", value, "content"); - return (Criteria) this; - } - - public Criteria andContentGreaterThanOrEqualTo(String value) { - addCriterion("content >=", value, "content"); - return (Criteria) this; - } - - public Criteria andContentLessThan(String value) { - addCriterion("content <", value, "content"); - return (Criteria) this; - } - - public Criteria andContentLessThanOrEqualTo(String value) { - addCriterion("content <=", value, "content"); - return (Criteria) this; - } - - public Criteria andContentLike(String value) { - addCriterion("content like", value, "content"); - return (Criteria) this; - } - - public Criteria andContentNotLike(String value) { - addCriterion("content not like", value, "content"); - return (Criteria) this; - } - - public Criteria andContentIn(List values) { - addCriterion("content in", values, "content"); - return (Criteria) this; - } - - public Criteria andContentNotIn(List values) { - addCriterion("content not in", values, "content"); - return (Criteria) this; - } - - public Criteria andContentBetween(String value1, String value2) { - addCriterion("content between", value1, value2, "content"); - return (Criteria) this; - } - - public Criteria andContentNotBetween(String value1, String value2) { - addCriterion("content not between", value1, value2, "content"); - return (Criteria) this; - } - - public Criteria andStarIsNull() { - addCriterion("star is null"); - return (Criteria) this; - } - - public Criteria andStarIsNotNull() { - addCriterion("star is not null"); - return (Criteria) this; - } - - public Criteria andStarEqualTo(Integer value) { - addCriterion("star =", value, "star"); - return (Criteria) this; - } - - public Criteria andStarNotEqualTo(Integer value) { - addCriterion("star <>", value, "star"); - return (Criteria) this; - } - - public Criteria andStarGreaterThan(Integer value) { - addCriterion("star >", value, "star"); - return (Criteria) this; - } - - public Criteria andStarGreaterThanOrEqualTo(Integer value) { - addCriterion("star >=", value, "star"); - return (Criteria) this; - } - - public Criteria andStarLessThan(Integer value) { - addCriterion("star <", value, "star"); - return (Criteria) this; - } - - public Criteria andStarLessThanOrEqualTo(Integer value) { - addCriterion("star <=", value, "star"); - return (Criteria) this; - } - - public Criteria andStarIn(List values) { - addCriterion("star in", values, "star"); - return (Criteria) this; - } - - public Criteria andStarNotIn(List values) { - addCriterion("star not in", values, "star"); - return (Criteria) this; - } - - public Criteria andStarBetween(Integer value1, Integer value2) { - addCriterion("star between", value1, value2, "star"); - return (Criteria) this; - } - - public Criteria andStarNotBetween(Integer value1, Integer value2) { - addCriterion("star not between", value1, value2, "star"); - return (Criteria) this; - } - - public Criteria andReviewtimeIsNull() { - addCriterion("reviewtime is null"); - return (Criteria) this; - } - - public Criteria andReviewtimeIsNotNull() { - addCriterion("reviewtime is not null"); - return (Criteria) this; - } - - public Criteria andReviewtimeEqualTo(Date value) { - addCriterion("reviewtime =", value, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeNotEqualTo(Date value) { - addCriterion("reviewtime <>", value, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeGreaterThan(Date value) { - addCriterion("reviewtime >", value, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeGreaterThanOrEqualTo(Date value) { - addCriterion("reviewtime >=", value, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeLessThan(Date value) { - addCriterion("reviewtime <", value, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeLessThanOrEqualTo(Date value) { - addCriterion("reviewtime <=", value, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeIn(List values) { - addCriterion("reviewtime in", values, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeNotIn(List values) { - addCriterion("reviewtime not in", values, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeBetween(Date value1, Date value2) { - addCriterion("reviewtime between", value1, value2, "reviewtime"); - return (Criteria) this; - } - - public Criteria andReviewtimeNotBetween(Date value1, Date value2) { - addCriterion("reviewtime not between", value1, value2, "reviewtime"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/User.java b/src/demo/manager/src/main/java/com/dream/po/User.java deleted file mode 100644 index c033eae3..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/User.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.dream.po; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.util.Date; - -public class User implements Serializable { - private Integer userid; - - private String username; - - private String password; - - @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") - @DateTimeFormat(pattern="yyyy-MM-dd") - private Date registertime; - - @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") - @DateTimeFormat(pattern="yyyy-MM-dd") - private Date lastlogintime; - - private Integer start; - - private Integer rows; - - private String email; - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public Integer getStart() { - return start; - } - - public void setStart(Integer start) { - this.start = start; - } - - public Integer getRows() { - return rows; - } - - public void setRows(Integer rows) { - this.rows = rows; - } - - public Integer getUserid() { - return userid; - } - - public void setUserid(Integer userid) { - this.userid = userid; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username == null ? null : username.trim(); - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password == null ? null : password.trim(); - } - - public Date getRegistertime() { - return registertime; - } - - public void setRegistertime(Date registertime) { - this.registertime = registertime; - } - - public Date getLastlogintime() { - return lastlogintime; - } - - public void setLastlogintime(Date lastlogintime) { - this.lastlogintime = lastlogintime; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/UserExample.java b/src/demo/manager/src/main/java/com/dream/po/UserExample.java deleted file mode 100644 index 185b3278..00000000 --- a/src/demo/manager/src/main/java/com/dream/po/UserExample.java +++ /dev/null @@ -1,542 +0,0 @@ -package com.dream.po; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class UserExample { - - protected Integer size; - //开始行 - protected Integer startRow; - - public Integer getSize() { - return size; - } - - public void setSize(Integer size) { - this.size = size; - } - - public Integer getStartRow() { - return startRow; - } - - public void setStartRow(Integer startRow) { - this.startRow = startRow; - } - - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public UserExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andUseridIsNull() { - addCriterion("userid is null"); - return (Criteria) this; - } - - public Criteria andUseridIsNotNull() { - addCriterion("userid is not null"); - return (Criteria) this; - } - - public Criteria andUseridEqualTo(Integer value) { - addCriterion("userid =", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotEqualTo(Integer value) { - addCriterion("userid <>", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThan(Integer value) { - addCriterion("userid >", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridGreaterThanOrEqualTo(Integer value) { - addCriterion("userid >=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThan(Integer value) { - addCriterion("userid <", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridLessThanOrEqualTo(Integer value) { - addCriterion("userid <=", value, "userid"); - return (Criteria) this; - } - - public Criteria andUseridIn(List values) { - addCriterion("userid in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotIn(List values) { - addCriterion("userid not in", values, "userid"); - return (Criteria) this; - } - - public Criteria andUseridBetween(Integer value1, Integer value2) { - addCriterion("userid between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andUseridNotBetween(Integer value1, Integer value2) { - addCriterion("userid not between", value1, value2, "userid"); - return (Criteria) this; - } - - public Criteria andUsernameIsNull() { - addCriterion("username is null"); - return (Criteria) this; - } - - public Criteria andUsernameIsNotNull() { - addCriterion("username is not null"); - return (Criteria) this; - } - - public Criteria andUsernameEqualTo(String value) { - addCriterion("username =", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotEqualTo(String value) { - addCriterion("username <>", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameGreaterThan(String value) { - addCriterion("username >", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameGreaterThanOrEqualTo(String value) { - addCriterion("username >=", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameLessThan(String value) { - addCriterion("username <", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameLessThanOrEqualTo(String value) { - addCriterion("username <=", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameLike(String value) { - addCriterion("username like", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotLike(String value) { - addCriterion("username not like", value, "username"); - return (Criteria) this; - } - - public Criteria andUsernameIn(List values) { - addCriterion("username in", values, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotIn(List values) { - addCriterion("username not in", values, "username"); - return (Criteria) this; - } - - public Criteria andUsernameBetween(String value1, String value2) { - addCriterion("username between", value1, value2, "username"); - return (Criteria) this; - } - - public Criteria andUsernameNotBetween(String value1, String value2) { - addCriterion("username not between", value1, value2, "username"); - return (Criteria) this; - } - - public Criteria andPasswordIsNull() { - addCriterion("password is null"); - return (Criteria) this; - } - - public Criteria andPasswordIsNotNull() { - addCriterion("password is not null"); - return (Criteria) this; - } - - public Criteria andPasswordEqualTo(String value) { - addCriterion("password =", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordNotEqualTo(String value) { - addCriterion("password <>", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordGreaterThan(String value) { - addCriterion("password >", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordGreaterThanOrEqualTo(String value) { - addCriterion("password >=", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordLessThan(String value) { - addCriterion("password <", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordLessThanOrEqualTo(String value) { - addCriterion("password <=", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordLike(String value) { - addCriterion("password like", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordNotLike(String value) { - addCriterion("password not like", value, "password"); - return (Criteria) this; - } - - public Criteria andPasswordIn(List values) { - addCriterion("password in", values, "password"); - return (Criteria) this; - } - - public Criteria andPasswordNotIn(List values) { - addCriterion("password not in", values, "password"); - return (Criteria) this; - } - - public Criteria andPasswordBetween(String value1, String value2) { - addCriterion("password between", value1, value2, "password"); - return (Criteria) this; - } - - public Criteria andPasswordNotBetween(String value1, String value2) { - addCriterion("password not between", value1, value2, "password"); - return (Criteria) this; - } - - public Criteria andRegistertimeIsNull() { - addCriterion("registertime is null"); - return (Criteria) this; - } - - public Criteria andRegistertimeIsNotNull() { - addCriterion("registertime is not null"); - return (Criteria) this; - } - - public Criteria andRegistertimeEqualTo(Date value) { - addCriterion("registertime =", value, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeNotEqualTo(Date value) { - addCriterion("registertime <>", value, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeGreaterThan(Date value) { - addCriterion("registertime >", value, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeGreaterThanOrEqualTo(Date value) { - addCriterion("registertime >=", value, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeLessThan(Date value) { - addCriterion("registertime <", value, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeLessThanOrEqualTo(Date value) { - addCriterion("registertime <=", value, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeIn(List values) { - addCriterion("registertime in", values, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeNotIn(List values) { - addCriterion("registertime not in", values, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeBetween(Date value1, Date value2) { - addCriterion("registertime between", value1, value2, "registertime"); - return (Criteria) this; - } - - public Criteria andRegistertimeNotBetween(Date value1, Date value2) { - addCriterion("registertime not between", value1, value2, "registertime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeIsNull() { - addCriterion("lastlogintime is null"); - return (Criteria) this; - } - - public Criteria andLastlogintimeIsNotNull() { - addCriterion("lastlogintime is not null"); - return (Criteria) this; - } - - public Criteria andLastlogintimeEqualTo(Date value) { - addCriterion("lastlogintime =", value, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeNotEqualTo(Date value) { - addCriterion("lastlogintime <>", value, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeGreaterThan(Date value) { - addCriterion("lastlogintime >", value, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeGreaterThanOrEqualTo(Date value) { - addCriterion("lastlogintime >=", value, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeLessThan(Date value) { - addCriterion("lastlogintime <", value, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeLessThanOrEqualTo(Date value) { - addCriterion("lastlogintime <=", value, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeIn(List values) { - addCriterion("lastlogintime in", values, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeNotIn(List values) { - addCriterion("lastlogintime not in", values, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeBetween(Date value1, Date value2) { - addCriterion("lastlogintime between", value1, value2, "lastlogintime"); - return (Criteria) this; - } - - public Criteria andLastlogintimeNotBetween(Date value1, Date value2) { - addCriterion("lastlogintime not between", value1, value2, "lastlogintime"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/service/AdminService.java b/src/demo/manager/src/main/java/com/dream/service/AdminService.java deleted file mode 100644 index 95235dc9..00000000 --- a/src/demo/manager/src/main/java/com/dream/service/AdminService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.dream.service; - -import com.dream.common.E3Result; -import com.dream.common.Page; -import com.dream.po.Admin; - -/** - * Created by ZXL on 2018/3/2. - */ -public interface AdminService { - E3Result adminLogin(String adminname, String adminpassword); - // 管理员列表 - public Page findAdminList(Integer page, Integer rows, String username); - // 删除用户 - public void deleteAdmin(Integer id); - // 编辑管理员 - public Admin getAdminById(Integer id); - // 更新管理员信息 - public void updateAdmin(Admin admin); - // 添加管理员 - public void addAdmin(Admin admin); -} diff --git a/src/demo/manager/src/main/java/com/dream/service/MovieService.java b/src/demo/manager/src/main/java/com/dream/service/MovieService.java deleted file mode 100644 index e3eda2f0..00000000 --- a/src/demo/manager/src/main/java/com/dream/service/MovieService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.dream.service; - -import com.dream.common.Page; -import com.dream.po.Category; -import com.dream.po.Movie; -import com.dream.po.NewMovie; -import com.dream.po.Query; - -import java.util.List; - -public interface MovieService { - - // 查询客户列表 - public Page findMovieList(Query query); - - public NewMovie getMovieById(Integer id); - - public void deleteMovie(Integer id); - - public List selectCategory(); - - public void updateMovie(Movie movie, String[] categoryIds); - - public void addMovie(Movie movie, String[] categoryIds); - -} diff --git a/src/demo/manager/src/main/java/com/dream/service/SystemLogoutFilter.java b/src/demo/manager/src/main/java/com/dream/service/SystemLogoutFilter.java deleted file mode 100644 index 021f2b4a..00000000 --- a/src/demo/manager/src/main/java/com/dream/service/SystemLogoutFilter.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.dream.service; - -import org.apache.shiro.session.SessionException; -import org.apache.shiro.subject.Subject; -import org.apache.shiro.web.filter.authc.LogoutFilter; -import org.springframework.stereotype.Service; - -import javax.servlet.ServletContext; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -@Service -public class SystemLogoutFilter extends LogoutFilter{ - - @Override - protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception { - - //在这里执行退出系统前需要清空的数据 - Subject subject=getSubject(request,response); - String redirectUrl=getRedirectUrl(request,response,subject); -// ServletContext context= request.getServletContext(); - try { - subject.logout(); -// context.removeAttribute("error"); - }catch (SessionException e){ - e.printStackTrace(); - } - issueRedirect(request,response,redirectUrl); - return false; - } -} diff --git a/src/demo/manager/src/main/java/com/dream/service/UserService.java b/src/demo/manager/src/main/java/com/dream/service/UserService.java deleted file mode 100644 index a49b89f3..00000000 --- a/src/demo/manager/src/main/java/com/dream/service/UserService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.dream.service; - -import com.dream.common.Page; -import com.dream.po.User; - -public interface UserService { - - // 查询用户列表 - public Page findUserList(Integer page, Integer rows, String username); - // 删除用户 - public void deleteUser(Integer id); - // 编辑用户 - public User getUserById(Integer id); - // 更新用户信息 - public void updateUser(User user); - // 添加用户 - public void addUser(User user); -} diff --git a/src/demo/manager/src/main/java/com/dream/service/impl/AdminServiceImpl.java b/src/demo/manager/src/main/java/com/dream/service/impl/AdminServiceImpl.java deleted file mode 100644 index 8ca7c578..00000000 --- a/src/demo/manager/src/main/java/com/dream/service/impl/AdminServiceImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.dream.service.impl; -import com.dream.common.E3Result; -import com.dream.common.Page; -import com.dream.mapper.AdminMapper; -import com.dream.po.Admin; -import com.dream.po.AdminExample; -import com.dream.service.AdminService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.DigestUtils; - -import java.util.List; -@Service -public class AdminServiceImpl implements AdminService{ - - @Autowired - private AdminMapper adminMapper; - - @Override - public E3Result adminLogin(String adminname, String adminpassword) { - // 1、判断账号和密码是否正确 - // 根据账号查询管理员信息 - AdminExample example = new AdminExample(); - AdminExample.Criteria criteria = example.createCriteria(); - criteria.andAdminnameEqualTo(adminname); - // 执行查询 - List list = adminMapper.selectByExample(example); - if (list == null || list.size() == 0) { - // 返回登录失败 - return E3Result.build(400, "用户名或密码错误"); - } - // 取用户信息 - Admin admin = list.get(0); - // 判断密码是否正确 - if (!DigestUtils.md5DigestAsHex(adminpassword.getBytes()).equals(admin.getAdminpassword())) { - // 2、如果不正确,返回登录失败 - return E3Result.build(400, "用户名或密码错误"); - } else { - return E3Result.ok(admin); - } - } - - @Override - public Page findAdminList(Integer page, Integer rows, String adminname) { - Admin admin = new Admin(); - if (StringUtils.isNotBlank(adminname)) { - admin.setAdminname(adminname); - } - // 当前页 - admin.setStart((page-1)*rows); - // 每页数 - admin.setRows(rows); - List admins = adminMapper.selectAdminList(admin); - // 总记录 - Integer count = adminMapper.selectAdminListCount(admin); - Page result = new Page<>(); - result.setPage(page); - result.setRows(admins); - result.setSize(rows); - result.setTotal(count); - return result; - } - - @Override - public void deleteAdmin(Integer id) { - adminMapper.deleteByPrimaryKey(id); - } - - @Override - public Admin getAdminById(Integer id) { - Admin admin = adminMapper.selectByPrimaryKey(id); - return admin; - } - - @Override - public void updateAdmin(Admin admin) { - adminMapper.updateByPrimaryKey(admin); - } - - @Override - public void addAdmin(Admin admin) { - admin.setRole(1); - System.out.println("**************************"+admin.getRole()); - adminMapper.insert(admin); - } -} diff --git a/src/demo/manager/src/main/java/com/dream/service/impl/MovieServiceImpl.java b/src/demo/manager/src/main/java/com/dream/service/impl/MovieServiceImpl.java deleted file mode 100644 index 9cb96ce8..00000000 --- a/src/demo/manager/src/main/java/com/dream/service/impl/MovieServiceImpl.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.dream.service.impl; - -import com.dream.common.Page; -import com.dream.mapper.CategoryMapper; -import com.dream.mapper.MovieMapper; -import com.dream.mapper.MoviecategoryMapper; -import com.dream.mapper.ReviewMapper; -import com.dream.po.*; -import com.dream.service.MovieService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - - -import java.util.ArrayList; -import java.util.List; - -@Service("movieService") -@Transactional -public class MovieServiceImpl implements MovieService{ - - @Autowired - private MovieMapper movieMapper; - @Autowired - private CategoryMapper categoryMapper; - @Autowired - private MoviecategoryMapper moviecategoryMapper; - - @Override - public Page findMovieList(Query query) { - Page page = new Page(); - page.setSize(10); - query.setSize(10); - if (null != query) { - //判断当前页 - if (null != query.getPage()) { - page.setPage(query.getPage()); - query.setStartRow((query.getPage() - 1) * query.getSize()); - } - if (null != query.getMovieName() && !"".equals(query.getMovieName().trim())) { - query.setMovieName(query.getMovieName().trim()); - } - if (0 != (query.getCategoryId())) { - query.setCategoryId(query.getCategoryId()); - } - page.setTotal(movieMapper.movieCount(query)); - List newMovieList = new ArrayList<>(); - List movieList = movieMapper.selectMovieListByQuery(query); - for (Movie movie: movieList) { - NewMovie newMovie = getMovieById(movie.getMovieid()); - newMovieList.add(newMovie); - } - page.setRows(newMovieList); - } - return page; - } - - // 删除电影 - @Override - public void deleteMovie(Integer id) { - MoviecategoryExample moviecategoryExample = new MoviecategoryExample(); - MoviecategoryExample.Criteria criteria = moviecategoryExample.createCriteria(); - criteria.andMovieidEqualTo(id); - moviecategoryMapper.deleteByExample(moviecategoryExample); - movieMapper.deleteByPrimaryKey(id); - } - - @Override - public List selectCategory() { - CategoryExample example = new CategoryExample(); - List list = categoryMapper.selectByExample(example); - return list; - } - - // 更新电影信息 - @Override - public void updateMovie(Movie movie, String[] categoryIds) { - movieMapper.updateByPrimaryKey(movie); - // 拿到电影的id - int movieid = movie.getMovieid(); - // 删除原来的电影分类,再加入 - MoviecategoryExample example = new MoviecategoryExample(); - MoviecategoryExample.Criteria criteria = example.createCriteria(); - criteria.andMovieidEqualTo(movieid); - moviecategoryMapper.deleteByExample(example); - - for (String categoryId: categoryIds) { - Moviecategory moviecategory = new Moviecategory(); - // 将分类id转为int型 - int tempcategoryId = Integer.parseInt(categoryId); - - moviecategory.setMovieid(movieid); - moviecategory.setCategoryid(tempcategoryId); - moviecategoryMapper.insert(moviecategory); - - } - } - - // 添加电影 - - @Override - public void addMovie(Movie movie, String[] categoryIds) { - movieMapper.insert(movie); - - int movieid = movie.getMovieid(); - - for (String categoryId: categoryIds) { - Moviecategory moviecategory = new Moviecategory(); - int tempcategoryId = Integer.parseInt(categoryId); - moviecategory.setMovieid(movieid); - moviecategory.setCategoryid(tempcategoryId); - - moviecategoryMapper.insert(moviecategory); - } - } - - //根据电影id获取该条电影记录(包括类别) - @Override - public NewMovie getMovieById(Integer id) { - NewMovie newMovie = new NewMovie(); - //根据电影id获取该条电影记录并给newMovie - Movie movie = movieMapper.selectByPrimaryKey(id); - newMovie.setMovieid(movie.getMovieid()); - newMovie.setMoviename(movie.getMoviename()); - newMovie.setShowyear(movie.getShowyear()); -// newMovie.setNation(movie.getNation()); - newMovie.setDirector(movie.getDirector()); - newMovie.setLeadactors(movie.getLeadactors()); -// newMovie.setScreenwriter(movie.getScreenwriter()); - newMovie.setPicture(movie.getPicture()); - newMovie.setAverating(movie.getAverating()); - newMovie.setNumrating(movie.getNumrating()); - newMovie.setDescription(movie.getDescription()); - //根据电影id查询电影对应的类别 - MoviecategoryExample example = new MoviecategoryExample(); - MoviecategoryExample.Criteria criteria = example.createCriteria(); - criteria.andMovieidEqualTo(id); - List list = moviecategoryMapper.selectByExample(example); - //定义一个临时的list - List temps = new ArrayList(); - // - String categoryname = " "; - //将符合条件的id放到list里 - for(Moviecategory mc:list){ - int temId = mc.getCategoryid(); - temps.add(temId); - Category category = categoryMapper.selectByPrimaryKey(temId); - categoryname = categoryname + category.getCategory() + "/" ; - } - //list转为数组并放到newMovie对象中 - Integer[] arrs = (Integer[]) temps.toArray(new Integer[temps.size()]); - newMovie.setCategoryid(arrs); - - // 设置newMovie的category名称 - newMovie.setCategoryname(categoryname); - return newMovie; - } -} diff --git a/src/demo/manager/src/main/java/com/dream/service/impl/UserServiceImpl.java b/src/demo/manager/src/main/java/com/dream/service/impl/UserServiceImpl.java deleted file mode 100644 index 3587a5dc..00000000 --- a/src/demo/manager/src/main/java/com/dream/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.dream.service.impl; - -import com.dream.common.Page; -import com.dream.mapper.BrowseMapper; -import com.dream.mapper.RectabMapper; -import com.dream.mapper.ReviewMapper; -import com.dream.mapper.UserMapper; -import com.dream.po.*; -import com.dream.service.UserService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.DigestUtils; - -import java.util.List; - -@Service -public class UserServiceImpl implements UserService{ - - @Autowired - private UserMapper userMapper; - - @Autowired - private ReviewMapper reviewMapper; - - @Autowired - private BrowseMapper browseMapper; - - @Autowired - private RectabMapper rectabMapper; - - @Override - public Page findUserList(Integer page, Integer rows, String username) { - User user = new User(); - - if (StringUtils.isNotBlank(username)) { - user.setUsername(username); - } - // 当前页 - user.setStart((page-1)*rows); - // 每页数 - user.setRows(rows); - List users = userMapper.selectUserList(user); - // 总记录 - Integer count = userMapper.selectUserListCount(user); - Page result = new Page<>(); - result.setPage(page); - result.setRows(users); - result.setSize(rows); - result.setTotal(count); - return result; - } - //删除用户信息 - @Override - public void deleteUser(Integer id) { - - //删除评论表的用户信息 - ReviewExample reviewExample = new ReviewExample(); - ReviewExample.Criteria criteria1 = reviewExample.createCriteria(); - criteria1.andUseridEqualTo(id); - List reviewList = reviewMapper.selectByExample(reviewExample); - if(reviewList != null) { - reviewMapper.deleteByExample(reviewExample); - } - - //删除喜欢收藏表的用户信息 - BrowseExample browseExample = new BrowseExample(); - BrowseExample.Criteria criteria2 = browseExample.createCriteria(); - criteria2.andUseridEqualTo(id); - List browseList = browseMapper.selectByExample(browseExample); - if(browseList != null) { - browseMapper.deleteByExample(browseExample); - } - - //删除推荐表的用户信息 - RectabExample rectabExample = new RectabExample(); - RectabExample.Criteria criteria3 = rectabExample.createCriteria(); - criteria3.andUseridEqualTo(id); - List rectabList = rectabMapper.selectByExample(rectabExample); - if(rectabList != null) { - rectabMapper.deleteByExample(rectabExample); - } - - //删除用户表的个人信息 - userMapper.deleteByPrimaryKey(id); - } - - @Override - public User getUserById(Integer id) { - User user = userMapper.selectByPrimaryKey(id); - return user; - } - - @Override - public void updateUser(User user) { - userMapper.updateByPrimaryKey(user); - } - - @Override - public void addUser(User user) { - String md5Pass = DigestUtils.md5DigestAsHex(user.getPassword().getBytes()); - user.setPassword(md5Pass); - userMapper.insert(user); - } -} diff --git a/src/demo/manager/src/main/resources/conf/client.conf b/src/demo/manager/src/main/resources/conf/client.conf deleted file mode 100644 index ef974344..00000000 --- a/src/demo/manager/src/main/resources/conf/client.conf +++ /dev/null @@ -1 +0,0 @@ -tracker_server=101.132.123.55:22122 \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/jdbc.properties b/src/demo/manager/src/main/resources/jdbc.properties deleted file mode 100644 index 94c10852..00000000 --- a/src/demo/manager/src/main/resources/jdbc.properties +++ /dev/null @@ -1,4 +0,0 @@ -jdbc.driver=com.mysql.jdbc.Driver -jdbc.url=jdbc:mysql://localhost:3306/movie?characterEncoding=utf-8 -jdbc.username=root -jdbc.password=88888888 diff --git a/src/demo/manager/src/main/resources/log4j.properties b/src/demo/manager/src/main/resources/log4j.properties deleted file mode 100644 index 913391db..00000000 --- a/src/demo/manager/src/main/resources/log4j.properties +++ /dev/null @@ -1,6 +0,0 @@ -# Global logging configuration -log4j.rootLogger=INFO, stdout -# Console output... -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n diff --git a/src/demo/manager/src/main/resources/mybatis/SqlMapConfig.xml b/src/demo/manager/src/main/resources/mybatis/SqlMapConfig.xml deleted file mode 100644 index a1e5930e..00000000 --- a/src/demo/manager/src/main/resources/mybatis/SqlMapConfig.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/resource.properties b/src/demo/manager/src/main/resources/resource.properties deleted file mode 100644 index 7ab938bf..00000000 --- a/src/demo/manager/src/main/resources/resource.properties +++ /dev/null @@ -1,2 +0,0 @@ -fromType.code=002 -IMAGE_SERVER_URL=101.132.123.55:8888 \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/applicationContext-dao.xml b/src/demo/manager/src/main/resources/spring/applicationContext-dao.xml deleted file mode 100644 index d058b4e3..00000000 --- a/src/demo/manager/src/main/resources/spring/applicationContext-dao.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/applicationContext-service.xml b/src/demo/manager/src/main/resources/spring/applicationContext-service.xml deleted file mode 100644 index 1c97b9f0..00000000 --- a/src/demo/manager/src/main/resources/spring/applicationContext-service.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/spring-shiro.xml b/src/demo/manager/src/main/resources/spring/spring-shiro.xml deleted file mode 100644 index dd47e984..00000000 --- a/src/demo/manager/src/main/resources/spring/spring-shiro.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /admin/* = roles["admin"] - /user/* = authc - - /movie/* = authc - /logout = logout - - - - - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/springmvc.xml b/src/demo/manager/src/main/resources/spring/springmvc.xml deleted file mode 100644 index df1166c3..00000000 --- a/src/demo/manager/src/main/resources/spring/springmvc.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /403 - - - - - /403 - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminLogin.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminLogin.jsp deleted file mode 100644 index d0141e6b..00000000 --- a/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminLogin.jsp +++ /dev/null @@ -1,78 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> - - - - - - - - - - - - - - - - - 梦的6次方 - - - -
-
-
-
- 管理员登录 -
- - -
-
- - - -
-
- -
-
-
-
-
- - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminManage.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminManage.jsp deleted file mode 100644 index a2130b7d..00000000 --- a/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminManage.jsp +++ /dev/null @@ -1,385 +0,0 @@ -<%-- - Created by IntelliJ IDEA. - User: lu - Date: 18-3-9 - Time: 上午10:11 - To change this template use File | Settings | File Templates. ---%> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> -<%@ page trimDirectiveWhitespaces="true"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="dream" uri="http://dream.com/common/"%> -<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> -<% - String path = request.getContextPath(); - String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() - + path + "/"; -%> - - - - - - - - - -梦的6次方 - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
-

管理员管理

-
- -
- -
-
- -
-
- - -
- - - 添加管理员 -
-
-
-
-
-
-
管理员管理信息
- - - - - - - - - - - - - - - - - - - - - -
管理员Id管理员名字管理员密码角色
${row.adminid}${row.adminname}${row.adminpassword}${row.role} - 修改 - 删除 -
-
- -
- -
- -
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - <%--Datetimepicker Javascript--%> - - - - - - - - - - - diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/movieManage.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/movieManage.jsp deleted file mode 100644 index c737342f..00000000 --- a/src/demo/manager/src/main/webapp/WEB-INF/jsp/movieManage.jsp +++ /dev/null @@ -1,634 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> -<%@ page trimDirectiveWhitespaces="true"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="dream" uri="http://dream.com/common/"%> -<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> -<% - String path = request.getContextPath(); - String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() - + path + "/"; -%> - - - - - - - - - -梦的6次方 - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
-

电影管理

-
- -
- -
-
- -
-
- - -
-
- - -
- - - - 添加电影 -
-
-
-
-
-
-
电影管理信息
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
电影ID电影名称上映年份电影类型导演评分评价人数海报
${row.movieid}${row.moviename}${row.categoryname}${row.director}${row.averating}${row.numrating}${row.picture} - 修改 - 删除 -
-
- -
- -
- -
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - <%--Datetimepicker Javascript--%> - - - - - - - - - - - diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/userManage.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/userManage.jsp deleted file mode 100644 index 561ff129..00000000 --- a/src/demo/manager/src/main/webapp/WEB-INF/jsp/userManage.jsp +++ /dev/null @@ -1,452 +0,0 @@ -<%-- - Created by IntelliJ IDEA. - User: lu - Date: 18-3-9 - Time: 上午10:11 - To change this template use File | Settings | File Templates. ---%> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8"%> -<%@ page trimDirectiveWhitespaces="true"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="dream" uri="http://dream.com/common/"%> -<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> -<% - String path = request.getContextPath(); - String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() - + path + "/"; -%> - - - - - - - - - -梦的6次方 - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
-

用户管理

-
- -
- -
-
- -
-
- - -
- - - 添加用户 -
-
-
-
-
-
-
用户管理信息
- - - - - - - - - - - - - - - - - - - - - - - -
用户Id用户名邮箱注册时间上次登录时间
${row.userid}${row.username}${row.email} - 修改 - 删除 -
-
- -
- -
- -
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - <%--Datetimepicker Javascript--%> - - - - - - - - - - - diff --git a/src/demo/manager/src/main/webapp/WEB-INF/tld/commons.tld b/src/demo/manager/src/main/webapp/WEB-INF/tld/commons.tld deleted file mode 100644 index 7b2ed22a..00000000 --- a/src/demo/manager/src/main/webapp/WEB-INF/tld/commons.tld +++ /dev/null @@ -1,32 +0,0 @@ - - - - 2.0 - 1.2 - common - http://dream.com/common/ - Common Tag - Common Tag library - - - page - com.dream.common.NavigationTag - JSP - create navigation for paging - - bean - true - - - number - true - - - url - true - true - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/WEB-INF/web.xml b/src/demo/manager/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index f46c0813..00000000 --- a/src/demo/manager/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - Archetype Created Web Application - - - index.html - index.htm - index.jsp - default.html - default.htm - default.jsp - - - - - - contextConfigLocation - classpath:spring/applicationContext-*.xml - - - - org.springframework.web.context.ContextLoaderListener - - - - - springmvc - org.springframework.web.servlet.DispatcherServlet - - - contextConfigLocation - classpath:spring/springmvc.xml - - - - - springmvc - - / - - - - - CharacterEncodingFilter - org.springframework.web.filter.CharacterEncodingFilter - - encoding - utf-8 - - - - CharacterEncodingFilter - /* - - - - - shiroFilter - org.springframework.web.filter.DelegatingFilterProxy - - - targetFilterLifecycle - true - - - - shiroFilter - /* - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/boot-crm.css b/src/demo/manager/src/main/webapp/assets/css/boot-crm.css deleted file mode 100644 index 2df94f3a..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/boot-crm.css +++ /dev/null @@ -1,4 +0,0 @@ -.table th{ - text-align: center; - height:38px; -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.css deleted file mode 100644 index 537c6a4c..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.css +++ /dev/null @@ -1,418 +0,0 @@ -/*! - * Datetimepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.datetimepicker { - padding: 4px; - margin-top: 1px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - direction: ltr; -} - -.datetimepicker-inline { - width: 220px; -} - -.datetimepicker.datetimepicker-rtl { - direction: rtl; -} - -.datetimepicker.datetimepicker-rtl table tr td span { - float: right; -} - -.datetimepicker-dropdown, .datetimepicker-dropdown-left { - top: 0; - left: 0; -} - -[class*=" datetimepicker-dropdown"]:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #cccccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; -} - -[class*=" datetimepicker-dropdown"]:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; -} - -[class*=" datetimepicker-dropdown-top"]:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-top: 7px solid #cccccc; - border-top-color: rgba(0, 0, 0, 0.2); - border-bottom: 0; -} - -[class*=" datetimepicker-dropdown-top"]:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-top: 6px solid #ffffff; - border-bottom: 0; -} - -.datetimepicker-dropdown-bottom-left:before { - top: -7px; - right: 6px; -} - -.datetimepicker-dropdown-bottom-left:after { - top: -6px; - right: 7px; -} - -.datetimepicker-dropdown-bottom-right:before { - top: -7px; - left: 6px; -} - -.datetimepicker-dropdown-bottom-right:after { - top: -6px; - left: 7px; -} - -.datetimepicker-dropdown-top-left:before { - bottom: -7px; - right: 6px; -} - -.datetimepicker-dropdown-top-left:after { - bottom: -6px; - right: 7px; -} - -.datetimepicker-dropdown-top-right:before { - bottom: -7px; - left: 6px; -} - -.datetimepicker-dropdown-top-right:after { - bottom: -6px; - left: 7px; -} - -.datetimepicker > div { - display: none; -} - -.datetimepicker.minutes div.datetimepicker-minutes { - display: block; -} - -.datetimepicker.hours div.datetimepicker-hours { - display: block; -} - -.datetimepicker.days div.datetimepicker-days { - display: block; -} - -.datetimepicker.months div.datetimepicker-months { - display: block; -} - -.datetimepicker.years div.datetimepicker-years { - display: block; -} - -.datetimepicker table { - margin: 0; -} - -.datetimepicker td, -.datetimepicker th { - text-align: center; - width: 20px; - height: 20px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - border: none; -} - -.table-striped .datetimepicker table tr td, -.table-striped .datetimepicker table tr th { - background-color: transparent; -} - -.datetimepicker table tr td.minute:hover { - background: #eeeeee; - cursor: pointer; -} - -.datetimepicker table tr td.hour:hover { - background: #eeeeee; - cursor: pointer; -} - -.datetimepicker table tr td.day:hover { - background: #eeeeee; - cursor: pointer; -} - -.datetimepicker table tr td.old, -.datetimepicker table tr td.new { - color: #999999; -} - -.datetimepicker table tr td.disabled, -.datetimepicker table tr td.disabled:hover { - background: none; - color: #999999; - cursor: default; -} - -.datetimepicker table tr td.today, -.datetimepicker table tr td.today:hover, -.datetimepicker table tr td.today.disabled, -.datetimepicker table tr td.today.disabled:hover { - background-color: #fde19a; - background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); - background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); - background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); - border-color: #fdf59a #fdf59a #fbed50; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.datetimepicker table tr td.today:hover, -.datetimepicker table tr td.today:hover:hover, -.datetimepicker table tr td.today.disabled:hover, -.datetimepicker table tr td.today.disabled:hover:hover, -.datetimepicker table tr td.today:active, -.datetimepicker table tr td.today:hover:active, -.datetimepicker table tr td.today.disabled:active, -.datetimepicker table tr td.today.disabled:hover:active, -.datetimepicker table tr td.today.active, -.datetimepicker table tr td.today:hover.active, -.datetimepicker table tr td.today.disabled.active, -.datetimepicker table tr td.today.disabled:hover.active, -.datetimepicker table tr td.today.disabled, -.datetimepicker table tr td.today:hover.disabled, -.datetimepicker table tr td.today.disabled.disabled, -.datetimepicker table tr td.today.disabled:hover.disabled, -.datetimepicker table tr td.today[disabled], -.datetimepicker table tr td.today:hover[disabled], -.datetimepicker table tr td.today.disabled[disabled], -.datetimepicker table tr td.today.disabled:hover[disabled] { - background-color: #fdf59a; -} - -.datetimepicker table tr td.today:active, -.datetimepicker table tr td.today:hover:active, -.datetimepicker table tr td.today.disabled:active, -.datetimepicker table tr td.today.disabled:hover:active, -.datetimepicker table tr td.today.active, -.datetimepicker table tr td.today:hover.active, -.datetimepicker table tr td.today.disabled.active, -.datetimepicker table tr td.today.disabled:hover.active { - background-color: #fbf069; -} - -.datetimepicker table tr td.active, -.datetimepicker table tr td.active:hover, -.datetimepicker table tr td.active.disabled, -.datetimepicker table tr td.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.datetimepicker table tr td.active:hover, -.datetimepicker table tr td.active:hover:hover, -.datetimepicker table tr td.active.disabled:hover, -.datetimepicker table tr td.active.disabled:hover:hover, -.datetimepicker table tr td.active:active, -.datetimepicker table tr td.active:hover:active, -.datetimepicker table tr td.active.disabled:active, -.datetimepicker table tr td.active.disabled:hover:active, -.datetimepicker table tr td.active.active, -.datetimepicker table tr td.active:hover.active, -.datetimepicker table tr td.active.disabled.active, -.datetimepicker table tr td.active.disabled:hover.active, -.datetimepicker table tr td.active.disabled, -.datetimepicker table tr td.active:hover.disabled, -.datetimepicker table tr td.active.disabled.disabled, -.datetimepicker table tr td.active.disabled:hover.disabled, -.datetimepicker table tr td.active[disabled], -.datetimepicker table tr td.active:hover[disabled], -.datetimepicker table tr td.active.disabled[disabled], -.datetimepicker table tr td.active.disabled:hover[disabled] { - background-color: #0044cc; -} - -.datetimepicker table tr td.active:active, -.datetimepicker table tr td.active:hover:active, -.datetimepicker table tr td.active.disabled:active, -.datetimepicker table tr td.active.disabled:hover:active, -.datetimepicker table tr td.active.active, -.datetimepicker table tr td.active:hover.active, -.datetimepicker table tr td.active.disabled.active, -.datetimepicker table tr td.active.disabled:hover.active { - background-color: #003399; -} - -.datetimepicker table tr td span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.datetimepicker .datetimepicker-hours span { - height: 26px; - line-height: 26px; -} - -.datetimepicker .datetimepicker-hours table tr td span.hour_am, -.datetimepicker .datetimepicker-hours table tr td span.hour_pm { - width: 14.6%; -} - -.datetimepicker .datetimepicker-hours fieldset legend, -.datetimepicker .datetimepicker-minutes fieldset legend { - margin-bottom: inherit; - line-height: 30px; -} - -.datetimepicker .datetimepicker-minutes span { - height: 26px; - line-height: 26px; -} - -.datetimepicker table tr td span:hover { - background: #eeeeee; -} - -.datetimepicker table tr td span.disabled, -.datetimepicker table tr td span.disabled:hover { - background: none; - color: #999999; - cursor: default; -} - -.datetimepicker table tr td span.active, -.datetimepicker table tr td span.active:hover, -.datetimepicker table tr td span.active.disabled, -.datetimepicker table tr td span.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.datetimepicker table tr td span.active:hover, -.datetimepicker table tr td span.active:hover:hover, -.datetimepicker table tr td span.active.disabled:hover, -.datetimepicker table tr td span.active.disabled:hover:hover, -.datetimepicker table tr td span.active:active, -.datetimepicker table tr td span.active:hover:active, -.datetimepicker table tr td span.active.disabled:active, -.datetimepicker table tr td span.active.disabled:hover:active, -.datetimepicker table tr td span.active.active, -.datetimepicker table tr td span.active:hover.active, -.datetimepicker table tr td span.active.disabled.active, -.datetimepicker table tr td span.active.disabled:hover.active, -.datetimepicker table tr td span.active.disabled, -.datetimepicker table tr td span.active:hover.disabled, -.datetimepicker table tr td span.active.disabled.disabled, -.datetimepicker table tr td span.active.disabled:hover.disabled, -.datetimepicker table tr td span.active[disabled], -.datetimepicker table tr td span.active:hover[disabled], -.datetimepicker table tr td span.active.disabled[disabled], -.datetimepicker table tr td span.active.disabled:hover[disabled] { - background-color: #0044cc; -} - -.datetimepicker table tr td span.active:active, -.datetimepicker table tr td span.active:hover:active, -.datetimepicker table tr td span.active.disabled:active, -.datetimepicker table tr td span.active.disabled:hover:active, -.datetimepicker table tr td span.active.active, -.datetimepicker table tr td span.active:hover.active, -.datetimepicker table tr td span.active.disabled.active, -.datetimepicker table tr td span.active.disabled:hover.active { - background-color: #003399; -} - -.datetimepicker table tr td span.old { - color: #999999; -} - -.datetimepicker th.switch { - width: 145px; -} - -.datetimepicker th span.glyphicon { - pointer-events: none; -} - -.datetimepicker thead tr:first-child th, -.datetimepicker tfoot th { - cursor: pointer; -} - -.datetimepicker thead tr:first-child th:hover, -.datetimepicker tfoot th:hover { - background: #eeeeee; -} - -.input-append.date .add-on i, -.input-prepend.date .add-on i, -.input-group.date .input-group-addon span { - cursor: pointer; - width: 14px; - height: 14px; -} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.min.css deleted file mode 100644 index 78485fee..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Datetimepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */.datetimepicker{padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datetimepicker-inline{width:220px}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=" datetimepicker-dropdown"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute}[class*=" datetimepicker-dropdown"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute}[class*=" datetimepicker-dropdown-top"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0}[class*=" datetimepicker-dropdown-top"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;border-bottom:0}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{bottom:-7px;right:6px}.datetimepicker-dropdown-top-left:after{bottom:-6px;right:7px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker td,.datetimepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datetimepicker table tr td,.table-striped .datetimepicker table tr th{background-color:transparent}.datetimepicker table tr td.minute:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.hour:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.day:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.old,.datetimepicker table tr td.new{color:#999}.datetimepicker table tr td.disabled,.datetimepicker table tr td.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td.today,.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today:hover:hover,.datetimepicker table tr td.today.disabled:hover,.datetimepicker table tr td.today.disabled:hover:hover,.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today:hover.disabled,.datetimepicker table tr td.today.disabled.disabled,.datetimepicker table tr td.today.disabled:hover.disabled,.datetimepicker table tr td.today[disabled],.datetimepicker table tr td.today:hover[disabled],.datetimepicker table tr td.today.disabled[disabled],.datetimepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active{background-color:#fbf069}.datetimepicker table tr td.active,.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active:hover:hover,.datetimepicker table tr td.active.disabled:hover,.datetimepicker table tr td.active.disabled:hover:hover,.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active:hover.disabled,.datetimepicker table tr td.active.disabled.disabled,.datetimepicker table tr td.active.disabled:hover.disabled,.datetimepicker table tr td.active[disabled],.datetimepicker table tr td.active:hover[disabled],.datetimepicker table tr td.active.disabled[disabled],.datetimepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-hours table tr td span.hour_am,.datetimepicker .datetimepicker-hours table tr td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.disabled,.datetimepicker table tr td span.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td span.active,.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active:hover:hover,.datetimepicker table tr td span.active.disabled:hover,.datetimepicker table tr td span.active.disabled:hover:hover,.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active:hover.disabled,.datetimepicker table tr td span.active.disabled.disabled,.datetimepicker table tr td span.active.disabled:hover.disabled,.datetimepicker table tr td span.active[disabled],.datetimepicker table tr td span.active:hover[disabled],.datetimepicker table tr td span.active.disabled[disabled],.datetimepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span.old{color:#999}.datetimepicker th.switch{width:145px}.datetimepicker th span.glyphicon{pointer-events:none}.datetimepicker thead tr:first-child th,.datetimepicker tfoot th{cursor:pointer}.datetimepicker thead tr:first-child th:hover,.datetimepicker tfoot th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i,.input-group.date .input-group-addon span{cursor:pointer;width:14px;height:14px} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-editable.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-editable.css deleted file mode 100644 index eaef0de9..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-editable.css +++ /dev/null @@ -1,663 +0,0 @@ -/*! X-editable - v1.5.1 -* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery -* http://github.com/vitalets/x-editable -* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */ -.editableform { - margin-bottom: 0; /* overwrites bootstrap margin */ -} - -.editableform .control-group { - margin-bottom: 0; /* overwrites bootstrap margin */ - white-space: nowrap; /* prevent wrapping buttons on new line */ - line-height: 20px; /* overwriting bootstrap line-height. See #133 */ -} - -/* - BS3 width:1005 for inputs breaks editable form in popup - See: https://github.com/vitalets/x-editable/issues/393 -*/ -.editableform .form-control { - width: auto; -} - -.editable-buttons { - display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ - vertical-align: top; - margin-left: 7px; - /* inline-block emulation for IE7*/ - zoom: 1; - *display: inline; -} - -.editable-buttons.editable-buttons-bottom { - display: block; - margin-top: 7px; - margin-left: 0; -} - -.editable-input { - vertical-align: top; - display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ - width: auto; /* bootstrap-responsive has width: 100% that breakes layout */ - white-space: normal; /* reset white-space decalred in parent*/ - /* display-inline emulation for IE7*/ - zoom: 1; - *display: inline; -} - -.editable-buttons .editable-cancel { - margin-left: 7px; -} - -/*for jquery-ui buttons need set height to look more pretty*/ -.editable-buttons button.ui-button-icon-only { - height: 24px; - width: 30px; -} - -.editableform-loading { - background: url('../img/loading.gif') center center no-repeat; - height: 25px; - width: auto; - min-width: 25px; -} - -.editable-inline .editableform-loading { - background-position: left 5px; -} - - .editable-error-block { - max-width: 300px; - margin: 5px 0 0 0; - width: auto; - white-space: normal; -} - -/*add padding for jquery ui*/ -.editable-error-block.ui-state-error { - padding: 3px; -} - -.editable-error { - color: red; -} - -/* ---- For specific types ---- */ - -.editableform .editable-date { - padding: 0; - margin: 0; - float: left; -} - -/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */ -.editable-inline .add-on .icon-th { - margin-top: 3px; - margin-left: 1px; -} - - -/* checklist vertical alignment */ -.editable-checklist label input[type="checkbox"], -.editable-checklist label span { - vertical-align: middle; - margin: 0; -} - -.editable-checklist label { - white-space: nowrap; -} - -/* set exact width of textarea to fit buttons toolbar */ -.editable-wysihtml5 { - width: 566px; - height: 250px; -} - -/* clear button shown as link in date inputs */ -.editable-clear { - clear: both; - font-size: 0.9em; - text-decoration: none; - text-align: right; -} - -/* IOS-style clear button for text inputs */ -.editable-clear-x { - background: url('../img/clear.png') center center no-repeat; - display: block; - width: 13px; - height: 13px; - position: absolute; - opacity: 0.6; - z-index: 100; - - top: 50%; - right: 6px; - margin-top: -6px; - -} - -.editable-clear-x:hover { - opacity: 1; -} - -.editable-pre-wrapped { - white-space: pre-wrap; -} -.editable-container.editable-popup { - max-width: none !important; /* without this rule poshytip/tooltip does not stretch */ -} - -.editable-container.popover { - width: auto; /* without this rule popover does not stretch */ -} - -.editable-container.editable-inline { - display: inline-block; - vertical-align: middle; - width: auto; - /* inline-block emulation for IE7*/ - zoom: 1; - *display: inline; -} - -.editable-container.ui-widget { - font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it */ - z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */ -} -.editable-click, -a.editable-click, -a.editable-click:hover { - text-decoration: none; - border-bottom: dashed 1px #0088cc; -} - -.editable-click.editable-disabled, -a.editable-click.editable-disabled, -a.editable-click.editable-disabled:hover { - color: #585858; - cursor: default; - border-bottom: none; -} - -.editable-empty, .editable-empty:hover, .editable-empty:focus{ - font-style: italic; - color: #DD1144; - /* border-bottom: none; */ - text-decoration: none; -} - -.editable-unsaved { - font-weight: bold; -} - -.editable-unsaved:after { -/* content: '*'*/ -} - -.editable-bg-transition { - -webkit-transition: background-color 1400ms ease-out; - -moz-transition: background-color 1400ms ease-out; - -o-transition: background-color 1400ms ease-out; - -ms-transition: background-color 1400ms ease-out; - transition: background-color 1400ms ease-out; -} - -/*see https://github.com/vitalets/x-editable/issues/139 */ -.form-horizontal .editable -{ - padding-top: 5px; - display:inline-block; -} - - -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.datepicker { - padding: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - direction: ltr; - /*.dow { - border-top: 1px solid #ddd !important; - }*/ - -} -.datepicker-inline { - width: 220px; -} -.datepicker.datepicker-rtl { - direction: rtl; -} -.datepicker.datepicker-rtl table tr td span { - float: right; -} -.datepicker-dropdown { - top: 0; - left: 0; -} -.datepicker-dropdown:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; - top: -7px; - left: 6px; -} -.datepicker-dropdown:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; - top: -6px; - left: 7px; -} -.datepicker > div { - display: none; -} -.datepicker.days div.datepicker-days { - display: block; -} -.datepicker.months div.datepicker-months { - display: block; -} -.datepicker.years div.datepicker-years { - display: block; -} -.datepicker table { - margin: 0; -} -.datepicker td, -.datepicker th { - text-align: center; - width: 20px; - height: 20px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - border: none; -} -.table-striped .datepicker table tr td, -.table-striped .datepicker table tr th { - background-color: transparent; -} -.datepicker table tr td.day:hover { - background: #eeeeee; - cursor: pointer; -} -.datepicker table tr td.old, -.datepicker table tr td.new { - color: #999999; -} -.datepicker table tr td.disabled, -.datepicker table tr td.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td.today, -.datepicker table tr td.today:hover, -.datepicker table tr td.today.disabled, -.datepicker table tr td.today.disabled:hover { - background-color: #fde19a; - background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); - background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); - background-image: linear-gradient(top, #fdd49a, #fdf59a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); - border-color: #fdf59a #fdf59a #fbed50; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #000; -} -.datepicker table tr td.today:hover, -.datepicker table tr td.today:hover:hover, -.datepicker table tr td.today.disabled:hover, -.datepicker table tr td.today.disabled:hover:hover, -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active, -.datepicker table tr td.today.disabled, -.datepicker table tr td.today:hover.disabled, -.datepicker table tr td.today.disabled.disabled, -.datepicker table tr td.today.disabled:hover.disabled, -.datepicker table tr td.today[disabled], -.datepicker table tr td.today:hover[disabled], -.datepicker table tr td.today.disabled[disabled], -.datepicker table tr td.today.disabled:hover[disabled] { - background-color: #fdf59a; -} -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active { - background-color: #fbf069 \9; -} -.datepicker table tr td.today:hover:hover { - color: #000; -} -.datepicker table tr td.today.active:hover { - color: #fff; -} -.datepicker table tr td.range, -.datepicker table tr td.range:hover, -.datepicker table tr td.range.disabled, -.datepicker table tr td.range.disabled:hover { - background: #eeeeee; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.datepicker table tr td.range.today, -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today.disabled:hover { - background-color: #f3d17a; - background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a)); - background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -o-linear-gradient(top, #f3c17a, #f3e97a); - background-image: linear-gradient(top, #f3c17a, #f3e97a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); - border-color: #f3e97a #f3e97a #edde34; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today:hover:hover, -.datepicker table tr td.range.today.disabled:hover, -.datepicker table tr td.range.today.disabled:hover:hover, -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active, -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today:hover.disabled, -.datepicker table tr td.range.today.disabled.disabled, -.datepicker table tr td.range.today.disabled:hover.disabled, -.datepicker table tr td.range.today[disabled], -.datepicker table tr td.range.today:hover[disabled], -.datepicker table tr td.range.today.disabled[disabled], -.datepicker table tr td.range.today.disabled:hover[disabled] { - background-color: #f3e97a; -} -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active { - background-color: #efe24b \9; -} -.datepicker table tr td.selected, -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected.disabled:hover { - background-color: #9e9e9e; - background-image: -moz-linear-gradient(top, #b3b3b3, #808080); - background-image: -ms-linear-gradient(top, #b3b3b3, #808080); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080)); - background-image: -webkit-linear-gradient(top, #b3b3b3, #808080); - background-image: -o-linear-gradient(top, #b3b3b3, #808080); - background-image: linear-gradient(top, #b3b3b3, #808080); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); - border-color: #808080 #808080 #595959; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected:hover:hover, -.datepicker table tr td.selected.disabled:hover, -.datepicker table tr td.selected.disabled:hover:hover, -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active, -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected:hover.disabled, -.datepicker table tr td.selected.disabled.disabled, -.datepicker table tr td.selected.disabled:hover.disabled, -.datepicker table tr td.selected[disabled], -.datepicker table tr td.selected:hover[disabled], -.datepicker table tr td.selected.disabled[disabled], -.datepicker table tr td.selected.disabled:hover[disabled] { - background-color: #808080; -} -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active { - background-color: #666666 \9; -} -.datepicker table tr td.active, -.datepicker table tr td.active:hover, -.datepicker table tr td.active.disabled, -.datepicker table tr td.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.active:hover, -.datepicker table tr td.active:hover:hover, -.datepicker table tr td.active.disabled:hover, -.datepicker table tr td.active.disabled:hover:hover, -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active, -.datepicker table tr td.active.disabled, -.datepicker table tr td.active:hover.disabled, -.datepicker table tr td.active.disabled.disabled, -.datepicker table tr td.active.disabled:hover.disabled, -.datepicker table tr td.active[disabled], -.datepicker table tr td.active:hover[disabled], -.datepicker table tr td.active.disabled[disabled], -.datepicker table tr td.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker table tr td span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.datepicker table tr td span:hover { - background: #eeeeee; -} -.datepicker table tr td span.disabled, -.datepicker table tr td span.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td span.active, -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active:hover:hover, -.datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active.disabled:hover:hover, -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active:hover.disabled, -.datepicker table tr td span.active.disabled.disabled, -.datepicker table tr td span.active.disabled:hover.disabled, -.datepicker table tr td span.active[disabled], -.datepicker table tr td span.active:hover[disabled], -.datepicker table tr td span.active.disabled[disabled], -.datepicker table tr td span.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker table tr td span.old, -.datepicker table tr td span.new { - color: #999999; -} -.datepicker th.datepicker-switch { - width: 145px; -} -.datepicker thead tr:first-child th, -.datepicker tfoot tr th { - cursor: pointer; -} -.datepicker thead tr:first-child th:hover, -.datepicker tfoot tr th:hover { - background: #eeeeee; -} -.datepicker .cw { - font-size: 10px; - width: 12px; - padding: 0 2px 0 5px; - vertical-align: middle; -} -.datepicker thead tr:first-child th.cw { - cursor: default; - background-color: transparent; -} -.input-append.date .add-on i, -.input-prepend.date .add-on i { - display: block; - cursor: pointer; - width: 16px; - height: 16px; -} -.input-daterange input { - text-align: center; -} -.input-daterange input:first-child { - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; -} -.input-daterange input:last-child { - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} -.input-daterange .add-on { - display: inline-block; - width: auto; - min-width: 16px; - height: 18px; - padding: 4px 5px; - font-weight: normal; - line-height: 18px; - text-align: center; - text-shadow: 0 1px 0 #ffffff; - vertical-align: middle; - background-color: #eeeeee; - border: 1px solid #ccc; - margin-left: -5px; - margin-right: -5px; -} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.css deleted file mode 100644 index bcfe54ea..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.css +++ /dev/null @@ -1,278 +0,0 @@ -/*! - * bootstrap-select v1.4.3 - * http://silviomoreto.github.io/bootstrap-select/ - * - * Copyright 2013 bootstrap-select - * Licensed under the MIT license - */ - -.bootstrap-select.btn-group, -.bootstrap-select.btn-group[class*="span"] { - float: none; - display: inline-block; - margin-bottom: 10px; - margin-left: 0; -} -.form-search .bootstrap-select.btn-group, -.form-inline .bootstrap-select.btn-group, -.form-horizontal .bootstrap-select.btn-group { - margin-bottom: 0; -} - -.bootstrap-select.form-control { - margin-bottom: 0; - padding: 0; - border: none; -} - -.bootstrap-select.btn-group.pull-right, -.bootstrap-select.btn-group[class*="span"].pull-right, -.row-fluid .bootstrap-select.btn-group[class*="span"].pull-right { - float: right; -} - -.input-append .bootstrap-select.btn-group { - margin-left: -1px; -} - -.input-prepend .bootstrap-select.btn-group { - margin-right: -1px; -} - -.bootstrap-select:not([class*="span"]):not([class*="col-"]):not([class*="form-control"]) { - width: 220px; -} - -.bootstrap-select { - /*width: 220px\9; IE8 and below*/ - width: 220px\0; /*IE9 and below*/ -} - -.bootstrap-select.form-control:not([class*="span"]) { - width: 100%; -} - -.bootstrap-select > .btn { - width: 100%; -} - -.error .bootstrap-select .btn { - border: 1px solid #b94a48; -} - - -.dropdown-menu { - z-index: 2000; -} - -.bootstrap-select.show-menu-arrow.open > .btn { - z-index: 2051; -} - -.bootstrap-select .btn:focus { - outline: thin dotted #333333 !important; - outline: 5px auto -webkit-focus-ring-color !important; - outline-offset: -2px; -} - -.bootstrap-select.btn-group .btn .filter-option { - overflow: hidden; - position: absolute; - left: 12px; - right: 25px; - text-align: left; -} - -.bootstrap-select.btn-group .btn .caret { - position: absolute; - top: 50%; - right: 12px; - margin-top: -2px; - vertical-align: middle; -} - -.bootstrap-select.btn-group > .disabled, -.bootstrap-select.btn-group .dropdown-menu li.disabled > a { - cursor: not-allowed; -} - -.bootstrap-select.btn-group > .disabled:focus { - outline: none !important; -} - -.bootstrap-select.btn-group[class*="span"] .btn { - width: 100%; -} - -.bootstrap-select.btn-group .dropdown-menu { - min-width: 100%; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -.bootstrap-select.btn-group .dropdown-menu.inner { - position: static; - border: 0; - padding: 0; - margin: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} - -.bootstrap-select.btn-group .dropdown-menu dt { - display: block; - padding: 3px 20px; - cursor: default; -} - -.bootstrap-select.btn-group .div-contain { - overflow: hidden; -} - -.bootstrap-select.btn-group .dropdown-menu li { - position: relative; -} - -.bootstrap-select.btn-group .dropdown-menu li > a.opt { - position: relative; - padding-left: 35px; -} - -.bootstrap-select.btn-group .dropdown-menu li > a { - cursor: pointer; -} - -.bootstrap-select.btn-group .dropdown-menu li > dt small { - font-weight: normal; -} - -.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark { - display: inline-block; - position: absolute; - right: 15px; - margin-top: 2.5px; -} - -.bootstrap-select.btn-group .dropdown-menu li a i.check-mark { - display: none; -} - -.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text { - margin-right: 34px; -} - -.bootstrap-select.btn-group .dropdown-menu li small { - padding-left: 0.5em; -} - -.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:hover small, -.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:focus small, -.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) > a small { - color: #64b1d8; - color: rgba(255,255,255,0.4); -} - -.bootstrap-select.btn-group .dropdown-menu li > dt small { - font-weight: normal; -} - -.bootstrap-select.show-menu-arrow .dropdown-toggle:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #CCC; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; - bottom: -4px; - left: 9px; - display: none; -} - -.bootstrap-select.show-menu-arrow .dropdown-toggle:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid white; - position: absolute; - bottom: -4px; - left: 10px; - display: none; -} - -.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before { - bottom: auto; - top: -3px; - border-top: 7px solid #ccc; - border-bottom: 0; - border-top-color: rgba(0, 0, 0, 0.2); -} - -.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after { - bottom: auto; - top: -3px; - border-top: 6px solid #ffffff; - border-bottom: 0; -} - -.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before { - right: 12px; - left: auto; -} -.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after { - right: 13px; - left: auto; -} - -.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, -.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after { - display: block; -} - -.bootstrap-select.btn-group .no-results { - padding: 3px; - background: #f5f5f5; - margin: 0 5px; -} - -.mobile-device { - position: absolute; - top: 0; - left: 0; - display: block !important; - width: 100%; - height: 100% !important; - opacity: 0; -} - -.bootstrap-select.fit-width { - width: auto !important; -} - -.bootstrap-select.btn-group.fit-width .btn .filter-option { - position: static; -} - -.bootstrap-select.btn-group.fit-width .btn .caret { - position: static; - top: auto; - margin-top: -1px; -} - -.control-group.error .bootstrap-select .dropdown-toggle{ - border-color: #b94a48; -} - -.bootstrap-select-searchbox { - padding: 4px 8px; -} - -.bootstrap-select-searchbox input { - margin-bottom: 0; -} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.min.css deleted file mode 100644 index 603804e2..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * bootstrap-select v1.4.3 - * http://silviomoreto.github.io/bootstrap-select/ - * - * Copyright 2013 bootstrap-select - * Licensed under the MIT license - */.bootstrap-select.btn-group,.bootstrap-select.btn-group[class*="span"]{float:none;display:inline-block;margin-bottom:10px;margin-left:0}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group{margin-bottom:0}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:0}.bootstrap-select.btn-group.pull-right,.bootstrap-select.btn-group[class*="span"].pull-right,.row-fluid .bootstrap-select.btn-group[class*="span"].pull-right{float:right}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select:not([class*="span"]):not([class*="col-"]):not([class*="form-control"]){width:220px}.bootstrap-select{width:220px\0}.bootstrap-select.form-control:not([class*="span"]){width:100%}.bootstrap-select>.btn{width:100%}.error .bootstrap-select .btn{border:1px solid #b94a48}.dropdown-menu{z-index:2000}.bootstrap-select.show-menu-arrow.open>.btn{z-index:2051}.bootstrap-select .btn:focus{outline:thin dotted #333 !important;outline:5px auto -webkit-focus-ring-color !important;outline-offset:-2px}.bootstrap-select.btn-group .btn .filter-option{overflow:hidden;position:absolute;left:12px;right:25px;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group>.disabled,.bootstrap-select.btn-group .dropdown-menu li.disabled>a{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:none !important}.bootstrap-select.btn-group[class*="span"] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu dt{display:block;padding:3px 20px;cursor:default}.bootstrap-select.btn-group .div-contain{overflow:hidden}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li>a.opt{position:relative;padding-left:35px}.bootstrap-select.btn-group .dropdown-menu li>a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark{display:inline-block;position:absolute;right:15px;margin-top:2.5px}.bootstrap-select.btn-group .dropdown-menu li a i.check-mark{display:none}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled)>a small{color:#64b1d8;color:rgba(255,255,255,0.4)}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #CCC;border-bottom-color:rgba(0,0,0,0.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.mobile-device{position:absolute;top:0;left:0;display:block !important;width:100%;height:100% !important;opacity:0}.bootstrap-select.fit-width{width:auto !important}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select-searchbox{padding:4px 8px}.bootstrap-select-searchbox input{margin-bottom:0} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-table-reorder-rows.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-table-reorder-rows.min.css deleted file mode 100644 index 7e2eac49..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-table-reorder-rows.min.css +++ /dev/null @@ -1 +0,0 @@ -.reorder_rows_onDragClass td{background-color:#eee;-webkit-box-shadow:11px 5px 12px 2px #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:6px 3px 5px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset}.reorder_rows_onDragClass td:last-child{-webkit-box-shadow:8px 7px 12px 0 #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:1px 8px 6px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset;-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-table.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-table.min.css deleted file mode 100644 index d72d0655..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-table.min.css +++ /dev/null @@ -1 +0,0 @@ -.fixed-table-container .bs-checkbox,.fixed-table-container .no-records-found{text-align:center}.fixed-table-body thead th .th-inner,.table td,.table th{box-sizing:border-box}.bootstrap-table .table{margin-bottom:0!important;border-bottom:1px solid #ddd;border-collapse:collapse!important;border-radius:1px}.bootstrap-table .table:not(.table-condensed),.bootstrap-table .table:not(.table-condensed)>tbody>tr>td,.bootstrap-table .table:not(.table-condensed)>tbody>tr>th,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>td,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>th,.bootstrap-table .table:not(.table-condensed)>thead>tr>td{padding:8px}.bootstrap-table .table.table-no-bordered>tbody>tr>td,.bootstrap-table .table.table-no-bordered>thead>tr>th{border-right:2px solid transparent}.bootstrap-table .table.table-no-bordered>tbody>tr>td:last-child{border-right:none}.fixed-table-container{position:relative;clear:both;border:1px solid #ddd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.fixed-table-container.table-no-bordered{border:1px solid transparent}.fixed-table-footer,.fixed-table-header{overflow:hidden}.fixed-table-footer{border-top:1px solid #ddd}.fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.fixed-table-container table{width:100%}.fixed-table-container thead th{height:0;padding:0;margin:0;border-left:1px solid #ddd}.fixed-table-container thead th:focus{outline:transparent solid 0}.fixed-table-container thead th:first-child{border-left:none;border-top-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px}.fixed-table-container tbody td .th-inner,.fixed-table-container thead th .th-inner{padding:8px;line-height:24px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-table-container thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px}.fixed-table-container thead th .both{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC')}.fixed-table-container thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.fixed-table-container thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.fixed-table-container th.detail{width:30px}.fixed-table-container tbody td{border-left:1px solid #ddd}.fixed-table-container tbody tr:first-child td{border-top:none}.fixed-table-container tbody td:first-child{border-left:none}.fixed-table-container tbody .selected td{background-color:#f5f5f5}.fixed-table-container .bs-checkbox .th-inner{padding:8px 0}.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox]{margin:0 auto!important}.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination{margin-top:10px;margin-bottom:10px}.fixed-table-pagination div.pagination .pagination{margin:0}.fixed-table-pagination .pagination a{padding:6px 12px;line-height:1.428571429}.fixed-table-pagination .pagination-info{line-height:34px;margin-right:5px}.fixed-table-pagination .btn-group{position:relative;display:inline-block;vertical-align:middle}.fixed-table-pagination .dropup .dropdown-menu{margin-bottom:0}.fixed-table-pagination .page-list{display:inline-block}.fixed-table-toolbar .columns-left{margin-right:5px}.fixed-table-toolbar .columns-right{margin-left:5px}.fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.fixed-table-toolbar .bs-bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px;line-height:34px}.fixed-table-pagination li.disabled a{pointer-events:none;cursor:default}.fixed-table-loading{display:none;position:absolute;top:42px;right:0;bottom:0;left:0;z-index:99;background-color:#fff;text-align:center}.fixed-table-body .card-view .title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.table td,.table th{vertical-align:middle}.fixed-table-toolbar .dropdown-menu{text-align:left;max-height:300px;overflow:auto}.fixed-table-toolbar .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.fixed-table-toolbar .btn-group>.btn-group>.btn{border-radius:0}.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.fixed-table-toolbar .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .table>thead>tr>th{vertical-align:bottom;border-bottom:1px solid #ddd}.bootstrap-table .table thead>tr>th{padding:0;margin:0}.bootstrap-table .fixed-table-footer tbody>tr>td{padding:0!important}.bootstrap-table .fixed-table-footer .table{border-bottom:none;border-radius:0;padding:0!important}.pull-right .dropdown-menu{right:0;left:auto}p.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput-typeahead.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput-typeahead.css deleted file mode 100644 index 537cf9c9..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput-typeahead.css +++ /dev/null @@ -1,54 +0,0 @@ -/* - * bootstrap-tagsinput v0.8.0 - * - */ - -.twitter-typeahead .tt-query, -.twitter-typeahead .tt-hint { - margin-bottom: 0; -} - -.twitter-typeahead .tt-hint -{ - display: none; -} - -.tt-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - list-style: none; - font-size: 14px; - background-color: #ffffff; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; - cursor: pointer; -} - -.tt-suggestion { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.428571429; - color: #333333; - white-space: nowrap; -} - -.tt-suggestion:hover, -.tt-suggestion:focus { - color: #ffffff; - text-decoration: none; - outline: 0; - background-color: #428bca; -} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput.css deleted file mode 100644 index 7fced300..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput.css +++ /dev/null @@ -1,60 +0,0 @@ -/* - * bootstrap-tagsinput v0.8.0 - * - */ - -.bootstrap-tagsinput { - background-color: #fff; - border: 1px solid #ccc; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - display: inline-block; - padding: 4px 6px; - color: #555; - vertical-align: middle; - border-radius: 4px; - max-width: 100%; - line-height: 22px; - cursor: text; -} -.bootstrap-tagsinput input { - border: none; - box-shadow: none; - outline: none; - background-color: transparent; - padding: 0 6px; - margin: 0; - width: auto; - max-width: inherit; -} -.bootstrap-tagsinput.form-control input::-moz-placeholder { - color: #777; - opacity: 1; -} -.bootstrap-tagsinput.form-control input:-ms-input-placeholder { - color: #777; -} -.bootstrap-tagsinput.form-control input::-webkit-input-placeholder { - color: #777; -} -.bootstrap-tagsinput input:focus { - border: none; - box-shadow: none; -} -.bootstrap-tagsinput .tag { - margin-right: 2px; - color: white; -} -.bootstrap-tagsinput .tag [data-role="remove"] { - margin-left: 8px; - cursor: pointer; -} -.bootstrap-tagsinput .tag [data-role="remove"]:after { - content: "x"; - padding: 0px 2px; -} -.bootstrap-tagsinput .tag [data-role="remove"]:hover { - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} -.bootstrap-tagsinput .tag [data-role="remove"]:hover:active { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap.css deleted file mode 100644 index 424edbbe..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap.css +++ /dev/null @@ -1,6262 +0,0 @@ -/*! - * Bootstrap v3.2.0 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ -html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -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: 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; -} -@media print { - * { - 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^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - select { - background: #fff !important; - } - .navbar { - display: none; - } - .table td, - .table th { - background-color: #fff !important; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk:before { - content: "\2a"; -} -.glyphicon-plus:before { - content: "\2b"; -} -.glyphicon-euro:before { - content: "\20ac"; -} -.glyphicon-minus:before { - content: "\2212"; -} -.glyphicon-cloud:before { - content: "\2601"; -} -.glyphicon-envelope:before { - content: "\2709"; -} -.glyphicon-pencil:before { - content: "\270f"; -} -.glyphicon-glass:before { - content: "\e001"; -} -.glyphicon-music:before { - content: "\e002"; -} -.glyphicon-search:before { - content: "\e003"; -} -.glyphicon-heart:before { - content: "\e005"; -} -.glyphicon-star:before { - content: "\e006"; -} -.glyphicon-star-empty:before { - content: "\e007"; -} -.glyphicon-user:before { - content: "\e008"; -} -.glyphicon-film:before { - content: "\e009"; -} -.glyphicon-th-large:before { - content: "\e010"; -} -.glyphicon-th:before { - content: "\e011"; -} -.glyphicon-th-list:before { - content: "\e012"; -} -.glyphicon-ok:before { - content: "\e013"; -} -.glyphicon-remove:before { - content: "\e014"; -} -.glyphicon-zoom-in:before { - content: "\e015"; -} -.glyphicon-zoom-out:before { - content: "\e016"; -} -.glyphicon-off:before { - content: "\e017"; -} -.glyphicon-signal:before { - content: "\e018"; -} -.glyphicon-cog:before { - content: "\e019"; -} -.glyphicon-trash:before { - content: "\e020"; -} -.glyphicon-home:before { - content: "\e021"; -} -.glyphicon-file:before { - content: "\e022"; -} -.glyphicon-time:before { - content: "\e023"; -} -.glyphicon-road:before { - content: "\e024"; -} -.glyphicon-download-alt:before { - content: "\e025"; -} -.glyphicon-download:before { - content: "\e026"; -} -.glyphicon-upload:before { - content: "\e027"; -} -.glyphicon-inbox:before { - content: "\e028"; -} -.glyphicon-play-circle:before { - content: "\e029"; -} -.glyphicon-repeat:before { - content: "\e030"; -} -.glyphicon-refresh:before { - content: "\e031"; -} -.glyphicon-list-alt:before { - content: "\e032"; -} -.glyphicon-lock:before { - content: "\e033"; -} -.glyphicon-flag:before { - content: "\e034"; -} -.glyphicon-headphones:before { - content: "\e035"; -} -.glyphicon-volume-off:before { - content: "\e036"; -} -.glyphicon-volume-down:before { - content: "\e037"; -} -.glyphicon-volume-up:before { - content: "\e038"; -} -.glyphicon-qrcode:before { - content: "\e039"; -} -.glyphicon-barcode:before { - content: "\e040"; -} -.glyphicon-tag:before { - content: "\e041"; -} -.glyphicon-tags:before { - content: "\e042"; -} -.glyphicon-book:before { - content: "\e043"; -} -.glyphicon-bookmark:before { - content: "\e044"; -} -.glyphicon-print:before { - content: "\e045"; -} -.glyphicon-camera:before { - content: "\e046"; -} -.glyphicon-font:before { - content: "\e047"; -} -.glyphicon-bold:before { - content: "\e048"; -} -.glyphicon-italic:before { - content: "\e049"; -} -.glyphicon-text-height:before { - content: "\e050"; -} -.glyphicon-text-width:before { - content: "\e051"; -} -.glyphicon-align-left:before { - content: "\e052"; -} -.glyphicon-align-center:before { - content: "\e053"; -} -.glyphicon-align-right:before { - content: "\e054"; -} -.glyphicon-align-justify:before { - content: "\e055"; -} -.glyphicon-list:before { - content: "\e056"; -} -.glyphicon-indent-left:before { - content: "\e057"; -} -.glyphicon-indent-right:before { - content: "\e058"; -} -.glyphicon-facetime-video:before { - content: "\e059"; -} -.glyphicon-picture:before { - content: "\e060"; -} -.glyphicon-map-marker:before { - content: "\e062"; -} -.glyphicon-adjust:before { - content: "\e063"; -} -.glyphicon-tint:before { - content: "\e064"; -} -.glyphicon-edit:before { - content: "\e065"; -} -.glyphicon-share:before { - content: "\e066"; -} -.glyphicon-check:before { - content: "\e067"; -} -.glyphicon-move:before { - content: "\e068"; -} -.glyphicon-step-backward:before { - content: "\e069"; -} -.glyphicon-fast-backward:before { - content: "\e070"; -} -.glyphicon-backward:before { - content: "\e071"; -} -.glyphicon-play:before { - content: "\e072"; -} -.glyphicon-pause:before { - content: "\e073"; -} -.glyphicon-stop:before { - content: "\e074"; -} -.glyphicon-forward:before { - content: "\e075"; -} -.glyphicon-fast-forward:before { - content: "\e076"; -} -.glyphicon-step-forward:before { - content: "\e077"; -} -.glyphicon-eject:before { - content: "\e078"; -} -.glyphicon-chevron-left:before { - content: "\e079"; -} -.glyphicon-chevron-right:before { - content: "\e080"; -} -.glyphicon-plus-sign:before { - content: "\e081"; -} -.glyphicon-minus-sign:before { - content: "\e082"; -} -.glyphicon-remove-sign:before { - content: "\e083"; -} -.glyphicon-ok-sign:before { - content: "\e084"; -} -.glyphicon-question-sign:before { - content: "\e085"; -} -.glyphicon-info-sign:before { - content: "\e086"; -} -.glyphicon-screenshot:before { - content: "\e087"; -} -.glyphicon-remove-circle:before { - content: "\e088"; -} -.glyphicon-ok-circle:before { - content: "\e089"; -} -.glyphicon-ban-circle:before { - content: "\e090"; -} -.glyphicon-arrow-left:before { - content: "\e091"; -} -.glyphicon-arrow-right:before { - content: "\e092"; -} -.glyphicon-arrow-up:before { - content: "\e093"; -} -.glyphicon-arrow-down:before { - content: "\e094"; -} -.glyphicon-share-alt:before { - content: "\e095"; -} -.glyphicon-resize-full:before { - content: "\e096"; -} -.glyphicon-resize-small:before { - content: "\e097"; -} -.glyphicon-exclamation-sign:before { - content: "\e101"; -} -.glyphicon-gift:before { - content: "\e102"; -} -.glyphicon-leaf:before { - content: "\e103"; -} -.glyphicon-fire:before { - content: "\e104"; -} -.glyphicon-eye-open:before { - content: "\e105"; -} -.glyphicon-eye-close:before { - content: "\e106"; -} -.glyphicon-warning-sign:before { - content: "\e107"; -} -.glyphicon-plane:before { - content: "\e108"; -} -.glyphicon-calendar:before { - content: "\e109"; -} -.glyphicon-random:before { - content: "\e110"; -} -.glyphicon-comment:before { - content: "\e111"; -} -.glyphicon-magnet:before { - content: "\e112"; -} -.glyphicon-chevron-up:before { - content: "\e113"; -} -.glyphicon-chevron-down:before { - content: "\e114"; -} -.glyphicon-retweet:before { - content: "\e115"; -} -.glyphicon-shopping-cart:before { - content: "\e116"; -} -.glyphicon-folder-close:before { - content: "\e117"; -} -.glyphicon-folder-open:before { - content: "\e118"; -} -.glyphicon-resize-vertical:before { - content: "\e119"; -} -.glyphicon-resize-horizontal:before { - content: "\e120"; -} -.glyphicon-hdd:before { - content: "\e121"; -} -.glyphicon-bullhorn:before { - content: "\e122"; -} -.glyphicon-bell:before { - content: "\e123"; -} -.glyphicon-certificate:before { - content: "\e124"; -} -.glyphicon-thumbs-up:before { - content: "\e125"; -} -.glyphicon-thumbs-down:before { - content: "\e126"; -} -.glyphicon-hand-right:before { - content: "\e127"; -} -.glyphicon-hand-left:before { - content: "\e128"; -} -.glyphicon-hand-up:before { - content: "\e129"; -} -.glyphicon-hand-down:before { - content: "\e130"; -} -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} -.glyphicon-globe:before { - content: "\e135"; -} -.glyphicon-wrench:before { - content: "\e136"; -} -.glyphicon-tasks:before { - content: "\e137"; -} -.glyphicon-filter:before { - content: "\e138"; -} -.glyphicon-briefcase:before { - content: "\e139"; -} -.glyphicon-fullscreen:before { - content: "\e140"; -} -.glyphicon-dashboard:before { - content: "\e141"; -} -.glyphicon-paperclip:before { - content: "\e142"; -} -.glyphicon-heart-empty:before { - content: "\e143"; -} -.glyphicon-link:before { - content: "\e144"; -} -.glyphicon-phone:before { - content: "\e145"; -} -.glyphicon-pushpin:before { - content: "\e146"; -} -.glyphicon-usd:before { - content: "\e148"; -} -.glyphicon-gbp:before { - content: "\e149"; -} -.glyphicon-sort:before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} -.glyphicon-sort-by-order:before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} -.glyphicon-unchecked:before { - content: "\e157"; -} -.glyphicon-expand:before { - content: "\e158"; -} -.glyphicon-collapse-down:before { - content: "\e159"; -} -.glyphicon-collapse-up:before { - content: "\e160"; -} -.glyphicon-log-in:before { - content: "\e161"; -} -.glyphicon-flash:before { - content: "\e162"; -} -.glyphicon-log-out:before { - content: "\e163"; -} -.glyphicon-new-window:before { - content: "\e164"; -} -.glyphicon-record:before { - content: "\e165"; -} -.glyphicon-save:before { - content: "\e166"; -} -.glyphicon-open:before { - content: "\e167"; -} -.glyphicon-saved:before { - content: "\e168"; -} -.glyphicon-import:before { - content: "\e169"; -} -.glyphicon-export:before { - content: "\e170"; -} -.glyphicon-send:before { - content: "\e171"; -} -.glyphicon-floppy-disk:before { - content: "\e172"; -} -.glyphicon-floppy-saved:before { - content: "\e173"; -} -.glyphicon-floppy-remove:before { - content: "\e174"; -} -.glyphicon-floppy-save:before { - content: "\e175"; -} -.glyphicon-floppy-open:before { - content: "\e176"; -} -.glyphicon-credit-card:before { - content: "\e177"; -} -.glyphicon-transfer:before { - content: "\e178"; -} -.glyphicon-cutlery:before { - content: "\e179"; -} -.glyphicon-header:before { - content: "\e180"; -} -.glyphicon-compressed:before { - content: "\e181"; -} -.glyphicon-earphone:before { - content: "\e182"; -} -.glyphicon-phone-alt:before { - content: "\e183"; -} -.glyphicon-tower:before { - content: "\e184"; -} -.glyphicon-stats:before { - content: "\e185"; -} -.glyphicon-sd-video:before { - content: "\e186"; -} -.glyphicon-hd-video:before { - content: "\e187"; -} -.glyphicon-subtitles:before { - content: "\e188"; -} -.glyphicon-sound-stereo:before { - content: "\e189"; -} -.glyphicon-sound-dolby:before { - content: "\e190"; -} -.glyphicon-sound-5-1:before { - content: "\e191"; -} -.glyphicon-sound-6-1:before { - content: "\e192"; -} -.glyphicon-sound-7-1:before { - content: "\e193"; -} -.glyphicon-copyright-mark:before { - content: "\e194"; -} -.glyphicon-registration-mark:before { - content: "\e195"; -} -.glyphicon-cloud-download:before { - content: "\e197"; -} -.glyphicon-cloud-upload:before { - content: "\e198"; -} -.glyphicon-tree-conifer:before { - content: "\e199"; -} -.glyphicon-tree-deciduous:before { - content: "\e200"; -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 10px; - - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #fff; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #428bca; - text-decoration: none; -} -a:hover, -a:focus { - color: #2a6496; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - width: 100% \9; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - display: inline-block; - width: 100% \9; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -cite { - font-style: normal; -} -mark, -.mark { - padding: .2em; - background-color: #fcf8e3; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #777; -} -.text-primary { - color: #428bca; -} -a.text-primary:hover { - color: #3071a9; -} -.text-success { - color: #3c763d; -} -a.text-success:hover { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover { - color: #245269; -} -.text-warning { - color: #8a6d3b; -} -a.text-warning:hover { - color: #66512c; -} -.text-danger { - color: #a94442; -} -a.text-danger:hover { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #428bca; -} -a.bg-primary:hover { - background-color: #3071a9; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover { - background-color: #e4b9b9; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eee; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none; -} -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eee; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #eee; - border-left: 0; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -blockquote:before, -blockquote:after { - content: ""; -} -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%; - -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; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #ddd; -} -.table .table { - background-color: #fff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-child(odd) > td, -.table-striped > tbody > tr:nth-child(odd) > th { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - 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; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-x: auto; - overflow-y: hidden; - -webkit-overflow-scrolling: touch; - -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: #777; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #777; -} -.form-control::-webkit-input-placeholder { - color: #777; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eee; - opacity: 1; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - line-height: 34px; - line-height: 1.42857143 \0; -} -input[type="date"].input-sm, -input[type="time"].input-sm, -input[type="datetime-local"].input-sm, -input[type="month"].input-sm { - line-height: 30px; -} -input[type="date"].input-lg, -input[type="time"].input-lg, -input[type="datetime-local"].input-lg, -input[type="month"].input-lg { - line-height: 46px; -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - min-height: 20px; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-top: 4px \9; - margin-left: -20px; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - vertical-align: middle; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; -} -.form-control-static { - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-right: 0; - padding-left: 0; -} -.input-sm, -.form-horizontal .form-group-sm .form-control { - 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; -} -.input-lg, -.form-horizontal .form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-lg { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.form-control-feedback { - position: absolute; - top: 25px; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; -} -.input-lg + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline { - 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 { - 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 { - 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.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 .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 { - top: 0; - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.3px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - } -} -.btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: normal; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - 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 { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus { - color: #333; - text-decoration: none; -} -.btn:active, -.btn.active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - pointer-events: none; - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65; -} -.btn-default { - color: #337ab7; - background-color: #fff; - border-color: #ccc; -} -.btn-default:hover, -.btn-default:focus, -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #fff; - border-color: #ccc; -} -.btn-default .badge { - color: #fff; - background-color: #333; -} -.btn-primary { - color: #fff; - background-color: #428bca; - border-color: #357ebd; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #fff; - background-color: #3071a9; - border-color: #285e8e; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #428bca; - border-color: #357ebd; -} -.btn-primary .badge { - color: #428bca; - background-color: #fff; -} -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:hover, -.btn-success:focus, -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #fff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #fff; -} -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:hover, -.btn-info:focus, -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #fff; -} -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #fff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff; -} -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #fff; -} -.btn-link { - font-weight: normal; - color: #428bca; - cursor: pointer; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #2a6496; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.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: height .35s ease; - -o-transition: height .35s ease; - transition: height .35s ease; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175); -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: #262626; - text-decoration: none; - background-color: #f5f5f5; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #fff; - text-decoration: none; - background-color: #428bca; - outline: 0; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #777; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - right: 0; - left: auto; -} -.dropdown-menu-left { - right: auto; - left: 0; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px solid; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; - } - .navbar-right .dropdown-menu-left { - right: auto; - left: 0; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus { - outline: 0; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn-group:last-child > .btn:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-left-radius: 4px; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - display: table-cell; - float: none; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - position: absolute; - z-index: -1; - filter: alpha(opacity=0); - opacity: 0; -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-right: 0; - padding-left: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555; - text-align: center; - background-color: #eee; - border: 1px solid #ccc; - border-radius: 4px; -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - margin-left: -1px; -} -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eee; -} -.nav > li.disabled > a { - color: #777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777; - text-decoration: none; - cursor: not-allowed; - background-color: transparent; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eee; - border-color: #428bca; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #ddd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eee #eee #ddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555; - cursor: default; - background-color: #fff; - border: 1px solid #ddd; - border-bottom-color: transparent; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #fff; - background-color: #428bca; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.tab-content > .tab-pane { - display: none; -} -.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-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; - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -@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; -} -@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-nav.navbar-right:last-child { - margin-right: -15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - } -} -.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 .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; - } -} -@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-form.navbar-right:last-child { - margin-right: -15px; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; -} -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; -} -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; -} -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px; - } - .navbar-text.navbar-right:last-child { - 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: #777; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #777; -} -.navbar-inverse .navbar-nav > li > a { - color: #777; -} -.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: #777; - } - .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: #777; -} -.navbar-inverse .navbar-link:hover { - color: #fff; -} -.navbar-inverse .btn-link { - color: #777; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #fff; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - padding: 0 5px; - color: #ccc; - content: "/\00a0"; -} -.breadcrumb > .active { - color: #777; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #428bca; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #2a6496; - background-color: #eee; - border-color: #ddd; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: #428bca; - border-color: #428bca; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eee; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777; - cursor: not-allowed; - background-color: #fff; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} -.label-primary { - background-color: #428bca; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #3071a9; -} -.label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} -.label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} -.label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} -.label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -a.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #428bca; - background-color: #fff; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding: 30px; - 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 { - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron { - padding-right: 60px; - padding-left: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-right: auto; - margin-left: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #428bca; -} -.thumbnail .caption { - padding: 9px; - color: #333; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); -} -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #428bca; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - -webkit-transition: width .6s ease; - -o-transition: width .6s ease; - transition: width .6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar[aria-valuenow="1"], -.progress-bar[aria-valuenow="2"] { - min-width: 30px; -} -.progress-bar[aria-valuenow="0"] { - min-width: 30px; - color: #777; - background-color: transparent; - background-image: none; - -webkit-box-shadow: none; - box-shadow: none; -} -.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, -.media-body { - overflow: hidden; - zoom: 1; -} -.media, -.media .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media-object { - display: block; -} -.media-heading { - margin: 0 0 5px; -} -.media > .pull-left { - margin-right: 10px; -} -.media > .pull-right { - margin-left: 10px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - padding-left: 0; - margin-bottom: 20px; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid #ddd; -} -.list-group-item:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -a.list-group-item { - color: #555; -} -a.list-group-item .list-group-item-heading { - color: #333; -} -a.list-group-item:hover, -a.list-group-item:focus { - color: #555; - text-decoration: none; - background-color: #f5f5f5; -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - color: #777; - background-color: #eee; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #fff; - background-color: #428bca; - border-color: #428bca; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #e1edf7; -} -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} -a.list-group-item-success { - color: #3c763d; -} -a.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -a.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -a.list-group-item-success.active:hover, -a.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -a.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -a.list-group-item-info.active:hover, -a.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} -a.list-group-item-warning { - color: #8a6d3b; -} -a.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -a.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} -a.list-group-item-danger { - color: #a94442; -} -a.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -a.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05); -} -.panel-body { - padding: 15px; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} -.panel-title > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .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 { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table: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 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 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 { - 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 { - border-top: 1px solid #ddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #ddd; -} -.panel-default { - border-color: #ddd; -} -.panel-default > .panel-heading { - color: #333; - background-color: #f5f5f5; - border-color: #ddd; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ddd; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ddd; -} -.panel-primary { - border-color: #428bca; -} -.panel-primary > .panel-heading { - color: #fff; - background-color: #428bca; - border-color: #428bca; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #428bca; -} -.panel-primary > .panel-heading .badge { - color: #428bca; - background-color: #fff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #428bca; -} -.panel-success { - border-color: #d6e9c6; -} -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-info { - border-color: #bce8f1; -} -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; -} -.panel-warning { - border-color: #faebcc; -} -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; -} -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #ebccd1; -} -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1; -} -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} -.embed-responsive.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, .15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - filter: alpha(opacity=20); - opacity: .2; -} -.close:hover, -.close:focus { - color: #000; - text-decoration: none; - cursor: pointer; - filter: alpha(opacity=50); - opacity: .5; -} -button.close { - -webkit-appearance: none; - padding: 0; - cursor: pointer; - background: transparent; - border: 0; -} -.modal-open { - overflow: hidden; -} -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 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: translate3d(0, -25%, 0); - -o-transform: translate3d(0, -25%, 0); - transform: translate3d(0, -25%, 0); -} -.modal.in .modal-dialog { - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 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-size: 12px; - line-height: 1.4; - visibility: visible; - filter: alpha(opacity=0); - opacity: 0; -} -.tooltip.in { - filter: alpha(opacity=90); - opacity: .9; -} -.tooltip.top { - padding: 5px 0; - margin-top: -3px; -} -.tooltip.right { - padding: 0 5px; - margin-left: 3px; -} -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px; -} -.tooltip.left { - padding: 0 5px; - margin-left: -3px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - text-decoration: none; - background-color: #000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-left .tooltip-arrow { - bottom: 0; - left: 5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-right .tooltip-arrow { - right: 5px; - bottom: 0; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - left: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - right: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - text-align: left; - white-space: normal; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - box-shadow: 0 5px 10px rgba(0, 0, 0, .2); -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - font-weight: normal; - line-height: 18px; - 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; -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - filter: alpha(opacity=50); - opacity: .5; -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control:hover, -.carousel-control:focus { - color: #fff; - text-decoration: none; - filter: alpha(opacity=90); - outline: 0; - opacity: .9; -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #fff; - border-radius: 10px; -} -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff; -} -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; - } - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-footer:before, -.modal-footer:after { - display: table; - content: " "; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-right: auto; - margin-left: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; - visibility: hidden !important; -} -.affix { - position: fixed; - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -} -.chat-thread { - margin: 10px 10px 0 auto; - padding: 0 0px 0 0; - list-style: none; -} - -.chat-thread li { - position: relative; - clear: both; - display: inline-block; - padding: 8px 8px 8px 8px; - margin: 0 10px 15px 10px; - font: 16px/20px 'Noto Sans', sans-serif; - border-radius: 10px; - background-color: deepskyblue; -} - -/* Chat - Avatar */ -.chat-thread li:after { - position: absolute; - top: 0; - width: 50px; - height: 50px; - border-radius: 50px; - content: ''; -} - -/* Chat - Speech Bubble Arrow */ -.chat-thread li:before { - position: absolute; - top: 15px; - content: ''; - width: 0; - height: 0; - border-top: 15px solid rgba(25, 147, 147, 0.2); -} - -.chat-thread li:nth-child(even) { - animation: show-chat-even 0.15s 1 ease-in; - -moz-animation: show-chat-even 0.15s 1 ease-in; - -webkit-animation: show-chat-even 0.15s 1 ease-in; - float: right; - margin-right: 10px; - color: white; -} - - - - -.chat-thread li:nth-child(odd) { - animation: show-chat-odd 0.15s 1 ease-in; - -moz-animation: show-chat-odd 0.15s 1 ease-in; - -webkit-animation: show-chat-odd 0.15s 1 ease-in; - float: left; - margin-left: 10px; - color: white; -} - - -/*# sourceMappingURL=bootstrap.css.map */ diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap.min.css deleted file mode 100644 index 4cf729e4..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/bootstrap.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v3.3.6 (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:700}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 silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}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{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!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^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{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 td,.table-bordered th{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:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro: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}:after,:before{-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}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{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}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>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,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,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,.h5,.h6,h4,h5,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:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{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}dd,dt{line-height:1.42857143}dt{font-weight:700}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[data-original-title],abbr[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 ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer: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 .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer: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:700;-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-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.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-md-1,.col-md-10,.col-md-11,.col-md-12,.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-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{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-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{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-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{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-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{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>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{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>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{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>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{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>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{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:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{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=checkbox]:focus,input[type=radio]: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::-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-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.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],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio 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}select[multiple].input-sm,textarea.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 select[multiple].form-control,.form-group-sm textarea.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}select[multiple].input-lg,textarea.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 select[multiple].form-control,.form-group-lg textarea.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}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-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 .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-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 .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-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 .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{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:400;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.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{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.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{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.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{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.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{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.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{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.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{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.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{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.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{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.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{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.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{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.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{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.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{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.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;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:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{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=button].btn-block,input[type=reset].btn-block,input[type=submit].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}.dropdown,.dropup{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:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{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-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{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=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{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}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.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}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn: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:400;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=checkbox],.input-group-addon input[type=radio]{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-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){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:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{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:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{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:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{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:focus,.nav-tabs>li.active>a:hover{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:focus,.nav-tabs.nav-justified>.active>a:hover{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:focus,.nav-tabs.nav-justified>.active>a:hover{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:focus,.nav-pills>li.active>a:hover{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:focus,.nav-tabs-justified>.active>a:hover{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:focus,.nav-tabs-justified>.active>a:hover{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-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{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-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{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:focus,.navbar-brand:hover{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 .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{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 .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{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:focus,.navbar-default .navbar-brand:hover{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:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{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:focus,.navbar-default .navbar-nav>.open>a:hover{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:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{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:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{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:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{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:focus,.navbar-inverse .navbar-nav>.open>a:hover{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:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{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:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{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:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{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:focus,.pager li>a:hover{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:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{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]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;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-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{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 a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{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:700}.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-bar-striped,.progress-striped .progress-bar{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-bar.active,.progress.active .progress-bar{-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-body,.media-left,.media-right{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:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{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:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .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:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{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:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{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:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{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:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{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>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.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>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody: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:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.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 td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.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>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{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 embed,.embed-responsive iframe,.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:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;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:400;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:400;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>a>img,.carousel-inner>.item>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.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{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:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{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-next,.carousel-control .icon-prev{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}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row: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-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-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}td.visible-xs,th.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}td.visible-sm,th.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}td.visible-md,th.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}td.visible-lg,th.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}td.visible-print,th.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.min.css.map */ \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/dataTables.bootstrap.css b/src/demo/manager/src/main/webapp/assets/css/dataTables.bootstrap.css deleted file mode 100644 index f65e264b..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/dataTables.bootstrap.css +++ /dev/null @@ -1,314 +0,0 @@ -div.dataTables_length label { - font-weight: normal; - text-align: left; - white-space: nowrap; -} - -div.dataTables_length select { - width: 75px; - display: inline-block; -} - -div.dataTables_filter { - text-align: right; -} - -div.dataTables_filter label { - font-weight: normal; - white-space: nowrap; - text-align: left; -} - -div.dataTables_filter input { - margin-left: 0.5em; - display: inline-block; -} - -div.dataTables_info { - padding-top: 8px; - white-space: nowrap; -} - -div.dataTables_paginate { - margin: 0; - white-space: nowrap; - text-align: right; -} - -div.dataTables_paginate ul.pagination { - margin: 2px 0; - white-space: nowrap; -} - -@media screen and (max-width: 767px) { - div.dataTables_length, - div.dataTables_filter, - div.dataTables_info, - div.dataTables_paginate { - text-align: center; - } -} - - -table.dataTable td, -table.dataTable th { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} - - -table.dataTable { - clear: both; - margin-top: 6px !important; - margin-bottom: 6px !important; - max-width: none !important; -} - -table.dataTable thead .sorting, -table.dataTable thead .sorting_asc, -table.dataTable thead .sorting_desc, -table.dataTable thead .sorting_asc_disabled, -table.dataTable thead .sorting_desc_disabled { - cursor: pointer; -} - -table.dataTable thead .sorting { background: url('../images/sort_both.png') no-repeat center right; } -table.dataTable thead .sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; } -table.dataTable thead .sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; } - -table.dataTable thead .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; } -table.dataTable thead .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; } - -table.dataTable thead > tr > th { - padding-left: 18px; - padding-right: 18px; -} - -table.dataTable th:active { - outline: none; -} - -/* Scrolling */ -div.dataTables_scrollHead table { - margin-bottom: 0 !important; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - -div.dataTables_scrollHead table thead tr:last-child th:first-child, -div.dataTables_scrollHead table thead tr:last-child td:first-child { - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important; -} - -div.dataTables_scrollBody table { - border-top: none; - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -div.dataTables_scrollBody tbody tr:first-child th, -div.dataTables_scrollBody tbody tr:first-child td { - border-top: none; -} - -div.dataTables_scrollFoot table { - margin-top: 0 !important; - border-top: none; -} - -/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column - width calculations when using scrolling impossible to align columns. We have - to use separate - */ -table.table-bordered.dataTable { - border-collapse: separate !important; -} -table.table-bordered thead th, -table.table-bordered thead td { - border-left-width: 0; - border-top-width: 0; -} -table.table-bordered tbody th, -table.table-bordered tbody td { - border-left-width: 0; - border-bottom-width: 0; -} -table.table-bordered th:last-child, -table.table-bordered td:last-child { - border-right-width: 0; -} -div.dataTables_scrollHead table.table-bordered { - border-bottom-width: 0; -} - - - - -/* - * TableTools styles - */ -.table.dataTable tbody tr.active td, -.table.dataTable tbody tr.active th { - background-color: #08C; - color: white; -} - -.table.dataTable tbody tr.active:hover td, -.table.dataTable tbody tr.active:hover th { - background-color: #0075b0 !important; -} - -.table.dataTable tbody tr.active th > a, -.table.dataTable tbody tr.active td > a { - color: white; -} - -.table-striped.dataTable tbody tr.active:nth-child(odd) td, -.table-striped.dataTable tbody tr.active:nth-child(odd) th { - background-color: #017ebc; -} - -table.DTTT_selectable tbody tr { - cursor: pointer; -} - -div.DTTT .btn:hover { - text-decoration: none !important; -} - -ul.DTTT_dropdown.dropdown-menu { - z-index: 2003; -} - -ul.DTTT_dropdown.dropdown-menu a { - color: #333 !important; /* needed only when demo_page.css is included */ -} - -ul.DTTT_dropdown.dropdown-menu li { - position: relative; -} - -ul.DTTT_dropdown.dropdown-menu li:hover a { - background-color: #0088cc; - color: white !important; -} - -div.DTTT_collection_background { - z-index: 2002; -} - -/* TableTools information display */ -div.DTTT_print_info { - position: fixed; - top: 50%; - left: 50%; - width: 400px; - height: 150px; - margin-left: -200px; - margin-top: -75px; - text-align: center; - color: #333; - padding: 10px 30px; - opacity: 0.95; - - background-color: white; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - - -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5); -} - -div.DTTT_print_info h6 { - font-weight: normal; - font-size: 28px; - line-height: 28px; - margin: 1em; -} - -div.DTTT_print_info p { - font-size: 14px; - line-height: 20px; -} - -div.dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - height: 60px; - margin-left: -50%; - margin-top: -25px; - padding-top: 20px; - padding-bottom: 20px; - text-align: center; - font-size: 1.2em; - background-color: white; - background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0))); - background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); - background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); - background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); - background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); - background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); -} - - - -/* - * FixedColumns styles - */ -div.DTFC_LeftHeadWrapper table, -div.DTFC_LeftFootWrapper table, -div.DTFC_RightHeadWrapper table, -div.DTFC_RightFootWrapper table, -table.DTFC_Cloned tr.even { - background-color: white; - margin-bottom: 0; -} - -div.DTFC_RightHeadWrapper table , -div.DTFC_LeftHeadWrapper table { - border-bottom: none !important; - margin-bottom: 0 !important; - border-top-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important; -} - -div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child, -div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child, -div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child, -div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child { - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important; -} - -div.DTFC_RightBodyWrapper table, -div.DTFC_LeftBodyWrapper table { - border-top: none; - margin: 0 !important; -} - -div.DTFC_RightBodyWrapper tbody tr:first-child th, -div.DTFC_RightBodyWrapper tbody tr:first-child td, -div.DTFC_LeftBodyWrapper tbody tr:first-child th, -div.DTFC_LeftBodyWrapper tbody tr:first-child td { - border-top: none; -} - -div.DTFC_RightFootWrapper table, -div.DTFC_LeftFootWrapper table { - border-top: none; - margin-top: 0 !important; -} - - -/* - * FixedHeader styles - */ -div.FixedHeader_Cloned table { - margin: 0 !important -} - diff --git a/src/demo/manager/src/main/webapp/assets/css/default.css b/src/demo/manager/src/main/webapp/assets/css/default.css deleted file mode 100644 index f1bfade3..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/default.css +++ /dev/null @@ -1,99 +0,0 @@ -/* - -Original highlight.js style (c) Ivan Sagalaev - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #F0F0F0; -} - - -/* Base color: saturation 0; */ - -.hljs, -.hljs-subst { - color: #444; -} - -.hljs-comment { - color: #888888; -} - -.hljs-keyword, -.hljs-attribute, -.hljs-selector-tag, -.hljs-meta-keyword, -.hljs-doctag, -.hljs-name { - font-weight: bold; -} - - -/* User color: hue: 0 */ - -.hljs-type, -.hljs-string, -.hljs-number, -.hljs-selector-id, -.hljs-selector-class, -.hljs-quote, -.hljs-template-tag, -.hljs-deletion { - color: #880000; -} - -.hljs-title, -.hljs-section { - color: #880000; - font-weight: bold; -} - -.hljs-regexp, -.hljs-symbol, -.hljs-variable, -.hljs-template-variable, -.hljs-link, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #BC6060; -} - - -/* Language color: hue: 90; */ - -.hljs-literal { - color: #78A960; -} - -.hljs-built_in, -.hljs-bullet, -.hljs-code, -.hljs-addition { - color: #397300; -} - - -/* Meta color: hue: 200 */ - -.hljs-meta { - color: #1f7199; -} - -.hljs-meta-string { - color: #4d99bf; -} - - -/* Misc effects */ - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/src/demo/manager/src/main/webapp/assets/css/fileinput.min.css b/src/demo/manager/src/main/webapp/assets/css/fileinput.min.css deleted file mode 100644 index 4678f147..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/fileinput.min.css +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * bootstrap-fileinput v4.3.5 - * http://plugins.krajee.com/file-input - * - * Author: Kartik Visweswaran - * Copyright: 2014 - 2016, Kartik Visweswaran, Krajee.com - * - * Licensed under the BSD 3-Clause - * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md - */.file-loading{top:0;right:0;width:25px;height:25px;font-size:999px;text-align:right;color:#fff;background:url(../img/loading.gif) top left no-repeat;border:none}.file-object{margin:0 0 -5px;padding:0}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;text-align:right;opacity:0;background:none;cursor:inherit;display:block}.file-caption-name{display:inline-block;overflow:hidden;height:20px;word-break:break-all}.input-group-lg .file-caption-name{height:25px}.file-zoom-dialog{text-align:left}.file-error-message{color:#a94442;background-color:#f2dede;margin:5px;border:1px solid #ebccd1;border-radius:4px;padding:15px}.file-error-message pre,.file-error-message ul{margin:0;text-align:left}.file-preview-frame,.file-preview-other{text-align:center;vertical-align:middle}.file-error-message pre{margin:5px 0}.file-caption-disabled{background-color:#EEE;cursor:not-allowed;opacity:1}.file-preview{border-radius:5px;border:1px solid #ddd;padding:5px;width:100%;margin-bottom:5px}.file-preview-frame{position:relative;display:table;margin:8px;height:160px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left}.file-preview-frame:not(.file-preview-error):hover{box-shadow:3px 3px 5px 0 #333}.file-preview-image{vertical-align:middle}.file-preview-text{display:block;color:#428bca;border:1px solid #ddd;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;outline:0;padding:8px;resize:none}.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-ajax-new .no-browse .input-group-btn,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file,.file-input-new .no-browse .input-group-btn{display:none}.file-preview-html{border:1px solid #ddd;padding:8px;overflow:auto}.file-zoom-dialog .file-preview-text{font-size:1.2em}.file-preview-other{left:0;top:0;right:0;bottom:0;margin:auto;padding:10px}.file-preview-other:hover{opacity:.8}.file-actions,.file-other-error{text-align:left}.file-other-icon{font-size:4.8em}.file-zoom-dialog .file-other-icon{font-size:8em;font-size:55vmin}.file-caption-main{width:100%}.file-input-ajax-new .no-browse .form-control,.file-input-new .no-browse .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.file-thumb-loading{background:url(../img/loading.gif) center center no-repeat content-box!important}.file-actions{margin-top:15px}.file-footer-buttons{float:right}.file-upload-indicator{display:inline;cursor:default;opacity:.8;width:60%}.file-upload-indicator:hover{font-weight:700;opacity:1}.file-footer-caption{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:160px;text-align:center;padding-top:4px;font-size:11px;color:#777;margin:5px auto}.file-preview-error{opacity:.65;box-shadow:none}.file-preview-frame:not(.file-preview-error) .file-footer-caption:hover{color:#000}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone-title{color:#aaa;font-size:1.6em;padding:85px 10px;cursor:default}.clickable .file-drop-zone-title,.file-preview .clickable{cursor:pointer}.file-drop-zone.clickable:hover{border:2px dashed #999}.file-drop-zone.clickable:focus{border:2px solid #5acde2}.file-drop-zone .file-preview-thumbnails{cursor:default}.file-highlighted{border:2px dashed #999!important;background-color:#f0f0f0}.file-uploading{background:url(../img/loading-sm.gif) center bottom 10px no-repeat;opacity:.65}.file-thumb-progress .progress,.file-thumb-progress .progress-bar{height:10px;font-size:9px;line-height:10px}.file-thumbnail-footer{position:relative}.file-thumb-progress{height:10px;position:absolute;top:35px;left:0;right:0}.file-zoom-fullscreen.modal{position:fixed;top:0;right:0;bottom:0;left:0}.file-zoom-fullscreen .modal-dialog{position:fixed;margin:0;width:100%;height:100%;padding:0}.file-zoom-fullscreen .modal-content{border-radius:0;box-shadow:none}.file-zoom-fullscreen .modal-body{overflow-y:auto}.file-zoom-dialog .modal-body{position:relative!important}.file-zoom-dialog .btn-navigate{position:absolute;padding:0;margin:0;background:0 0;text-decoration:none;outline:0;opacity:.7;top:45%;font-size:4em;color:#1c94c4}.file-zoom-dialog .floating-buttons{position:absolute;top:5px;right:10px}.floating-buttons,.floating-buttons .btn{z-index:3000}.file-zoom-dialog .kv-zoom-actions .btn,.floating-buttons .btn{margin-left:3px}.file-zoom-dialog .btn-navigate:not([disabled]):focus,.file-zoom-dialog .btn-navigate:not([disabled]):hover{outline:0;box-shadow:none;opacity:.5}.file-zoom-dialog .btn-navigate[disabled]{opacity:.3}.file-zoom-dialog .btn-prev{left:1px}.file-zoom-dialog .btn-next{right:1px}.file-drag-handle{display:inline;margin-right:2px;font-size:16px;cursor:move;cursor:-webkit-grabbing}.file-drag-handle:hover{opacity:.7}.file-zoom-content{height:480px;text-align:center}.file-preview-initial.sortable-chosen{background-color:#d9edf7}.file-preview-frame.sortable-ghost{background-color:#eee}.btn-file ::-ms-browse{width:100%;height:100%} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/font-awesome.min.css b/src/demo/manager/src/main/webapp/assets/css/font-awesome.min.css deleted file mode 100644 index ec53d4d6..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.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}.fa-lg{font-size:1.33333333em;line-height:.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:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.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}@-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{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{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{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:#fff}.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:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.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{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: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-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.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"} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/jquery-confirm.min.css b/src/demo/manager/src/main/webapp/assets/css/jquery-confirm.min.css deleted file mode 100644 index cb8c3245..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/jquery-confirm.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * jquery-confirm v2.5.1 (http://craftpip.github.io/jquery-confirm/) - * Author: boniface pereira - * Website: www.craftpip.com - * Contact: hey@craftpip.com - * - * Copyright 2013-2016 jquery-confirm - * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE) - */@-webkit-keyframes jconfirm-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes jconfirm-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.jconfirm{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999999;font-family:inherit;overflow:hidden}.jconfirm .jconfirm-bg{position:fixed;top:0;left:0;right:0;bottom:0;opacity:0;-webkit-transition:all .4s;transition:all .4s}.jconfirm .jconfirm-bg.seen{opacity:1}.jconfirm .jconfirm-scrollpane{position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto;-webkit-perspective:500px;perspective:500px;-webkit-perspective-origin:center;perspective-origin:center}.jconfirm .jconfirm-box{background:#fff;border-radius:4px;position:relative;outline:none;padding:15px 15px 0}.jconfirm .jconfirm-box div.closeIcon{height:20px;width:20px;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.6;text-align:center;-webkit-transition:opacity .1s ease-in;transition:opacity .1s ease-in;display:none;font-size:27px;line-height:14px}.jconfirm .jconfirm-box div.closeIcon .fa{font-size:16px}.jconfirm .jconfirm-box div.closeIcon .glyphicon{font-size:16px}.jconfirm .jconfirm-box div.closeIcon .zmdi{font-size:16px}.jconfirm .jconfirm-box div.closeIcon:hover{opacity:1}.jconfirm .jconfirm-box div.title-c{display:block;font-size:22px;line-height:20px}.jconfirm .jconfirm-box div.title-c .icon-c{font-size:inherit;padding-bottom:15px;display:inline-block;margin-right:8px;vertical-align:middle}.jconfirm .jconfirm-box div.title-c .icon-c i{vertical-align:middle}.jconfirm .jconfirm-box div.title-c .icon-c:empty{display:none}.jconfirm .jconfirm-box div.title-c .title{font-size:inherit;font-family:inherit;display:inline-block;vertical-align:middle;padding-bottom:15px}.jconfirm .jconfirm-box div.title-c .title:empty{display:none}.jconfirm .jconfirm-box div.content-pane{margin-bottom:15px;height:auto;-webkit-transition:height .4s ease-in;transition:height .4s ease-in;display:inline-block;width:100%;position:relative}.jconfirm .jconfirm-box div.content-pane .content{position:absolute;top:0;left:0;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;right:0}.jconfirm .jconfirm-box div.content-pane .content img{width:100%;height:auto}.jconfirm .jconfirm-box div.content-pane .content:empty{display:none}.jconfirm .jconfirm-box div.content-pane .content:empty.loading{height:40px;position:relative;opacity:.6;display:block}.jconfirm .jconfirm-box div.content-pane .content:empty.loading:before{content:'';height:20px;width:20px;border:solid 2px transparent;position:absolute;left:50%;margin-left:-10px;border-radius:50%;-webkit-animation:jconfirm-rotate 1s infinite linear;animation:jconfirm-rotate 1s infinite linear;border-bottom-color:#aaa;top:50%;margin-top:-10px}.jconfirm .jconfirm-box div.content-pane .content:empty.loading:after{content:'';position:absolute;left:50%;margin-left:-15px}.jconfirm .jconfirm-box .buttons{padding-bottom:15px}.jconfirm .jconfirm-box .buttons button+button{margin-left:5px}.jconfirm .jquery-clear{clear:both}.jconfirm.rtl{direction:rtl}.jconfirm.rtl div.closeIcon{left:12px;right:auto}.jconfirm.jconfirm-white .jconfirm-bg{background-color:rgba(0,0,0,0.2)}.jconfirm.jconfirm-white .jconfirm-box{box-shadow:0 2px 6px rgba(0,0,0,0.2);border-radius:5px}.jconfirm.jconfirm-white .jconfirm-box .buttons{float:right}.jconfirm.jconfirm-white .jconfirm-box .buttons button{border:none;background-image:none;text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none;-webkit-transition:background .1s;transition:background .1s;color:#fff}.jconfirm.jconfirm-white .jconfirm-box .buttons button.btn-default{box-shadow:none;color:#333}.jconfirm.jconfirm-white .jconfirm-box .buttons button.btn-default:hover{background:#ddd}.jconfirm.jconfirm-black .jconfirm-bg{background-color:rgba(0,0,0,0.5)}.jconfirm.jconfirm-black .jconfirm-box{box-shadow:0 2px 6px rgba(0,0,0,0.2);background:#444;border-radius:5px;color:#fff}.jconfirm.jconfirm-black .jconfirm-box .buttons{float:right}.jconfirm.jconfirm-black .jconfirm-box .buttons button{border:none;background-image:none;text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none;-webkit-transition:background .1s;transition:background .1s;color:#fff}.jconfirm.jconfirm-black .jconfirm-box .buttons button.btn-default{box-shadow:none;color:#fff;background:none}.jconfirm.jconfirm-black .jconfirm-box .buttons button.btn-default:hover{background:#666}.jconfirm .jconfirm-box.hilight{-webkit-animation:hilight .82s cubic-bezier(.36, .07, .19, .97) both;animation:hilight .82s cubic-bezier(.36, .07, .19, .97) both;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}@-webkit-keyframes hilight{10%,90%{-webkit-transform:translate3d(-2px, 0, 0);transform:translate3d(-2px, 0, 0)}20%,80%{-webkit-transform:translate3d(4px, 0, 0);transform:translate3d(4px, 0, 0)}30%,50%,70%{-webkit-transform:translate3d(-8px, 0, 0);transform:translate3d(-8px, 0, 0)}40%,60%{-webkit-transform:translate3d(8px, 0, 0);transform:translate3d(8px, 0, 0)}}@keyframes hilight{10%,90%{-webkit-transform:translate3d(-2px, 0, 0);transform:translate3d(-2px, 0, 0)}20%,80%{-webkit-transform:translate3d(4px, 0, 0);transform:translate3d(4px, 0, 0)}30%,50%,70%{-webkit-transform:translate3d(-8px, 0, 0);transform:translate3d(-8px, 0, 0)}40%,60%{-webkit-transform:translate3d(8px, 0, 0);transform:translate3d(8px, 0, 0)}}.jconfirm{-webkit-perspective:400px;perspective:400px}.jconfirm .jconfirm-box{opacity:1;-webkit-transition-property:-webkit-transform,opacity,box-shadow;transition-property:transform,opacity,box-shadow}.jconfirm .jconfirm-box.anim-top,.jconfirm .jconfirm-box.anim-left,.jconfirm .jconfirm-box.anim-right,.jconfirm .jconfirm-box.anim-bottom,.jconfirm .jconfirm-box.anim-opacity,.jconfirm .jconfirm-box.anim-zoom,.jconfirm .jconfirm-box.anim-scale,.jconfirm .jconfirm-box.anim-none,.jconfirm .jconfirm-box.anim-rotate,.jconfirm .jconfirm-box.anim-rotatex,.jconfirm .jconfirm-box.anim-rotatey,.jconfirm .jconfirm-box.anim-scaley,.jconfirm .jconfirm-box.anim-scalex{opacity:0}.jconfirm .jconfirm-box.anim-rotate{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.jconfirm .jconfirm-box.anim-rotatex{-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-rotatexr{-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-rotatey{-webkit-transform:rotatey(90deg);-ms-transform:rotatey(90deg);transform:rotatey(90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-rotateyr{-webkit-transform:rotatey(-90deg);-ms-transform:rotatey(-90deg);transform:rotatey(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-scaley{-webkit-transform:scaley(1.5);-ms-transform:scaley(1.5);transform:scaley(1.5);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-scalex{-webkit-transform:scalex(1.5);-ms-transform:scalex(1.5);transform:scalex(1.5);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-top{-webkit-transform:translate(0, -100px);-ms-transform:translate(0, -100px);transform:translate(0, -100px)}.jconfirm .jconfirm-box.anim-left{-webkit-transform:translate(-100px, 0);-ms-transform:translate(-100px, 0);transform:translate(-100px, 0)}.jconfirm .jconfirm-box.anim-right{-webkit-transform:translate(100px, 0);-ms-transform:translate(100px, 0);transform:translate(100px, 0)}.jconfirm .jconfirm-box.anim-bottom{-webkit-transform:translate(0, 100px);-ms-transform:translate(0, 100px);transform:translate(0, 100px)}.jconfirm .jconfirm-box.anim-zoom{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.jconfirm .jconfirm-box.anim-scale{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}.jconfirm .jconfirm-box.anim-none{display:none}.jconfirm.jconfirm-supervan .jconfirm-bg{background-color:rgba(54,70,93,0.95)}.jconfirm.jconfirm-supervan .jconfirm-box{background-color:transparent}.jconfirm.jconfirm-supervan .jconfirm-box div.closeIcon{color:#fff}.jconfirm.jconfirm-supervan .jconfirm-box div.title-c{text-align:center;color:#fff;font-size:28px;font-weight:normal}.jconfirm.jconfirm-supervan .jconfirm-box div.title-c>*{padding-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.content-pane{margin-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.content{text-align:center;color:#fff}.jconfirm.jconfirm-supervan .jconfirm-box .buttons{text-align:center}.jconfirm.jconfirm-supervan .jconfirm-box .buttons button{font-size:16px;border-radius:2px;background:#303f53;text-shadow:none;border:none;color:#fff;padding:10px;min-width:100px}.jconfirm.jconfirm-material .jconfirm-bg{background-color:rgba(0,0,0,0.67)}.jconfirm.jconfirm-material .jconfirm-box{background-color:#fff;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);padding:30px 25px 10px 25px}.jconfirm.jconfirm-material .jconfirm-box div.closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box div.title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold}.jconfirm.jconfirm-material .jconfirm-box div.content{text-align:left;color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box .buttons{text-align:right}.jconfirm.jconfirm-material .jconfirm-box .buttons button{text-transform:uppercase;font-weight:500}.jconfirm.jconfirm-bootstrap .jconfirm-bg{background-color:rgba(0,0,0,0.21)}.jconfirm.jconfirm-bootstrap .jconfirm-box{background-color:#fff;box-shadow:0 3px 8px 0 rgba(0,0,0,0.2);border:solid 1px rgba(0,0,0,0.4);padding:15px 0 0}.jconfirm.jconfirm-bootstrap .jconfirm-box div.closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-bootstrap .jconfirm-box div.title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold;padding-left:15px;padding-right:15px}.jconfirm.jconfirm-bootstrap .jconfirm-box div.content{text-align:left;color:rgba(0,0,0,0.87);padding:0 15px}.jconfirm.jconfirm-bootstrap .jconfirm-box .buttons{text-align:right;padding:0 0 0;margin:-5px 0 0;border-top:solid 1px #ddd;overflow:hidden;border-radius:0 0 4px 4px}.jconfirm.jconfirm-bootstrap .jconfirm-box .buttons button{font-weight:500;border-radius:0;margin:0;border-left:solid 1px #ddd} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/jquery.alerts.css b/src/demo/manager/src/main/webapp/assets/css/jquery.alerts.css deleted file mode 100644 index ab982c93..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/jquery.alerts.css +++ /dev/null @@ -1,44 +0,0 @@ -#popup_container { - font-family: Arial, sans-serif; - font-size: 12px; - min-width: 300px; /* Dialog will be no smaller than this */ - max-width: 600px; /* Dialog will wrap after this width */ - background: #FFF; - border:3px solid #E6E6E6; - color: #000; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; -} -*html #popup_container{width:304px;} - -#popup_content { - padding: 1em 1.75em; - margin: 0em; -} - -#popup_content.alert { -} - -#popup_content.confirm { -} - -#popup_content.prompt { -} - -#popup_message { - color: #6B6B6B; - margin: 0; - padding: 0; - text-align:center -} - -#popup_panel { - text-align: center; - margin: 1em 0em 0em 0em; -} - -#popup_prompt { - margin: .5em 0em; -} - diff --git a/src/demo/manager/src/main/webapp/assets/css/login2.css b/src/demo/manager/src/main/webapp/assets/css/login2.css deleted file mode 100644 index 6f93672e..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/login2.css +++ /dev/null @@ -1,189 +0,0 @@ -/* - * - * Template Name: Fullscreen Login - * Description: Login Template with Fullscreen Background Slideshow - * Author: Anli Zaimi - * Author URI: http://azmind.com - * - */ - - -body{ - background:#fff url(/assets/img/loginimg/1.jpg) no-repeat left top; - transition:all 1.0s ease; - -webkit-transition:all 1.0s ease; - -o-transition:all 1.0s ease; - -moz-transition:all 1.0s ease; - background-size:100%; - font-family: 'PT Sans', Helvetica, Arial, sans-serif; - text-align: center; -} - -.page-container { - margin: 120px auto 0 auto; -} - -h1 { - font-size: 30px; - font-weight: 700; - text-shadow: 0 1px 4px rgba(0,0,0,.2); -} - -form { - position: relative; - width: 305px; - margin: 15px auto 0 auto; - text-align: center; -} - -input { - width: 270px; - height: 42px; - margin-top: 25px; - padding: 0 15px; - background: #2d2d2d; /* browsers that don't support rgba */ - background: rgba(45,45,45,.15); - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; - border: 1px solid #3d3d3d; /* browsers that don't support rgba */ - border: 1px solid rgba(255,255,255,.15); - -moz-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset; - -webkit-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset; - box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset; - font-family: 'PT Sans', Helvetica, Arial, sans-serif; - font-size: 14px; - color: #fff; - text-shadow: 0 1px 2px rgba(0,0,0,.1); - -o-transition: all .2s; - -moz-transition: all .2s; - -webkit-transition: all .2s; - -ms-transition: all .2s; -} - -input:-moz-placeholder { color: #fff; } -input:-ms-input-placeholder { color: #fff; } -input::-webkit-input-placeholder { color: #fff; } - -input:focus { - outline: none; - -moz-box-shadow: - 0 2px 3px 0 rgba(0,0,0,.1) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - -webkit-box-shadow: - 0 2px 3px 0 rgba(0,0,0,.1) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - box-shadow: - 0 2px 3px 0 rgba(0,0,0,.1) inset, - 0 2px 7px 0 rgba(0,0,0,.2); -} - -button { - cursor: pointer; - width: 300px; - height: 44px; - margin-top: 25px; - padding: 0; - background: #ef4300; - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; - border: 1px solid #ff730e; - -moz-box-shadow: - 0 15px 30px 0 rgba(255,255,255,.25) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - -webkit-box-shadow: - 0 15px 30px 0 rgba(255,255,255,.25) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - box-shadow: - 0 15px 30px 0 rgba(255,255,255,.25) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - font-family: 'PT Sans', Helvetica, Arial, sans-serif; - font-size: 14px; - font-weight: 700; - color: #fff; - text-shadow: 0 1px 2px rgba(0,0,0,.1); - -o-transition: all .2s; - -moz-transition: all .2s; - -webkit-transition: all .2s; - -ms-transition: all .2s; -} - -button:hover { - -moz-box-shadow: - 0 15px 30px 0 rgba(255,255,255,.15) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - -webkit-box-shadow: - 0 15px 30px 0 rgba(255,255,255,.15) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - box-shadow: - 0 15px 30px 0 rgba(255,255,255,.15) inset, - 0 2px 7px 0 rgba(0,0,0,.2); -} - -button:active { - -moz-box-shadow: - 0 15px 30px 0 rgba(255,255,255,.15) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - -webkit-box-shadow: - 0 15px 30px 0 rgba(255,255,255,.15) inset, - 0 2px 7px 0 rgba(0,0,0,.2); - box-shadow: - 0 5px 8px 0 rgba(0,0,0,.1) inset, - 0 1px 4px 0 rgba(0,0,0,.1); - - border: 0px solid #ef4300; -} - -.error { - display: none; - position: absolute; - top: 27px; - right: -55px; - width: 40px; - height: 40px; - background: #2d2d2d; /* browsers that don't support rgba */ - background: rgba(45,45,45,.25); - -moz-border-radius: 8px; - -webkit-border-radius: 8px; - border-radius: 8px; -} - -.error span { - display: inline-block; - margin-left: 2px; - font-size: 40px; - font-weight: 700; - line-height: 40px; - text-shadow: 0 1px 2px rgba(0,0,0,.1); - -o-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -} - -.connect { - width: 305px; - margin: 35px auto 0 auto; - font-size: 18px; - font-weight: 700; - text-shadow: 0 1px 3px rgba(0,0,0,.2); -} - -.connect a { - display: inline-block; - width: 32px; - height: 35px; - margin-top: 15px; - -o-transition: all .2s; - -moz-transition: all .2s; - -webkit-transition: all .2s; - -ms-transition: all .2s; -} - - -.connect a:hover { background-position: center bottom; } - - - diff --git a/src/demo/manager/src/main/webapp/assets/css/metisMenu.min.css b/src/demo/manager/src/main/webapp/assets/css/metisMenu.min.css deleted file mode 100644 index a1d0ef39..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/metisMenu.min.css +++ /dev/null @@ -1,10 +0,0 @@ -/* - * metismenu - v1.1.3 - * Easy menu jQuery plugin for Twitter Bootstrap 3 - * https://github.com/onokumus/metisMenu - * - * Made by Osman Nuri Okumus - * Under MIT License - */ - -.arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/multiple-select.css b/src/demo/manager/src/main/webapp/assets/css/multiple-select.css deleted file mode 100644 index 5c6a017c..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/multiple-select.css +++ /dev/null @@ -1,191 +0,0 @@ -/** - * @author zhixin wen - */ - -.ms-parent { - display: inline-block; - position: relative; - vertical-align: middle; -} - -.ms-choice { - display: block; - width: 100%; - height: 26px; - padding: 0; - overflow: hidden; - cursor: pointer; - border: 1px solid #aaa; - text-align: left; - white-space: nowrap; - line-height: 26px; - color: #444; - text-decoration: none; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - background-color: #fff; -} - -.ms-choice.disabled { - background-color: #f4f4f4; - background-image: none; - border: 1px solid #ddd; - cursor: default; -} - -.ms-choice > span { - position: absolute; - top: 0; - left: 0; - right: 20px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - display: block; - padding-left: 8px; -} - -.ms-choice > span.placeholder { - color: #999; -} - -.ms-choice > div { - position: absolute; - top: 0; - right: 0; - width: 20px; - height: 25px; - background: url('multiple-select.png') left top no-repeat; -} - -.ms-choice > div.open { - background: url('multiple-select.png') right top no-repeat; -} - -.ms-drop { - width: 100%; - overflow: hidden; - display: none; - margin-top: -1px; - padding: 0; - position: absolute; - z-index: 1000; - background: #fff; - color: #000; - border: 1px solid #aaa; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.ms-drop.bottom { - top: 100%; - -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); - -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); - box-shadow: 0 4px 5px rgba(0, 0, 0, .15); -} - -.ms-drop.top { - bottom: 100%; - -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); - -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); - box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); -} - -.ms-search { - display: inline-block; - margin: 0; - min-height: 26px; - padding: 4px; - position: relative; - white-space: nowrap; - width: 100%; - z-index: 10000; -} - -.ms-search input { - width: 100%; - height: auto !important; - min-height: 24px; - padding: 0 20px 0 5px; - margin: 0; - outline: 0; - font-family: sans-serif; - font-size: 1em; - border: 1px solid #aaa; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - background: #fff url('multiple-select.png') no-repeat 100% -22px; - background: url('multiple-select.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); - background: url('multiple-select.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background: url('multiple-select.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background: url('multiple-select.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); - background: url('multiple-select.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%); - background: url('multiple-select.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%); -} - -.ms-search, .ms-search input { - -webkit-box-sizing: border-box; - -khtml-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; -} - -.ms-drop ul { - overflow: auto; - margin: 0; - padding: 5px 8px; -} - -.ms-drop ul > li { - list-style: none; - display: list-item; - background-image: none; - position: static; -} - -.ms-drop ul > li .disabled { - opacity: .35; - filter: Alpha(Opacity=35); -} - -.ms-drop ul > li.multiple { - display: block; - float: left; -} - -.ms-drop ul > li.group { - clear: both; -} - -.ms-drop ul > li.multiple label { - width: 100%; - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.ms-drop ul > li label { - font-weight: normal; - display: block; - white-space: nowrap; -} - -.ms-drop ul > li label.optgroup { - font-weight: bold; -} - -.ms-drop input[type="checkbox"] { - vertical-align: middle; -} - -.ms-drop .ms-no-results { - display: none; -} diff --git a/src/demo/manager/src/main/webapp/assets/css/sb-admin-2.css b/src/demo/manager/src/main/webapp/assets/css/sb-admin-2.css deleted file mode 100644 index e8be3969..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/sb-admin-2.css +++ /dev/null @@ -1,354 +0,0 @@ -/*! - * Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com) - * Code licensed under the Apache License v2.0. - * For details, see http://www.apache.org/licenses/LICENSE-2.0. - */ - -body { - background-color: #f8f8f8; -} - -#wrapper { - width: 100%; -} - -#page-wrapper { - padding: 0 15px; - min-height: 568px; - background-color: #fff; -} - -@media(min-width:768px) { - #page-wrapper { - position: inherit; - margin: 0 0 0 250px; - padding: 0 30px; - border-left: 1px solid #e7e7e7; - } -} - -.navbar-top-links { - margin-right: 0; -} - -.navbar-top-links li { - display: inline-block; -} - -.navbar-top-links li:last-child { - margin-right: 15px; -} - -.navbar-top-links li a { - padding: 15px; - min-height: 50px; -} - -.navbar-top-links .dropdown-menu li { - display: block; -} - -.navbar-top-links .dropdown-menu li:last-child { - margin-right: 0; -} - -.navbar-top-links .dropdown-menu li a { - padding: 3px 20px; - min-height: 0; -} - -.navbar-top-links .dropdown-menu li a div { - white-space: normal; -} - -.navbar-top-links .dropdown-messages, -.navbar-top-links .dropdown-tasks, -.navbar-top-links .dropdown-alerts { - width: 310px; - min-width: 0; -} - -.navbar-top-links .dropdown-messages { - margin-left: 5px; -} - -.navbar-top-links .dropdown-tasks { - margin-left: -59px; -} - -.navbar-top-links .dropdown-alerts { - margin-left: -123px; -} - -.navbar-top-links .dropdown-user { - right: 0; - left: auto; -} - -.sidebar .sidebar-nav.navbar-collapse { - padding-right: 0; - padding-left: 0; -} - -.sidebar .sidebar-search { - padding: 15px; -} - -.sidebar ul li { - border-bottom: 1px solid #e7e7e7; -} - -.sidebar ul li a.active { - background-color: #eee; -} - -.sidebar .arrow { - float: right; -} - -.sidebar .fa.arrow:before { - content: "\f104"; -} - -.sidebar .active>a>.fa.arrow:before { - content: "\f107"; -} - -.sidebar .nav-second-level li, -.sidebar .nav-third-level li { - border-bottom: 0!important; -} - -.sidebar .nav-second-level li a { - padding-left: 37px; -} - -.sidebar .nav-third-level li a { - padding-left: 52px; -} - -@media(min-width:768px) { - .sidebar { - z-index: 1; - position: absolute; - width: 250px; - margin-top: 51px; - } - - .navbar-top-links .dropdown-messages, - .navbar-top-links .dropdown-tasks, - .navbar-top-links .dropdown-alerts { - margin-left: auto; - } -} - -.btn-outline { - color: inherit; - background-color: transparent; - transition: all .5s; -} - -.btn-primary.btn-outline { - color: #428bca; -} - -.btn-success.btn-outline { - color: #5cb85c; -} - -.btn-info.btn-outline { - color: #5bc0de; -} - -.btn-warning.btn-outline { - color: #f0ad4e; -} - -.btn-danger.btn-outline { - color: #d9534f; -} - -.btn-primary.btn-outline:hover, -.btn-success.btn-outline:hover, -.btn-info.btn-outline:hover, -.btn-warning.btn-outline:hover, -.btn-danger.btn-outline:hover { - color: #fff; -} - -.chat { - margin: 0; - padding: 0; - list-style: none; -} - -.chat li { - margin-bottom: 10px; - padding-bottom: 5px; - border-bottom: 1px dotted #999; -} - -.chat li.left .chat-body { - margin-left: 60px; -} - -.chat li.right .chat-body { - margin-right: 60px; -} - -.chat li .chat-body p { - margin: 0; -} - -.panel .slidedown .glyphicon, -.chat .glyphicon { - margin-right: 5px; -} - -.chat-panel .panel-body { - height: 350px; - overflow-y: scroll; -} - -.login-panel { - margin-top: 25%; -} - -.flot-chart { - display: block; - height: 400px; -} - -.flot-chart-content { - width: 100%; - height: 100%; -} - -.dataTables_wrapper { - position: relative; - clear: both; -} - -table.dataTable thead .sorting, -table.dataTable thead .sorting_asc, -table.dataTable thead .sorting_desc, -table.dataTable thead .sorting_asc_disabled, -table.dataTable thead .sorting_desc_disabled { - background: 0 0; -} - -table.dataTable thead .sorting_asc:after { - content: "\f0de"; - float: right; - font-family: fontawesome; -} - -table.dataTable thead .sorting_desc:after { - content: "\f0dd"; - float: right; - font-family: fontawesome; -} - -table.dataTable thead .sorting:after { - content: "\f0dc"; - float: right; - font-family: fontawesome; - color: rgba(50,50,50,.5); -} - -.btn-circle { - width: 30px; - height: 30px; - padding: 6px 0; - border-radius: 15px; - text-align: center; - font-size: 12px; - line-height: 1.428571429; -} - -.btn-circle.btn-lg { - width: 50px; - height: 50px; - padding: 10px 16px; - border-radius: 25px; - font-size: 18px; - line-height: 1.33; -} - -.btn-circle.btn-xl { - width: 70px; - height: 70px; - padding: 10px 16px; - border-radius: 35px; - font-size: 24px; - line-height: 1.33; -} - -.show-grid [class^=col-] { - padding-top: 10px; - padding-bottom: 10px; - border: 1px solid #ddd; - background-color: #eee!important; -} - -.show-grid { - margin: 15px 0; -} - -.huge { - font-size: 40px; -} - -.panel-green { - border-color: #5cb85c; -} - -.panel-green .panel-heading { - border-color: #5cb85c; - color: #fff; - background-color: #5cb85c; -} - -.panel-green a { - color: #5cb85c; -} - -.panel-green a:hover { - color: #3d8b3d; -} - -.panel-red { - border-color: #d9534f; -} - -.panel-red .panel-heading { - border-color: #d9534f; - color: #fff; - background-color: #d9534f; -} - -.panel-red a { - color: #d9534f; -} - -.panel-red a:hover { - color: #b52b27; -} - -.panel-yellow { - border-color: #f0ad4e; -} - -.panel-yellow .panel-heading { - border-color: #f0ad4e; - color: #fff; - background-color: #f0ad4e; -} - -.panel-yellow a { - color: #f0ad4e; -} - -.panel-yellow a:hover { - color: #df8a13; -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/star-rating.css b/src/demo/manager/src/main/webapp/assets/css/star-rating.css deleted file mode 100644 index d02fdb92..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/star-rating.css +++ /dev/null @@ -1,170 +0,0 @@ -/*! - * @copyright © Kartik Visweswaran, Krajee.com, 2014 - * @version 2.5.0 - * - * A simple yet powerful JQuery star rating plugin that allows rendering - * fractional star ratings and supports Right to Left (RTL) input. - * - * For more JQuery/Bootstrap plugins and demos visit http://plugins.krajee.com - * For more Yii related demos visit http://demos.krajee.com - */ - -/* - * Stars - */ -.rating-gly { - font-family: 'Glyphicons Halflings'; -} -.rating-gly-star { - font-family: 'Glyphicons Halflings'; - padding-left: 2px; -} - -.rating-gly-star .rating-stars:before { - padding-left: 2px; -} - -.rating-lg .rating-gly-star, .rating-lg .rating-gly-star .rating-stars:before { - padding-left: 4px; -} - -.rating-xl .rating-gly-star, .rating-xl .rating-gly-star .rating-stars:before { - padding-left: 2px; -} - -.rating-active { - cursor: default; -} - -.rating-disabled { - cursor: not-allowed; -} - -.rating-uni { - font-size: 1.2em; - margin-top: -5px; -} - -.rating-container { - position: relative; - vertical-align: middle; - display: inline-block; - color: #e3e3e3; - overflow: hidden; -} - -.rating-container:before { - content: attr(data-content); -} - -.rating-container .rating-stars { - position: absolute; - left: 0; - top: 0; - white-space: nowrap; - overflow: hidden; - color: #fde16d; - transition: all 0.25s ease-out; - -o-transition: all 0.25s ease-out; - -moz-transition: all 0.25s ease-out; - -webkit-transition: all 0.25s ease-out; -} - -.rating-container .rating-stars:before { - content: attr(data-content); - text-shadow: 0 0 1px rgba(0, 0, 0, 0.7); -} - -.rating-container-rtl { - position: relative; - vertical-align: middle; - display: inline-block; - overflow: hidden; - color: #fde16d; -} - -.rating-container-rtl:before { - content: attr(data-content); - text-shadow: 0 0 1px rgba(0, 0, 0, 0.7); -} - -.rating-container-rtl .rating-stars { - position: absolute; - left: 0; - top: 0; - white-space: nowrap; - overflow: hidden; - color: #e3e3e3; - transition: all 0.25s ease-out; - -o-transition: all 0.25s ease-out; - -moz-transition: all 0.25s ease-out; - -webkit-transition: all 0.25s ease-out; -} - -.rating-container-rtl .rating-stars:before { - content: attr(data-content); -} - -/** - * Rating sizes - */ -.rating-xl { - font-size: 4.89em; -} - -.rating-lg { - font-size: 3.91em; -} - -.rating-md { - font-size: 3.13em; -} - -.rating-sm { - font-size: 2.5em; -} - -.rating-xs { - font-size: 2em; -} - -/** - * Clear rating button - */ -.star-rating .clear-rating, .star-rating-rtl .clear-rating { - color: #aaa; - cursor: not-allowed; - display: inline-block; - vertical-align: middle; - font-size: 60%; -} - -.clear-rating-active { - cursor: pointer !important; -} - -.clear-rating-active:hover { - color: #843534; -} - -.star-rating .clear-rating { - padding-right: 5px; -} - -/** - * Caption - */ -.star-rating .caption, .star-rating-rtl .caption { - color: #999; - display: inline-block; - vertical-align: middle; - font-size: 55%; -} - -.star-rating .caption { - padding-left: 5px; -} - -.star-rating-rtl .caption { - padding-right: 5px; -} diff --git a/src/demo/manager/src/main/webapp/assets/css/star-rating.min.css b/src/demo/manager/src/main/webapp/assets/css/star-rating.min.css deleted file mode 100644 index 8676e08c..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/star-rating.min.css +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * @copyright © Kartik Visweswaran, Krajee.com, 2014 - * @version 2.5.0 - * - * A simple yet powerful JQuery star rating plugin that allows rendering - * fractional star ratings and supports Right to Left (RTL) input. - * - * For more JQuery/Bootstrap plugins and demos visit http://plugins.krajee.com - * For more Yii related demos visit http://demos.krajee.com - */.rating-gly{font-family:'Glyphicons Halflings'}.rating-gly-star{font-family:'Glyphicons Halflings';padding-left:2px}.rating-gly-star .rating-stars:before{padding-left:2px}.rating-lg .rating-gly-star,.rating-lg .rating-gly-star .rating-stars:before{padding-left:4px}.rating-xl .rating-gly-star,.rating-xl .rating-gly-star .rating-stars:before{padding-left:2px}.rating-active{cursor:default}.rating-disabled{cursor:not-allowed}.rating-uni{font-size:1.2em;margin-top:-5px}.rating-container{position:relative;vertical-align:middle;display:inline-block;color:#e3e3e3;overflow:hidden}.rating-container:before{content:attr(data-content)}.rating-container .rating-stars{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;color:#fde16d;transition:all .25s ease-out;-o-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-webkit-transition:all .25s ease-out}.rating-container .rating-stars:before{content:attr(data-content);text-shadow:0 0 1px rgba(0,0,0,.7)}.rating-container-rtl{position:relative;vertical-align:middle;display:inline-block;overflow:hidden;color:#fde16d}.rating-container-rtl:before{content:attr(data-content);text-shadow:0 0 1px rgba(0,0,0,.7)}.rating-container-rtl .rating-stars{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;color:#e3e3e3;transition:all .25s ease-out;-o-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-webkit-transition:all .25s ease-out}.rating-container-rtl .rating-stars:before{content:attr(data-content)}.rating-xl{font-size:4.89em}.rating-lg{font-size:3.91em}.rating-md{font-size:3.13em}.rating-sm{font-size:2.5em}.rating-xs{font-size:2em}.star-rating .clear-rating,.star-rating-rtl .clear-rating{color:#aaa;cursor:not-allowed;display:inline-block;vertical-align:middle;font-size:60%}.clear-rating-active{cursor:pointer!important}.clear-rating-active:hover{color:#843534}.star-rating .clear-rating{padding-right:5px}.star-rating .caption,.star-rating-rtl .caption{color:#999;display:inline-block;vertical-align:middle;font-size:55%}.star-rating .caption{padding-left:5px}.star-rating-rtl .caption{padding-right:5px} diff --git a/src/demo/manager/src/main/webapp/assets/css/style-login.css b/src/demo/manager/src/main/webapp/assets/css/style-login.css deleted file mode 100644 index a9e35f49..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/style-login.css +++ /dev/null @@ -1,127 +0,0 @@ -.form-bg{ - background: #00b4ef; -} -.form-horizontal{ - background: #fff; - padding-bottom: 40px; - border-radius: 15px; - text-align: center; -} -.form-horizontal .heading{ - display: block; - font-size: 35px; - font-weight: 700; - padding: 35px 0; - border-bottom: 1px solid #f0f0f0; - margin-bottom: 30px; -} -.form-horizontal .form-group{ - padding: 0 40px; - margin: 0 0 25px 0; - position: relative; -} -.form-horizontal .form-control{ - background: #f0f0f0; - border: none; - border-radius: 20px; - box-shadow: none; - padding: 0 20px 0 45px; - height: 40px; - transition: all 0.3s ease 0s; -} -.form-horizontal .form-control:focus{ - background: #e0e0e0; - box-shadow: none; - outline: 0 none; -} -.form-horizontal .form-group i{ - position: absolute; - top: 12px; - left: 60px; - font-size: 17px; - color: #c8c8c8; - transition : all 0.5s ease 0s; -} -.form-horizontal .form-control:focus + i{ - color: #00b4ef; -} -.form-horizontal .fa-question-circle{ - display: inline-block; - position: absolute; - top: 12px; - right: 60px; - font-size: 20px; - color: #808080; - transition: all 0.5s ease 0s; -} -.form-horizontal .fa-question-circle:hover{ - color: #000; -} -.form-horizontal .main-checkbox{ - float: left; - width: 20px; - height: 20px; - background: #11a3fc; - border-radius: 50%; - position: relative; - margin: 5px 0 0 5px; - border: 1px solid #11a3fc; -} -.form-horizontal .main-checkbox label{ - width: 20px; - height: 20px; - position: absolute; - top: 0; - left: 0; - cursor: pointer; -} -.form-horizontal .main-checkbox label:after{ - content: ""; - width: 10px; - height: 5px; - position: absolute; - top: 5px; - left: 4px; - border: 3px solid #fff; - border-top: none; - border-right: none; - background: transparent; - opacity: 0; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); -} -.form-horizontal .main-checkbox input[type=checkbox]{ - visibility: hidden; -} -.form-horizontal .main-checkbox input[type=checkbox]:checked + label:after{ - opacity: 1; -} -.form-horizontal .text{ - float: left; - margin-left: 7px; - line-height: 20px; - padding-top: 5px; - text-transform: capitalize; -} -.form-horizontal .btn{ - float: right; - font-size: 14px; - color: #fff; - background: #00b4ef; - border-radius: 30px; - padding: 10px 25px; - border: none; - text-transform: capitalize; - transition: all 0.5s ease 0s; -} -@media only screen and (max-width: 479px){ - .form-horizontal .form-group{ - padding: 0 25px; - } - .form-horizontal .form-group i{ - left: 45px; - } - .form-horizontal .btn{ - padding: 10px 20px; - } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/style-responsive.css b/src/demo/manager/src/main/webapp/assets/css/style-responsive.css deleted file mode 100644 index f5993453..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/style-responsive.css +++ /dev/null @@ -1,295 +0,0 @@ -@media (min-width: 980px) { - /*-----*/ - .custom-bar-chart { - margin-bottom: 40px; - } - -} - -@media (min-width: 768px) and (max-width: 979px) { - - /*-----*/ - .custom-bar-chart { - margin-bottom: 40px; - } - - /*chat room*/ - - -} - -@media (max-width: 768px) { - - .header { - position: absolute; - } - - /*sidebar*/ - - #sidebar { - height: auto; - overflow: hidden; - position: absolute; - width: 100%; - z-index: 1001; - } - - - /* body container */ - #main-content { - margin: 0px!important; - position: none !important; - } - - #sidebar > ul > li > a > span { - line-height: 35px; - } - - #sidebar > ul > li { - margin: 0 10px 5px 10px; - } - #sidebar > ul > li > a { - height:35px; - line-height:35px; - padding: 0 10px; - text-align: left; - } - #sidebar > ul > li > a i{ - /*display: none !important;*/ - } - - #sidebar ul > li > a .arrow, #sidebar > ul > li > a .arrow.open { - margin-right: 10px; - margin-top: 15px; - } - - #sidebar ul > li.active > a .arrow, #sidebar ul > li > a:hover .arrow, #sidebar ul > li > a:focus .arrow, - #sidebar > ul > li.active > a .arrow.open, #sidebar > ul > li > a:hover .arrow.open, #sidebar > ul > li > a:focus .arrow.open{ - margin-top: 15px; - } - - #sidebar > ul > li > a, #sidebar > ul > li > ul.sub > li { - width: 100%; - } - #sidebar > ul > li > ul.sub > li > a { - background: transparent !important ; - } - #sidebar > ul > li > ul.sub > li > a:hover { - - } - - - /* sidebar */ - #sidebar { - margin: 0px !important; - } - - /* sidebar collabler */ - #sidebar .btn-navbar.collapsed .arrow { - display: none; - } - - #sidebar .btn-navbar .arrow { - position: absolute; - right: 35px; - width: 0; - height: 0; - top:48px; - border-bottom: 15px solid #282e36; - border-left: 15px solid transparent; - border-right: 15px solid transparent; - } - - - /*---------*/ - - .modal-footer .btn { - margin-bottom: 0px !important; - } - - .btn { - margin-bottom: 5px; - } - - - /* full calendar fix */ - .fc-header-right { - left:25px; - position: absolute; - } - - .fc-header-left .fc-button { - margin: 0px !important; - top: -10px !important; - } - - .fc-header-right .fc-button { - margin: 0px !important; - top: -50px !important; - } - - .fc-state-active, .fc-state-active .fc-button-inner, .fc-state-hover, .fc-state-hover .fc-button-inner { - background: none !important; - color: #FFFFFF !important; - } - - .fc-state-default, .fc-state-default .fc-button-inner { - background: none !important; - } - - .fc-button { - border: none !important; - margin-right: 2px; - } - - .fc-view { - top: 0px !important; - } - - .fc-button .fc-button-inner { - margin: 0px !important; - padding: 2px !important; - border: none !important; - margin-right: 2px !important; - background-color: #fafafa !important; - background-image: -moz-linear-gradient(top, #fafafa, #efefef) !important; - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa), to(#efefef)) !important; - background-image: -webkit-linear-gradient(top, #fafafa, #efefef) !important; - background-image: -o-linear-gradient(top, #fafafa, #efefef) !important; - background-image: linear-gradient(to bottom, #fafafa, #efefef) !important; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fafafa', endColorstr='#efefef', GradientType=0) !important; - -webkit-box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important; - -moz-box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important; - box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important; - -webkit-border-radius: 3px !important; - -moz-border-radius: 3px !important; - border-radius: 3px !important; - color: #646464 !important; - border: 1px solid #ddd !important; - text-shadow: 0 1px 0px rgba(255, 255, 255, .6) !important; - text-align: center; - } - - .fc-button.fc-state-disabled .fc-button-inner { - color: #bcbbbb !important; - } - - .fc-button.fc-state-active .fc-button-inner { - background-color: #e5e4e4 !important; - background-image: -moz-linear-gradient(top, #e5e4e4, #dddcdc) !important; - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e5e4e4), to(#dddcdc)) !important; - background-image: -webkit-linear-gradient(top, #e5e4e4, #dddcdc) !important; - background-image: -o-linear-gradient(top, #e5e4e4, #dddcdc) !important; - background-image: linear-gradient(to bottom, #e5e4e4, #dddcdc) !important; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#e5e4e4', endColorstr='#dddcdc', GradientType=0) !important; - } - - .fc-content { - margin-top: 50px; - } - - .fc-header-title h2 { - line-height: 40px !important; - font-size: 12px !important; - } - - .fc-header { - margin-bottom:0px !important; - } - - /*--*/ - - /*.chart-position {*/ - /*margin-top: 0px;*/ - /*}*/ - - .stepy-titles li { - margin: 10px 3px; - } - - /*-----*/ - .custom-bar-chart { - margin-bottom: 40px; - } - - /*menu icon plus minus*/ - .dcjq-icon { - top: 10px; - } - ul.sidebar-menu li ul.sub li a { - padding: 0; - } - - /*---*/ - - .img-responsive { - width: 100%; - } - -} - - - -@media (max-width: 480px) { - - .notify-row, .search, .dont-show , .inbox-head .sr-input, .inbox-head .sr-btn{ - display: none; - } - - #top_menu .nav > li, ul.top-menu > li { - float: right; - } - .hidden-phone { - display: none !important; - } - - .chart-position { - margin-top: 0px; - } - - .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { - background-color: #ccc; - border-color:#ccc ; - } - -} - -@media (max-width:320px) { - .login-social-link a { - padding: 15px 17px !important; - } - - .notify-row, .search, .dont-show, .inbox-head .sr-input, .inbox-head .sr-btn { - display: none; - } - - #top_menu .nav > li, ul.top-menu > li { - float: right; - } - - .hidden-phone { - display: none !important; - } - - .chart-position { - margin-top: 0px; - } - - .lock-wrapper { - margin: 10% auto; - max-width: 310px; - } - .lock-input { - width: 82%; - } - - .cmt-form { - display: inline-block; - width: 75%; - } - -} - - - - diff --git a/src/demo/manager/src/main/webapp/assets/css/style.css b/src/demo/manager/src/main/webapp/assets/css/style.css deleted file mode 100644 index 339c6657..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/style.css +++ /dev/null @@ -1,2414 +0,0 @@ -/* -Template Name: DASHGUM FREE - Bootstrap 3.2 Admin Theme -Template Version: 1.0 -Author: Carlos Alvarez -Website: http://blacktie.co -Premium: http://www.gridgum.com -*/ -/* Import fonts */ -/* latin-ext */ -@font-face { - font-family: 'Ruda'; - font-style: normal; - font-weight: 400; - src: local('Ruda'), url(http://fonts.gstatic.com/s/ruda/v7/1sL847GoOH8xYu1qOqsKrw.woff2) format('woff2'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} - -/* latin */ -@font-face { - font-family: 'Ruda'; - font-style: normal; - font-weight: 400; - src: local('Ruda'), url(http://fonts.gstatic.com/s/ruda/v7/T9zdIB5JGDJjRO8KNoV_pA.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -/* latin-ext */ -@font-face { - font-family: 'Ruda'; - font-style: normal; - font-weight: 700; - src: local('Ruda Bold'), local('Ruda-Bold'), url(http://fonts.gstatic.com/s/ruda/v7/Cq8KyqhCX-f1J9BsOyq_FvY6323mHUZFJMgTvxaG2iE.woff2) format('woff2'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} - -/* latin */ -@font-face { - font-family: 'Ruda'; - font-style: normal; - font-weight: 700; - src: local('Ruda Bold'), local('Ruda-Bold'), url(http://fonts.gstatic.com/s/ruda/v7/ioyuq9I92dSCu7pGUbx7zA.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -/* latin-ext */ -@font-face { - font-family: 'Ruda'; - font-style: normal; - font-weight: 900; - src: local('Ruda Black'), local('Ruda-Black'), url(http://fonts.gstatic.com/s/ruda/v7/AV-eDyU_-j5hBe_Ff6xI1_Y6323mHUZFJMgTvxaG2iE.woff2) format('woff2'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} - -/* latin */ -@font-face { - font-family: 'Ruda'; - font-style: normal; - font-weight: 900; - src: local('Ruda Black'), local('Ruda-Black'), url(http://fonts.gstatic.com/s/ruda/v7/9WoKvbp3ZUwn9qM5AIuMOg.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -/* BASIC THEME CONFIGURATION */ -body { - color: #797979; - background: #f2f2f2; - padding: 0px !important; - margin: 0px !important; - font-size: 13px; -} - -ul li { - list-style: none; -} - -a, a:hover, a:focus { - text-decoration: none; - outline: none; -} - -::selection { - - background: #68dff0; - color: #fff; -} - -::-moz-selection { - background: #68dff0; - color: #fff; -} - -#container { - width: 100%; - height: 100%; -} - -/* Bootstrap Modifications */ -.modal-header { - background: #68dff0; -} - -.modal-title { - color: white; -} - -.btn-round { - border-radius: 20px; - -webkit-border-radius: 20px; -} - -.accordion-heading .accordion-toggle { - display: block; - cursor: pointer; - border-top: 1px solid #F5F5F5; - padding: 5px 0px; - line-height: 28.75px; - text-transform: uppercase; - color: #1a1a1a; - background-color: #ffffff; - outline: none !important; - text-decoration: none; -} - -/*Theme Backgrounds*/ - -.bg-theme { - background-color: #68dff0; -} - -.bg-theme02 { - background-color: #ac92ec; -} - -.bg-theme03 { - background-color: #48cfad; -} - -.bg-theme04 { - background-color: #ed5565; -} - -/*Theme Buttons*/ - -.btn-theme { - color: #fff; - background-color: #68dff0; - border-color: #48bcb4; -} - -.btn-theme:hover, -.btn-theme:focus, -.btn-theme:active, -.btn-theme.active, -.open .dropdown-toggle.btn-theme { - color: #fff; - background-color: #48bcb4; - border-color: #48bcb4; -} - -.btn-theme02 { - color: #fff; - background-color: #ac92ec; - border-color: #967adc; -} - -.btn-theme02:hover, -.btn-theme02:focus, -.btn-theme02:active, -.btn-theme02.active, -.open .dropdown-toggle.btn-theme02 { - color: #fff; - background-color: #967adc; - border-color: #967adc; -} - -.btn-theme03 { - color: #fff; - background-color: #48cfad; - border-color: #37bc9b; -} - -.btn-theme03:hover, -.btn-theme03:focus, -.btn-theme03:active, -.btn-theme03.active, -.open .dropdown-toggle.btn-theme03 { - color: #fff; - background-color: #37bc9b; - border-color: #37bc9b; -} - -.btn-theme04 { - color: #fff; - background-color: #ed5565; - border-color: #da4453; -} - -.btn-theme04:hover, -.btn-theme04:focus, -.btn-theme04:active, -.btn-theme04.active, -.open .dropdown-toggle.btn-theme04 { - color: #fff; - background-color: #da4453; - border-color: #da4453; -} - -.btn-clear-g { - color: #48bcb4; - background: transparent; - border-color: #48bcb4; -} - -.btn-clear-g:hover { - color: white; -} - -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #797979; -} - -/*Helpers*/ - -.centered { - text-align: center; -} - -.goleft { - text-align: left; -} - -.goright { - text-align: right; -} - -.mt { - margin-top: 25px; -} - -.mb { - margin-bottom: 25px; -} - -.ml { - margin-left: 5px; -} - -.no-padding { - padding: 0 !important; -} - -.no-margin { - margin: 0 !important; -} - -/*Exclusive Theme Colors Configuration*/ - -.label-theme { - background-color: #68dff0; -} - -.bg-theme { - background-color: #68dff0; -} - -ul.top-menu > li > .logout { - color: #f2f2f2; - font-size: 12px; - border-radius: 4px; - -webkit-border-radius: 4px; - border: 1px solid #64c3c2 !important; - padding: 5px 15px; - margin-right: 15px; - background: #68dff0; - margin-top: 15px; -} - -/*sidebar navigation*/ - -#sidebar { - width: 210px; - height: 100%; - position: fixed; - background: #424a5d; -} - -#sidebar h5 { - color: #f2f2f2; - font-weight: 700; -} - -#sidebar ul li { - position: relative; -} - -#sidebar .sub-menu > .sub li { - padding-left: 32px; -} - -#sidebar .sub-menu > .sub li:last-child { - padding-bottom: 10px; -} - -/*LEFT NAVIGATION ICON*/ -.dcjq-icon { - height: 17px; - width: 17px; - display: inline-block; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - position: absolute; - right: 10px; - top: 15px; -} - -.active .dcjq-icon { - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; -} - -/*---*/ - -.nav-collapse.collapse { - display: inline; -} - -ul.sidebar-menu, ul.sidebar-menu li ul.sub { - margin: -2px 0 0; - padding: 0; -} - -ul.sidebar-menu { - margin-top: 75px; -} - -#sidebar > ul > li > ul.sub { - display: none; -} - -#sidebar > ul > li.active > ul.sub, #sidebar > ul > li > ul.sub > li > a { - display: block; -} - -ul.sidebar-menu li ul.sub li { - background: #424a5d; - margin-bottom: 0; - margin-left: 0; - margin-right: 0; -} - -ul.sidebar-menu li ul.sub li:last-child { - border-radius: 0 0 4px 4px; - -webkit-border-radius: 0 0 4px 4px; -} - -ul.sidebar-menu li ul.sub li a { - font-size: 12px; - padding: 6px 0; - line-height: 35px; - height: 35px; - -webkit-transition: all 0.3s ease; - -moz-transition: all 0.3s ease; - -o-transition: all 0.3s ease; - -ms-transition: all 0.3s ease; - transition: all 0.3s ease; - color: #aeb2b7; -} - -ul.sidebar-menu li ul.sub li a:hover { - color: white; - background: transparent; -} - -ul.sidebar-menu li ul.sub li.active a { - color: #68dff0; - -webkit-transition: all 0.3s ease; - -moz-transition: all 0.3s ease; - -o-transition: all 0.3s ease; - -ms-transition: all 0.3s ease; - transition: all 0.3s ease; - display: block; -} - -ul.sidebar-menu li { - /*line-height: 20px !important;*/ - margin-bottom: 5px; - margin-left: 10px; - margin-right: 10px; -} - -ul.sidebar-menu li.sub-menu { - line-height: 15px; -} - -ul.sidebar-menu li a span { - display: inline-block; -} - -ul.sidebar-menu li a { - color: #aeb2b7; - text-decoration: none; - display: block; - padding: 15px 0 15px 10px; - font-size: 12px; - outline: none; - -webkit-transition: all 0.3s ease; - -moz-transition: all 0.3s ease; - -o-transition: all 0.3s ease; - -ms-transition: all 0.3s ease; - transition: all 0.3s ease; -} - -ul.sidebar-menu li a.active, ul.sidebar-menu li a:hover, ul.sidebar-menu li a:focus { - background: #68dff0; - color: #fff; - display: block; - - -webkit-transition: all 0.3s ease; - -moz-transition: all 0.3s ease; - -o-transition: all 0.3s ease; - -ms-transition: all 0.3s ease; - transition: all 0.3s ease; -} - -ul.sidebar-menu li a i { - font-size: 15px; - padding-right: 6px; -} - -ul.sidebar-menu li a:hover i, ul.sidebar-menu li a:focus i { - color: #fff; -} - -ul.sidebar-menu li a.active i { - color: #fff; -} - -.mail-info, .mail-info:hover { - margin: -3px 6px 0 0; - font-size: 11px; -} - -/* MAIN CONTENT CONFIGURATION */ -#main-content { - margin-left: 210px; -} - -.header, .footer { - min-height: 60px; - padding: 0 15px; -} - -.header { - position: fixed; - left: 0; - right: 0; - z-index: 1002; -} - -.black-bg { - background: #FFFFFF; - border-bottom: 1px solid #FFFFFF; -} - -.wrapper { - display: inline-block; - margin-top: 60px; - padding-left: 15px; - padding-right: 15px; - padding-bottom: 15px; - padding-top: 0px; - width: 100%; -} - -a.logo { - font-size: 20px; - color: #2e2e2e; - float: left; - margin-top: 15px; - text-transform: uppercase; -} - -a.logo b { - font-weight: 900; -} - -a.logo:hover, a.logo:focus { - text-decoration: none; - outline: none; -} - -a.logo span { - color: #68dff0; -} - -/*notification*/ -#top_menu .nav > li, ul.top-menu > li { - float: left; -} - -.notify-row { - float: right; - margin-top: 15px; - margin-left: 92px; -} - -.notify-row .notification span.label { - display: inline-block; - height: 18px; - width: 20px; - padding: 5px; -} - -ul.top-menu > li > a { - color: #666666; - font-size: 16px; - border-radius: 4px; - -webkit-border-radius: 4px; - border: 1px solid #666666 !important; - padding: 2px 6px; - margin-right: 15px; -} - -ul.top-menu > li > a:hover, ul.top-menu > li > a:focus { - border: 1px solid #b6b6b6 !important; - background-color: transparent !important; - border-color: #b6b6b6 !important; - text-decoration: none; - border-radius: 4px; - -webkit-border-radius: 4px; - color: #b6b6b6 !important; -} - -.notify-row .badge { - position: absolute; - right: -10px; - top: -10px; - z-index: 100; -} - -.dropdown-menu.extended { - max-width: 300px !important; - min-width: 20px !important; - top: 42px; - position: absolute !important; - left: auto; -!important; - right: 0px !important; - width: 235px !important; - padding: 0; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.176) !important; - border: none !important; - border-radius: 4px; - -webkit-border-radius: 4px; -} - -@media screen and (-webkit-min-device-pixel-ratio: 0) { - /* Safari and Chrome */ - .dropdown-menu.extended { - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.176) !important; - } -} - -.dropdown-menu.extended li p { - background-color: #F1F2F7; - color: #666666; - margin: 0; - padding: 10px; - border-radius: 4px 4px 0px 0px; - -webkit-border-radius: 4px 4px 0px 0px; -} - -.dropdown-menu.extended li p.green { - background-color: #68dff0; - color: #fff; -} - -.dropdown-menu.extended li p.yellow { - background-color: #fcb322; - color: #fff; -} - -.dropdown-menu.extended li a { - border-bottom: 1px solid #EBEBEB !important; - font-size: 12px; - list-style: none; -} - -.dropdown-menu.extended li a { - padding: 15px 10px !important; - width: 100%; - display: inline-block; -} - -.dropdown-menu.extended li a:hover { - background-color: #F7F8F9 !important; - color: #2E2E2E; -} - -.dropdown-menu.tasks-bar .task-info .desc { - font-size: 13px; - font-weight: normal; -} - -.dropdown-menu.tasks-bar .task-info .percent { - display: inline-block; - float: right; - font-size: 13px; - font-weight: 600; - padding-left: 10px; - margin-top: -4px; -} - -.dropdown-menu.extended .progress { - margin-bottom: 0 !important; - height: 10px; -} - -.dropdown-menu.inbox li a .photo img { - border-radius: 2px 2px 2px 2px; - float: left; - height: 40px; - margin-right: 4px; - width: 40px; -} - -.dropdown-menu.inbox li a .subject { - display: block; -} - -.dropdown-menu.inbox li a .subject .from { - font-size: 12px; - font-weight: 600; -} - -.dropdown-menu.inbox li a .subject .time { - font-size: 11px; - font-style: italic; - font-weight: bold; - position: absolute; - right: 5px; -} - -.dropdown-menu.inbox li a .message { - display: block !important; - font-size: 11px; -} - -.top-nav { - margin-top: 7px; -} - -.top-nav ul.top-menu > li .dropdown-menu.logout { - width: 268px !important; - -} - -.top-nav li.dropdown .dropdown-menu { - float: right; - right: 0; - left: auto; -} - -.dropdown-menu.extended.logout > li { - float: left; - text-align: center; - width: 33.3%; -} - -.dropdown-menu.extended.logout > li:last-child { - float: left; - text-align: center; - width: 100%; - background: #a9d96c; - border-radius: 0 0 3px 3px; -} - -.dropdown-menu.extended.logout > li:last-child > a, .dropdown-menu.extended.logout > li:last-child > a:hover { - color: #fff; - border-bottom: none !important; - text-transform: uppercase; -} - -.dropdown-menu.extended.logout > li:last-child > a:hover > i { - color: #fff; -} - -.dropdown-menu.extended.logout > li > a { - color: #a4abbb; - border-bottom: none !important; -} - -.full-width .dropdown-menu.extended.logout > li > a:hover { - background: none !important; - color: #50c8ea !important; -} - -.dropdown-menu.extended.logout > li > a:hover { - background: none !important; -} - -.dropdown-menu.extended.logout > li > a:hover i { - color: #50c8ea; -} - -.dropdown-menu.extended.logout > li > a i { - font-size: 17px; -} - -.dropdown-menu.extended.logout > li > a > i { - display: block; -} - -.top-nav ul.top-menu > li > a { - border: 1px solid #eeeeee; - border-radius: 4px; - -webkit-border-radius: 4px; - padding: 6px; - background: none; - margin-right: 0; -} - -.top-nav ul.top-menu > li { - margin-left: 10px; -} - -.top-nav ul.top-menu > li > a:hover, .top-nav ul.top-menu > li > a:focus { - border: 1px solid #F1F2F7; - background: #F1F2F7; - -} - -.top-nav .dropdown-menu.extended.logout { - top: 50px; -} - -.top-nav .nav .caret { - border-bottom-color: #A4AABA; - border-top-color: #A4AABA; -} - -.top-nav ul.top-menu > li > a:hover .caret { - border-bottom-color: #000; - border-top-color: #000; -} - -.log-arrow-up { - width: 20px; - height: 11px; - position: absolute; - right: 20px; - top: -10px; -} - -/*----*/ - -.notify-arrow { - border-style: solid; - border-width: 0 9px 9px; - height: 0; - margin-top: 0; - opacity: 0; - position: absolute; - right: 20px; - top: -18px; - transition: all 0.25s ease 0s; - width: 0; - z-index: 10; - margin-top: 10px; - opacity: 1; -} - -.notify-arrow-yellow { - border-color: transparent transparent #FCB322; - border-bottom-color: #FCB322 !important; - border-top-color: #FCB322 !important; -} - -.notify-arrow-green { - border-color: transparent transparent #68dff0; - border-bottom-color: #68dff0 !important; - border-top-color: #68dff0 !important; -} - -/*--sidebar toggle---*/ - -.sidebar-toggle-box { - float: left; - padding-right: 15px; - margin-top: 20px; -} - -.sidebar-toggle-box .fa-bars { - cursor: pointer; - display: inline-block; - font-size: 20px; -} - -.sidebar-closed > #sidebar > ul { - display: none; -} - -.sidebar-closed #main-content { - margin-left: 0px; -} - -.sidebar-closed #sidebar { - margin-left: -180px; -} - -/* Dash Side */ - -.ds { - background: #ffffff; - padding-top: 20px; -} - -.ds h4 { - font-size: 14px; - font-weight: 700; -} - -.ds h3 { - color: #ffffff; - font-size: 16px; - padding: 0 10px; - line-height: 60px; - height: 60px; - margin: 0; - background: #ff865c; - text-align: center; -} - -.ds i { - font-size: 12px; - line-height: 16px; -} - -.ds .desc { - border-bottom: 1px solid #eaeaea; - display: inline-block; - padding: 15px 0; - width: 100%; -} - -.ds .desc:hover { - background: #f2f2f2; -} - -.ds .thumb { - width: 30px; - margin: 0 10px 0 20px; - display: block; - float: left; -} - -.ds .details { - width: 170px; - float: left; -} - -.ds > .desc p { - font-size: 11px; -} - -.ds a { - color: #68dff0; -} - -/* LINE ICONS CONFIGURATION */ - -.mtbox { - margin-top: 80px; - margin-bottom: 40px; -} - -.box1 { - padding: 15px; - text-align: center; - color: #989898; - border-bottom: 1px solid #989898; -} - -.box1 span { - font-size: 50px; - -} - -.box1 h3 { - text-align: center; -} - -.box0:hover .box1 { - border-bottom: 1px solid #ffffff; -} - -.box0 p { - text-align: center; - font-size: 12px; - color: #f2f2f2; -} - -.box0:hover p { - color: #ff865c; -} - -.box0:hover { - background: #ffffff; - box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2); -} - -/* MAIN CHART CONFIGURATION */ -.main-chart { - padding-top: 20px; -} - -.mleft { -} - -.border-head h3 { - margin-top: 20px; - margin-bottom: 20px; - margin-left: 15px; - padding-bottom: 5px; - font-weight: normal; - font-size: 18px; - display: inline-block; - width: 100%; - font-weight: 700; - color: #989898; -} - -.custom-bar-chart { - height: 290px; - margin-top: 20px; - margin-left: 20px; - position: relative; - border-bottom: 1px solid #c9cdd7; -} - -.custom-bar-chart .bar { - height: 100%; - position: relative; - width: 6%; - margin: 0px 4%; - float: left; - text-align: center; - z-index: 10; -} - -.custom-bar-chart .bar .title { - position: absolute; - bottom: -30px; - width: 100%; - text-align: center; - font-size: 11px; -} - -.custom-bar-chart .bar .value { - position: absolute; - bottom: 0; - background: #ff865c; - color: #68dff0; - width: 100%; - -webkit-border-radius: 5px 5px 0 0; - -moz-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; - -webkit-transition: all .3s ease; - -moz-transition: all .3s ease; - -ms-transition: all .3s ease; - -o-transition: all .3s ease; - transition: all .3s ease; -} - -.custom-bar-chart .bar .value:hover { - background: #2f2f2f; - color: #fff; -} - -.y-axis { - color: #555555; - position: absolute; - text-align: left; - width: 100%; - font-size: 11px; -} - -.y-axis li { - border-top: 1px dashed #dbdce0; - display: block; - height: 58px; - width: 100%; -} - -.y-axis li:last-child { - border-top: none; -} - -.y-axis li span { - display: block; - margin: -10px 0 0 -60px; - padding: 0 10px; - width: 40px; -} - -/*Donut Chart Main Page Conf*/ -.donut-main { - display: block; - text-align: center; -} - -.donut-main h4 { - font-weight: 700; - font-size: 16px; -} - -/* ************************************************************************************* -PANELS CONFIGURATIONS -*************************************************************************************** */ - -/*Panel Size*/ - -.pn { - height: 250px; - box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2); -} - -.pn:hover { - box-shadow: 2px 3px 2px rgba(0, 0, 0, 0.3); - -} - -/*Grey Panel*/ - -.grey-panel { - text-align: center; - background: #dfdfe1; -} - -.grey-panel .grey-header { - background: #ccd1d9; - padding: 3px; - margin-bottom: 15px; -} - -.grey-panel h5 { - font-weight: 200; - margin-top: 10px; -} - -.grey-panel p { - margin-left: 5px; -} - -/* Specific Conf for Donut Charts*/ -.donut-chart p { - margin-top: 5px; - font-weight: 700; - margin-left: 15px; -} - -.donut-chart h2 { - font-weight: 900; - color: #FF6B6B; - font-size: 38px; -} - -/* Dark Blue*/ - -.darkblue-panel { - text-align: center; - background: #444c57; -} - -.darkblue-panel .darkblue-header { - background: transparent; - padding: 3px; - margin-bottom: 15px; -} - -.darkblue-panel h1 { - color: #f2f2f2; -} - -.darkblue-panel h5 { - font-weight: 200; - margin-top: 10px; - color: white; -} - -.darkblue-panel footer { - color: white; -} - -.darkblue-panel footer h5 { - margin-left: 10px; - margin-right: 10px; - font-weight: 700; -} - -/*Green Panel*/ -.green-panel { - text-align: center; - background: #68dff0; -} - -.green-panel .green-header { - background: #43b1a9; - padding: 3px; - margin-bottom: 15px; -} - -.green-panel h5 { - color: white; - font-weight: 200; - margin-top: 10px; -} - -.green-panel h3 { - color: white; - font-weight: 100; -} - -.green-panel p { - color: white; -} - -/*White Panel */ -.white-panel { - text-align: center; - background: #ffffff; - color: #ccd1d9; -} - -.white-panel p { - margin-top: 5px; - font-weight: 700; - margin-left: 15px; -} - -.white-panel .white-header { - background: #f4f4f4; - padding: 3px; - margin-bottom: 15px; - color: #c6c6c6; -} - -.white-panel .small { - font-size: 10px; - color: #ccd1d9; -} - -.white-panel i { - color: #68dff0; - padding-right: 4px; - font-size: 14px; -} - -/*STOCK CARD Panel*/ -.card { - background: white; - box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2); - margin-bottom: 1em; - height: 250px; -} - -.stock .stock-chart { - background: #00c5de; -} - -.stock .stock-chart #chart { - height: 10.7em; - background: url(http://i.imgbox.com/abmuNQx2) center bottom no-repeat; -} - -.stock .current-price { - background: #1d2122; - padding: 10px; -} - -.stock .current-price .info abbr { - display: block; - color: #f8f8f8; - font-size: 1.5em; - font-weight: 600; - margin-top: 0.18em; -} - -.stock .current-price .changes { - text-align: right; -} - -.stock .changes .up { - color: #4fd98b -} - -.stock .current-price .changes .value { - font-size: 1.8em; - font-weight: 700; -} - -.stock .summary { - color: #2f2f2f; - display: block; - background: #f2f2f2; - padding: 10px; - text-align: center; -} - -.stock .summary strong { - font-weight: 900; - font-size: 14px; -} - -/*Content Panel*/ -.content-panel { - background: #ffffff; - box-shadow: 0px 3px 2px #aab2bd; - padding-top: 15px; - padding-bottom: 5px; -} - -.content-panel h4 { - margin-left: 10px; -} - -/*WEATHER PANELS*/ - -/* Weather 1 */ -.weather { - background: url(../img/weather.jpg) no-repeat center top; - text-align: center; - background-position: center center; -} - -.weather i { - color: white; - margin-top: 45px; -} - -.weather h2 { - color: white; - font-weight: 900; -} - -.weather h4 { - color: white; - font-weight: 900; - letter-spacing: 1px; -} - -/* Weather 2 */ -.weather-2 { - background: #e9f0f4; -} - -.weather-2 .weather-2-header { - background: #54bae6; - padding-top: 5px; - margin-bottom: 5px; -} - -.weather-2 .weather-2-header p { - color: white; - margin-left: 5px; - margin-right: 5px; -} - -.weather-2 .weather-2-header p small { - font-size: 10px; -} - -.weather-2 .data { - margin-right: 10px; - margin-left: 10px; - color: #272b34; -} - -.weather-2 .data h5 { - margin-top: 0px; - font-weight: lighter; -} - -.weather-2 .data h1 { - margin-top: 2px; -} - -/* Weather 3 */ -.weather-3 { - background: #ffcf00; -} - -.weather-3 i { - color: white; - margin-top: 30px; - font-size: 70px; -} - -.weather-3 h1 { - margin-top: 10px; - color: white; - font-weight: 900; -} - -.weather-3 .info { - background: #f2f2f2; -} - -.weather-3 .info i { - font-size: 15px; - color: #c2c2c2; - margin-bottom: 0px; - margin-top: 10px; -} - -.weather-3 .info h3 { - font-weight: 900; - margin-bottom: 0px; -} - -.weather-3 .info p { - margin-left: 10px; - margin-right: 10px; - margin-bottom: 16px; - color: #c2c2c2; - font-size: 15px; - font-weight: 700; -} - -/*Twitter Panel*/ -.twitter-panel { - background: #4fc1e9; - text-align: center; -} - -.twitter-panel i { - color: white; - margin-top: 40px; -} - -.twitter-panel p { - color: #f5f5f5; - margin: 10px; -} - -.twitter-panel .user { - color: white; - font-weight: 900; -} - -/* Instagram Panel*/ -.instagram-panel { - background: url(../img/instagram.jpg) no-repeat center top; - text-align: center; - background-position: center center; -} - -.instagram-panel i { - color: white; - margin-top: 35px; -} - -.instagram-panel p { - margin: 5px; - color: white; -} - -/* Product Panel */ -.product-panel { - background: #dadad2; - text-align: center; - padding-top: 50px; - height: 100%; -} - -/* Product Panel 2*/ -.product-panel-2 { - background: #dadad2; - text-align: center; -} - -.product-panel-2 .badge { - position: absolute; - top: 20px; - left: 35px; -} - -.badge-hot { - background: #ed5565; - width: 70px; - height: 70px; - line-height: 70px; - font-size: 18px; - color: #fff; - text-align: center; - border-radius: 100%; -} - -/* Soptify Panel */ -#spotify { - background: url(../img/lorde.jpg) no-repeat center top; - margin-top: -15px; - background-position: center center; - min-height: 220px; - width: 100%; - -webkit-background-size: 100%; - -moz-background-size: 100%; - -o-background-size: 100%; - background-size: 100%; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} - -#spotify .btn-clear-g { - top: 15%; - right: 10px; - position: absolute; - margin-top: 5px; -} - -#spotify .sp-title { - bottom: 15%; - left: 25px; - position: absolute; - color: #efefef; -} - -#spotify .sp-title h3 { - font-weight: 900; -} - -#spotify .play { - bottom: 18%; - right: 25px; - position: absolute; - color: #efefef; - font-size: 20px -} - -.followers { - margin-left: 5px; - margin-top: 5px; -} - -/* BLOG PANEL */ -#blog-bg { - background: url(../img/blog-bg.jpg) no-repeat center top; - margin-top: -15px; - background-position: center center; - min-height: 150px; - width: 100%; - -webkit-background-size: 100%; - -moz-background-size: 100%; - -o-background-size: 100%; - background-size: 100%; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} - -#blog-bg .badge { - position: absolute; - top: 20px; - left: 35px; -} - -.badge-popular { - background: #3498db; - width: 70px; - height: 70px; - line-height: 70px; - font-size: 13px; - color: #fff; - text-align: center; - border-radius: 100%; -} - -.blog-title { - background: rgba(0, 0, 0, 0.5); - bottom: 100px; - padding: 6px; - color: white; - font-weight: 700; - position: absolute; - display: block; - width: 120px; -} - -.blog-text { - margin-left: 8px; - margin-right: 8px; - margin-top: 15px; - font-size: 12px; -} - -/* Calendar Configuration */ -#calendar { - color: white; - padding: 0px !important; -} - -.calendar-month-header { - background: #43b1a9; -} - -/* TODO PANEL */ -.steps { - display: block; -} - -.steps input[type=checkbox] { - display: none; -} - -.steps input[type=submit] { - background: #f1783c; - border: none; - padding: 0px; - margin: 0 auto; - width: 100%; - height: 55px; - color: white; - text-transform: uppercase; - font-weight: 900; - font-size: 11px; - letter-spacing: 1px; - cursor: pointer; - transition: background 0.5s ease -} - -.steps input[type=submit]:hover { - background: #8fde9c; -} - -.steps label { - background: #393D40; - height: 65px; - line-height: 65px; - width: 100%; - display: block; - border-bottom: 1px solid #44494e; - color: #889199; - text-transform: uppercase; - font-weight: 900; - font-size: 11px; - letter-spacing: 1px; - text-indent: 52px; - cursor: pointer; - transition: all 0.7s ease; - margin: 0px; -} - -.steps label:before { - content: ""; - width: 12px; - height: 12px; - display: block; - position: absolute; - margin: 26px 0px 0px 18px; - border-radius: 100%; - transition: border 0.7s ease -} - -.steps label:hover { - background: #2B2E30; - color: #46b7e5 -} - -.steps label:hover:before { - border: 1px solid #46b7e5; -} - -#op1:checked ~ label[for=op1]:before, -#op2:checked ~ label[for=op2]:before, -#op3:checked ~ label[for=op3]:before { - border: 2px solid #96c93c; - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGFJREFUeNpinHLMhgEHKADia0xQThIQs6JJ9gPxZhYQAcS6QHwDiI8hSYJAC0gBPxDLAvFcIJ6JJJkDxFNBVtgBcQ8Qa6BLghgwN4A4a9ElQYAFSj8C4mwg3o8sCQIAAQYA78QTYqnPZuEAAAAASUVORK5CYII=') no-repeat center center; -} - -/* PROFILE PANELS */ -/* Profile 01*/ -#profile-01 { - background: url(../img/profile-01.jpg) no-repeat center top; - margin-top: -15px; - background-position: center center; - min-height: 150px; - width: 100%; - -webkit-background-size: 100%; - -moz-background-size: 100%; - -o-background-size: 100%; - background-size: 100%; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} - -#profile-01 h3 { - color: white; - padding-top: 50px; - margin: 0px; - text-align: center; -} - -#profile-01 h6 { - color: white; - text-align: center; - margin-bottom: 0px; - font-weight: 900; -} - -.profile-01 { - background: #68dff0; - height: 50px; -} - -.profile-01:hover { - background: #2f2f2f; - -webkit-transition: background-color 0.6s; - -moz-transition: background-color 0.6s; - -o-transition: background-color 0.6s; - transition: background-color 0.6s; - cursor: pointer; -} - -.profile-01 p { - color: white; - padding-top: 15px; - font-weight: 400; - font-size: 15px; -} - -/* Profile 02*/ -#profile-02 { - background: url(../img/profile-02.jpg) no-repeat center top; - margin-top: -15px; - background-position: center center; - min-height: 200px; - width: 100%; - -webkit-background-size: 100%; - -moz-background-size: 100%; - -o-background-size: 100%; - background-size: 100%; - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} - -#profile-02 .user { - padding-top: 40px; - text-align: center; -} - -#profile-02 h4 { - color: white; - margin: 0px; - padding-top: 8px; -} - -.pr2-social a { - color: #cdcdcd; -} - -.pr2-social a:hover { - color: #68dff0; -} - -.pr2-social i { - margin-top: 15px; - margin-right: 12px; - font-size: 20px; -} - -/*spark line*/ -.chart { - display: inline-block; - text-align: center; - width: 100%; -} - -.chart .heading { - text-align: left; -} - -.chart .heading span { - display: block; -} - -.panel.green-chart .chart-tittle { - font-size: 16px; - padding: 15px; - display: inline-block; - font-weight: normal; - background: #99c262; - width: 100%; - -webkit-border-radius: 0px 0px 4px 4px; - border-radius: 0px 0px 4px 4px; -} - -#barchart { - margin-bottom: -15px; - display: inline-block; -} - -.panel.green-chart .chart-tittle .value { - float: right; - color: #c0f080; -} - -.panel.green-chart { - background: #a9d96c; - color: #fff; -} - -.panel.terques-chart { - background: transparent; - color: #797979; -} - -.panel.terques-chart .chart-tittle .value { - float: right; - color: #fff; -} - -.panel.terques-chart .chart-tittle .value a { - color: #2f2f2f; - font-size: 12px; -} - -.panel.terques-chart .chart-tittle .value a:hover, .panel.terques-chart .chart-tittle .value a.active { - color: #68dff0; - font-size: 12px; -} - -.panel.terques-chart .chart-tittle { - font-size: 16px; - padding: 15px; - display: inline-block; - font-weight: normal; - background: #39b7ac; - width: 100%; - -webkit-border-radius: 0px 0px 4px 4px; - border-radius: 0px 0px 4px 4px; -} - -.inline-block { - display: inline-block; -} - -/* showcase background */ -.showback { - background: #ffffff; - padding: 15px; - margin-bottom: 15px; - box-shadow: 0px 3px 2px #aab2bd; -} - -/* Calendar Events - Calendar.html*/ -.external-event { - cursor: move; - display: inline-block !important; - margin-bottom: 7px !important; - margin-right: 7px !important; - padding: 10px; -} - -.drop-after { - padding-top: 15px; - margin-top: 15px; - border-top: 1px solid #ccc; -} - -.fc-state-default, .fc-state-default .fc-button-inner { - background: #f2f2f2; -} - -.fc-state-active .fc-button-inner { - background: #FFFFFF; -} - -/* Gallery Configuration */ -.photo-wrapper { - display: block; - position: relative; - overflow: hidden; - background-color: #68dff0; - -webkit-transition: background-color 0.4s; - -moz-transition: background-color 0.4s; - -o-transition: background-color 0.4s; - transition: background-color 0.4s; -} - -.project .overlay { - position: absolute; - text-align: center; - color: #fff; - opacity: 0; - filter: alpha(opacity=0); - -webkit-transition: opacity 0.4s; - -moz-transition: opacity 0.4s; - -o-transition: opacity 0.4s; - transition: opacity 0.4s; - -} - -.project:hover .photo-wrapper { - background-color: #68dff0; - background-image: url(../img/zoom.png); - background-repeat: no-repeat; - background-position: center; - top: 0; - bottom: 0; - left: 0; - right: 0; - position: relative; -} - -.project:hover .photo { - opacity: 10; - filter: alpha(opacity=4000); - opacity: 0.1; - filter: alpha(opacity=40); -} - -.project:hover .overlay { - opacity: 100; - filter: alpha(opacity=10000); - opacity: 1; - filter: alpha(opacity=100); -} - -/* EZ Checklist */ -.ez-checkbox { - margin-right: 5px; -} - -.ez-checkbox, .ez-radio { - height: 20px; - width: 20px; -} - -.brand-highlight { - background: #fffbcc !important; -} - -/* FORMS CONFIGURATION */ -.form-panel { - background: #ffffff; - margin: 10px; - padding: 10px; - box-shadow: 0px 3px 2px #aab2bd; - text-align: left; -} - -label { - font-weight: 400; -} - -.form-horizontal.style-form .form-group { - border-bottom: 1px solid #eff2f7; - padding-bottom: 15px; - margin-bottom: 15px; -} - -.round-form { - border-radius: 500px; - -webkit-border-radius: 500px; -} - -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: left; - } -} - -#focusedInput { - border: 1px solid #ed5565; - box-shadow: none; -} - -.add-on { - float: right; - margin-top: -37px; - padding: 3px; - text-align: center; -} - -.add-on .btn { - height: 34px; -} - -/* TOGGLE CONFIGURATION */ -.has-switch { - border-radius: 30px; - -webkit-border-radius: 30px; - display: inline-block; - cursor: pointer; - line-height: 1.231; - overflow: hidden; - position: relative; - text-align: left; - width: 80px; - -webkit-mask: url('../img/mask.png') 0 0 no-repeat; - mask: url('../img/mask.png') 0 0 no-repeat; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.has-switch.deactivate { - opacity: 0.5; - filter: alpha(opacity=50); - cursor: default !important; -} - -.has-switch.deactivate label, -.has-switch.deactivate span { - cursor: default !important; -} - -.has-switch > div { - width: 162%; - position: relative; - top: 0; -} - -.has-switch > div.switch-animate { - -webkit-transition: left 0.25s ease-out; - -moz-transition: left 0.25s ease-out; - -o-transition: left 0.25s ease-out; - transition: left 0.25s ease-out; - -webkit-backface-visibility: hidden; -} - -.has-switch > div.switch-off { - left: -63%; -} - -.has-switch > div.switch-off label { - background-color: #7f8c9a; - border-color: #bdc3c7; - -webkit-box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5); - -moz-box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5); - box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5); -} - -.has-switch > div.switch-on { - left: 0%; -} - -.has-switch > div.switch-on label { - background-color: #41cac0; -} - -.has-switch input[type=checkbox] { - display: none; -} - -.has-switch span { - cursor: pointer; - font-size: 14.994px; - font-weight: 700; - float: left; - height: 29px; - line-height: 19px; - margin: 0; - padding-bottom: 6px; - padding-top: 5px; - position: relative; - text-align: center; - width: 50%; - z-index: 1; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: 0.25s ease-out; - -moz-transition: 0.25s ease-out; - -o-transition: 0.25s ease-out; - transition: 0.25s ease-out; - -webkit-backface-visibility: hidden; -} - -.has-switch span.switch-left { - border-radius: 30px 0 0 30px; - background-color: #2A3542; - color: #41cac0; - border-left: 1px solid transparent; -} - -.has-switch span.switch-right { - border-radius: 0 30px 30px 0; - background-color: #bdc3c7; - color: #ffffff; - text-indent: 7px; -} - -.has-switch span.switch-right [class*="fui-"] { - text-indent: 0; -} - -.has-switch label { - border: 4px solid #2A3542; - border-radius: 50%; - -webkit-border-radius: 50%; - float: left; - height: 29px; - margin: 0 -21px 0 -14px; - padding: 0; - position: relative; - vertical-align: middle; - width: 29px; - z-index: 100; - -webkit-transition: 0.25s ease-out; - -moz-transition: 0.25s ease-out; - -o-transition: 0.25s ease-out; - transition: 0.25s ease-out; - -webkit-backface-visibility: hidden; -} - -.switch-square { - border-radius: 6px; - -webkit-border-radius: 6px; - -webkit-mask: url('../img/mask.png') 0 0 no-repeat; - mask: url('../img/mask.png') 0 0 no-repeat; -} - -.switch-square > div.switch-off label { - border-color: #7f8c9a; - border-radius: 6px 0 0 6px; -} - -.switch-square span.switch-left { - border-radius: 6px 0 0 6px; -} - -.switch-square span.switch-left [class*="fui-"] { - text-indent: -10px; -} - -.switch-square span.switch-right { - border-radius: 0 6px 6px 0; -} - -.switch-square span.switch-right [class*="fui-"] { - text-indent: 5px; -} - -.switch-square label { - border-radius: 0 6px 6px 0; - border-color: #41cac0; -} - -/*LOGIN CONFIGURATION PAGE*/ -.form-login { - max-width: 330px; - margin: 100px auto 0; - background: #fff; - border-radius: 5px; - -webkit-border-radius: 5px; -} - -.form-login h2.form-login-heading { - margin: 0; - padding: 25px 20px; - text-align: center; - background: #68dff0; - border-radius: 5px 5px 0 0; - -webkit-border-radius: 5px 5px 0 0; - color: #fff; - font-size: 20px; - text-transform: uppercase; - font-weight: 300; -} - -.login-wrap { - padding: 20px; -} - -.login-wrap .registration { - text-align: center; -} - -.login-social-link { - display: block; - margin-top: 20px; - margin-bottom: 15px; -} - -/*LOCK SCREEN CONF*/ -#showtime { - width: 100%; - color: #fff; - font-size: 90px; - margin-bottom: 30px; - margin-top: 250px; - display: inline-block; - text-align: center; - font-weight: 400; -} - -.lock-screen { - text-align: center; -} - -.lock-screen a { - color: white; -} - -.lock-screen a:hover { - color: #48cfad -} - -.lock-screen i { - font-size: 60px; -} - -.lock-screen .modal-content { - position: relative; - background-color: #f2f2f2; - background-clip: padding-box; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 5px; -} - -.btn-facebook { - color: #fff; - background-color: #5193ea; - border-color: #2775e2; -} - -.btn-facebook:hover, -.btn-facebook:focus, -.btn-facebook:active, -.btn-facebook.active, -.open .dropdown-toggle.btn-facebook { - color: #fff; - background-color: #2775e2; - border-color: #2775e2; -} - -.btn-twitter { - color: #fff; - background-color: #44ccfe; - border-color: #2bb4e8; -} - -.btn-twitter:hover, -.btn-twitter:focus, -.btn-twitter:active, -.btn-twitter.active, -.open .dropdown-toggle.btn-twitter { - color: #fff; - background-color: #2bb4e8; - border-color: #2bb4e8; -} - -/*badge*/ -.badge.bg-primary { - background: #8075c4; -} - -.badge.bg-success { - background: #a9d86e; -} - -.badge.bg-warning { - background: #FCB322; -} - -.badge.bg-important { - background: #ff6c60; -} - -.badge.bg-info { - background: #41cac0; -} - -.badge.bg-inverse { - background: #2A3542; -} - -/*easy pie chart*/ -.easy-pie-chart { - display: inline-block; - padding: 30px 0; -} - -.chart-info, .chart-info .increase, .chart-info .decrease { - display: inline-block; -} - -.chart-info { - width: 100%; - margin-bottom: 5px; -} - -.chart-position { - margin-top: 70px; -} - -.chart-info span { - margin: 0 3px; -} - -.chart-info .increase { - background: #ff6c60; - width: 10px; - height: 10px; -} - -.chart-info .decrease { - background: #f2f2f2; - width: 10px; - height: 10px; -} - -.panel-footer.revenue-foot { - background-color: #e6e7ec; - -webkit-border-radius: 0px 0px 4px 4px; - border-radius: 0px 0px 4px 4px; - border: none; - padding: 0; - width: 100%; - display: inline-block; -} - -@media screen and (-webkit-min-device-pixel-ratio: 0) { - /* Safari and Chrome */ - .panel-footer.revenue-foot { - margin-bottom: -4px; - } -} - -.panel-footer.revenue-foot ul { - margin: 0; - padding: 0; - width: 100%; - display: inline-flex; -} - -.panel-footer.revenue-foot ul li { - float: left; - width: 33.33%; -} - -.panel-footer.revenue-foot ul li.first a:hover, .panel-footer.revenue-foot ul li.first a { - -webkit-border-radius: 0px 0px 0px 4px; - border-radius: 0px 0px 0px 4px; -} - -.panel-footer.revenue-foot ul li.last a:hover, .panel-footer.revenue-foot ul li.last a { - -webkit-border-radius: 0px 0px 4px 0px; - border-radius: 0px 0px 4px 0px; - border-right: none; - -} - -.panel-footer.revenue-foot ul li a { - display: inline-block; - width: 100%; - padding: 14px 15px; - text-align: center; - border-right: 1px solid #d5d8df; - color: #797979; -} - -.panel-footer.revenue-foot ul li a:hover, .panel-footer.revenue-foot ul li.active a { - background: #fff; - position: relative; -} - -.panel-footer.revenue-foot ul li a i { - color: #c6cad5; - display: block; - font-size: 16px; -} - -.panel-footer.revenue-foot ul li a:hover i, .panel-footer.revenue-foot ul li.active a i { - color: #ff6c60; - display: block; - font-size: 16px; -} - -/*flot chart*/ -.flot-chart .chart, .flot-chart .pie, .flot-chart .bars { - height: 300px; -} - -/*todolist*/ -#sortable { - list-style-type: none; - margin: 0 0 20px 0; - padding: 0; - width: 100%; -} - -#sortable li { - padding-left: 3em; - font-size: 12px; -} - -#sortable li i { - position: absolute; - left: 6px; - padding: 4px 10px 0 10px; - cursor: pointer; -} - -#sortable li input[type=checkbox] { - margin-top: 0; -} - -.ui-sortable > li { - padding: 15px 0 15px 35px !important; - position: relative; - background: #f5f6f8; - margin-bottom: 2px; - border-bottom: none !important; -} - -.ui-sortable li.list-primary { - border-left: 3px solid #41CAC0; -} - -.ui-sortable li.list-success { - border-left: 3px solid #78CD51; -} - -.ui-sortable li.list-danger { - border-left: 3px solid #FF6C60; -} - -.ui-sortable li.list-warning { - border-left: 3px solid #F1C500; -} - -.ui-sortable li.list-info { - border-left: 3px solid #58C9F3; -} - -.ui-sortable li.list-inverse { - border-left: 3px solid #BEC3C7; -} - -/*footer*/ -.site-footer { - background: #68dff0; - color: #fff; - padding: 10px 0; -} - -.go-top { - margin-right: 1%; - float: right; - background: rgba(255, 255, 255, .5); - width: 20px; - height: 20px; - border-radius: 50%; - -webkit-border-radius: 50%; -} - -.go-top i { - color: #2A3542; -} - -/*.site-min-height {*/ - /*min-height: 900px;*/ -/*}*/ - -#menu-right { - float: right; - margin-top: 15px; - margin-left: 92px; -} - -/*.dropdown-menu {*/ -/*float: right;*/ -/*!important;*/ - -/*}*/ - -.jumbotron { - background: #ffffff; - padding: 0; -} - -#index-video{ - position: absolute; - top:0; - left: 0; - width: 100%; - height: 100%; -} - -#video-container { - position: relative; - padding-bottom: 56.25%; - padding-top: 30px; - height: 0; - width: auto; - overflow: hidden; -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/table-responsive.css b/src/demo/manager/src/main/webapp/assets/css/table-responsive.css deleted file mode 100644 index 5e15990d..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/table-responsive.css +++ /dev/null @@ -1,94 +0,0 @@ -/*Unseen Column*/ -@media only screen and (max-width: 800px) { - #unseen table td:nth-child(2), - #unseen table th:nth-child(2) {display: none;} -} - -@media only screen and (max-width: 640px) { - #unseen table td:nth-child(4), - #unseen table th:nth-child(4), - #unseen table td:nth-child(7), - #unseen table th:nth-child(7), - #unseen table td:nth-child(8), - #unseen table th:nth-child(8){display: none;} -} - -/*flip-scroll*/ - -@media only screen and (max-width: 800px) { - #flip-scroll .cf:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } - #flip-scroll * html .cf { zoom: 1; } - #flip-scroll *:first-child+html .cf { zoom: 1; } - #flip-scroll table { width: 100%; border-collapse: collapse; border-spacing: 0; } - - #flip-scroll th, - #flip-scroll td { margin: 0; vertical-align: top; } - #flip-scroll th { text-align: left; } - #flip-scroll table { display: block; position: relative; width: 100%; } - #flip-scroll thead { display: block; float: left; } - #flip-scroll tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; } - #flip-scroll thead tr { display: block; } - #flip-scroll th { display: block; text-align: right; } - #flip-scroll tbody tr { display: inline-block; vertical-align: top; } - #flip-scroll td { display: block; min-height: 1.25em; text-align: left; } - - - /* sort out borders */ - - #flip-scroll th { border-bottom: 0; border-left: 0; } - #flip-scroll td { border-left: 0; border-right: 0; border-bottom: 0; } - #flip-scroll tbody tr { border-left: 1px solid #babcbf; } - #flip-scroll th:last-child, - #flip-scroll td:last-child { border-bottom: 1px solid #babcbf; } -} - -/*no more table*/ - -@media only screen and (max-width: 800px) { - /* Force table to not be like tables anymore */ - #no-more-tables table, - #no-more-tables thead, - #no-more-tables tbody, - #no-more-tables th, - #no-more-tables td, - #no-more-tables tr { - display: block; - } - - /* Hide table headers (but not display: none;, for accessibility) */ - #no-more-tables thead tr { - position: absolute; - top: -9999px; - left: -9999px; - } - - #no-more-tables tr { border: 1px solid #ccc; } - - #no-more-tables td { - /* Behave like a "row" */ - border: none; - border-bottom: 1px solid #eee; - position: relative; - padding-left: 50%; - white-space: normal; - text-align:left; - } - - #no-more-tables td:before { - /* Now like a table header */ - position: absolute; - /* Top/left values mimic padding */ - top: 6px; - left: 6px; - width: 45%; - padding-right: 10px; - white-space: nowrap; - text-align:left; - font-weight: bold; - } - - /* - Label the data - */ - #no-more-tables td:before { content: attr(data-title); } -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/taotao.css b/src/demo/manager/src/main/webapp/assets/css/taotao.css deleted file mode 100644 index 6e8f0561..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/taotao.css +++ /dev/null @@ -1,32 +0,0 @@ -ul{ - list-style: none; -} - -.hide{ - display: none; -} - -.itemParam ul{ - padding-left: 0px; -} -.itemParam li{ - line-height: 25px; -} - -.itemForm .pics ul{ - list-style: none; - padding-left: 0px; -} -.itemForm .pics ul li{ - float: left; - padding-right: 5px; -} -.itemForm .group{ - font-weight: bold; - text-align: center; - background-color: #EAEAEA; -} -.itemForm .param{ - width: 80px; - text-align: right; -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/to-do.css b/src/demo/manager/src/main/webapp/assets/css/to-do.css deleted file mode 100644 index 52b6d2c6..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/to-do.css +++ /dev/null @@ -1,110 +0,0 @@ -/*--------------Tasks Widget--------------*/ - -.task-content { - margin-bottom: 30px; -} - -.task-panel { - background: #fff; - text-align: left; - box-shadow: 0px 3px 2px #aab2bd; - margin: 5px; -} - -.tasks-widget .task-content:after { - clear: both; -} - -.tasks-widget .task-footer { - margin-top: 5px; -} - -.tasks-widget .task-footer:after, -.tasks-widget .task-footer:before { - content: ""; - display: table; - line-height: 0; -} - -.tasks-widget .task-footer:after { - clear: both; -} - -.tasks-widget .task-list { - padding:0; - margin:0; -} - -.tasks-widget .task-list > li { - position:relative; - padding:10px 5px; - border-bottom:1px dashed #eaeaea; -} - -.tasks-widget .task-list li.last-line { - border-bottom:none; -} - -.tasks-widget .task-list li > .task-bell { - margin-left:10px; -} - -.tasks-widget .task-list li > .task-checkbox { - float:left; - width:30px; -} - -.tasks-widget .task-list li > .task-title { - overflow:hidden; - margin-right:10px; -} - -.tasks-widget .task-list li > .task-config { - position:absolute; - top:10px; - right:10px; -} - -.tasks-widget .task-list li .task-title .task-title-sp { - margin-right:5px; -} - -.tasks-widget .task-list li.task-done .task-title-sp { - text-decoration:line-through; - color: #bbbbbb; -} - -.tasks-widget .task-list li.task-done { - background:#f6f6f6; -} - -.tasks-widget .task-list li.task-done:hover { - background:#f4f4f4; -} - -.tasks-widget .task-list li:hover { - background:#f9f9f9; -} - -.tasks-widget .task-list li .task-config { - display:none; -} - -.tasks-widget .task-list li:hover > .task-config { - display:block; - margin-bottom:0 !important; -} - - -@media only screen and (max-width: 320px) { - - .tasks-widget .task-config-btn { - float:inherit; - display:block; - } - - .tasks-widget .task-list-projects li > .label { - margin-bottom:5px; - } - -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/zabuto_calendar.css b/src/demo/manager/src/main/webapp/assets/css/zabuto_calendar.css deleted file mode 100644 index 8289d25e..00000000 --- a/src/demo/manager/src/main/webapp/assets/css/zabuto_calendar.css +++ /dev/null @@ -1,180 +0,0 @@ -/** - * Zabuto Calendar - */ - -div.zabuto_calendar { - margin: 0; - padding: 10px; -} - -.calendar-month-header {font-size:116%!important;} -.calendar-month-header th {font-weight:600!important;} - -div.zabuto_calendar .table { - width: 100%; - margin: 0; - padding: 0px; -} - -div.zabuto_calendar .table th, -div.zabuto_calendar .table td { - padding: 11.9px 0px; - text-align: center; -} - -div.zabuto_calendar .table tr th, -div.zabuto_calendar .table tr td { - background-color:; -} - -div.zabuto_calendar .table tr.calendar-month-header th { - background-color:; -} - -div.zabuto_calendar .table tr.calendar-month-header th span { - cursor: pointer; - display: inline-block; - padding-bottom:0px; - -} - -div.zabuto_calendar .table tr.calendar-dow-header th { - background-color:; -} - -div.zabuto_calendar .table tr:last-child { - border-bottom: 0px solid #dddddd; -} - -div.zabuto_calendar .table tr.calendar-month-header th { - padding:10px; - - } - -div.zabuto_calendar .table-bordered tr.calendar-month-header th { - border-left: 0; - border-right: 0; -} - -div.zabuto_calendar .table-bordered tr.calendar-month-header th:first-child { - border-left: 0px solid #dddddd; -} - -div.zabuto_calendar div.calendar-month-navigation { - cursor: pointer; - margin: 0; - padding: 0; - padding-top:0px; -} - -div.zabuto_calendar tr.calendar-dow-header th, -div.zabuto_calendar tr.calendar-dow td { - width: 14%; -} - -div.zabuto_calendar .table tr td div.day { - margin: 0px; - padding-top: 0px; - padding-bottom: 0px; -} - -/* actions and events */ -div.zabuto_calendar .table tr td.event div.day, -div.zabuto_calendar ul.legend li.event { - background-color:; -} - -div.zabuto_calendar .table tr td.dow-clickable, -div.zabuto_calendar .table tr td.event-clickable { - cursor: pointer; -} - -/* badge */ -div.zabuto_calendar .badge-today, -div.zabuto_calendar div.legend span.badge-today { - background-color:; - color: #ffffff; - text-shadow: none; -} - -div.zabuto_calendar .badge-event, -div.zabuto_calendar div.legend span.badge-event { - background-color:; - color: #ffffff; - text-shadow: none; -} - -div.zabuto_calendar .badge-event { - font-size: 0.95em; - padding-left: 8px; - padding-right: 8px; - padding-bottom: 4px; -} - -/* legend */ -div.zabuto_calendar div.legend { - margin-top: 15px; - text-align: right; - padding-right:10px; - padding-bottom:10px; -} - -div.zabuto_calendar div.legend span { - font-size: 10px; - font-weight: normal; -} - -div.zabuto_calendar div.legend span.legend-text:after, -div.zabuto_calendar div.legend span.legend-block:after, -div.zabuto_calendar div.legend span.legend-list:after, -div.zabuto_calendar div.legend span.legend-spacer:after { - content: ' '; -} - -div.zabuto_calendar div.legend span.legend-spacer { - padding-left: 25px; -} - -div.zabuto_calendar ul.legend > span { - padding-left: 2px; -} - -div.zabuto_calendar ul.legend { - display: inline-block; - list-style: none outside none; - margin: 0; - padding: 0; -} - -div.zabuto_calendar ul.legend li { - display: inline-block; - height: 8px; - width: 8px; - margin-left: 5px; -} - -div.zabuto_calendar ul.legend -div.zabuto_calendar ul.legend li:first-child { - margin-left: 7px; -} - -div.zabuto_calendar ul.legend li:last-child { - margin-right: 5px; -} - -div.zabuto_calendar div.legend span.badge { - font-size: 0.9em; - border-radius: 5px 5px 5px 5px; - padding-left: 5px; - padding-right: 5px; - padding-top: 2px; - padding-bottom: 3px; -} - -/* responsive */ -@media (max-width: 979px) { - div.zabuto_calendar .table th, - div.zabuto_calendar .table td { - padding: 2px 1px; - } -} diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/css/font-awesome.css b/src/demo/manager/src/main/webapp/assets/font-awesome/css/font-awesome.css deleted file mode 100644 index eb4127b7..00000000 --- a/src/demo/manager/src/main/webapp/assets/font-awesome/css/font-awesome.css +++ /dev/null @@ -1,1566 +0,0 @@ -/*! - * Font Awesome 4.1.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.1.0'); - src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.fa { - display: inline-block; - font-family: FontAwesome; - font-style: normal; - font-weight: normal; - line-height: 1; - -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; -} -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fa.pull-left { - margin-right: .3em; -} -.fa.pull-right { - margin-left: .3em; -} -.fa-spin { - -webkit-animation: spin 2s infinite linear; - -moz-animation: spin 2s infinite linear; - -o-animation: spin 2s infinite linear; - animation: spin 2s infinite linear; -} -@-moz-keyframes spin { - 0% { - -moz-transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(359deg); - } -} -@-webkit-keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - } -} -@-o-keyframes spin { - 0% { - -o-transform: rotate(0deg); - } - 100% { - -o-transform: rotate(359deg); - } -} -@keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} -.fa-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} -.fa-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} -.fa-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -moz-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - -o-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.fa-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -moz-transform: scale(1, -1); - -ms-transform: scale(1, -1); - -o-transform: scale(1, -1); - transform: scale(1, -1); -} -.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-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 { - 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:before { - content: "\f09a"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.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 { - 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-square:before, -.fa-pied-piper: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-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa-ra: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-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"; -} diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/FontAwesome.otf b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/FontAwesome.otf deleted file mode 100644 index 3461e3fc..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/FontAwesome.otf and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.eot b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.eot deleted file mode 100644 index 6cfd5660..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.svg b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.svg deleted file mode 100644 index a9f84695..00000000 --- a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.ttf b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 5cd6cff6..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.woff b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.woff deleted file mode 100644 index 9eaecb37..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/fonts/FontAwesome.otf b/src/demo/manager/src/main/webapp/assets/fonts/FontAwesome.otf deleted file mode 100644 index 81c9ad94..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/fonts/FontAwesome.otf and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.eot b/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.eot deleted file mode 100644 index 84677bc0..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.svg b/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.svg deleted file mode 100644 index d907b25a..00000000 --- a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,520 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.ttf b/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 96a3639c..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.woff b/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.woff deleted file mode 100644 index 628b6a52..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.eot b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index 4a4ca865..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.svg b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index e3e2dc73..00000000 --- a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.ttf b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 67fa00bf..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.woff b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index 8c54182a..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/blog-bg.jpg b/src/demo/manager/src/main/webapp/assets/img/blog-bg.jpg deleted file mode 100644 index dbeb7c62..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/blog-bg.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/checkbox-gray.png b/src/demo/manager/src/main/webapp/assets/img/checkbox-gray.png deleted file mode 100644 index 6074ccd7..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/checkbox-gray.png and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-01.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-01.jpg deleted file mode 100644 index e5142221..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-01.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-02.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-02.jpg deleted file mode 100644 index bcde0fc5..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-02.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-03.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-03.jpg deleted file mode 100644 index fac75030..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-03.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-04.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-04.jpg deleted file mode 100644 index cf7794c7..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-04.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-05.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-05.jpg deleted file mode 100644 index 8329fe9e..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-05.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-06.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-06.jpg deleted file mode 100644 index ad3ae7c9..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-06.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-07.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-07.jpg deleted file mode 100644 index f112175a..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-07.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-08.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-08.jpg deleted file mode 100644 index 51757c26..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-08.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-09.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-09.jpg deleted file mode 100644 index b9464575..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-09.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-10.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-10.jpg deleted file mode 100644 index f657eae5..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-10.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-11.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-11.jpg deleted file mode 100644 index 76ef9301..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/friends/fr-11.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/instagram.jpg b/src/demo/manager/src/main/webapp/assets/img/instagram.jpg deleted file mode 100644 index 76347faa..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/instagram.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/login-bg.jpg b/src/demo/manager/src/main/webapp/assets/img/login-bg.jpg deleted file mode 100644 index 135e3ded..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/login-bg.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/loginimg/1.jpg b/src/demo/manager/src/main/webapp/assets/img/loginimg/1.jpg deleted file mode 100644 index e43067cc..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/loginimg/1.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/loginimg/2.jpg b/src/demo/manager/src/main/webapp/assets/img/loginimg/2.jpg deleted file mode 100644 index 0a28d753..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/loginimg/2.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/loginimg/3.jpg b/src/demo/manager/src/main/webapp/assets/img/loginimg/3.jpg deleted file mode 100644 index b3443592..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/loginimg/3.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/lorde.jpg b/src/demo/manager/src/main/webapp/assets/img/lorde.jpg deleted file mode 100644 index c6d7364c..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/lorde.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/mask.png b/src/demo/manager/src/main/webapp/assets/img/mask.png deleted file mode 100644 index f893a674..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/mask.png and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/ny.jpg b/src/demo/manager/src/main/webapp/assets/img/ny.jpg deleted file mode 100644 index e3db6577..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/ny.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port01.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port01.jpg deleted file mode 100644 index 6fd0938a..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/portfolio/port01.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port02.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port02.jpg deleted file mode 100644 index 7ab9795e..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/portfolio/port02.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port03.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port03.jpg deleted file mode 100644 index ca6d1241..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/portfolio/port03.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port04.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port04.jpg deleted file mode 100644 index 7a0c62bf..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/portfolio/port04.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port05.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port05.jpg deleted file mode 100644 index 5aedbc94..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/portfolio/port05.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port06.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port06.jpg deleted file mode 100644 index 858b24d2..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/portfolio/port06.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/product.jpg b/src/demo/manager/src/main/webapp/assets/img/product.jpg deleted file mode 100644 index 8a33159f..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/product.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/product.png b/src/demo/manager/src/main/webapp/assets/img/product.png deleted file mode 100644 index c648b725..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/product.png and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/profile-01.jpg b/src/demo/manager/src/main/webapp/assets/img/profile-01.jpg deleted file mode 100644 index d47696d8..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/profile-01.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/profile-02.jpg b/src/demo/manager/src/main/webapp/assets/img/profile-02.jpg deleted file mode 100644 index 20abd0e9..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/profile-02.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/radio-gray.png b/src/demo/manager/src/main/webapp/assets/img/radio-gray.png deleted file mode 100644 index 41b3f41c..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/radio-gray.png and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/ui-danro.jpg b/src/demo/manager/src/main/webapp/assets/img/ui-danro.jpg deleted file mode 100644 index b9464575..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/ui-danro.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/ui-divya.jpg b/src/demo/manager/src/main/webapp/assets/img/ui-divya.jpg deleted file mode 100644 index 88b43723..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/ui-divya.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/ui-sam.jpg b/src/demo/manager/src/main/webapp/assets/img/ui-sam.jpg deleted file mode 100644 index cc9edc7f..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/ui-sam.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/ui-sherman.jpg b/src/demo/manager/src/main/webapp/assets/img/ui-sherman.jpg deleted file mode 100644 index a5e7c618..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/ui-sherman.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/ui-zac.jpg b/src/demo/manager/src/main/webapp/assets/img/ui-zac.jpg deleted file mode 100644 index 62d2eb7d..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/ui-zac.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/weather.jpg b/src/demo/manager/src/main/webapp/assets/img/weather.jpg deleted file mode 100644 index 82b2a8c3..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/weather.jpg and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/img/zoom.png b/src/demo/manager/src/main/webapp/assets/img/zoom.png deleted file mode 100644 index 6d5ac0d7..00000000 Binary files a/src/demo/manager/src/main/webapp/assets/img/zoom.png and /dev/null differ diff --git a/src/demo/manager/src/main/webapp/assets/js/allMail.js b/src/demo/manager/src/main/webapp/assets/js/allMail.js deleted file mode 100644 index f3b6dddc..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/allMail.js +++ /dev/null @@ -1,298 +0,0 @@ -/* - Author zhaoyinfan - 2013-08-09 - 注册公用js库 -*/ -var timeout = 120; -var ctDown = function (id) { - --timeout; - if(timeout > 0) { - $("#"+id).attr("value",timeout+"秒后重新获取").removeClass("gvCode").addClass("gvCodeNo").attr("disabled", true); - setTimeout("ctDown('"+id+"');", 1000); - } else{ - $("#"+id).attr("value","点击获取验证码").attr("disabled", false).removeClass("gvCodeNo").addClass("gvCode").next().html(''); - timeout = 120; - } -} -var timeoutajax = 120; -var ctAjaxDown = function (id) { - --timeoutajax; - if(timeoutajax > 0) { - $("#"+id).attr("value",timeoutajax+"秒后重新获取").removeClass("reg_gvCode").addClass("reg_gvCodeNo").attr("disabled", true); - setTimeout("ctAjaxDown('"+id+"');", 1000); - } else{ - $("#"+id).attr("value","点击获取验证码").attr("disabled", false).removeClass("reg_gvCodeNo").addClass("reg_gvCode").next().html(''); - timeoutajax = 120; - } -} -//check telphone -var tel_preg =function(tel){ - var preg=/^0[1-9][0-9]{1,2}-[0-9]{7,8}$/ ; - var string = $.trim(tel); - if(preg.test(string)){ - return 1; - } - return false; -} -//check mobile -var mobile_preg = function(mobile){ - var mob_preg = /^1[3|4|5|7|8][0-9]{9}$/; - var string = $.trim(mobile); - if(mob_preg.test(string)){ - return 1; - } - return false; -} -//check mail -var mail_preg = function(mail){ - if(mail.length>80){ - return false; - } - - var ma_preg = /^\w+([-+.\']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; - var string = $.trim(mail); - if(ma_preg.test(string)){ - return 1; - } - return false; -} -//去掉中间的空格 -function clsTrim(str){ - return str.replace(/\s/g,""); -} -var url_preg =function(url){ - if( url.length>70){ - return false; - } - var u_preg = /^[a-zA-z]+:\/\/[^\s]*$/; - var string =$.trim(url); - if(u_preg.test(string)){ - return 1; - } - return false; -} -var GetLen = function(str) { - var realLength = 0, len = str.length, charCode = -1; - for (var i = 0; i < len; i++) { - charCode = str.charCodeAt(i); - if (charCode >= 0 && charCode <= 128) realLength += 1; - else realLength += 2; - } - return realLength; -}; -var lenpoints = function(pwd) { - if (pwd.length <6||pwd.length >20) { - return 0; - }; - if (pwd.length >= 6 && pwd.length <= 7) { - return 10; - }; - if (pwd.length >= 8) { - return 25; - }; - return 0; -}; -var pwdTotal = function(pwd) { - if (!pwd || pwd == 'undefined') { - return - 1; - }; - if(lenpoints(pwd)==0){ - return 0; - } - var digit01 = /^[0-9]+$/; - var digit10 = /[0-9]+/; - var digit02 = /^[a-z]+$/; - var digit20 = /[a-z]+/; - var digit03 = /^[A-Z]+$/; - var digit30 = /[A-Z]+/; - var digitStr = /[a-zA-Z]/; - var digitOther = /[_]+/; - var safeStr =/^[0-9a-zA-z_]+$/; - var totalPoints =0; - if(!safeStr.test(pwd)){ - return -1; - } - - if (digit20.test(pwd) && digit30.test(pwd)) { - totalPoints += 20; - }; - var pwd_num = 0; - var t_num = 0; - var pwd_mi=0; - var pwd_max=0; - for (var i = 0; i <= pwd.length; i++) { - if (digit01.test(pwd.substr(i, 1))) { - pwd_num++; - } - if (digitOther.test(pwd.substr(i, 1))) { - t_num++; - } - if (digit02.test(pwd.substr(i, 1))) { - pwd_mi ++; - } - if (digit03.test(pwd.substr(i, 1))) { - pwd_max ++; - } - }; - if(pwd_mi&&!pwd_max){ - totalPoints += 10; - } - if(!pwd_mi&&pwd_max){ - totalPoints += 10; - } - if (pwd_num >= 1 && pwd_num < 3) { - totalPoints += 10; - }; - if (pwd_num >= 3) { - totalPoints += 20; - }; - if (t_num == 1) { - totalPoints += 10; - }; - if (t_num > 1) { - totalPoints += 25; - }; - if (digit20.test(pwd) && digit30.test(pwd) && digit10.test(pwd) && digitOther.test(pwd)) { - totalPoints+=lenpoints(pwd); - return totalPoints += 20; - } - if (digitStr.test(pwd) && digit10.test(pwd) && digitOther.test(pwd)) { - totalPoints+=lenpoints(pwd); - return totalPoints += 3; - }; - if (digitStr.test(pwd) && digit10.test(pwd)) { - totalPoints+=lenpoints(pwd); - return totalPoints += 2; - }; - if(totalPoints==0){ - return -1; - } - totalPoints+=lenpoints(pwd); - return totalPoints; -} -/*-----------------个人注册数据------------------*/ -var MailMId = "userMam"; -var MailMErrId= "userMamErr"; -var PwdId = "password"; -var PwdErrId = "passwordErr"; -var pwdStrong = "pwdStrong"; -var PwdId2 = "password2"; -var PwdErrId2 = "password2Err"; -var pageCodeId ="auth_code"; -var pageCodeErrId ="auth_codeErr"; -var codeimgid = "code_img1"; -var MobileCodeId ="sms_code"; -var MobileCodeErrId="sms_codeErr"; -var sfCodeId ="dm_number"; -var sfCodeErrId ="dm_numberErr"; -var AgreementId ="AgreeId"; -var AgreementErrId="AgreeIdErr"; -var defaultArr =[],OkArr=[],memArr =[],pwdArr=[],pwd2Arr=[],mcodeArr = [],codeArr=[],dmArr=[],agreeArr=[]; -OkArr[0]= '通过信息验证!'; -memArr[0] = '请输入您的手机号码'; -memArr[1] = '请输入正确的手机号码'; -memArr[2] = '请输入正确的邮箱地址'; -pwdArr[0] = '请输入登录密码'; -pwdArr[1] ='密码只能为6-20位字母数字下划线组合'; -pwdArr[2] ='密码太简单,建议使用数字、字母、下划线组合'; -pwdArr[3] ='密码只能为6-20位字母数字下划线组合'; -pwd2Arr[0] = '请再次输入密码'; -pwd2Arr[1] ='两次输入不一致,请重新输入'; -mcodeArr[0]='请输入短信验证码'; -mcodeArr[1]='短信验证码不正确'; -codeArr[0] = '请输入验证码'; -codeArr[1] ='网站验证码不正确'; -dmArr[0] ='邀请码错误'; -agreeArr[0] ='请阅读并同意注册协议'; -defaultArr[1] ='请输入您的手机号码'; -defaultArr[2] ='6-20位字符,可使用字母、数字、下划线。不建议使用纯数字或字母组合。'; -defaultArr[3] ='请再次输入密码'; -defaultArr[4] ='请输入短信验证码'; -defaultArr[5] ='请输入验证码'; -defaultArr[6] ='请输入您的优选单邀请码'; -defaultArr[7] =''; -defaultArr[8] ='请输入您的用户名。可使用字母、数字、下划线。'; -defaultArr[9] ='此手机号已经被注册!'; -defaultArr[10] ='此手用户名已经被注册!请重新输入。'; -/*--------------------------------------------------企业注册数据---------------------------------------------------------*/ -var cpyUserNameId = "cpyusername"; -var cpyUserNameErrId= "cpyusernameErr"; -var cpyPwdId = "cpypwd"; -var cpyPwdIdErrId = "cpypwdErr"; -var cpyPwd2Id = "cpypwd2"; -var cpyPwd2ErrId = "cpypwd2Err"; -var cpyCodeId = "cpyauth_code"; -var cpyCodeErrId = "cpyauth_codeErr"; -var cpyCodeImgId = "cpycode_img"; -var cpyRealNameId = "cpyrealname"; -var cpyRealNameErrId= "cpyrealnameErr"; -var cpyTelphoneId = "cpytelphone"; -var cpyTelphoneErrId = "cpytelphoneErr"; -var cpyMobileId = "cpymobile"; -var cpyMobileErrId = "cpymobileErr"; -var cpyEmailId = "cpyemail"; -var cpyEmailErrId = "cpyemailErr"; -var cpySectionId = "cpysection"; -var cpySectionErrId = "cpysectionErr"; -var cpyNameId = "cpyname"; -var cpyNameErrId = "cpynameErr"; -var cpyProvinceId = "cpyprovince"; -var cpyCitiesId = "cpycities"; -var cpyAddressId = "cpyaddress"; -var cpyAddressErrId = "cpyaddressErr"; -var cpyBuyuseId = "cpybuyuse"; -var cpyBuyuseErrId = "cpybuyuseErr"; -var cpyWebsiteId = "cpywebsite"; -var cpyWebsiteErrId = "cpywebsiteErr"; -var cpyScaleId = "cpyscale"; -var cpyScaleErrId = "cpyscaleErr"; -var cpyTradeId = "cpytrade"; -var cpyTradeErrId = "cpytradeErr"; -var cpyNatureId = "cpynature"; -var cpyNatureErrId = "cpynatureErr"; -var cpyAgreeId = "cpyagree"; -var cpyAgreeErrId = "cpyagreeErr"; - -var comArr=[],cpyDefaultArr=[], cpyUserNameArr =[],cpyPwdArr=[],cpyPwd2Arr=[],cpyCodeArr= [],cpyRealNameArr=[],cpyTelArr=[],cpyMobArr=[],cpyMaArr=[],cpyNameArr=[],cpyAddressArr=[],cpyBuyuseArr=[],cpyWebsiteArr=[],cpyAgreeArr=[]; - -cpyUserNameArr[0] ='请输入用户名'; -cpyUserNameArr[1] ='用户名不能以SF开头'; -cpyUserNameArr[2] ='用户名不能全部为数字'; -cpyUserNameArr[3] ='用户名长度不得小于4大于20个字符'; -cpyUserNameArr[4] ='用户名不能以tmall开头'; -cpyUserNameArr[5] ='用户名不能以jd开头'; -cpyPwdArr[0] ='请输入登录密码'; -cpyPwdArr[1] ='密码长度需在6-20位之间'; -cpyPwdArr[2] ='密码只能为6-20位字母数字下划线组合'; -cpyPwd2Arr[0] ='请再次输入密码'; -cpyPwd2Arr[1] ='两次输入密码不一致'; -cpyCodeArr[0] ='请输入验证码'; -cpyCodeArr[1] ='验证码不正确'; -cpyRealNameArr[0] ='请输入联系人姓名'; -cpyRealNameArr[1] ='联系人姓名长度应在4-20位之间'; -cpyRealNameArr[2] ='联系人姓名只能由英文和中文组成'; -cpyTelArr[0] ='公司电话不能为空'; -cpyTelArr[1] ='公司电话错误'; -cpyMobArr[0] ='公司手机号码错误'; -cpyMaArr[0] ='公司邮箱地址错误'; -cpyNameArr[0] ='请输入公司名称'; -cpyNameArr[1] ='公司名称长度应在4-40位之间'; -cpyAddressArr[0] ='请选择公司所在地'; -cpyAddressArr[1] ='请选择公司所在地'; -cpyAddressArr[2] ='请输入公司地址'; -cpyAddressArr[3] ='公司地址长度应在4-50位之间'; -cpyBuyuseArr[0] ='请选择购买用途'; -cpyWebsiteArr[0] ='公司网址格式不正确,应如: http://www.e3mall.cn/'; -cpyAgreeArr[0] ='请勾选注册协议'; -cpyDefaultArr[0] ='请输入4-20位中、英文、数字、中划线和下划线'; -cpyDefaultArr[1] ='6-20位字符,可使用字母、数字、下划线。不建议使用纯数字或字母组合。'; -cpyDefaultArr[2] ='请再次输入密码'; -cpyDefaultArr[3] ='请输入网站验证码'; -cpyDefaultArr[4] ='4-20位字符,可由中文和英文组成'; -cpyDefaultArr[5] ='请填写联系人常用固话,如010-87654312'; -cpyDefaultArr[6] ='请输入联系人手机号码'; -cpyDefaultArr[7] ='请输入联系人常用邮箱'; -cpyDefaultArr[8] ='请填写工商局注册全称,4-40位字符'; -cpyDefaultArr[9] ='请详细填写公司经营地址'; -cpyDefaultArr[10] ='如http://www.e3mall.cn/'; -comArr[0] ='系统繁忙,请稍候重试'; \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-datetimepicker.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-datetimepicker.min.js deleted file mode 100644 index db3d085d..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/bootstrap-datetimepicker.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! version : 4.17.37 - ========================================================= - bootstrap-datetimejs - https://github.com/Eonasdan/bootstrap-datetimepicker - Copyright (c) 2015 Jonathan Peterson - ========================================================= - */ -!function(a){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],a);else if("object"==typeof exports)a(require("jquery"),require("moment"));else{if("undefined"==typeof jQuery)throw"bootstrap-datetimepicker requires jQuery to be loaded first";if("undefined"==typeof moment)throw"bootstrap-datetimepicker requires Moment.js to be loaded first";a(jQuery,moment)}}(function(a,b){"use strict";if(!b)throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");var c=function(c,d){var e,f,g,h,i,j,k,l={},m=!0,n=!1,o=!1,p=0,q=[{clsName:"days",navFnc:"M",navStep:1},{clsName:"months",navFnc:"y",navStep:1},{clsName:"years",navFnc:"y",navStep:10},{clsName:"decades",navFnc:"y",navStep:100}],r=["days","months","years","decades"],s=["top","bottom","auto"],t=["left","right","auto"],u=["default","top","bottom"],v={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t","delete":46,46:"delete"},w={},x=function(a){var c,e,f,g,h,i=!1;return void 0!==b.tz&&void 0!==d.timeZone&&null!==d.timeZone&&""!==d.timeZone&&(i=!0),void 0===a||null===a?c=i?b().tz(d.timeZone).startOf("d"):b().startOf("d"):i?(e=b().tz(d.timeZone).utcOffset(),f=b(a,j,d.useStrict).utcOffset(),f!==e?(g=b().tz(d.timeZone).format("Z"),h=b(a,j,d.useStrict).format("YYYY-MM-DD[T]HH:mm:ss")+g,c=b(h,j,d.useStrict).tz(d.timeZone)):c=b(a,j,d.useStrict).tz(d.timeZone)):c=b(a,j,d.useStrict),c},y=function(a){if("string"!=typeof a||a.length>1)throw new TypeError("isEnabled expects a single character string parameter");switch(a){case"y":return-1!==i.indexOf("Y");case"M":return-1!==i.indexOf("M");case"d":return-1!==i.toLowerCase().indexOf("d");case"h":case"H":return-1!==i.toLowerCase().indexOf("h");case"m":return-1!==i.indexOf("m");case"s":return-1!==i.indexOf("s");default:return!1}},z=function(){return y("h")||y("m")||y("s")},A=function(){return y("y")||y("M")||y("d")},B=function(){var b=a("").append(a("").append(a("").addClass("prev").attr("data-action","previous").append(a("").addClass(d.icons.previous))).append(a("").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",d.calendarWeeks?"6":"5")).append(a("").addClass("next").attr("data-action","next").append(a("").addClass(d.icons.next)))),c=a("").append(a("").append(a("").attr("colspan",d.calendarWeeks?"8":"7")));return[a("
").addClass("datepicker-days").append(a("").addClass("table-condensed").append(b).append(a(""))),a("
").addClass("datepicker-months").append(a("
").addClass("table-condensed").append(b.clone()).append(c.clone())),a("
").addClass("datepicker-years").append(a("
").addClass("table-condensed").append(b.clone()).append(c.clone())),a("
").addClass("datepicker-decades").append(a("
").addClass("table-condensed").append(b.clone()).append(c.clone()))]},C=function(){var b=a(""),c=a(""),e=a("");return y("h")&&(b.append(a("'; - if(this.o.calendarWeeks){ - var cell = ''; - html += cell; - this.picker.find('.datepicker-days thead tr:first-child').prepend(cell); - } - while (dowCnt < this.o.weekStart + 7) { - html += ''; - } - html += ''; - this.picker.find('.datepicker-days thead').append(html); - }, - - fillMonths: function(){ - var html = '', - i = 0; - while (i < 12) { - html += ''+dates[this.o.language].monthsShort[i++]+''; - } - this.picker.find('.datepicker-months td').html(html); - }, - - setRange: function(range){ - if (!range || !range.length) - delete this.range; - else - this.range = $.map(range, function(d){ return d.valueOf(); }); - this.fill(); - }, - - getClassNames: function(date){ - var cls = [], - year = this.viewDate.getUTCFullYear(), - month = this.viewDate.getUTCMonth(), - currentDate = this.date.valueOf(), - today = new Date(); - if (date.getUTCFullYear() < year || (date.getUTCFullYear() == year && date.getUTCMonth() < month)) { - cls.push('old'); - } else if (date.getUTCFullYear() > year || (date.getUTCFullYear() == year && date.getUTCMonth() > month)) { - cls.push('new'); - } - // Compare internal UTC date with local today, not UTC today - if (this.o.todayHighlight && - date.getUTCFullYear() == today.getFullYear() && - date.getUTCMonth() == today.getMonth() && - date.getUTCDate() == today.getDate()) { - cls.push('today'); - } - if (currentDate && date.valueOf() == currentDate) { - cls.push('active'); - } - if (date.valueOf() < this.o.startDate || date.valueOf() > this.o.endDate || - $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1) { - cls.push('disabled'); - } - if (this.range){ - if (date > this.range[0] && date < this.range[this.range.length-1]){ - cls.push('range'); - } - if ($.inArray(date.valueOf(), this.range) != -1){ - cls.push('selected'); - } - } - return cls; - }, - - fill: function() { - var d = new Date(this.viewDate), - year = d.getUTCFullYear(), - month = d.getUTCMonth(), - startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, - startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, - endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, - endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, - currentDate = this.date && this.date.valueOf(), - tooltip; - this.picker.find('.datepicker-days thead th.datepicker-switch') - .text(dates[this.o.language].months[month]+' '+year); - this.picker.find('tfoot th.today') - .text(dates[this.o.language].today) - .toggle(this.o.todayBtn !== false); - this.picker.find('tfoot th.clear') - .text(dates[this.o.language].clear) - .toggle(this.o.clearBtn !== false); - this.updateNavArrows(); - this.fillMonths(); - var prevMonth = UTCDate(year, month-1, 28,0,0,0,0), - day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); - prevMonth.setUTCDate(day); - prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7); - var nextMonth = new Date(prevMonth); - nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); - nextMonth = nextMonth.valueOf(); - var html = []; - var clsName; - while(prevMonth.valueOf() < nextMonth) { - if (prevMonth.getUTCDay() == this.o.weekStart) { - html.push(''); - if(this.o.calendarWeeks){ - // ISO 8601: First week contains first thursday. - // ISO also states week starts on Monday, but we can be more abstract here. - var - // Start of current week: based on weekstart/current date - ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5), - // Thursday of this week - th = new Date(+ws + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), - // First Thursday of year, year from thursday - yth = new Date(+(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5), - // Calendar week: ms between thursdays, div ms per day, div 7 days - calWeek = (th - yth) / 864e5 / 7 + 1; - html.push(''); - - } - } - clsName = this.getClassNames(prevMonth); - clsName.push('day'); - - var before = this.o.beforeShowDay(prevMonth); - if (before === undefined) - before = {}; - else if (typeof(before) === 'boolean') - before = {enabled: before}; - else if (typeof(before) === 'string') - before = {classes: before}; - if (before.enabled === false) - clsName.push('disabled'); - if (before.classes) - clsName = clsName.concat(before.classes.split(/\s+/)); - if (before.tooltip) - tooltip = before.tooltip; - - clsName = $.unique(clsName); - html.push(''); - if (prevMonth.getUTCDay() == this.o.weekEnd) { - html.push(''); - } - prevMonth.setUTCDate(prevMonth.getUTCDate()+1); - } - this.picker.find('.datepicker-days tbody').empty().append(html.join('')); - var currentYear = this.date && this.date.getUTCFullYear(); - - var months = this.picker.find('.datepicker-months') - .find('th:eq(1)') - .text(year) - .end() - .find('span').removeClass('active'); - if (currentYear && currentYear == year) { - months.eq(this.date.getUTCMonth()).addClass('active'); - } - if (year < startYear || year > endYear) { - months.addClass('disabled'); - } - if (year == startYear) { - months.slice(0, startMonth).addClass('disabled'); - } - if (year == endYear) { - months.slice(endMonth+1).addClass('disabled'); - } - - html = ''; - year = parseInt(year/10, 10) * 10; - var yearCont = this.picker.find('.datepicker-years') - .find('th:eq(1)') - .text(year + '-' + (year + 9)) - .end() - .find('td'); - year -= 1; - for (var i = -1; i < 11; i++) { - html += ''+year+''; - year += 1; - } - yearCont.html(html); - }, - - updateNavArrows: function() { - if (!this._allow_update) return; - - var d = new Date(this.viewDate), - year = d.getUTCFullYear(), - month = d.getUTCMonth(); - switch (this.viewMode) { - case 0: - if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - case 1: - case 2: - if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - } - }, - - click: function(e) { - e.preventDefault(); - var target = $(e.target).closest('span, td, th'); - if (target.length == 1) { - switch(target[0].nodeName.toLowerCase()) { - case 'th': - switch(target[0].className) { - case 'datepicker-switch': - this.showMode(1); - break; - case 'prev': - case 'next': - var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className == 'prev' ? -1 : 1); - switch(this.viewMode){ - case 0: - this.viewDate = this.moveMonth(this.viewDate, dir); - break; - case 1: - case 2: - this.viewDate = this.moveYear(this.viewDate, dir); - break; - } - this.fill(); - break; - case 'today': - var date = new Date(); - date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); - - this.showMode(-2); - var which = this.o.todayBtn == 'linked' ? null : 'view'; - this._setDate(date, which); - break; - case 'clear': - var element; - if (this.isInput) - element = this.element; - else if (this.component) - element = this.element.find('input'); - if (element) - element.val("").change(); - this._trigger('changeDate'); - this.update(); - if (this.o.autoclose) - this.hide(); - break; - } - break; - case 'span': - if (!target.is('.disabled')) { - this.viewDate.setUTCDate(1); - if (target.is('.month')) { - var day = 1; - var month = target.parent().find('span').index(target); - var year = this.viewDate.getUTCFullYear(); - this.viewDate.setUTCMonth(month); - this._trigger('changeMonth', this.viewDate); - if (this.o.minViewMode === 1) { - this._setDate(UTCDate(year, month, day,0,0,0,0)); - } - } else { - var year = parseInt(target.text(), 10)||0; - var day = 1; - var month = 0; - this.viewDate.setUTCFullYear(year); - this._trigger('changeYear', this.viewDate); - if (this.o.minViewMode === 2) { - this._setDate(UTCDate(year, month, day,0,0,0,0)); - } - } - this.showMode(-1); - this.fill(); - } - break; - case 'td': - if (target.is('.day') && !target.is('.disabled')){ - var day = parseInt(target.text(), 10)||1; - var year = this.viewDate.getUTCFullYear(), - month = this.viewDate.getUTCMonth(); - if (target.is('.old')) { - if (month === 0) { - month = 11; - year -= 1; - } else { - month -= 1; - } - } else if (target.is('.new')) { - if (month == 11) { - month = 0; - year += 1; - } else { - month += 1; - } - } - this._setDate(UTCDate(year, month, day,0,0,0,0)); - } - break; - } - } - }, - - _setDate: function(date, which){ - if (!which || which == 'date') - this.date = new Date(date); - if (!which || which == 'view') - this.viewDate = new Date(date); - this.fill(); - this.setValue(); - this._trigger('changeDate'); - var element; - if (this.isInput) { - element = this.element; - } else if (this.component){ - element = this.element.find('input'); - } - if (element) { - element.change(); - if (this.o.autoclose && (!which || which == 'date')) { - this.hide(); - } - } - }, - - moveMonth: function(date, dir){ - if (!dir) return date; - var new_date = new Date(date.valueOf()), - day = new_date.getUTCDate(), - month = new_date.getUTCMonth(), - mag = Math.abs(dir), - new_month, test; - dir = dir > 0 ? 1 : -1; - if (mag == 1){ - test = dir == -1 - // If going back one month, make sure month is not current month - // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) - ? function(){ return new_date.getUTCMonth() == month; } - // If going forward one month, make sure month is as expected - // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) - : function(){ return new_date.getUTCMonth() != new_month; }; - new_month = month + dir; - new_date.setUTCMonth(new_month); - // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 - if (new_month < 0 || new_month > 11) - new_month = (new_month + 12) % 12; - } else { - // For magnitudes >1, move one month at a time... - for (var i=0; i= this.o.startDate && date <= this.o.endDate; - }, - - keydown: function(e){ - if (this.picker.is(':not(:visible)')){ - if (e.keyCode == 27) // allow escape to hide and re-show picker - this.show(); - return; - } - var dateChanged = false, - dir, day, month, - newDate, newViewDate; - switch(e.keyCode){ - case 27: // escape - this.hide(); - e.preventDefault(); - break; - case 37: // left - case 39: // right - if (!this.o.keyboardNavigation) break; - dir = e.keyCode == 37 ? -1 : 1; - if (e.ctrlKey){ - newDate = this.moveYear(this.date, dir); - newViewDate = this.moveYear(this.viewDate, dir); - } else if (e.shiftKey){ - newDate = this.moveMonth(this.date, dir); - newViewDate = this.moveMonth(this.viewDate, dir); - } else { - newDate = new Date(this.date); - newDate.setUTCDate(this.date.getUTCDate() + dir); - newViewDate = new Date(this.viewDate); - newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir); - } - if (this.dateWithinRange(newDate)){ - this.date = newDate; - this.viewDate = newViewDate; - this.setValue(); - this.update(); - e.preventDefault(); - dateChanged = true; - } - break; - case 38: // up - case 40: // down - if (!this.o.keyboardNavigation) break; - dir = e.keyCode == 38 ? -1 : 1; - if (e.ctrlKey){ - newDate = this.moveYear(this.date, dir); - newViewDate = this.moveYear(this.viewDate, dir); - } else if (e.shiftKey){ - newDate = this.moveMonth(this.date, dir); - newViewDate = this.moveMonth(this.viewDate, dir); - } else { - newDate = new Date(this.date); - newDate.setUTCDate(this.date.getUTCDate() + dir * 7); - newViewDate = new Date(this.viewDate); - newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir * 7); - } - if (this.dateWithinRange(newDate)){ - this.date = newDate; - this.viewDate = newViewDate; - this.setValue(); - this.update(); - e.preventDefault(); - dateChanged = true; - } - break; - case 13: // enter - this.hide(); - e.preventDefault(); - break; - case 9: // tab - this.hide(); - break; - } - if (dateChanged){ - this._trigger('changeDate'); - var element; - if (this.isInput) { - element = this.element; - } else if (this.component){ - element = this.element.find('input'); - } - if (element) { - element.change(); - } - } - }, - - showMode: function(dir) { - if (dir) { - this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + dir)); - } - /* - vitalets: fixing bug of very special conditions: - jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover. - Method show() does not set display css correctly and datepicker is not shown. - Changed to .css('display', 'block') solve the problem. - See https://github.com/vitalets/x-editable/issues/37 - - In jquery 1.7.2+ everything works fine. - */ - //this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); - this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display', 'block'); - this.updateNavArrows(); - } - }; - - var DateRangePicker = function(element, options){ - this.element = $(element); - this.inputs = $.map(options.inputs, function(i){ return i.jquery ? i[0] : i; }); - delete options.inputs; - - $(this.inputs) - .datepicker(options) - .bind('changeDate', $.proxy(this.dateUpdated, this)); - - this.pickers = $.map(this.inputs, function(i){ return $(i).data('datepicker'); }); - this.updateDates(); - }; - DateRangePicker.prototype = { - updateDates: function(){ - this.dates = $.map(this.pickers, function(i){ return i.date; }); - this.updateRanges(); - }, - updateRanges: function(){ - var range = $.map(this.dates, function(d){ return d.valueOf(); }); - $.each(this.pickers, function(i, p){ - p.setRange(range); - }); - }, - dateUpdated: function(e){ - var dp = $(e.target).data('datepicker'), - new_date = dp.getUTCDate(), - i = $.inArray(e.target, this.inputs), - l = this.inputs.length; - if (i == -1) return; - - if (new_date < this.dates[i]){ - // Date being moved earlier/left - while (i>=0 && new_date < this.dates[i]){ - this.pickers[i--].setUTCDate(new_date); - } - } - else if (new_date > this.dates[i]){ - // Date being moved later/right - while (i this.dates[i]){ - this.pickers[i++].setUTCDate(new_date); - } - } - this.updateDates(); - }, - remove: function(){ - $.map(this.pickers, function(p){ p.remove(); }); - delete this.element.data().datepicker; - } - }; - - function opts_from_el(el, prefix){ - // Derive options from element data-attrs - var data = $(el).data(), - out = {}, inkey, - replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])'), - prefix = new RegExp('^' + prefix.toLowerCase()); - for (var key in data) - if (prefix.test(key)){ - inkey = key.replace(replace, function(_,a){ return a.toLowerCase(); }); - out[inkey] = data[key]; - } - return out; - } - - function opts_from_locale(lang){ - // Derive options from locale plugins - var out = {}; - // Check if "de-DE" style date is available, if not language should - // fallback to 2 letter code eg "de" - if (!dates[lang]) { - lang = lang.split('-')[0] - if (!dates[lang]) - return; - } - var d = dates[lang]; - $.each(locale_opts, function(i,k){ - if (k in d) - out[k] = d[k]; - }); - return out; - } - - var old = $.fn.datepicker; - var datepicker = $.fn.datepicker = function ( option ) { - var args = Array.apply(null, arguments); - args.shift(); - var internal_return, - this_return; - this.each(function () { - var $this = $(this), - data = $this.data('datepicker'), - options = typeof option == 'object' && option; - if (!data) { - var elopts = opts_from_el(this, 'date'), - // Preliminary otions - xopts = $.extend({}, defaults, elopts, options), - locopts = opts_from_locale(xopts.language), - // Options priority: js args, data-attrs, locales, defaults - opts = $.extend({}, defaults, locopts, elopts, options); - if ($this.is('.input-daterange') || opts.inputs){ - var ropts = { - inputs: opts.inputs || $this.find('input').toArray() - }; - $this.data('datepicker', (data = new DateRangePicker(this, $.extend(opts, ropts)))); - } - else{ - $this.data('datepicker', (data = new Datepicker(this, opts))); - } - } - if (typeof option == 'string' && typeof data[option] == 'function') { - internal_return = data[option].apply(data, args); - if (internal_return !== undefined) - return false; - } - }); - if (internal_return !== undefined) - return internal_return; - else - return this; - }; - - var defaults = $.fn.datepicker.defaults = { - autoclose: false, - beforeShowDay: $.noop, - calendarWeeks: false, - clearBtn: false, - daysOfWeekDisabled: [], - endDate: Infinity, - forceParse: true, - format: 'mm/dd/yyyy', - keyboardNavigation: true, - language: 'en', - minViewMode: 0, - rtl: false, - startDate: -Infinity, - startView: 0, - todayBtn: false, - todayHighlight: false, - weekStart: 0 - }; - var locale_opts = $.fn.datepicker.locale_opts = [ - 'format', - 'rtl', - 'weekStart' - ]; - $.fn.datepicker.Constructor = Datepicker; - var dates = $.fn.datepicker.dates = { - en: { - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - today: "Today", - clear: "Clear" - } - }; - - var DPGlobal = { - modes: [ - { - clsName: 'days', - navFnc: 'Month', - navStep: 1 - }, - { - clsName: 'months', - navFnc: 'FullYear', - navStep: 1 - }, - { - clsName: 'years', - navFnc: 'FullYear', - navStep: 10 - }], - isLeapYear: function (year) { - return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)); - }, - getDaysInMonth: function (year, month) { - return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; - }, - validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, - nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, - parseFormat: function(format){ - // IE treats \0 as a string end in inputs (truncating the value), - // so it's a bad format delimiter, anyway - var separators = format.replace(this.validParts, '\0').split('\0'), - parts = format.match(this.validParts); - if (!separators || !separators.length || !parts || parts.length === 0){ - throw new Error("Invalid date format."); - } - return {separators: separators, parts: parts}; - }, - parseDate: function(date, format, language) { - if (date instanceof Date) return date; - if (typeof format === 'string') - format = DPGlobal.parseFormat(format); - if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) { - var part_re = /([\-+]\d+)([dmwy])/, - parts = date.match(/([\-+]\d+)([dmwy])/g), - part, dir; - date = new Date(); - for (var i=0; i'+ - ''+ - ''+ - ''+ - ''+ - ''+ - '', - contTemplate: '', - footTemplate: '' - }; - DPGlobal.template = '
'+ - '
'+ - '
").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(a("").addClass(d.icons.up)))),c.append(a("").append(a("").addClass("timepicker-hour").attr({"data-time-component":"hours",title:d.tooltips.pickHour}).attr("data-action","showHours"))),e.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(a("").addClass(d.icons.down))))),y("m")&&(y("h")&&(b.append(a("").addClass("separator")),c.append(a("").addClass("separator").html(":")),e.append(a("").addClass("separator"))),b.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(a("").addClass(d.icons.up)))),c.append(a("").append(a("").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:d.tooltips.pickMinute}).attr("data-action","showMinutes"))),e.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(a("").addClass(d.icons.down))))),y("s")&&(y("m")&&(b.append(a("").addClass("separator")),c.append(a("").addClass("separator").html(":")),e.append(a("").addClass("separator"))),b.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(a("").addClass(d.icons.up)))),c.append(a("").append(a("").addClass("timepicker-second").attr({"data-time-component":"seconds",title:d.tooltips.pickSecond}).attr("data-action","showSeconds"))),e.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(a("").addClass(d.icons.down))))),h||(b.append(a("").addClass("separator")),c.append(a("").append(a("").addClass("separator"))),a("
").addClass("timepicker-picker").append(a("").addClass("table-condensed").append([b,c,e]))},D=function(){var b=a("
").addClass("timepicker-hours").append(a("
").addClass("table-condensed")),c=a("
").addClass("timepicker-minutes").append(a("
").addClass("table-condensed")),d=a("
").addClass("timepicker-seconds").append(a("
").addClass("table-condensed")),e=[C()];return y("h")&&e.push(b),y("m")&&e.push(c),y("s")&&e.push(d),e},E=function(){var b=[];return d.showTodayButton&&b.push(a("").appendTo(this.$el)),this.$header.find("tr").each(function(){var b=[];a(this).find("th").each(function(){"undefined"!=typeof a(this).data("field")&&a(this).data("field",a(this).data("field")+""),b.push(a.extend({},{title:a(this).html(),"class":a(this).attr("class"),titleTooltip:a(this).attr("title"),rowspan:a(this).attr("rowspan")?+a(this).attr("rowspan"):void 0,colspan:a(this).attr("colspan")?+a(this).attr("colspan"):void 0},a(this).data()))}),c.push(b)}),a.isArray(this.options.columns[0])||(this.options.columns=[this.options.columns]),this.options.columns=a.extend(!0,[],c,this.options.columns),this.columns=[],f(this.options.columns),a.each(this.options.columns,function(c,d){a.each(d,function(d,e){e=a.extend({},p.COLUMN_DEFAULTS,e),"undefined"!=typeof e.fieldIndex&&(b.columns[e.fieldIndex]=e),b.options.columns[c][d]=e})}),!this.options.data.length){var e=[];this.$el.find(">tbody>tr").each(function(c){var f={};f._id=a(this).attr("id"),f._class=a(this).attr("class"),f._data=l(a(this).data()),a(this).find(">td").each(function(d){for(var g,h,i=a(this),j=+i.attr("colspan")||1,k=+i.attr("rowspan")||1;e[c]&&e[c][d];d++);for(g=d;d+j>g;g++)for(h=c;c+k>h;h++)e[h]||(e[h]=[]),e[h][g]=!0;var m=b.columns[d].field;f[m]=a(this).html(),f["_"+m+"_id"]=a(this).attr("id"),f["_"+m+"_class"]=a(this).attr("class"),f["_"+m+"_rowspan"]=a(this).attr("rowspan"),f["_"+m+"_colspan"]=a(this).attr("colspan"),f["_"+m+"_title"]=a(this).attr("title"),f["_"+m+"_data"]=l(a(this).data())}),d.push(f)}),this.options.data=d,d.length&&(this.fromHtml=!0)}},p.prototype.initHeader=function(){var b=this,d={},e=[];this.header={fields:[],styles:[],classes:[],formatters:[],events:[],sorters:[],sortNames:[],cellStyles:[],searchables:[]},a.each(this.options.columns,function(f,g){e.push(""),0===f&&!b.options.cardView&&b.options.detailView&&e.push(c('',b.options.columns.length)),a.each(g,function(a,f){var g="",h="",i="",j="",k=c(' class="%s"',f["class"]),l=(b.options.sortOrder||f.order,"px"),m=f.width;if(void 0===f.width||b.options.cardView||"string"==typeof f.width&&-1!==f.width.indexOf("%")&&(l="%"),f.width&&"string"==typeof f.width&&(m=f.width.replace("%","").replace("px","")),h=c("text-align: %s; ",f.halign?f.halign:f.align),i=c("text-align: %s; ",f.align),j=c("vertical-align: %s; ",f.valign),j+=c("width: %s; ",!f.checkbox&&!f.radio||m?m?m+l:void 0:"36px"),"undefined"!=typeof f.fieldIndex){if(b.header.fields[f.fieldIndex]=f.field,b.header.styles[f.fieldIndex]=i+j,b.header.classes[f.fieldIndex]=k,b.header.formatters[f.fieldIndex]=f.formatter,b.header.events[f.fieldIndex]=f.events,b.header.sorters[f.fieldIndex]=f.sorter,b.header.sortNames[f.fieldIndex]=f.sortName,b.header.cellStyles[f.fieldIndex]=f.cellStyle,b.header.searchables[f.fieldIndex]=f.searchable,!f.visible)return;if(b.options.cardView&&!f.cardVisible)return;d[f.field]=f}e.push(""),e.push(c('
',b.options.sortable&&f.sortable?"sortable both":"")),g=f.title,f.checkbox&&(!b.options.singleSelect&&b.options.checkboxHeader&&(g=''),b.header.stateField=f.field),f.radio&&(g="",b.header.stateField=f.field,b.options.singleSelect=!0),e.push(g),e.push("
"),e.push('
'),e.push(""),e.push("")}),e.push("
")}),this.$header.html(e.join("")),this.$header.find("th[data-field]").each(function(){a(this).data(d[a(this).data("field")])}),this.$container.off("click",".th-inner").on("click",".th-inner",function(c){var d=a(this);return b.options.detailView&&d.closest(".bootstrap-table")[0]!==b.$container[0]?!1:void(b.options.sortable&&d.parent().data().sortable&&b.onSort(c))}),this.$header.children().children().off("keypress").on("keypress",function(c){if(b.options.sortable&&a(this).data().sortable){var d=c.keyCode||c.which;13==d&&b.onSort(c)}}),a(window).off("resize.bootstrap-table"),!this.options.showHeader||this.options.cardView?(this.$header.hide(),this.$tableHeader.hide(),this.$tableLoading.css("top",0)):(this.$header.show(),this.$tableHeader.show(),this.$tableLoading.css("top",this.$header.outerHeight()+1),this.getCaret(),a(window).on("resize.bootstrap-table",a.proxy(this.resetWidth,this))),this.$selectAll=this.$header.find('[name="btSelectAll"]'),this.$selectAll.off("click").on("click",function(){var c=a(this).prop("checked");b[c?"checkAll":"uncheckAll"](),b.updateSelected()})},p.prototype.initFooter=function(){!this.options.showFooter||this.options.cardView?this.$tableFooter.hide():this.$tableFooter.show()},p.prototype.initData=function(a,b){this.data="append"===b?this.data.concat(a):"prepend"===b?[].concat(a).concat(this.data):a||this.options.data,this.options.data="append"===b?this.options.data.concat(a):"prepend"===b?[].concat(a).concat(this.options.data):this.data,"server"!==this.options.sidePagination&&this.initSort()},p.prototype.initSort=function(){var b=this,c=this.options.sortName,d="desc"===this.options.sortOrder?-1:1,e=a.inArray(this.options.sortName,this.header.fields);return this.options.customSort!==a.noop?void this.options.customSort.apply(this,[this.options.sortName,this.options.sortOrder]):void(-1!==e&&(this.options.sortStable&&a.each(this.data,function(a,b){b.hasOwnProperty("_position")||(b._position=a)}),this.data.sort(function(f,g){b.header.sortNames[e]&&(c=b.header.sortNames[e]);var i=m(f,c,b.options.escape),j=m(g,c,b.options.escape),k=h(b.header,b.header.sorters[e],[i,j]);return void 0!==k?d*k:((void 0===i||null===i)&&(i=""),(void 0===j||null===j)&&(j=""),b.options.sortStable&&i===j&&(i=f._position,j=g._position),a.isNumeric(i)&&a.isNumeric(j)?(i=parseFloat(i),j=parseFloat(j),j>i?-1*d:d):i===j?0:("string"!=typeof i&&(i=i.toString()),-1===i.localeCompare(j)?-1*d:d))})))},p.prototype.onSort=function(b){var c="keypress"===b.type?a(b.currentTarget):a(b.currentTarget).parent(),d=this.$header.find("th").eq(c.index());return this.$header.add(this.$header_).find("span.order").remove(),this.options.sortName===c.data("field")?this.options.sortOrder="asc"===this.options.sortOrder?"desc":"asc":(this.options.sortName=c.data("field"),this.options.sortOrder="asc"===c.data("order")?"desc":"asc"),this.trigger("sort",this.options.sortName,this.options.sortOrder),c.add(d).data("order",this.options.sortOrder),this.getCaret(),"server"===this.options.sidePagination?void this.initServer(this.options.silentSort):(this.initSort(),void this.initBody())},p.prototype.initToolbar=function(){var b,d,e=this,f=[],g=0,i=0;this.$toolbar.find(".bs-bars").children().length&&a("body").append(a(this.options.toolbar)),this.$toolbar.html(""),("string"==typeof this.options.toolbar||"object"==typeof this.options.toolbar)&&a(c('
',this.options.toolbarAlign)).appendTo(this.$toolbar).append(a(this.options.toolbar)),f=[c('
',this.options.buttonsAlign,this.options.buttonsAlign)],"string"==typeof this.options.icons&&(this.options.icons=h(null,this.options.icons)),this.options.showPaginationSwitch&&f.push(c('"),this.options.showRefresh&&f.push(c('"),this.options.showToggle&&f.push(c('"),this.options.showColumns&&(f.push(c('
',this.options.formatColumns()),'",'","
")),f.push("
"),(this.showToolbar||f.length>2)&&this.$toolbar.append(f.join("")),this.options.showPaginationSwitch&&this.$toolbar.find('button[name="paginationSwitch"]').off("click").on("click",a.proxy(this.togglePagination,this)),this.options.showRefresh&&this.$toolbar.find('button[name="refresh"]').off("click").on("click",a.proxy(this.refresh,this)),this.options.showToggle&&this.$toolbar.find('button[name="toggle"]').off("click").on("click",function(){e.toggleView()}),this.options.showColumns&&(b=this.$toolbar.find(".keep-open"),i<=this.options.minimumCountColumns&&b.find("input").prop("disabled",!0),b.find("li").off("click").on("click",function(a){a.stopImmediatePropagation()}),b.find("input").off("click").on("click",function(){var b=a(this);e.toggleColumn(a(this).val(),b.prop("checked"),!1),e.trigger("column-switch",a(this).data("field"),b.prop("checked"))})),this.options.search&&(f=[],f.push('"),this.$toolbar.append(f.join("")),d=this.$toolbar.find(".search input"),d.off("keyup drop").on("keyup drop",function(b){e.options.searchOnEnterKey&&13!==b.keyCode||a.inArray(b.keyCode,[37,38,39,40])>-1||(clearTimeout(g),g=setTimeout(function(){e.onSearch(b)},e.options.searchTimeOut))}),n()&&d.off("mouseup").on("mouseup",function(a){clearTimeout(g),g=setTimeout(function(){e.onSearch(a)},e.options.searchTimeOut)}))},p.prototype.onSearch=function(b){var c=a.trim(a(b.currentTarget).val());this.options.trimOnSearch&&a(b.currentTarget).val()!==c&&a(b.currentTarget).val(c),c!==this.searchText&&(this.searchText=c,this.options.searchText=c,this.options.pageNumber=1,this.initSearch(),this.updatePagination(),this.trigger("search",c))},p.prototype.initSearch=function(){var b=this;if("server"!==this.options.sidePagination){if(this.options.customSearch!==a.noop)return void this.options.customSearch.apply(this,[this.searchText]);var c=this.searchText&&(this.options.escape?j(this.searchText):this.searchText).toLowerCase(),d=a.isEmptyObject(this.filterColumns)?null:this.filterColumns;this.data=d?a.grep(this.options.data,function(b){for(var c in d)if(a.isArray(d[c])&&-1===a.inArray(b[c],d[c])||b[c]!==d[c])return!1;return!0}):this.options.data,this.data=c?a.grep(this.data,function(d,f){for(var g=0;g-1&&(n=!0)}this.totalPages=~~((this.options.totalRows-1)/this.options.pageSize)+1,this.options.totalPages=this.totalPages}if(this.totalPages>0&&this.options.pageNumber>this.totalPages&&(this.options.pageNumber=this.totalPages),this.pageFrom=(this.options.pageNumber-1)*this.options.pageSize+1,this.pageTo=this.options.pageNumber*this.options.pageSize,this.pageTo>this.options.totalRows&&(this.pageTo=this.options.totalRows),m.push('
','',this.options.onlyInfoPagination?this.options.formatDetailPagination(this.options.totalRows):this.options.formatShowingRows(this.pageFrom,this.pageTo,this.options.totalRows),""),!this.options.onlyInfoPagination){m.push('');var r=[c('',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?"dropdown":"dropup"),'",'"),m.push(this.options.formatRecordsPerPage(r.join(""))),m.push(""),m.push("
",'")}this.$pagination.html(m.join("")),this.options.onlyInfoPagination||(f=this.$pagination.find(".page-list a"),g=this.$pagination.find(".page-first"),h=this.$pagination.find(".page-pre"),i=this.$pagination.find(".page-next"),j=this.$pagination.find(".page-last"),k=this.$pagination.find(".page-number"),this.options.smartDisplay&&(this.totalPages<=1&&this.$pagination.find("div.pagination").hide(),(p.length<2||this.options.totalRows<=p[0])&&this.$pagination.find("span.page-list").hide(),this.$pagination[this.getData().length?"show":"hide"]()),n&&(this.options.pageSize=this.options.formatAllRows()),f.off("click").on("click",a.proxy(this.onPageListChange,this)),g.off("click").on("click",a.proxy(this.onPageFirst,this)),h.off("click").on("click",a.proxy(this.onPagePre,this)),i.off("click").on("click",a.proxy(this.onPageNext,this)),j.off("click").on("click",a.proxy(this.onPageLast,this)),k.off("click").on("click",a.proxy(this.onPageNumber,this)))},p.prototype.updatePagination=function(b){b&&a(b.currentTarget).hasClass("disabled")||(this.options.maintainSelected||this.resetRows(),this.initPagination(),"server"===this.options.sidePagination?this.initServer():this.initBody(),this.trigger("page-change",this.options.pageNumber,this.options.pageSize))},p.prototype.onPageListChange=function(b){var c=a(b.currentTarget);c.parent().addClass("active").siblings().removeClass("active"),this.options.pageSize=c.text().toUpperCase()===this.options.formatAllRows().toUpperCase()?this.options.formatAllRows():+c.text(),this.$toolbar.find(".page-size").text(this.options.pageSize),this.updatePagination(b)},p.prototype.onPageFirst=function(a){this.options.pageNumber=1,this.updatePagination(a)},p.prototype.onPagePre=function(a){this.options.pageNumber-1===0?this.options.pageNumber=this.options.totalPages:this.options.pageNumber--,this.updatePagination(a)},p.prototype.onPageNext=function(a){this.options.pageNumber+1>this.options.totalPages?this.options.pageNumber=1:this.options.pageNumber++,this.updatePagination(a)},p.prototype.onPageLast=function(a){this.options.pageNumber=this.totalPages,this.updatePagination(a)},p.prototype.onPageNumber=function(b){this.options.pageNumber!==+a(b.currentTarget).text()&&(this.options.pageNumber=+a(b.currentTarget).text(),this.updatePagination(b))},p.prototype.initBody=function(b){var f=this,g=[],i=this.getData();this.trigger("pre-body",i),this.$body=this.$el.find(">tbody"),this.$body.length||(this.$body=a("
").appendTo(this.$el)),this.options.pagination&&"server"!==this.options.sidePagination||(this.pageFrom=1,this.pageTo=i.length);for(var k=this.pageFrom-1;k"),this.options.cardView&&g.push(c('"),a.each(this.header.fields,function(b,e){var i="",j=m(n,e,f.options.escape),l="",q={},r="",s=f.header.classes[b],t="",u="",v="",w="",x=f.columns[b];if(!(f.fromHtml&&"undefined"==typeof j||!x.visible||f.options.cardView&&!x.cardVisible)){if(o=c('style="%s"',p.concat(f.header.styles[b]).join("; ")),n["_"+e+"_id"]&&(r=c(' id="%s"',n["_"+e+"_id"])),n["_"+e+"_class"]&&(s=c(' class="%s"',n["_"+e+"_class"])),n["_"+e+"_rowspan"]&&(u=c(' rowspan="%s"',n["_"+e+"_rowspan"])),n["_"+e+"_colspan"]&&(v=c(' colspan="%s"',n["_"+e+"_colspan"])),n["_"+e+"_title"]&&(w=c(' title="%s"',n["_"+e+"_title"])),q=h(f.header,f.header.cellStyles[b],[j,n,k,e],q),q.classes&&(s=c(' class="%s"',q.classes)),q.css){var y=[];for(var z in q.css)y.push(z+": "+q.css[z]);o=c('style="%s"',y.concat(f.header.styles[b]).join("; "))}j=h(x,f.header.formatters[b],[j,n,k],j),n["_"+e+"_data"]&&!a.isEmptyObject(n["_"+e+"_data"])&&a.each(n["_"+e+"_data"],function(a,b){"index"!==a&&(t+=c(' data-%s="%s"',a,b))}),x.checkbox||x.radio?(l=x.checkbox?"checkbox":l,l=x.radio?"radio":l,i=[c(f.options.cardView?'
':'
"].join(""),n[f.header.stateField]=j===!0||j&&j.checked):(j="undefined"==typeof j||null===j?f.options.undefinedText:j,i=f.options.cardView?['
',f.options.showHeader?c('%s',o,d(f.columns,"field","title",e)):"",c('%s',j),"
"].join(""):[c("",r,s,o,t,u,v,w),j,""].join(""),f.options.cardView&&f.options.smartDisplay&&""===j&&(i='
')),g.push(i)}}),this.options.cardView&&g.push(""),g.push("
")}g.length||g.push('',c('',this.$header.find("th").length,this.options.formatNoMatches()),""),this.$body.html(g.join("")),b||this.scrollTo(0),this.$body.find("> tr[data-index] > td").off("click dblclick").on("click dblclick",function(b){var d=a(this),g=d.parent(),h=f.data[g.data("index")],i=d[0].cellIndex,j=f.getVisibleFields(),k=j[f.options.detailView&&!f.options.cardView?i-1:i],l=f.columns[e(f.columns,k)],n=m(h,k,f.options.escape);if(!d.find(".detail-icon").length&&(f.trigger("click"===b.type?"click-cell":"dbl-click-cell",k,n,h,d),f.trigger("click"===b.type?"click-row":"dbl-click-row",h,g,k), -"click"===b.type&&f.options.clickToSelect&&l.clickToSelect)){var o=g.find(c('[name="%s"]',f.options.selectItemName));o.length&&o[0].click()}}),this.$body.find("> tr[data-index] > td > .detail-icon").off("click").on("click",function(){var b=a(this),d=b.parent().parent(),e=d.data("index"),g=i[e];if(d.next().is("tr.detail-view"))b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailOpen)),d.next().remove(),f.trigger("collapse-row",e,g);else{b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailClose)),d.after(c('',d.find("td").length));var j=d.next().find("td"),k=h(f.options,f.options.detailFormatter,[e,g,j],"");1===j.length&&j.append(k),f.trigger("expand-row",e,g,j)}f.resetView()}),this.$selectItem=this.$body.find(c('[name="%s"]',this.options.selectItemName)),this.$selectItem.off("click").on("click",function(b){b.stopImmediatePropagation();var c=a(this),d=c.prop("checked"),e=f.data[c.data("index")];f.options.maintainSelected&&a(this).is(":radio")&&a.each(f.options.data,function(a,b){b[f.header.stateField]=!1}),e[f.header.stateField]=d,f.options.singleSelect&&(f.$selectItem.not(this).each(function(){f.data[a(this).data("index")][f.header.stateField]=!1}),f.$selectItem.filter(":checked").not(this).prop("checked",!1)),f.updateSelected(),f.trigger(d?"check":"uncheck",e,c)}),a.each(this.header.events,function(b,c){if(c){"string"==typeof c&&(c=h(null,c));var d=f.header.fields[b],e=a.inArray(d,f.getVisibleFields());f.options.detailView&&!f.options.cardView&&(e+=1);for(var g in c)f.$body.find(">tr:not(.no-records-found)").each(function(){var b=a(this),h=b.find(f.options.cardView?".card-view":"td").eq(e),i=g.indexOf(" "),j=g.substring(0,i),k=g.substring(i+1),l=c[g];h.find(k).off(j).on(j,function(a){var c=b.data("index"),e=f.data[c],g=e[d];l.apply(this,[a,g,e,c])})})}}),this.updateSelected(),this.resetView(),this.trigger("post-body",i)},p.prototype.initServer=function(b,c,d){var e,f=this,g={},i={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};this.options.pagination&&(i.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,i.pageNumber=this.options.pageNumber),(d||this.options.url||this.options.ajax)&&("limit"===this.options.queryParamsType&&(i={search:i.searchText,sort:i.sortName,order:i.sortOrder},this.options.pagination&&(i.offset=this.options.pageSize===this.options.formatAllRows()?0:this.options.pageSize*(this.options.pageNumber-1),i.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize)),a.isEmptyObject(this.filterColumnsPartial)||(i.filter=JSON.stringify(this.filterColumnsPartial,null)),g=h(this.options,this.options.queryParams,[i],g),a.extend(g,c||{}),g!==!1&&(b||this.$tableLoading.show(),e=a.extend({},h(null,this.options.ajaxOptions),{type:this.options.method,url:d||this.options.url,data:"application/json"===this.options.contentType&&"post"===this.options.method?JSON.stringify(g):g,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(a){a=h(f.options,f.options.responseHandler,[a],a),f.load(a),f.trigger("load-success",a),b||f.$tableLoading.hide()},error:function(a){f.trigger("load-error",a.status,a),b||f.$tableLoading.hide()}}),this.options.ajax?h(this,this.options.ajax,[e],null):(this._xhr&&4!==this._xhr.readyState&&this._xhr.abort(),this._xhr=a.ajax(e))))},p.prototype.initSearchText=function(){if(this.options.search&&""!==this.options.searchText){var a=this.$toolbar.find(".search input");a.val(this.options.searchText),this.onSearch({currentTarget:a})}},p.prototype.getCaret=function(){var b=this;a.each(this.$header.find("th"),function(c,d){a(d).find(".sortable").removeClass("desc asc").addClass(a(d).data("field")===b.options.sortName?b.options.sortOrder:"both")})},p.prototype.updateSelected=function(){var b=this.$selectItem.filter(":enabled").length&&this.$selectItem.filter(":enabled").length===this.$selectItem.filter(":enabled").filter(":checked").length;this.$selectAll.add(this.$selectAll_).prop("checked",b),this.$selectItem.each(function(){a(this).closest("tr")[a(this).prop("checked")?"addClass":"removeClass"]("selected")})},p.prototype.updateRows=function(){var b=this;this.$selectItem.each(function(){b.data[a(this).data("index")][b.header.stateField]=a(this).prop("checked")})},p.prototype.resetRows=function(){var b=this;a.each(this.data,function(a,c){b.$selectAll.prop("checked",!1),b.$selectItem.prop("checked",!1),b.header.stateField&&(c[b.header.stateField]=!1)})},p.prototype.trigger=function(b){var c=Array.prototype.slice.call(arguments,1);b+=".bs.table",this.options[p.EVENTS[b]].apply(this.options,c),this.$el.trigger(a.Event(b),c),this.options.onAll(b,c),this.$el.trigger(a.Event("all.bs.table"),[b,c])},p.prototype.resetHeader=function(){clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(a.proxy(this.fitHeader,this),this.$el.is(":hidden")?100:0)},p.prototype.fitHeader=function(){var b,d,e,f,h=this;if(h.$el.is(":hidden"))return void(h.timeoutId_=setTimeout(a.proxy(h.fitHeader,h),100));if(b=this.$tableBody.get(0),d=b.scrollWidth>b.clientWidth&&b.scrollHeight>b.clientHeight+this.$header.outerHeight()?g():0,this.$el.css("margin-top",-this.$header.outerHeight()),e=a(":focus"),e.length>0){var i=e.parents("th");if(i.length>0){var j=i.attr("data-field");if(void 0!==j){var k=this.$header.find("[data-field='"+j+"']");k.length>0&&k.find(":input").addClass("focus-temp")}}}this.$header_=this.$header.clone(!0,!0),this.$selectAll_=this.$header_.find('[name="btSelectAll"]'),this.$tableHeader.css({"margin-right":d}).find("table").css("width",this.$el.outerWidth()).html("").attr("class",this.$el.attr("class")).append(this.$header_),f=a(".focus-temp:visible:eq(0)"),f.length>0&&(f.focus(),this.$header.find(".focus-temp").removeClass("focus-temp")),this.$header.find("th[data-field]").each(function(){h.$header_.find(c('th[data-field="%s"]',a(this).data("field"))).data(a(this).data())});var l=this.getVisibleFields(),m=this.$header_.find("th");this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(b){var d=a(this),e=b;h.options.detailView&&!h.options.cardView&&(0===b&&h.$header_.find("th.detail").find(".fht-cell").width(d.innerWidth()),e=b-1);var f=h.$header_.find(c('th[data-field="%s"]',l[e]));f.length>1&&(f=a(m[d[0].cellIndex])),f.find(".fht-cell").width(d.innerWidth())}),this.$tableBody.off("scroll").on("scroll",function(){h.$tableHeader.scrollLeft(a(this).scrollLeft()),h.options.showFooter&&!h.options.cardView&&h.$tableFooter.scrollLeft(a(this).scrollLeft())}),h.trigger("post-header")},p.prototype.resetFooter=function(){var b=this,d=b.getData(),e=[];this.options.showFooter&&!this.options.cardView&&(!this.options.cardView&&this.options.detailView&&e.push(''),a.each(this.columns,function(a,f){var g,i="",j="",k=[],l={},m=c(' class="%s"',f["class"]);if(f.visible&&(!b.options.cardView||f.cardVisible)){if(i=c("text-align: %s; ",f.falign?f.falign:f.align),j=c("vertical-align: %s; ",f.valign),l=h(null,b.options.footerStyle),l&&l.css)for(g in l.css)k.push(g+": "+l.css[g]);e.push(""),e.push('
'),e.push(h(f,f.footerFormatter,[d]," ")||" "),e.push("
"),e.push('
'),e.push(""),e.push("")}}),this.$tableFooter.find("tr").html(e.join("")),this.$tableFooter.show(),clearTimeout(this.timeoutFooter_),this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),this.$el.is(":hidden")?100:0))},p.prototype.fitFooter=function(){var b,c,d;return clearTimeout(this.timeoutFooter_),this.$el.is(":hidden")?void(this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),100)):(c=this.$el.css("width"),d=c>this.$tableBody.width()?g():0,this.$tableFooter.css({"margin-right":d}).find("table").css("width",c).attr("class",this.$el.attr("class")),b=this.$tableFooter.find("td"),void this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(c){var d=a(this);b.eq(c).find(".fht-cell").width(d.innerWidth())}))},p.prototype.toggleColumn=function(a,b,d){if(-1!==a&&(this.columns[a].visible=b,this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns)){var e=this.$toolbar.find(".keep-open input").prop("disabled",!1);d&&e.filter(c('[value="%s"]',a)).prop("checked",b),e.filter(":checked").length<=this.options.minimumCountColumns&&e.filter(":checked").prop("disabled",!0)}},p.prototype.toggleRow=function(a,b,d){-1!==a&&this.$body.find("undefined"!=typeof a?c('tr[data-index="%s"]',a):c('tr[data-uniqueid="%s"]',b))[d?"show":"hide"]()},p.prototype.getVisibleFields=function(){var b=this,c=[];return a.each(this.header.fields,function(a,d){var f=b.columns[e(b.columns,d)];f.visible&&c.push(d)}),c},p.prototype.resetView=function(a){var b=0;if(a&&a.height&&(this.options.height=a.height),this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length),this.options.height){var c=k(this.$toolbar),d=k(this.$pagination),e=this.options.height-c-d;this.$tableContainer.css("height",e+"px")}return this.options.cardView?(this.$el.css("margin-top","0"),this.$tableContainer.css("padding-bottom","0"),void this.$tableFooter.hide()):(this.options.showHeader&&this.options.height?(this.$tableHeader.show(),this.resetHeader(),b+=this.$header.outerHeight()):(this.$tableHeader.hide(),this.trigger("post-header")),this.options.showFooter&&(this.resetFooter(),this.options.height&&(b+=this.$tableFooter.outerHeight()+1)),this.getCaret(),this.$tableContainer.css("padding-bottom",b+"px"),void this.trigger("reset-view"))},p.prototype.getData=function(b){return!this.searchText&&a.isEmptyObject(this.filterColumns)&&a.isEmptyObject(this.filterColumnsPartial)?b?this.options.data.slice(this.pageFrom-1,this.pageTo):this.options.data:b?this.data.slice(this.pageFrom-1,this.pageTo):this.data},p.prototype.load=function(b){var c=!1;"server"===this.options.sidePagination?(this.options.totalRows=b.total,c=b.fixedScroll,b=b[this.options.dataField]):a.isArray(b)||(c=b.fixedScroll,b=b.data),this.initData(b),this.initSearch(),this.initPagination(),this.initBody(c)},p.prototype.append=function(a){this.initData(a,"append"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.prepend=function(a){this.initData(a,"prepend"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.remove=function(b){var c,d,e=this.options.data.length;if(b.hasOwnProperty("field")&&b.hasOwnProperty("values")){for(c=e-1;c>=0;c--)d=this.options.data[c],d.hasOwnProperty(b.field)&&-1!==a.inArray(d[b.field],b.values)&&this.options.data.splice(c,1);e!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))}},p.prototype.removeAll=function(){this.options.data.length>0&&(this.options.data.splice(0,this.options.data.length),this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.getRowByUniqueId=function(a){var b,c,d,e=this.options.uniqueId,f=this.options.data.length,g=null;for(b=f-1;b>=0;b--){if(c=this.options.data[b],c.hasOwnProperty(e))d=c[e];else{if(!c._data.hasOwnProperty(e))continue;d=c._data[e]}if("string"==typeof d?a=a.toString():"number"==typeof d&&(Number(d)===d&&d%1===0?a=parseInt(a):d===Number(d)&&0!==d&&(a=parseFloat(a))),d===a){g=c;break}}return g},p.prototype.removeByUniqueId=function(a){var b=this.options.data.length,c=this.getRowByUniqueId(a);c&&this.options.data.splice(this.options.data.indexOf(c),1),b!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.updateByUniqueId=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){var e;d.hasOwnProperty("id")&&d.hasOwnProperty("row")&&(e=a.inArray(c.getRowByUniqueId(d.id),c.options.data),-1!==e&&a.extend(c.options.data[e],d.row))}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.insertRow=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("row")&&(this.data.splice(a.index,0,a.row),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))},p.prototype.updateRow=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){d.hasOwnProperty("index")&&d.hasOwnProperty("row")&&a.extend(c.options.data[d.index],d.row)}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.showRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!0)},p.prototype.hideRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!1)},p.prototype.getRowsHidden=function(b){var c=a(this.$body[0]).children().filter(":hidden"),d=0;if(b)for(;dtr");if(this.options.detailView&&!this.options.cardView&&(g+=1),e=j.eq(f).find(">td").eq(g),!(0>f||0>g||f>=this.data.length)){for(c=f;f+h>c;c++)for(d=g;g+i>d;d++)j.eq(c).find(">td").eq(d).hide();e.attr("rowspan",h).attr("colspan",i).show()}},p.prototype.updateCell=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("field")&&a.hasOwnProperty("value")&&(this.data[a.index][a.field]=a.value,a.reinit!==!1&&(this.initSort(),this.initBody(!0)))},p.prototype.getOptions=function(){return this.options},p.prototype.getSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.getAllSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.checkAll=function(){this.checkAll_(!0)},p.prototype.uncheckAll=function(){this.checkAll_(!1)},p.prototype.checkInvert=function(){var b=this,c=b.$selectItem.filter(":enabled"),d=c.filter(":checked");c.each(function(){a(this).prop("checked",!a(this).prop("checked"))}),b.updateRows(),b.updateSelected(),b.trigger("uncheck-some",d),d=b.getSelections(),b.trigger("check-some",d)},p.prototype.checkAll_=function(a){var b;a||(b=this.getSelections()),this.$selectAll.add(this.$selectAll_).prop("checked",a),this.$selectItem.filter(":enabled").prop("checked",a),this.updateRows(),a&&(b=this.getSelections()),this.trigger(a?"check-all":"uncheck-all",b)},p.prototype.check=function(a){this.check_(!0,a)},p.prototype.uncheck=function(a){this.check_(!1,a)},p.prototype.check_=function(a,b){var d=this.$selectItem.filter(c('[data-index="%s"]',b)).prop("checked",a);this.data[b][this.header.stateField]=a,this.updateSelected(),this.trigger(a?"check":"uncheck",this.data[b],d)},p.prototype.checkBy=function(a){this.checkBy_(!0,a)},p.prototype.uncheckBy=function(a){this.checkBy_(!1,a)},p.prototype.checkBy_=function(b,d){if(d.hasOwnProperty("field")&&d.hasOwnProperty("values")){var e=this,f=[];a.each(this.options.data,function(g,h){if(!h.hasOwnProperty(d.field))return!1;if(-1!==a.inArray(h[d.field],d.values)){var i=e.$selectItem.filter(":enabled").filter(c('[data-index="%s"]',g)).prop("checked",b);h[e.header.stateField]=b,f.push(h),e.trigger(b?"check":"uncheck",h,i)}}),this.updateSelected(),this.trigger(b?"check-some":"uncheck-some",f)}},p.prototype.destroy=function(){this.$el.insertBefore(this.$container),a(this.options.toolbar).insertBefore(this.$el),this.$container.next().remove(),this.$container.remove(),this.$el.html(this.$el_.html()).css("margin-top","0").attr("class",this.$el_.attr("class")||"")},p.prototype.showLoading=function(){this.$tableLoading.show()},p.prototype.hideLoading=function(){this.$tableLoading.hide()},p.prototype.togglePagination=function(){this.options.pagination=!this.options.pagination;var a=this.$toolbar.find('button[name="paginationSwitch"] i');this.options.pagination?a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchDown):a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchUp),this.updatePagination()},p.prototype.refresh=function(a){a&&a.url&&(this.options.pageNumber=1),this.initServer(a&&a.silent,a&&a.query,a&&a.url),this.trigger("refresh",a)},p.prototype.resetWidth=function(){this.options.showHeader&&this.options.height&&this.fitHeader(),this.options.showFooter&&this.fitFooter()},p.prototype.showColumn=function(a){this.toggleColumn(e(this.columns,a),!0,!0)},p.prototype.hideColumn=function(a){this.toggleColumn(e(this.columns,a),!1,!0)},p.prototype.getHiddenColumns=function(){return a.grep(this.columns,function(a){return!a.visible})},p.prototype.getVisibleColumns=function(){return a.grep(this.columns,function(a){return a.visible})},p.prototype.toggleAllColumns=function(b){if(a.each(this.columns,function(a){this.columns[a].visible=b}),this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns){var c=this.$toolbar.find(".keep-open input").prop("disabled",!1);c.filter(":checked").length<=this.options.minimumCountColumns&&c.filter(":checked").prop("disabled",!0)}},p.prototype.showAllColumns=function(){this.toggleAllColumns(!0)},p.prototype.hideAllColumns=function(){this.toggleAllColumns(!1)},p.prototype.filterBy=function(b){this.filterColumns=a.isEmptyObject(b)?{}:b,this.options.pageNumber=1,this.initSearch(),this.updatePagination()},p.prototype.scrollTo=function(a){return"string"==typeof a&&(a="bottom"===a?this.$tableBody[0].scrollHeight:0),"number"==typeof a&&this.$tableBody.scrollTop(a),"undefined"==typeof a?this.$tableBody.scrollTop():void 0},p.prototype.getScrollPosition=function(){return this.scrollTo()},p.prototype.selectPage=function(a){a>0&&a<=this.options.totalPages&&(this.options.pageNumber=a,this.updatePagination())},p.prototype.prevPage=function(){this.options.pageNumber>1&&(this.options.pageNumber--,this.updatePagination())},p.prototype.nextPage=function(){this.options.pageNumber tr[data-index="%s"]',b));d.next().is("tr.detail-view")===(a?!1:!0)&&d.find("> td > .detail-icon").click()},p.prototype.expandRow=function(a){this.expandRow_(!0,a)},p.prototype.collapseRow=function(a){this.expandRow_(!1,a)},p.prototype.expandAllRows=function(b){if(b){var d=this.$body.find(c('> tr[data-index="%s"]',0)),e=this,f=null,g=!1,h=-1;if(d.next().is("tr.detail-view")?d.next().next().is("tr.detail-view")||(d.next().find(".detail-icon").click(),g=!0):(d.find("> td > .detail-icon").click(),g=!0),g)try{h=setInterval(function(){f=e.$body.find("tr.detail-view").last().find(".detail-icon"),f.length>0?f.click():clearInterval(h)},1)}catch(i){clearInterval(h)}}else for(var j=this.$body.children(),k=0;k'),this.$input=a('').appendTo(this.$container),this.$element.before(this.$container),this.build(c),this.isInit=!1}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(a){return"label label-info"},focusClass:"focus",itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},itemTitle:function(a){return null},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],delimiter:",",delimiterRegex:null,cancelConfirmKeysOnEmpty:!1,onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1,triggerChange:!0};b.prototype={constructor:b,add:function(b,c,d){var f=this;if(!(f.options.maxTags&&f.itemsArray.length>=f.options.maxTags)&&(b===!1||b)){if("string"==typeof b&&f.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!f.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(f.isSelect&&!f.multiple&&f.itemsArray.length>0&&f.remove(f.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var g=f.options.delimiterRegex?f.options.delimiterRegex:f.options.delimiter,h=b.split(g);if(h.length>1){for(var i=0;if.options.maxInputLength)){var o=a.Event("beforeItemAdd",{item:b,cancel:!1,options:d});if(f.$element.trigger(o),!o.cancel){f.itemsArray.push(b);var p=a(''+e(k)+'');p.data("item",b),f.findInputWrapper().before(p),p.after(" ");var q=a('option[value="'+encodeURIComponent(j)+'"]',f.$element).length||a('option[value="'+e(j)+'"]',f.$element).length;if(f.isSelect&&!q){var r=a("");r.data("item",b),r.attr("value",j),f.$element.append(r)}c||f.pushVal(f.options.triggerChange),(f.options.maxTags===f.itemsArray.length||f.items().toString().length===f.options.maxInputLength)&&f.$container.addClass("bootstrap-tagsinput-max"),a(".typeahead, .twitter-typeahead",f.$container).length&&f.$input.typeahead("val",""),this.isInit?f.$element.trigger(a.Event("itemAddedOnInit",{item:b,options:d})):f.$element.trigger(a.Event("itemAdded",{item:b,options:d}))}}}else if(f.options.onTagExists){var s=a(".tag",f.$container).filter(function(){return a(this).data("item")===n});f.options.onTagExists(b,s)}}}},remove:function(b,c,d){var e=this;if(e.objectItems&&(b="object"==typeof b?a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==e.options.itemValue(b)}):a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==b}),b=b[b.length-1]),b){var f=a.Event("beforeItemRemove",{item:b,cancel:!1,options:d});if(e.$element.trigger(f),f.cancel)return;a(".tag",e.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",e.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,e.itemsArray)&&e.itemsArray.splice(a.inArray(b,e.itemsArray),1)}c||e.pushVal(e.options.triggerChange),e.options.maxTags>e.itemsArray.length&&e.$container.removeClass("bootstrap-tagsinput-max"),e.$element.trigger(a.Event("itemRemoved",{item:b,options:d}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal(b.options.triggerChange)},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0),b.options.triggerChange&&b.$element.trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d$1")}}))}if(e.options.typeaheadjs){var j=null,k={},l=e.options.typeaheadjs;a.isArray(l)?(j=l[0],k=l[1]):k=l,e.$input.typeahead(j,k).on("typeahead:selected",a.proxy(function(a,b){k.valueKey?e.add(b[k.valueKey]):e.add(b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(a){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(b){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on({focusin:function(){e.$container.addClass(e.options.focusClass)},focusout:function(){e.$container.removeClass(e.options.focusClass)}}),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g.length&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h.length&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}var k=c.val().length;Math.ceil(k/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(0!==d.length&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val("")),e.options.cancelConfirmKeysOnEmpty===!1&&b.preventDefault());var h=c.val().length;Math.ceil(h/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d,e){var f=[];return this.each(function(){var g=a(this).data("tagsinput");if(g)if(c||d){if(void 0!==g[c]){if(3===g[c].length&&void 0!==e)var h=g[c](d,null,e);else var h=g[c](d);void 0!==h&&f.push(h)}}else f.push(g);else g=new b(this,c),a(this).data("tagsinput",g),f.push(g),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?f.length>1?f:f[0]:f},a.fn.tagsinput.Constructor=b;var i=a("
");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); -//# sourceMappingURL=bootstrap-tagsinput.min.js.map \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap.min.js deleted file mode 100644 index 7c1561a8..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/bootstrap.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v3.2.0 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
").append(a("").attr({"data-action":"today",title:d.tooltips.today}).append(a("").addClass(d.icons.today)))),!d.sideBySide&&A()&&z()&&b.push(a("").append(a("").attr({"data-action":"togglePicker",title:d.tooltips.selectTime}).append(a("").addClass(d.icons.time)))),d.showClear&&b.push(a("").append(a("").attr({"data-action":"clear",title:d.tooltips.clear}).append(a("").addClass(d.icons.clear)))),d.showClose&&b.push(a("").append(a("").attr({"data-action":"close",title:d.tooltips.close}).append(a("").addClass(d.icons.close)))),a("").addClass("table-condensed").append(a("").append(a("").append(b)))},F=function(){var b=a("
").addClass("bootstrap-datetimepicker-widget dropdown-menu"),c=a("
").addClass("datepicker").append(B()),e=a("
").addClass("timepicker").append(D()),f=a("
    ").addClass("list-unstyled"),g=a("
  • ").addClass("picker-switch"+(d.collapse?" accordion-toggle":"")).append(E());return d.inline&&b.removeClass("dropdown-menu"),h&&b.addClass("usetwentyfour"),y("s")&&!h&&b.addClass("wider"),d.sideBySide&&A()&&z()?(b.addClass("timepicker-sbs"),"top"===d.toolbarPlacement&&b.append(g),b.append(a("
    ").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))),"bottom"===d.toolbarPlacement&&b.append(g),b):("top"===d.toolbarPlacement&&f.append(g),A()&&f.append(a("
  • ").addClass(d.collapse&&z()?"collapse in":"").append(c)),"default"===d.toolbarPlacement&&f.append(g),z()&&f.append(a("
  • ").addClass(d.collapse&&A()?"collapse":"").append(e)),"bottom"===d.toolbarPlacement&&f.append(g),b.append(f))},G=function(){var b,e={};return b=c.is("input")||d.inline?c.data():c.find("input").data(),b.dateOptions&&b.dateOptions instanceof Object&&(e=a.extend(!0,e,b.dateOptions)),a.each(d,function(a){var c="date"+a.charAt(0).toUpperCase()+a.slice(1);void 0!==b[c]&&(e[a]=b[c])}),e},H=function(){var b,e=(n||c).position(),f=(n||c).offset(),g=d.widgetPositioning.vertical,h=d.widgetPositioning.horizontal;if(d.widgetParent)b=d.widgetParent.append(o);else if(c.is("input"))b=c.after(o).parent();else{if(d.inline)return void(b=c.append(o));b=c,c.children().first().after(o)}if("auto"===g&&(g=f.top+1.5*o.height()>=a(window).height()+a(window).scrollTop()&&o.height()+c.outerHeight()a(window).width()?"right":"left"),"top"===g?o.addClass("top").removeClass("bottom"):o.addClass("bottom").removeClass("top"),"right"===h?o.addClass("pull-right"):o.removeClass("pull-right"),"relative"!==b.css("position")&&(b=b.parents().filter(function(){return"relative"===a(this).css("position")}).first()),0===b.length)throw new Error("datetimepicker component should be placed within a relative positioned container");o.css({top:"top"===g?"auto":e.top+c.outerHeight(),bottom:"top"===g?e.top+c.outerHeight():"auto",left:"left"===h?b===c?0:e.left:"auto",right:"left"===h?"auto":b.outerWidth()-c.outerWidth()-(b===c?0:e.left)})},I=function(a){"dp.change"===a.type&&(a.date&&a.date.isSame(a.oldDate)||!a.date&&!a.oldDate)||c.trigger(a)},J=function(a){"y"===a&&(a="YYYY"),I({type:"dp.update",change:a,viewDate:f.clone()})},K=function(a){o&&(a&&(k=Math.max(p,Math.min(3,k+a))),o.find(".datepicker > div").hide().filter(".datepicker-"+q[k].clsName).show())},L=function(){var b=a("
"),c=f.clone().startOf("w").startOf("d");for(d.calendarWeeks===!0&&b.append(a(""),d.calendarWeeks&&c.append('"),k.push(c)),g="",b.isBefore(f,"M")&&(g+=" old"),b.isAfter(f,"M")&&(g+=" new"),b.isSame(e,"d")&&!m&&(g+=" active"),Q(b,"d")||(g+=" disabled"),b.isSame(x(),"d")&&(g+=" today"),(0===b.day()||6===b.day())&&(g+=" weekend"),c.append('"),b.add(1,"d");i.find("tbody").empty().append(k),S(),T(),U()}},W=function(){var b=o.find(".timepicker-hours table"),c=f.clone().startOf("d"),d=[],e=a("");for(f.hour()>11&&!h&&c.hour(12);c.isSame(f,"d")&&(h||f.hour()<12&&c.hour()<12||f.hour()>11);)c.hour()%4===0&&(e=a(""),d.push(e)),e.append('"),c.add(1,"h");b.empty().append(d)},X=function(){for(var b=o.find(".timepicker-minutes table"),c=f.clone().startOf("h"),e=[],g=a(""),h=1===d.stepping?5:d.stepping;f.isSame(c,"h");)c.minute()%(4*h)===0&&(g=a(""),e.push(g)),g.append('"),c.add(h,"m");b.empty().append(e)},Y=function(){for(var b=o.find(".timepicker-seconds table"),c=f.clone().startOf("m"),d=[],e=a("");f.isSame(c,"m");)c.second()%20===0&&(e=a(""),d.push(e)),e.append('"),c.add(5,"s");b.empty().append(d)},Z=function(){var a,b,c=o.find(".timepicker span[data-time-component]");h||(a=o.find(".timepicker [data-action=togglePeriod]"),b=e.clone().add(e.hours()>=12?-12:12,"h"),a.text(e.format("A")),Q(b,"h")?a.removeClass("disabled"):a.addClass("disabled")),c.filter("[data-time-component=hours]").text(e.format(h?"HH":"hh")),c.filter("[data-time-component=minutes]").text(e.format("mm")),c.filter("[data-time-component=seconds]").text(e.format("ss")),W(),X(),Y()},$=function(){o&&(V(),Z())},_=function(a){var b=m?null:e;return a?(a=a.clone().locale(d.locale),1!==d.stepping&&a.minutes(Math.round(a.minutes()/d.stepping)*d.stepping%60).seconds(0),void(Q(a)?(e=a,f=e.clone(),g.val(e.format(i)),c.data("date",e.format(i)),m=!1,$(),I({type:"dp.change",date:e.clone(),oldDate:b})):(d.keepInvalid||g.val(m?"":e.format(i)),I({type:"dp.error",date:a})))):(m=!0,g.val(""),c.data("date",""),I({type:"dp.change",date:!1,oldDate:b}),void $())},aa=function(){var b=!1;return o?(o.find(".collapse").each(function(){var c=a(this).data("collapse");return c&&c.transitioning?(b=!0,!1):!0}),b?l:(n&&n.hasClass("btn")&&n.toggleClass("active"),o.hide(),a(window).off("resize",H),o.off("click","[data-action]"),o.off("mousedown",!1),o.remove(),o=!1,I({type:"dp.hide",date:e.clone()}),g.blur(),l)):l},ba=function(){_(null)},ca={next:function(){var a=q[k].navFnc;f.add(q[k].navStep,a),V(),J(a)},previous:function(){var a=q[k].navFnc;f.subtract(q[k].navStep,a),V(),J(a)},pickerSwitch:function(){K(1)},selectMonth:function(b){var c=a(b.target).closest("tbody").find("span").index(a(b.target));f.month(c),k===p?(_(e.clone().year(f.year()).month(f.month())),d.inline||aa()):(K(-1),V()),J("M")},selectYear:function(b){var c=parseInt(a(b.target).text(),10)||0;f.year(c),k===p?(_(e.clone().year(f.year())),d.inline||aa()):(K(-1),V()),J("YYYY")},selectDecade:function(b){var c=parseInt(a(b.target).data("selection"),10)||0;f.year(c),k===p?(_(e.clone().year(f.year())),d.inline||aa()):(K(-1),V()),J("YYYY")},selectDay:function(b){var c=f.clone();a(b.target).is(".old")&&c.subtract(1,"M"),a(b.target).is(".new")&&c.add(1,"M"),_(c.date(parseInt(a(b.target).text(),10))),z()||d.keepOpen||d.inline||aa()},incrementHours:function(){var a=e.clone().add(1,"h");Q(a,"h")&&_(a)},incrementMinutes:function(){var a=e.clone().add(d.stepping,"m");Q(a,"m")&&_(a)},incrementSeconds:function(){var a=e.clone().add(1,"s");Q(a,"s")&&_(a)},decrementHours:function(){var a=e.clone().subtract(1,"h");Q(a,"h")&&_(a)},decrementMinutes:function(){var a=e.clone().subtract(d.stepping,"m");Q(a,"m")&&_(a)},decrementSeconds:function(){var a=e.clone().subtract(1,"s");Q(a,"s")&&_(a)},togglePeriod:function(){_(e.clone().add(e.hours()>=12?-12:12,"h"))},togglePicker:function(b){var c,e=a(b.target),f=e.closest("ul"),g=f.find(".in"),h=f.find(".collapse:not(.in)");if(g&&g.length){if(c=g.data("collapse"),c&&c.transitioning)return;g.collapse?(g.collapse("hide"),h.collapse("show")):(g.removeClass("in"),h.addClass("in")),e.is("span")?e.toggleClass(d.icons.time+" "+d.icons.date):e.find("span").toggleClass(d.icons.time+" "+d.icons.date)}},showPicker:function(){o.find(".timepicker > div:not(.timepicker-picker)").hide(),o.find(".timepicker .timepicker-picker").show()},showHours:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-hours").show()},showMinutes:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);h||(e.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),_(e.clone().hours(c)),ca.showPicker.call(l)},selectMinute:function(b){_(e.clone().minutes(parseInt(a(b.target).text(),10))),ca.showPicker.call(l)},selectSecond:function(b){_(e.clone().seconds(parseInt(a(b.target).text(),10))),ca.showPicker.call(l)},clear:ba,today:function(){var a=x();Q(a,"d")&&_(a)},close:aa},da=function(b){return a(b.currentTarget).is(".disabled")?!1:(ca[a(b.currentTarget).data("action")].apply(l,arguments),!1)},ea=function(){var b,c={year:function(a){return a.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(a){return a.date(1).hours(0).seconds(0).minutes(0)},day:function(a){return a.hours(0).seconds(0).minutes(0)},hour:function(a){return a.seconds(0).minutes(0)},minute:function(a){return a.seconds(0)}};return g.prop("disabled")||!d.ignoreReadonly&&g.prop("readonly")||o?l:(void 0!==g.val()&&0!==g.val().trim().length?_(ga(g.val().trim())):d.useCurrent&&m&&(g.is("input")&&0===g.val().trim().length||d.inline)&&(b=x(),"string"==typeof d.useCurrent&&(b=c[d.useCurrent](b)),_(b)),o=F(),L(),R(),o.find(".timepicker-hours").hide(),o.find(".timepicker-minutes").hide(),o.find(".timepicker-seconds").hide(),$(),K(),a(window).on("resize",H),o.on("click","[data-action]",da),o.on("mousedown",!1),n&&n.hasClass("btn")&&n.toggleClass("active"),o.show(),H(),d.focusOnShow&&!g.is(":focus")&&g.focus(),I({type:"dp.show"}),l)},fa=function(){return o?aa():ea()},ga=function(a){return a=void 0===d.parseInputDate?b.isMoment(a)||a instanceof Date?b(a):x(a):d.parseInputDate(a),a.locale(d.locale),a},ha=function(a){var b,c,e,f,g=null,h=[],i={},j=a.which,k="p";w[j]=k;for(b in w)w.hasOwnProperty(b)&&w[b]===k&&(h.push(b),parseInt(b,10)!==j&&(i[b]=!0));for(b in d.keyBinds)if(d.keyBinds.hasOwnProperty(b)&&"function"==typeof d.keyBinds[b]&&(e=b.split(" "),e.length===h.length&&v[j]===e[e.length-1])){for(f=!0,c=e.length-2;c>=0;c--)if(!(v[e[c]]in i)){f=!1;break}if(f){g=d.keyBinds[b];break}}g&&(g.call(l,o),a.stopPropagation(),a.preventDefault())},ia=function(a){w[a.which]="r",a.stopPropagation(),a.preventDefault()},ja=function(b){var c=a(b.target).val().trim(),d=c?ga(c):null;return _(d),b.stopImmediatePropagation(),!1},ka=function(){g.on({change:ja,blur:d.debug?"":aa,keydown:ha,keyup:ia,focus:d.allowInputToggle?ea:""}),c.is("input")?g.on({focus:ea}):n&&(n.on("click",fa),n.on("mousedown",!1))},la=function(){g.off({change:ja,blur:blur,keydown:ha,keyup:ia,focus:d.allowInputToggle?aa:""}),c.is("input")?g.off({focus:ea}):n&&(n.off("click",fa),n.off("mousedown",!1))},ma=function(b){var c={};return a.each(b,function(){var a=ga(this);a.isValid()&&(c[a.format("YYYY-MM-DD")]=!0)}),Object.keys(c).length?c:!1},na=function(b){var c={};return a.each(b,function(){c[this]=!0}),Object.keys(c).length?c:!1},oa=function(){var a=d.format||"L LT";i=a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){var b=e.localeData().longDateFormat(a)||a;return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){return e.localeData().longDateFormat(a)||a})}),j=d.extraFormats?d.extraFormats.slice():[],j.indexOf(a)<0&&j.indexOf(i)<0&&j.push(i),h=i.toLowerCase().indexOf("a")<1&&i.replace(/\[.*?\]/g,"").indexOf("h")<1,y("y")&&(p=2),y("M")&&(p=1),y("d")&&(p=0),k=Math.max(p,k),m||_(e)};if(l.destroy=function(){aa(),la(),c.removeData("DateTimePicker"),c.removeData("date")},l.toggle=fa,l.show=ea,l.hide=aa,l.disable=function(){return aa(),n&&n.hasClass("btn")&&n.addClass("disabled"),g.prop("disabled",!0),l},l.enable=function(){return n&&n.hasClass("btn")&&n.removeClass("disabled"),g.prop("disabled",!1),l},l.ignoreReadonly=function(a){if(0===arguments.length)return d.ignoreReadonly;if("boolean"!=typeof a)throw new TypeError("ignoreReadonly () expects a boolean parameter");return d.ignoreReadonly=a,l},l.options=function(b){if(0===arguments.length)return a.extend(!0,{},d);if(!(b instanceof Object))throw new TypeError("options() options parameter should be an object");return a.extend(!0,d,b),a.each(d,function(a,b){if(void 0===l[a])throw new TypeError("option "+a+" is not recognized!");l[a](b)}),l},l.date=function(a){if(0===arguments.length)return m?null:e.clone();if(!(null===a||"string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");return _(null===a?null:ga(a)),l},l.format=function(a){if(0===arguments.length)return d.format;if("string"!=typeof a&&("boolean"!=typeof a||a!==!1))throw new TypeError("format() expects a sting or boolean:false parameter "+a);return d.format=a,i&&oa(),l},l.timeZone=function(a){return 0===arguments.length?d.timeZone:(d.timeZone=a,l)},l.dayViewHeaderFormat=function(a){if(0===arguments.length)return d.dayViewHeaderFormat;if("string"!=typeof a)throw new TypeError("dayViewHeaderFormat() expects a string parameter");return d.dayViewHeaderFormat=a,l},l.extraFormats=function(a){if(0===arguments.length)return d.extraFormats;if(a!==!1&&!(a instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");return d.extraFormats=a,j&&oa(),l},l.disabledDates=function(b){if(0===arguments.length)return d.disabledDates?a.extend({},d.disabledDates):d.disabledDates;if(!b)return d.disabledDates=!1,$(),l;if(!(b instanceof Array))throw new TypeError("disabledDates() expects an array parameter");return d.disabledDates=ma(b),d.enabledDates=!1,$(),l},l.enabledDates=function(b){if(0===arguments.length)return d.enabledDates?a.extend({},d.enabledDates):d.enabledDates;if(!b)return d.enabledDates=!1,$(),l;if(!(b instanceof Array))throw new TypeError("enabledDates() expects an array parameter");return d.enabledDates=ma(b),d.disabledDates=!1,$(),l},l.daysOfWeekDisabled=function(a){if(0===arguments.length)return d.daysOfWeekDisabled.splice(0);if("boolean"==typeof a&&!a)return d.daysOfWeekDisabled=!1,$(),l;if(!(a instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(d.daysOfWeekDisabled=a.reduce(function(a,b){return b=parseInt(b,10),b>6||0>b||isNaN(b)?a:(-1===a.indexOf(b)&&a.push(b),a)},[]).sort(),d.useCurrent&&!d.keepInvalid){for(var b=0;!Q(e,"d");){if(e.add(1,"d"),7===b)throw"Tried 7 times to find a valid date";b++}_(e)}return $(),l},l.maxDate=function(a){if(0===arguments.length)return d.maxDate?d.maxDate.clone():d.maxDate;if("boolean"==typeof a&&a===!1)return d.maxDate=!1,$(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=x());var b=ga(a);if(!b.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+a);if(d.minDate&&b.isBefore(d.minDate))throw new TypeError("maxDate() date parameter is before options.minDate: "+b.format(i));return d.maxDate=b,d.useCurrent&&!d.keepInvalid&&e.isAfter(a)&&_(d.maxDate),f.isAfter(b)&&(f=b.clone().subtract(d.stepping,"m")),$(),l},l.minDate=function(a){if(0===arguments.length)return d.minDate?d.minDate.clone():d.minDate;if("boolean"==typeof a&&a===!1)return d.minDate=!1,$(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=x());var b=ga(a);if(!b.isValid())throw new TypeError("minDate() Could not parse date parameter: "+a);if(d.maxDate&&b.isAfter(d.maxDate))throw new TypeError("minDate() date parameter is after options.maxDate: "+b.format(i));return d.minDate=b,d.useCurrent&&!d.keepInvalid&&e.isBefore(a)&&_(d.minDate),f.isBefore(b)&&(f=b.clone().add(d.stepping,"m")),$(),l},l.defaultDate=function(a){if(0===arguments.length)return d.defaultDate?d.defaultDate.clone():d.defaultDate;if(!a)return d.defaultDate=!1,l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=x());var b=ga(a);if(!b.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+a);if(!Q(b))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");return d.defaultDate=b,(d.defaultDate&&d.inline||""===g.val().trim())&&_(d.defaultDate),l},l.locale=function(a){if(0===arguments.length)return d.locale;if(!b.localeData(a))throw new TypeError("locale() locale "+a+" is not loaded from moment locales!");return d.locale=a,e.locale(d.locale),f.locale(d.locale),i&&oa(),o&&(aa(),ea()),l},l.stepping=function(a){return 0===arguments.length?d.stepping:(a=parseInt(a,10),(isNaN(a)||1>a)&&(a=1),d.stepping=a,l)},l.useCurrent=function(a){var b=["year","month","day","hour","minute"];if(0===arguments.length)return d.useCurrent;if("boolean"!=typeof a&&"string"!=typeof a)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof a&&-1===b.indexOf(a.toLowerCase()))throw new TypeError("useCurrent() expects a string parameter of "+b.join(", "));return d.useCurrent=a,l},l.collapse=function(a){if(0===arguments.length)return d.collapse;if("boolean"!=typeof a)throw new TypeError("collapse() expects a boolean parameter");return d.collapse===a?l:(d.collapse=a,o&&(aa(),ea()),l)},l.icons=function(b){if(0===arguments.length)return a.extend({},d.icons);if(!(b instanceof Object))throw new TypeError("icons() expects parameter to be an Object");return a.extend(d.icons,b),o&&(aa(),ea()),l},l.tooltips=function(b){if(0===arguments.length)return a.extend({},d.tooltips);if(!(b instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");return a.extend(d.tooltips,b),o&&(aa(),ea()),l},l.useStrict=function(a){if(0===arguments.length)return d.useStrict;if("boolean"!=typeof a)throw new TypeError("useStrict() expects a boolean parameter");return d.useStrict=a,l},l.sideBySide=function(a){if(0===arguments.length)return d.sideBySide;if("boolean"!=typeof a)throw new TypeError("sideBySide() expects a boolean parameter");return d.sideBySide=a,o&&(aa(),ea()),l},l.viewMode=function(a){if(0===arguments.length)return d.viewMode;if("string"!=typeof a)throw new TypeError("viewMode() expects a string parameter");if(-1===r.indexOf(a))throw new TypeError("viewMode() parameter must be one of ("+r.join(", ")+") value");return d.viewMode=a,k=Math.max(r.indexOf(a),p),K(),l},l.toolbarPlacement=function(a){if(0===arguments.length)return d.toolbarPlacement;if("string"!=typeof a)throw new TypeError("toolbarPlacement() expects a string parameter");if(-1===u.indexOf(a))throw new TypeError("toolbarPlacement() parameter must be one of ("+u.join(", ")+") value");return d.toolbarPlacement=a,o&&(aa(),ea()),l},l.widgetPositioning=function(b){if(0===arguments.length)return a.extend({},d.widgetPositioning);if("[object Object]"!=={}.toString.call(b))throw new TypeError("widgetPositioning() expects an object variable");if(b.horizontal){if("string"!=typeof b.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(b.horizontal=b.horizontal.toLowerCase(),-1===t.indexOf(b.horizontal))throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+t.join(", ")+")");d.widgetPositioning.horizontal=b.horizontal}if(b.vertical){if("string"!=typeof b.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(b.vertical=b.vertical.toLowerCase(),-1===s.indexOf(b.vertical))throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+s.join(", ")+")");d.widgetPositioning.vertical=b.vertical}return $(),l},l.calendarWeeks=function(a){if(0===arguments.length)return d.calendarWeeks;if("boolean"!=typeof a)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");return d.calendarWeeks=a,$(),l},l.showTodayButton=function(a){if(0===arguments.length)return d.showTodayButton;if("boolean"!=typeof a)throw new TypeError("showTodayButton() expects a boolean parameter");return d.showTodayButton=a,o&&(aa(),ea()),l},l.showClear=function(a){if(0===arguments.length)return d.showClear;if("boolean"!=typeof a)throw new TypeError("showClear() expects a boolean parameter");return d.showClear=a,o&&(aa(),ea()),l},l.widgetParent=function(b){if(0===arguments.length)return d.widgetParent;if("string"==typeof b&&(b=a(b)),null!==b&&"string"!=typeof b&&!(b instanceof a))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");return d.widgetParent=b,o&&(aa(),ea()),l},l.keepOpen=function(a){if(0===arguments.length)return d.keepOpen;if("boolean"!=typeof a)throw new TypeError("keepOpen() expects a boolean parameter");return d.keepOpen=a,l},l.focusOnShow=function(a){if(0===arguments.length)return d.focusOnShow;if("boolean"!=typeof a)throw new TypeError("focusOnShow() expects a boolean parameter");return d.focusOnShow=a,l},l.inline=function(a){if(0===arguments.length)return d.inline;if("boolean"!=typeof a)throw new TypeError("inline() expects a boolean parameter");return d.inline=a,l},l.clear=function(){return ba(),l},l.keyBinds=function(a){return d.keyBinds=a,l},l.getMoment=function(a){return x(a)},l.debug=function(a){if("boolean"!=typeof a)throw new TypeError("debug() expects a boolean parameter");return d.debug=a,l},l.allowInputToggle=function(a){if(0===arguments.length)return d.allowInputToggle;if("boolean"!=typeof a)throw new TypeError("allowInputToggle() expects a boolean parameter");return d.allowInputToggle=a,l},l.showClose=function(a){if(0===arguments.length)return d.showClose;if("boolean"!=typeof a)throw new TypeError("showClose() expects a boolean parameter");return d.showClose=a,l},l.keepInvalid=function(a){if(0===arguments.length)return d.keepInvalid;if("boolean"!=typeof a)throw new TypeError("keepInvalid() expects a boolean parameter");return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=typeof a)throw new TypeError("datepickerInput() expects a string parameter");return d.datepickerInput=a,l},l.parseInputDate=function(a){if(0===arguments.length)return d.parseInputDate; -if("function"!=typeof a)throw new TypeError("parseInputDate() sholud be as function");return d.parseInputDate=a,l},l.disabledTimeIntervals=function(b){if(0===arguments.length)return d.disabledTimeIntervals?a.extend({},d.disabledTimeIntervals):d.disabledTimeIntervals;if(!b)return d.disabledTimeIntervals=!1,$(),l;if(!(b instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");return d.disabledTimeIntervals=b,$(),l},l.disabledHours=function(b){if(0===arguments.length)return d.disabledHours?a.extend({},d.disabledHours):d.disabledHours;if(!b)return d.disabledHours=!1,$(),l;if(!(b instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(d.disabledHours=na(b),d.enabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!Q(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}_(e)}return $(),l},l.enabledHours=function(b){if(0===arguments.length)return d.enabledHours?a.extend({},d.enabledHours):d.enabledHours;if(!b)return d.enabledHours=!1,$(),l;if(!(b instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(d.enabledHours=na(b),d.disabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!Q(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}_(e)}return $(),l},l.viewDate=function(a){if(0===arguments.length)return f.clone();if(!a)return f=e.clone(),l;if(!("string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");return f=ga(a),J(),l},c.is("input"))g=c;else if(g=c.find(d.datepickerInput),0===g.size())g=c.find("input");else if(!g.is("input"))throw new Error('CSS class "'+d.datepickerInput+'" cannot be applied to non input element');if(c.hasClass("input-group")&&(n=0===c.find(".datepickerbutton").size()?c.find(".input-group-addon"):c.find(".datepickerbutton")),!d.inline&&!g.is("input"))throw new Error("Could not initialize DateTimePicker without an input element");return e=x(),f=e.clone(),a.extend(!0,d,G()),l.options(d),oa(),ka(),g.prop("disabled")&&l.disable(),g.is("input")&&0!==g.val().trim().length?_(ga(g.val().trim())):d.defaultDate&&void 0===g.attr("placeholder")&&_(d.defaultDate),d.inline&&ea(),l};a.fn.datetimepicker=function(b){return this.each(function(){var d=a(this);d.data("DateTimePicker")||(b=a.extend(!0,{},a.fn.datetimepicker.defaults,b),d.data("DateTimePicker",c(d,b)))})},a.fn.datetimepicker.defaults={timeZone:"Etc/UTC",format:!1,dayViewHeaderFormat:"MMMM YYYY",extraFormats:!1,stepping:1,minDate:!1,maxDate:!1,useCurrent:!0,collapse:!0,locale:b.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{time:"glyphicon glyphicon-time",date:"glyphicon glyphicon-calendar",up:"glyphicon glyphicon-chevron-up",down:"glyphicon glyphicon-chevron-down",previous:"glyphicon glyphicon-chevron-left",next:"glyphicon glyphicon-chevron-right",today:"glyphicon glyphicon-screenshot",clear:"glyphicon glyphicon-trash",close:"glyphicon glyphicon-remove"},tooltips:{today:"Go to today",clear:"Clear selection",close:"Close the picker",selectMonth:"Select Month",prevMonth:"Previous Month",nextMonth:"Next Month",selectYear:"Select Year",prevYear:"Previous Year",nextYear:"Next Year",selectDecade:"Select Decade",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevCentury:"Previous Century",nextCentury:"Next Century",pickHour:"Pick Hour",incrementHour:"Increment Hour",decrementHour:"Decrement Hour",pickMinute:"Pick Minute",incrementMinute:"Increment Minute",decrementMinute:"Decrement Minute",pickSecond:"Pick Second",incrementSecond:"Increment Second",decrementSecond:"Decrement Second",togglePeriod:"Toggle Period",selectTime:"Select Time"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:"days",toolbarPlacement:"default",showTodayButton:!1,showClear:!1,showClose:!1,widgetPositioning:{horizontal:"auto",vertical:"auto"},widgetParent:null,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,datepickerInput:".datepickerinput",keyBinds:{up:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(7,"d")):this.date(b.clone().add(this.stepping(),"m"))}},down:function(a){if(!a)return void this.show();var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(7,"d")):this.date(b.clone().subtract(this.stepping(),"m"))},"control up":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(1,"y")):this.date(b.clone().add(1,"h"))}},"control down":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(1,"y")):this.date(b.clone().subtract(1,"h"))}},left:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"d"))}},right:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"d"))}},pageUp:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"M"))}},pageDown:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"M"))}},enter:function(){this.hide()},escape:function(){this.hide()},"control space":function(a){a.find(".timepicker").is(":visible")&&a.find('.btn[data-action="togglePeriod"]').click()},t:function(){this.date(this.getMoment())},"delete":function(){this.clear()}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1}}); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-inputmask/bootstrap-inputmask.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-inputmask/bootstrap-inputmask.min.js deleted file mode 100644 index 58820463..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/bootstrap-inputmask/bootstrap-inputmask.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/** -* Bootstrap.js by @mdo and @fat, extended by @ArnoldDaniels. -* plugins: bootstrap-inputmask.js -* Copyright 2012 Twitter, Inc. -* http://www.apache.org/licenses/LICENSE-2.0.txt -*/ -!function(e){var t=window.orientation!==undefined,n=navigator.userAgent.toLowerCase().indexOf("android")>-1,r=function(t,r){if(n)return;this.$element=e(t),this.options=e.extend({},e.fn.inputmask.defaults,r),this.mask=String(r.mask),this.init(),this.listen(),this.checkVal()};r.prototype={init:function(){var t=this.options.definitions,n=this.mask.length;this.tests=[],this.partialPosition=this.mask.length,this.firstNonMaskPos=null,e.each(this.mask.split(""),e.proxy(function(e,r){r=="?"?(n--,this.partialPosition=e):t[r]?(this.tests.push(new RegExp(t[r])),this.firstNonMaskPos===null&&(this.firstNonMaskPos=this.tests.length-1)):this.tests.push(null)},this)),this.buffer=e.map(this.mask.split(""),e.proxy(function(e,n){if(e!="?")return t[e]?this.options.placeholder:e},this)),this.focusText=this.$element.val(),this.$element.data("rawMaskFn",e.proxy(function(){return e.map(this.buffer,function(e,t){return this.tests[t]&&e!=this.options.placeholder?e:null}).join("")},this))},listen:function(){if(this.$element.attr("readonly"))return;var t=(navigator.userAgent.match(/msie/i)?"paste":"input")+".mask";this.$element.on("unmask",e.proxy(this.unmask,this)).on("focus.mask",e.proxy(this.focusEvent,this)).on("blur.mask",e.proxy(this.blurEvent,this)).on("keydown.mask",e.proxy(this.keydownEvent,this)).on("keypress.mask",e.proxy(this.keypressEvent,this)).on(t,e.proxy(this.pasteEvent,this))},caret:function(e,t){if(this.$element.length===0)return;if(typeof e=="number")return t=typeof t=="number"?t:e,this.$element.each(function(){if(this.setSelectionRange)this.setSelectionRange(e,t);else if(this.createTextRange){var n=this.createTextRange();n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",e),n.select()}});if(this.$element[0].setSelectionRange)e=this.$element[0].selectionStart,t=this.$element[0].selectionEnd;else if(document.selection&&document.selection.createRange){var n=document.selection.createRange();e=0-n.duplicate().moveStart("character",-1e5),t=e+n.text.length}return{begin:e,end:t}},seekNext:function(e){var t=this.mask.length;while(++e<=t&&!this.tests[e]);return e},seekPrev:function(e){while(--e>=0&&!this.tests[e]);return e},shiftL:function(e,t){var n=this.mask.length;if(e<0)return;for(var r=e,i=this.seekNext(t);rn.length)break}else this.buffer[i]==n.charAt(s)&&i!=this.partialPosition&&(s++,r=i);if(!e&&r+1=this.partialPosition)this.writeBuffer(),e||this.$element.val(this.$element.val().substring(0,r+1));return this.partialPosition?i:this.firstNonMaskPos}},e.fn.inputmask=function(t){return this.each(function(){var n=e(this),i=n.data("inputmask");i||n.data("inputmask",i=new r(this,t))})},e.fn.inputmask.defaults={mask:"",placeholder:"_",definitions:{9:"[0-9]",a:"[A-Za-z]","?":"[A-Za-z0-9]","*":"."}},e.fn.inputmask.Constructor=r,e(document).on("focus.inputmask.data-api","[data-mask]",function(t){var n=e(this);if(n.data("inputmask"))return;t.preventDefault(),n.inputmask(n.data())})}(window.jQuery) \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-export.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-export.min.js deleted file mode 100644 index 45307642..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-export.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -* bootstrap-table - v1.11.0 - 2016-07-02 -* https://github.com/wenzhixin/bootstrap-table -* Copyright (c) 2016 zhixin wen -* Licensed MIT License -*/ -!function(a){"use strict";var b=a.fn.bootstrapTable.utils.sprintf,c={json:"JSON",xml:"XML",png:"PNG",csv:"CSV",txt:"TXT",sql:"SQL",doc:"MS-Word",excel:"MS-Excel",powerpoint:"MS-Powerpoint",pdf:"PDF"};a.extend(a.fn.bootstrapTable.defaults,{showExport:!1,exportDataType:"basic",exportTypes:["json","xml","csv","txt","sql","excel"],exportOptions:{}}),a.extend(a.fn.bootstrapTable.defaults.icons,{"export":"glyphicon-export icon-share"}),a.extend(a.fn.bootstrapTable.locales,{formatExport:function(){return"Export data"}}),a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales);var d=a.fn.bootstrapTable.Constructor,e=d.prototype.initToolbar;d.prototype.initToolbar=function(){if(this.showToolbar=this.options.showExport,e.apply(this,Array.prototype.slice.apply(arguments)),this.options.showExport){var d=this,f=this.$toolbar.find(">.btn-group"),g=f.find("div.export");if(!g.length){g=a(['
','",'","
"].join("")).appendTo(f);var h=g.find(".dropdown-menu"),i=this.options.exportTypes;if("string"==typeof this.options.exportTypes){var j=this.options.exportTypes.slice(1,-1).replace(/ /g,"").split(",");i=[],a.each(j,function(a,b){i.push(b.slice(1,-1))})}a.each(i,function(a,b){c.hasOwnProperty(b)&&h.append(['
  • ','',c[b],"","
  • "].join(""))}),h.find("li").click(function(){var b=a(this).data("type"),c=function(){d.$el.tableExport(a.extend({},d.options.exportOptions,{type:b,escape:!1}))};if("all"===d.options.exportDataType&&d.options.pagination)d.$el.one("server"===d.options.sidePagination?"post-body.bs.table":"page-change.bs.table",function(){c(),d.togglePagination()}),d.togglePagination();else if("selected"===d.options.exportDataType){var e=d.getData(),f=d.getAllSelections();d.load(f),c(),d.load(e)}else c()})}}}}(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-reorder-rows.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-reorder-rows.min.js deleted file mode 100644 index 3382074b..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-reorder-rows.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -* bootstrap-table - v1.11.0 - 2016-07-02 -* https://github.com/wenzhixin/bootstrap-table -* Copyright (c) 2016 zhixin wen -* Licensed MIT License -*/ -!function(a){"use strict";var b=function(a,b){return{id:"customId_"+b}};a.extend(a.fn.bootstrapTable.defaults,{reorderableRows:!1,onDragStyle:null,onDropStyle:null,onDragClass:"reorder_rows_onDragClass",dragHandle:null,useRowAttrFunc:!1,onReorderRowsDrag:function(){return!1},onReorderRowsDrop:function(){return!1},onReorderRow:function(){return!1}}),a.extend(a.fn.bootstrapTable.Constructor.EVENTS,{"reorder-row.bs.table":"onReorderRow"});var c=a.fn.bootstrapTable.Constructor,d=c.prototype.init,e=c.prototype.initSearch;c.prototype.init=function(){if(!this.options.reorderableRows)return void d.apply(this,Array.prototype.slice.apply(arguments));var a=this;this.options.useRowAttrFunc&&(this.options.rowAttributes=b);var c=this.options.onPostBody;this.options.onPostBody=function(){setTimeout(function(){a.makeRowsReorderable(),c.apply()},1)},d.apply(this,Array.prototype.slice.apply(arguments))},c.prototype.initSearch=function(){e.apply(this,Array.prototype.slice.apply(arguments)),!this.options.reorderableRows},c.prototype.makeRowsReorderable=function(){if(!this.options.cardView){var a=this;this.$el.tableDnD({onDragStyle:a.options.onDragStyle,onDropStyle:a.options.onDropStyle,onDragClass:a.options.onDragClass,onDrop:a.onDrop,onDragStart:a.options.onReorderRowsDrag,dragHandle:a.options.dragHandle})}},c.prototype.onDrop=function(b,c){for(var d=a(b),e=d.data("bootstrap.table"),f=d.data("bootstrap.table").options,g=null,h=[],i=0;id;d++)g[c][d]=!1;for(c=0;ce;e++)g[c+e][k]=!0;for(e=0;j>e;e++)g[c][k+e]=!0}},g=function(){if(null===b){var c,d,e=a("

    ").addClass("fixed-table-scroll-inner"),f=a("

    ").addClass("fixed-table-scroll-outer");f.append(e),a("body").append(f),c=e[0].offsetWidth,f.css("overflow","scroll"),d=e[0].offsetWidth,c===d&&(d=f[0].clientWidth),f.remove(),b=c-d}return b},h=function(b,d,e,f){var g=d;if("string"==typeof d){var h=d.split(".");h.length>1?(g=window,a.each(h,function(a,b){g=g[b]})):g=window[d]}return"object"==typeof g?g:"function"==typeof g?g.apply(b,e):!g&&"string"==typeof d&&c.apply(this,[d].concat(e))?c.apply(this,[d].concat(e)):f},i=function(b,c,d){var e=Object.getOwnPropertyNames(b),f=Object.getOwnPropertyNames(c),g="";if(d&&e.length!==f.length)return!1;for(var h=0;h-1&&b[g]!==c[g])return!1;return!0},j=function(a){return"string"==typeof a?a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`"):a},k=function(b){var c=0;return b.children().each(function(){c0||navigator.userAgent.match(/Trident.*rv\:11\./))},o=function(){Object.keys||(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())},p=function(b,c){this.options=c,this.$el=a(b),this.$el_=this.$el.clone(),this.timeoutId_=0,this.timeoutFooter_=0,this.init()};p.DEFAULTS={classes:"table table-hover",locale:void 0,height:void 0,undefinedText:"-",sortName:void 0,sortOrder:"asc",sortStable:!1,striped:!1,columns:[[]],data:[],dataField:"rows",method:"get",url:void 0,ajax:void 0,cache:!0,contentType:"application/json",dataType:"json",ajaxOptions:{},queryParams:function(a){return a},queryParamsType:"limit",responseHandler:function(a){return a},pagination:!1,onlyInfoPagination:!1,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"‹",paginationNextText:"›",search:!1,searchOnEnterKey:!1,strictSearch:!1,searchAlign:"right",selectItemName:"btSelectItem",showHeader:!0,showFooter:!1,showColumns:!1,showPaginationSwitch:!1,showRefresh:!1,showToggle:!1,buttonsAlign:"right",smartDisplay:!0,escape:!1,minimumCountColumns:1,idField:void 0,uniqueId:void 0,cardView:!1,detailView:!1,detailFormatter:function(){return""},trimOnSearch:!0,clickToSelect:!1,singleSelect:!1,toolbar:void 0,toolbarAlign:"left",checkboxHeader:!0,sortable:!0,silentSort:!0,maintainSelected:!1,searchTimeOut:500,searchText:"",iconSize:void 0,buttonsClass:"default",iconsPrefix:"glyphicon",icons:{paginationSwitchDown:"glyphicon-collapse-down icon-chevron-down",paginationSwitchUp:"glyphicon-collapse-up icon-chevron-up",refresh:"glyphicon-refresh icon-refresh",toggle:"glyphicon-list-alt icon-list-alt",columns:"glyphicon-th icon-th",detailOpen:"glyphicon-plus icon-plus",detailClose:"glyphicon-minus icon-minus"},customSearch:a.noop,customSort:a.noop,rowStyle:function(){return{}},rowAttributes:function(){return{}},footerStyle:function(){return{}},onAll:function(){return!1},onClickCell:function(){return!1},onDblClickCell:function(){return!1},onClickRow:function(){return!1},onDblClickRow:function(){return!1},onSort:function(){return!1},onCheck:function(){return!1},onUncheck:function(){return!1},onCheckAll:function(){return!1},onUncheckAll:function(){return!1},onCheckSome:function(){return!1},onUncheckSome:function(){return!1},onLoadSuccess:function(){return!1},onLoadError:function(){return!1},onColumnSwitch:function(){return!1},onPageChange:function(){return!1},onSearch:function(){return!1},onToggle:function(){return!1},onPreBody:function(){return!1},onPostBody:function(){return!1},onPostHeader:function(){return!1},onExpandRow:function(){return!1},onCollapseRow:function(){return!1},onRefreshOptions:function(){return!1},onRefresh:function(){return!1},onResetView:function(){return!1}},p.LOCALES={},p.LOCALES["en-US"]=p.LOCALES.en={formatLoadingMessage:function(){return"Loading, please wait..."},formatRecordsPerPage:function(a){return c("%s rows per page",a)},formatShowingRows:function(a,b,d){return c("Showing %s to %s of %s rows",a,b,d)},formatDetailPagination:function(a){return c("Showing %s rows",a)},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatColumns:function(){return"Columns"},formatAllRows:function(){return"All"}},a.extend(p.DEFAULTS,p.LOCALES["en-US"]),p.COLUMN_DEFAULTS={radio:!1,checkbox:!1,checkboxEnabled:!0,field:void 0,title:void 0,titleTooltip:void 0,"class":void 0,align:void 0,halign:void 0,falign:void 0,valign:void 0,width:void 0,sortable:!1,order:"asc",visible:!0,switchable:!0,clickToSelect:!0,formatter:void 0,footerFormatter:void 0,events:void 0,sorter:void 0,sortName:void 0,cellStyle:void 0,searchable:!0,searchFormatter:!0,cardVisible:!0},p.EVENTS={"all.bs.table":"onAll","click-cell.bs.table":"onClickCell","dbl-click-cell.bs.table":"onDblClickCell","click-row.bs.table":"onClickRow","dbl-click-row.bs.table":"onDblClickRow","sort.bs.table":"onSort","check.bs.table":"onCheck","uncheck.bs.table":"onUncheck","check-all.bs.table":"onCheckAll","uncheck-all.bs.table":"onUncheckAll","check-some.bs.table":"onCheckSome","uncheck-some.bs.table":"onUncheckSome","load-success.bs.table":"onLoadSuccess","load-error.bs.table":"onLoadError","column-switch.bs.table":"onColumnSwitch","page-change.bs.table":"onPageChange","search.bs.table":"onSearch","toggle.bs.table":"onToggle","pre-body.bs.table":"onPreBody","post-body.bs.table":"onPostBody","post-header.bs.table":"onPostHeader","expand-row.bs.table":"onExpandRow","collapse-row.bs.table":"onCollapseRow","refresh-options.bs.table":"onRefreshOptions","reset-view.bs.table":"onResetView","refresh.bs.table":"onRefresh"},p.prototype.init=function(){this.initLocale(),this.initContainer(),this.initTable(),this.initHeader(),this.initData(),this.initFooter(),this.initToolbar(),this.initPagination(),this.initBody(),this.initSearchText(),this.initServer()},p.prototype.initLocale=function(){if(this.options.locale){var b=this.options.locale.split(/-|_/);b[0].toLowerCase(),b[1]&&b[1].toUpperCase(),a.fn.bootstrapTable.locales[this.options.locale]?a.extend(this.options,a.fn.bootstrapTable.locales[this.options.locale]):a.fn.bootstrapTable.locales[b.join("-")]?a.extend(this.options,a.fn.bootstrapTable.locales[b.join("-")]):a.fn.bootstrapTable.locales[b[0]]&&a.extend(this.options,a.fn.bootstrapTable.locales[b[0]])}},p.prototype.initContainer=function(){this.$container=a(['
    ','
    ',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'
    ':"",'
    ','
    ").addClass("cw").text("#"));c.isBefore(f.clone().endOf("w"));)b.append(a("").addClass("dow").text(c.format("dd"))),c.add(1,"d");o.find(".datepicker-days thead").append(b)},M=function(a){return d.disabledDates[a.format("YYYY-MM-DD")]===!0},N=function(a){return d.enabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){return d.disabledHours[a.format("H")]===!0},P=function(a){return d.enabledHours[a.format("H")]===!0},Q=function(b,c){if(!b.isValid())return!1;if(d.disabledDates&&"d"===c&&M(b))return!1;if(d.enabledDates&&"d"===c&&!N(b))return!1;if(d.minDate&&b.isBefore(d.minDate,c))return!1;if(d.maxDate&&b.isAfter(d.maxDate,c))return!1;if(d.daysOfWeekDisabled&&"d"===c&&-1!==d.daysOfWeekDisabled.indexOf(b.day()))return!1;if(d.disabledHours&&("h"===c||"m"===c||"s"===c)&&O(b))return!1;if(d.enabledHours&&("h"===c||"m"===c||"s"===c)&&!P(b))return!1;if(d.disabledTimeIntervals&&("h"===c||"m"===c||"s"===c)){var e=!1;if(a.each(d.disabledTimeIntervals,function(){return b.isBetween(this[0],this[1])?(e=!0,!1):void 0}),e)return!1}return!0},R=function(){for(var b=[],c=f.clone().startOf("y").startOf("d");c.isSame(f,"y");)b.push(a("").attr("data-action","selectMonth").addClass("month").text(c.format("MMM"))),c.add(1,"M");o.find(".datepicker-months td").empty().append(b)},S=function(){var b=o.find(".datepicker-months"),c=b.find("th"),g=b.find("tbody").find("span");c.eq(0).find("span").attr("title",d.tooltips.prevYear),c.eq(1).attr("title",d.tooltips.selectYear),c.eq(2).find("span").attr("title",d.tooltips.nextYear),b.find(".disabled").removeClass("disabled"),Q(f.clone().subtract(1,"y"),"y")||c.eq(0).addClass("disabled"),c.eq(1).text(f.year()),Q(f.clone().add(1,"y"),"y")||c.eq(2).addClass("disabled"),g.removeClass("active"),e.isSame(f,"y")&&!m&&g.eq(e.month()).addClass("active"),g.each(function(b){Q(f.clone().month(b),"M")||a(this).addClass("disabled")})},T=function(){var a=o.find(".datepicker-years"),b=a.find("th"),c=f.clone().subtract(5,"y"),g=f.clone().add(6,"y"),h="";for(b.eq(0).find("span").attr("title",d.tooltips.prevDecade),b.eq(1).attr("title",d.tooltips.selectDecade),b.eq(2).find("span").attr("title",d.tooltips.nextDecade),a.find(".disabled").removeClass("disabled"),d.minDate&&d.minDate.isAfter(c,"y")&&b.eq(0).addClass("disabled"),b.eq(1).text(c.year()+"-"+g.year()),d.maxDate&&d.maxDate.isBefore(g,"y")&&b.eq(2).addClass("disabled");!c.isAfter(g,"y");)h+=''+c.year()+"",c.add(1,"y");a.find("td").html(h)},U=function(){var a=o.find(".datepicker-decades"),c=a.find("th"),g=b({y:f.year()-f.year()%100-1}),h=g.clone().add(100,"y"),i=g.clone(),j="";for(c.eq(0).find("span").attr("title",d.tooltips.prevCentury),c.eq(2).find("span").attr("title",d.tooltips.nextCentury),a.find(".disabled").removeClass("disabled"),(g.isSame(b({y:1900}))||d.minDate&&d.minDate.isAfter(g,"y"))&&c.eq(0).addClass("disabled"),c.eq(1).text(g.year()+"-"+h.year()),(g.isSame(b({y:2e3}))||d.maxDate&&d.maxDate.isBefore(h,"y"))&&c.eq(2).addClass("disabled");!g.isAfter(h,"y");)j+=''+(g.year()+1)+" - "+(g.year()+12)+"",g.add(12,"y");j+="",a.find("td").html(j),c.eq(1).text(i.year()+1+"-"+g.year())},V=function(){var b,c,g,h,i=o.find(".datepicker-days"),j=i.find("th"),k=[];if(A()){for(j.eq(0).find("span").attr("title",d.tooltips.prevMonth),j.eq(1).attr("title",d.tooltips.selectMonth),j.eq(2).find("span").attr("title",d.tooltips.nextMonth),i.find(".disabled").removeClass("disabled"),j.eq(1).text(f.format(d.dayViewHeaderFormat)),Q(f.clone().subtract(1,"M"),"M")||j.eq(0).addClass("disabled"),Q(f.clone().add(1,"M"),"M")||j.eq(2).addClass("disabled"),b=f.clone().startOf("M").startOf("w").startOf("d"),h=0;42>h;h++)0===b.weekday()&&(c=a("
    '+b.week()+"'+b.date()+"
    '+c.format(h?"HH":"hh")+"
    '+c.format("mm")+"
    '+c.format("ss")+"
    ','
    ','
    ',this.options.formatLoadingMessage(),"
    ","
    ",'',"bottom"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'
    ':"","",""].join("")),this.$container.insertAfter(this.$el),this.$tableContainer=this.$container.find(".fixed-table-container"),this.$tableHeader=this.$container.find(".fixed-table-header"),this.$tableBody=this.$container.find(".fixed-table-body"),this.$tableLoading=this.$container.find(".fixed-table-loading"),this.$tableFooter=this.$container.find(".fixed-table-footer"),this.$toolbar=this.$container.find(".fixed-table-toolbar"),this.$pagination=this.$container.find(".fixed-table-pagination"),this.$tableBody.append(this.$el),this.$container.after('
    '),this.$el.addClass(this.options.classes),this.options.striped&&this.$el.addClass("table-striped"),-1!==a.inArray("table-no-bordered",this.options.classes.split(" "))&&this.$tableContainer.addClass("table-no-bordered")},p.prototype.initTable=function(){var b=this,c=[],d=[];if(this.$header=this.$el.find(">thead"),this.$header.length||(this.$header=a("
    ',this.header.fields.length)),!this.options.cardView&&this.options.detailView&&g.push("
    ",'',c('',this.options.iconsPrefix,this.options.icons.detailOpen),"","',x["class"]||""),"",f.header.formatters[b]&&"string"==typeof j?j:"",f.options.cardView?"":"
    %s
     
    "; - html+=""; - - for(var j in pd.params){ - var ps = pd.params[j]; - html+=""; - } - - html+="
    "+pd.group+"
    "+ps+":
    "; - } - html+= ""; - $("#"+formId+" .params td").eq(1).html(html); - }else{ - $("#"+formId+" .params").hide(); - $("#"+formId+" .params td").eq(1).empty(); - } - }); - }, - getSelectionsIds : function (select){ - var list = $(select); - var sels = list.datagrid("getSelections"); - var ids = []; - for(var i in sels){ - ids.push(sels[i].id); - } - ids = ids.join(","); - return ids; - }, - - /** - * 初始化单图片上传组件
    - * 选择器为:.onePicUpload
    - * 上传完成后会设置input内容以及在input后面追加 - */ - initOnePicUpload : function(){ - $(".onePicUpload").click(function(){ - var _self = $(this); - KindEditor.editor(TT.kingEditorParams).loadPlugin('image', function() { - this.plugin.imageDialog({ - showRemote : false, - clickFn : function(url, title, width, height, border, align) { - var input = _self.siblings("input"); - input.parent().find("img").remove(); - input.val(url); - input.after(""); - this.hideDialog(); - } - }); - }); - }); - } -}; diff --git a/src/demo/manager/src/main/webapp/assets/js/dataTables.bootstrap.min.js b/src/demo/manager/src/main/webapp/assets/js/dataTables.bootstrap.min.js deleted file mode 100644 index f0d09b9d..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/dataTables.bootstrap.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! - DataTables Bootstrap 3 integration - ©2011-2014 SpryMedia Ltd - datatables.net/license -*/ -(function(){var f=function(c,b){c.extend(!0,b.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-6'i><'col-sm-6'p>>",renderer:"bootstrap"});c.extend(b.ext.classes,{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm"});b.ext.renderer.pageButton.bootstrap=function(g,f,p,k,h,l){var q=new b.Api(g),r=g.oClasses,i=g.oLanguage.oPaginate,d,e,o=function(b,f){var j,m,n,a,k=function(a){a.preventDefault(); -c(a.currentTarget).hasClass("disabled")||q.page(a.data.action).draw(!1)};j=0;for(m=f.length;j",{"class":r.sPageButton+" "+ -e,"aria-controls":g.sTableId,tabindex:g.iTabIndex,id:0===p&&"string"===typeof a?g.sTableId+"_"+a:null}).append(c("",{href:"#"}).html(d)).appendTo(b),g.oApi._fnBindAction(n,{action:a},k))}};o(c(f).empty().html('
     '+dates[this.o.language].daysMin[(dowCnt++)%7]+'
    '+ calWeek +''+prevMonth.getUTCDate() + '
    '+ - DPGlobal.headTemplate+ - ''+ - DPGlobal.footTemplate+ - '
    '+ - '
    '+ - '
    '+ - ''+ - DPGlobal.headTemplate+ - DPGlobal.contTemplate+ - DPGlobal.footTemplate+ - '
    '+ - '
    '+ - '
    '+ - ''+ - DPGlobal.headTemplate+ - DPGlobal.contTemplate+ - DPGlobal.footTemplate+ - '
    '+ - '
    '+ - ''; - - $.fn.datepicker.DPGlobal = DPGlobal; - - - /* DATEPICKER NO CONFLICT - * =================== */ - - $.fn.datepicker.noConflict = function(){ - $.fn.datepicker = old; - return this; - }; - - - /* DATEPICKER DATA-API - * ================== */ - - $(document).on( - 'focus.datepicker.data-api click.datepicker.data-api', - '[data-provide="datepicker"]', - function(e){ - var $this = $(this); - if ($this.data('datepicker')) return; - e.preventDefault(); - // component click requires us to explicitly show it - datepicker.call($this, 'show'); - } - ); - $(function(){ - //$('[data-provide="datepicker-inline"]').datepicker(); - //vit: changed to support noConflict() - datepicker.call($('[data-provide="datepicker-inline"]')); - }); - -}( window.jQuery )); - -/** -Bootstrap-datepicker. -Description and examples: https://github.com/eternicode/bootstrap-datepicker. -For **i18n** you should include js file from here: https://github.com/eternicode/bootstrap-datepicker/tree/master/js/locales -and set `language` option. -Since 1.4.0 date has different appearance in **popup** and **inline** modes. - -@class date -@extends abstractinput -@final -@example -15/05/1984 - -**/ -(function ($) { - "use strict"; - - //store bootstrap-datepicker as bdateicker to exclude conflict with jQuery UI one - $.fn.bdatepicker = $.fn.datepicker.noConflict(); - if(!$.fn.datepicker) { //if there were no other datepickers, keep also original name - $.fn.datepicker = $.fn.bdatepicker; - } - - var Date = function (options) { - this.init('date', options, Date.defaults); - this.initPicker(options, Date.defaults); - }; - - $.fn.editableutils.inherit(Date, $.fn.editabletypes.abstractinput); - - $.extend(Date.prototype, { - initPicker: function(options, defaults) { - //'format' is set directly from settings or data-* attributes - - //by default viewformat equals to format - if(!this.options.viewformat) { - this.options.viewformat = this.options.format; - } - - //try parse datepicker config defined as json string in data-datepicker - options.datepicker = $.fn.editableutils.tryParseJson(options.datepicker, true); - - //overriding datepicker config (as by default jQuery extend() is not recursive) - //since 1.4 datepicker internally uses viewformat instead of format. Format is for submit only - this.options.datepicker = $.extend({}, defaults.datepicker, options.datepicker, { - format: this.options.viewformat - }); - - //language - this.options.datepicker.language = this.options.datepicker.language || 'en'; - - //store DPglobal - this.dpg = $.fn.bdatepicker.DPGlobal; - - //store parsed formats - this.parsedFormat = this.dpg.parseFormat(this.options.format); - this.parsedViewFormat = this.dpg.parseFormat(this.options.viewformat); - }, - - render: function () { - this.$input.bdatepicker(this.options.datepicker); - - //"clear" link - if(this.options.clear) { - this.$clear = $('').html(this.options.clear).click($.proxy(function(e){ - e.preventDefault(); - e.stopPropagation(); - this.clear(); - }, this)); - - this.$tpl.parent().append($('
    ').append(this.$clear)); - } - }, - - value2html: function(value, element) { - var text = value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : ''; - Date.superclass.value2html.call(this, text, element); - }, - - html2value: function(html) { - return this.parseDate(html, this.parsedViewFormat); - }, - - value2str: function(value) { - return value ? this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language) : ''; - }, - - str2value: function(str) { - return this.parseDate(str, this.parsedFormat); - }, - - value2submit: function(value) { - return this.value2str(value); - }, - - value2input: function(value) { - this.$input.bdatepicker('update', value); - }, - - input2value: function() { - return this.$input.data('datepicker').date; - }, - - activate: function() { - }, - - clear: function() { - this.$input.data('datepicker').date = null; - this.$input.find('.active').removeClass('active'); - if(!this.options.showbuttons) { - this.$input.closest('form').submit(); - } - }, - - autosubmit: function() { - this.$input.on('mouseup', '.day', function(e){ - if($(e.currentTarget).is('.old') || $(e.currentTarget).is('.new')) { - return; - } - var $form = $(this).closest('form'); - setTimeout(function() { - $form.submit(); - }, 200); - }); - //changedate is not suitable as it triggered when showing datepicker. see #149 - /* - this.$input.on('changeDate', function(e){ - var $form = $(this).closest('form'); - setTimeout(function() { - $form.submit(); - }, 200); - }); - */ - }, - - /* - For incorrect date bootstrap-datepicker returns current date that is not suitable - for datefield. - This function returns null for incorrect date. - */ - parseDate: function(str, format) { - var date = null, formattedBack; - if(str) { - date = this.dpg.parseDate(str, format, this.options.datepicker.language); - if(typeof str === 'string') { - formattedBack = this.dpg.formatDate(date, format, this.options.datepicker.language); - if(str !== formattedBack) { - date = null; - } - } - } - return date; - } - - }); - - Date.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, { - /** - @property tpl - @default
    - **/ - tpl:'
    ', - /** - @property inputclass - @default null - **/ - inputclass: null, - /** - Format used for sending value to server. Also applied when converting date from data-value attribute.
    - Possible tokens are: d, dd, m, mm, yy, yyyy - - @property format - @type string - @default yyyy-mm-dd - **/ - format:'yyyy-mm-dd', - /** - Format used for displaying date. Also applied when converting date from element's text on init. - If not specified equals to format - - @property viewformat - @type string - @default null - **/ - viewformat: null, - /** - Configuration of datepicker. - Full list of options: http://bootstrap-datepicker.readthedocs.org/en/latest/options.html - - @property datepicker - @type object - @default { - weekStart: 0, - startView: 0, - minViewMode: 0, - autoclose: false - } - **/ - datepicker:{ - weekStart: 0, - startView: 0, - minViewMode: 0, - autoclose: false - }, - /** - Text shown as clear date button. - If false clear button will not be rendered. - - @property clear - @type boolean|string - @default 'x clear' - **/ - clear: '× clear' - }); - - $.fn.editabletypes.date = Date; - -}(window.jQuery)); - -/** -Bootstrap datefield input - modification for inline mode. -Shows normal and binds popup datepicker. -Automatically shown in inline mode. - -@class datefield -@extends date - -@since 1.4.0 -**/ -(function ($) { - "use strict"; - - var DateField = function (options) { - this.init('datefield', options, DateField.defaults); - this.initPicker(options, DateField.defaults); - }; - - $.fn.editableutils.inherit(DateField, $.fn.editabletypes.date); - - $.extend(DateField.prototype, { - render: function () { - this.$input = this.$tpl.find('input'); - this.setClass(); - this.setAttr('placeholder'); - - //bootstrap-datepicker is set `bdateicker` to exclude conflict with jQuery UI one. (in date.js) - this.$tpl.bdatepicker(this.options.datepicker); - - //need to disable original event handlers - this.$input.off('focus keydown'); - - //update value of datepicker - this.$input.keyup($.proxy(function(){ - this.$tpl.removeData('date'); - this.$tpl.bdatepicker('update'); - }, this)); - - }, - - value2input: function(value) { - this.$input.val(value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : ''); - this.$tpl.bdatepicker('update'); - }, - - input2value: function() { - return this.html2value(this.$input.val()); - }, - - activate: function() { - $.fn.editabletypes.text.prototype.activate.call(this); - }, - - autosubmit: function() { - //reset autosubmit to empty - } - }); - - DateField.defaults = $.extend({}, $.fn.editabletypes.date.defaults, { - /** - @property tpl - **/ - tpl:'
    ', - /** - @property inputclass - @default 'input-small' - **/ - inputclass: 'input-small', - - /* datepicker config */ - datepicker: { - weekStart: 0, - startView: 0, - minViewMode: 0, - autoclose: true - } - }); - - $.fn.editabletypes.datefield = DateField; - -}(window.jQuery)); -/** -Bootstrap-datetimepicker. -Based on [smalot bootstrap-datetimepicker plugin](https://github.com/smalot/bootstrap-datetimepicker). -Before usage you should manually include dependent js and css: - - - - -For **i18n** you should include js file from here: https://github.com/smalot/bootstrap-datetimepicker/tree/master/js/locales -and set `language` option. - -@class datetime -@extends abstractinput -@final -@since 1.4.4 -@example -15/03/2013 12:45 - -**/ -(function ($) { - "use strict"; - - var DateTime = function (options) { - this.init('datetime', options, DateTime.defaults); - this.initPicker(options, DateTime.defaults); - }; - - $.fn.editableutils.inherit(DateTime, $.fn.editabletypes.abstractinput); - - $.extend(DateTime.prototype, { - initPicker: function(options, defaults) { - //'format' is set directly from settings or data-* attributes - - //by default viewformat equals to format - if(!this.options.viewformat) { - this.options.viewformat = this.options.format; - } - - //try parse datetimepicker config defined as json string in data-datetimepicker - options.datetimepicker = $.fn.editableutils.tryParseJson(options.datetimepicker, true); - - //overriding datetimepicker config (as by default jQuery extend() is not recursive) - //since 1.4 datetimepicker internally uses viewformat instead of format. Format is for submit only - this.options.datetimepicker = $.extend({}, defaults.datetimepicker, options.datetimepicker, { - format: this.options.viewformat - }); - - //language - this.options.datetimepicker.language = this.options.datetimepicker.language || 'en'; - - //store DPglobal - this.dpg = $.fn.datetimepicker.DPGlobal; - - //store parsed formats - this.parsedFormat = this.dpg.parseFormat(this.options.format, this.options.formatType); - this.parsedViewFormat = this.dpg.parseFormat(this.options.viewformat, this.options.formatType); - }, - - render: function () { - this.$input.datetimepicker(this.options.datetimepicker); - - //adjust container position when viewMode changes - //see https://github.com/smalot/bootstrap-datetimepicker/pull/80 - this.$input.on('changeMode', function(e) { - var f = $(this).closest('form').parent(); - //timeout here, otherwise container changes position before form has new size - setTimeout(function(){ - f.triggerHandler('resize'); - }, 0); - }); - - //"clear" link - if(this.options.clear) { - this.$clear = $('').html(this.options.clear).click($.proxy(function(e){ - e.preventDefault(); - e.stopPropagation(); - this.clear(); - }, this)); - - this.$tpl.parent().append($('
    ').append(this.$clear)); - } - }, - - value2html: function(value, element) { - //formatDate works with UTCDate! - var text = value ? this.dpg.formatDate(this.toUTC(value), this.parsedViewFormat, this.options.datetimepicker.language, this.options.formatType) : ''; - if(element) { - DateTime.superclass.value2html.call(this, text, element); - } else { - return text; - } - }, - - html2value: function(html) { - //parseDate return utc date! - var value = this.parseDate(html, this.parsedViewFormat); - return value ? this.fromUTC(value) : null; - }, - - value2str: function(value) { - //formatDate works with UTCDate! - return value ? this.dpg.formatDate(this.toUTC(value), this.parsedFormat, this.options.datetimepicker.language, this.options.formatType) : ''; - }, - - str2value: function(str) { - //parseDate return utc date! - var value = this.parseDate(str, this.parsedFormat); - return value ? this.fromUTC(value) : null; - }, - - value2submit: function(value) { - return this.value2str(value); - }, - - value2input: function(value) { - if(value) { - this.$input.data('datetimepicker').setDate(value); - } - }, - - input2value: function() { - //date may be cleared, in that case getDate() triggers error - var dt = this.$input.data('datetimepicker'); - return dt.date ? dt.getDate() : null; - }, - - activate: function() { - }, - - clear: function() { - this.$input.data('datetimepicker').date = null; - this.$input.find('.active').removeClass('active'); - if(!this.options.showbuttons) { - this.$input.closest('form').submit(); - } - }, - - autosubmit: function() { - this.$input.on('mouseup', '.minute', function(e){ - var $form = $(this).closest('form'); - setTimeout(function() { - $form.submit(); - }, 200); - }); - }, - - //convert date from local to utc - toUTC: function(value) { - return value ? new Date(value.valueOf() - value.getTimezoneOffset() * 60000) : value; - }, - - //convert date from utc to local - fromUTC: function(value) { - return value ? new Date(value.valueOf() + value.getTimezoneOffset() * 60000) : value; - }, - - /* - For incorrect date bootstrap-datetimepicker returns current date that is not suitable - for datetimefield. - This function returns null for incorrect date. - */ - parseDate: function(str, format) { - var date = null, formattedBack; - if(str) { - date = this.dpg.parseDate(str, format, this.options.datetimepicker.language, this.options.formatType); - if(typeof str === 'string') { - formattedBack = this.dpg.formatDate(date, format, this.options.datetimepicker.language, this.options.formatType); - if(str !== formattedBack) { - date = null; - } - } - } - return date; - } - - }); - - DateTime.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, { - /** - @property tpl - @default
    - **/ - tpl:'
    ', - /** - @property inputclass - @default null - **/ - inputclass: null, - /** - Format used for sending value to server. Also applied when converting date from data-value attribute.
    - Possible tokens are: d, dd, m, mm, yy, yyyy, h, i - - @property format - @type string - @default yyyy-mm-dd hh:ii - **/ - format:'yyyy-mm-dd hh:ii', - formatType:'standard', - /** - Format used for displaying date. Also applied when converting date from element's text on init. - If not specified equals to format - - @property viewformat - @type string - @default null - **/ - viewformat: null, - /** - Configuration of datetimepicker. - Full list of options: https://github.com/smalot/bootstrap-datetimepicker - - @property datetimepicker - @type object - @default { } - **/ - datetimepicker:{ - todayHighlight: false, - autoclose: false - }, - /** - Text shown as clear date button. - If false clear button will not be rendered. - - @property clear - @type boolean|string - @default 'x clear' - **/ - clear: '× clear' - }); - - $.fn.editabletypes.datetime = DateTime; - -}(window.jQuery)); -/** -Bootstrap datetimefield input - datetime input for inline mode. -Shows normal and binds popup datetimepicker. -Automatically shown in inline mode. - -@class datetimefield -@extends datetime - -**/ -(function ($) { - "use strict"; - - var DateTimeField = function (options) { - this.init('datetimefield', options, DateTimeField.defaults); - this.initPicker(options, DateTimeField.defaults); - }; - - $.fn.editableutils.inherit(DateTimeField, $.fn.editabletypes.datetime); - - $.extend(DateTimeField.prototype, { - render: function () { - this.$input = this.$tpl.find('input'); - this.setClass(); - this.setAttr('placeholder'); - - this.$tpl.datetimepicker(this.options.datetimepicker); - - //need to disable original event handlers - this.$input.off('focus keydown'); - - //update value of datepicker - this.$input.keyup($.proxy(function(){ - this.$tpl.removeData('date'); - this.$tpl.datetimepicker('update'); - }, this)); - - }, - - value2input: function(value) { - this.$input.val(this.value2html(value)); - this.$tpl.datetimepicker('update'); - }, - - input2value: function() { - return this.html2value(this.$input.val()); - }, - - activate: function() { - $.fn.editabletypes.text.prototype.activate.call(this); - }, - - autosubmit: function() { - //reset autosubmit to empty - } - }); - - DateTimeField.defaults = $.extend({}, $.fn.editabletypes.datetime.defaults, { - /** - @property tpl - **/ - tpl:'
    ', - /** - @property inputclass - @default 'input-medium' - **/ - inputclass: 'input-medium', - - /* datetimepicker config */ - datetimepicker:{ - todayHighlight: false, - autoclose: true - } - }); - - $.fn.editabletypes.datetimefield = DateTimeField; - -}(window.jQuery)); diff --git a/src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-table-editable.min.js b/src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-table-editable.min.js deleted file mode 100644 index c25643e3..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-table-editable.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -* bootstrap-table - v1.11.0 - 2016-07-02 -* https://github.com/wenzhixin/bootstrap-table -* Copyright (c) 2016 zhixin wen -* Licensed MIT License -*/ -!function(a){"use strict";a.extend(a.fn.bootstrapTable.defaults,{editable:!0,onEditableInit:function(){return!1},onEditableSave:function(){return!1},onEditableShown:function(){return!1},onEditableHidden:function(){return!1}}),a.extend(a.fn.bootstrapTable.Constructor.EVENTS,{"editable-init.bs.table":"onEditableInit","editable-save.bs.table":"onEditableSave","editable-shown.bs.table":"onEditableShown","editable-hidden.bs.table":"onEditableHidden"});var b=a.fn.bootstrapTable.Constructor,c=b.prototype.initTable,d=b.prototype.initBody;b.prototype.initTable=function(){var b=this;c.apply(this,Array.prototype.slice.apply(arguments)),this.options.editable&&a.each(this.columns,function(c,d){if(d.editable){var e={},f=[],g="editable-",h=function(a,b){var c=a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()});if(c.slice(0,g.length)==g){var d=c.replace(g,"data-");e[d]=b}};a.each(b.options,h),d.formatter=d.formatter||function(a){return a},d._formatter=d._formatter?d._formatter:d.formatter,d.formatter=function(c,g,i){var j=d._formatter?d._formatter(c,g,i):c;a.each(d,h),a.each(e,function(a,b){f.push(" "+a+'="'+b+'"')});var k=!1;return d.editable.hasOwnProperty("noeditFormatter")&&(k=d.editable.noeditFormatter(c,g,i)),k===!1?['"].join(""):k}}})},b.prototype.initBody=function(){var b=this;d.apply(this,Array.prototype.slice.apply(arguments)),this.options.editable&&(a.each(this.columns,function(c,d){d.editable&&(b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("save").on("save",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g],i=h[d.field];a(this).data("value",e.submitValue),h[d.field]=e.submitValue,b.trigger("editable-save",d.field,h,i,a(this)),b.resetFooter()}),b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("shown").on("shown",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g];b.trigger("editable-shown",d.field,h,a(this),e)}),b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("hidden").on("hidden",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g];b.trigger("editable-hidden",d.field,h,a(this),e)}))}),this.trigger("editable-init"))}}(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.css b/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.css deleted file mode 100644 index dbc606d6..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.css +++ /dev/null @@ -1,249 +0,0 @@ -/*! fancyBox v2.1.3 fancyapps.com | fancyapps.com/fancybox/#license */ -.fancybox-wrap, -.fancybox-skin, -.fancybox-outer, -.fancybox-inner, -.fancybox-image, -.fancybox-wrap iframe, -.fancybox-wrap object, -.fancybox-nav, -.fancybox-nav span, -.fancybox-tmp -{ - padding: 0; - margin: 0; - border: 0; - outline: none; - vertical-align: top; -} - -.fancybox-wrap { - position: absolute; - top: 0; - left: 0; - z-index: 8020; -} - -.fancybox-skin { - position: relative; - background: #f9f9f9; - color: #444; - text-shadow: none; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.fancybox-opened { - z-index: 8030; -} - -.fancybox-opened .fancybox-skin { - -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); - -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); - box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); -} - -.fancybox-outer, .fancybox-inner { - position: relative; -} - -.fancybox-inner { - overflow: hidden; -} - -.fancybox-type-iframe .fancybox-inner { - -webkit-overflow-scrolling: touch; -} - -.fancybox-error { - color: #444; - font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; - margin: 0; - padding: 15px; - white-space: nowrap; -} - -.fancybox-image, .fancybox-iframe { - display: block; - width: 100%; - height: 100%; -} - -.fancybox-image { - max-width: 100%; - max-height: 100%; -} - -#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { - background-image: url('http://thevectorlab.net/flatlab/assets/fancybox/source/fancybox_sprite.png'); -} - -#fancybox-loading { - position: fixed; - top: 50%; - left: 50%; - margin-top: -22px; - margin-left: -22px; - background-position: 0 -108px; - opacity: 0.8; - cursor: pointer; - z-index: 8060; -} - -#fancybox-loading div { - width: 44px; - height: 44px; - background: url('http://thevectorlab.net/flatlab/assets/fancybox/source/fancybox_loading.gif') center center no-repeat; -} - -.fancybox-close { - position: absolute; - top: -18px; - right: -18px; - width: 36px; - height: 36px; - cursor: pointer; - z-index: 8040; -} - -.fancybox-nav { - position: absolute; - top: 0; - width: 40%; - height: 100%; - cursor: pointer; - text-decoration: none; - background: transparent url('http://thevectorlab.net/flatlab/assets/fancybox/source/blank.gif'); /* helps IE */ - -webkit-tap-highlight-color: rgba(0,0,0,0); - z-index: 8040; -} - -.fancybox-prev { - left: 0; -} - -.fancybox-next { - right: 0; -} - -.fancybox-nav span { - position: absolute; - top: 50%; - width: 36px; - height: 34px; - margin-top: -18px; - cursor: pointer; - z-index: 8040; - visibility: hidden; -} - -.fancybox-prev span { - left: 10px; - background-position: 0 -36px; -} - -.fancybox-next span { - right: 10px; - background-position: 0 -72px; -} - -.fancybox-nav:hover span { - visibility: visible; -} - -.fancybox-tmp { - position: absolute; - top: -99999px; - left: -99999px; - visibility: hidden; - max-width: 99999px; - max-height: 99999px; - overflow: visible !important; -} - -/* Overlay helper */ - -.fancybox-lock { - overflow: hidden; -} - -.fancybox-overlay { - position: absolute; - top: 0; - left: 0; - overflow: hidden; - display: none; - z-index: 8010; - background: url('http://thevectorlab.net/flatlab/assets/fancybox/source/fancybox_overlay.png'); -} - -.fancybox-overlay-fixed { - position: fixed; - bottom: 0; - right: 0; -} - -.fancybox-lock .fancybox-overlay { - overflow: auto; - overflow-y: scroll; -} - -/* Title helper */ - -.fancybox-title { - visibility: hidden; - font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; - position: relative; - text-shadow: none; - z-index: 8050; -} - -.fancybox-opened .fancybox-title { - visibility: visible; -} - -.fancybox-title-float-wrap { - position: absolute; - bottom: 0; - right: 50%; - margin-bottom: -35px; - z-index: 8050; - text-align: center; -} - -.fancybox-title-float-wrap .child { - display: inline-block; - margin-right: -100%; - padding: 2px 20px; - background: transparent; /* Fallback for web browsers that doesn't support RGBa */ - background: rgba(0, 0, 0, 0.8); - -webkit-border-radius: 15px; - -moz-border-radius: 15px; - border-radius: 15px; - text-shadow: 0 1px 2px #222; - color: #FFF; - font-weight: bold; - line-height: 24px; - white-space: nowrap; -} - -.fancybox-title-outside-wrap { - position: relative; - margin-top: 10px; - color: #fff; -} - -.fancybox-title-inside-wrap { - padding-top: 10px; -} - -.fancybox-title-over-wrap { - position: absolute; - bottom: 0; - left: 0; - color: #fff; - padding: 10px; - background: #000; - background: rgba(0, 0, 0, .8); -} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.js b/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.js deleted file mode 100644 index e8e1987c..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.js +++ /dev/null @@ -1,2020 +0,0 @@ -/*! - * fancyBox - jQuery Plugin - * version: 2.1.5 (Fri, 14 Jun 2013) - * @requires jQuery v1.6 or later - * - * Examples at http://fancyapps.com/fancybox/ - * License: www.fancyapps.com/fancybox/#license - * - * Copyright 2012 Janis Skarnelis - janis@fancyapps.com - * - */ - -(function (window, document, $, undefined) { - "use strict"; - - var H = $("html"), - W = $(window), - D = $(document), - F = $.fancybox = function () { - F.open.apply( this, arguments ); - }, - IE = navigator.userAgent.match(/msie/i), - didUpdate = null, - isTouch = document.createTouch !== undefined, - - isQuery = function(obj) { - return obj && obj.hasOwnProperty && obj instanceof $; - }, - isString = function(str) { - return str && $.type(str) === "string"; - }, - isPercentage = function(str) { - return isString(str) && str.indexOf('%') > 0; - }, - isScrollable = function(el) { - return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight))); - }, - getScalar = function(orig, dim) { - var value = parseInt(orig, 10) || 0; - - if (dim && isPercentage(orig)) { - value = F.getViewport()[ dim ] / 100 * value; - } - - return Math.ceil(value); - }, - getValue = function(value, dim) { - return getScalar(value, dim) + 'px'; - }; - - $.extend(F, { - // The current version of fancyBox - version: '2.1.5', - - defaults: { - padding : 15, - margin : 20, - - width : 800, - height : 600, - minWidth : 100, - minHeight : 100, - maxWidth : 9999, - maxHeight : 9999, - pixelRatio: 1, // Set to 2 for retina display support - - autoSize : true, - autoHeight : false, - autoWidth : false, - - autoResize : true, - autoCenter : !isTouch, - fitToView : true, - aspectRatio : false, - topRatio : 0.5, - leftRatio : 0.5, - - scrolling : 'auto', // 'auto', 'yes' or 'no' - wrapCSS : '', - - arrows : true, - closeBtn : true, - closeClick : false, - nextClick : false, - mouseWheel : true, - autoPlay : false, - playSpeed : 3000, - preload : 3, - modal : false, - loop : true, - - ajax : { - dataType : 'html', - headers : { 'X-fancyBox': true } - }, - iframe : { - scrolling : 'auto', - preload : true - }, - swf : { - wmode: 'transparent', - allowfullscreen : 'true', - allowscriptaccess : 'always' - }, - - keys : { - next : { - 13 : 'left', // enter - 34 : 'up', // page down - 39 : 'left', // right arrow - 40 : 'up' // down arrow - }, - prev : { - 8 : 'right', // backspace - 33 : 'down', // page up - 37 : 'right', // left arrow - 38 : 'down' // up arrow - }, - close : [27], // escape key - play : [32], // space - start/stop slideshow - toggle : [70] // letter "f" - toggle fullscreen - }, - - direction : { - next : 'left', - prev : 'right' - }, - - scrollOutside : true, - - // Override some properties - index : 0, - type : null, - href : null, - content : null, - title : null, - - // HTML templates - tpl: { - wrap : '
    ', - image : '', - iframe : '', - error : '

    The requested content cannot be loaded.
    Please try again later.

    ', - closeBtn : '', - next : '', - prev : '' - }, - - // Properties for each animation type - // Opening fancyBox - openEffect : 'fade', // 'elastic', 'fade' or 'none' - openSpeed : 250, - openEasing : 'swing', - openOpacity : true, - openMethod : 'zoomIn', - - // Closing fancyBox - closeEffect : 'fade', // 'elastic', 'fade' or 'none' - closeSpeed : 250, - closeEasing : 'swing', - closeOpacity : true, - closeMethod : 'zoomOut', - - // Changing next gallery item - nextEffect : 'elastic', // 'elastic', 'fade' or 'none' - nextSpeed : 250, - nextEasing : 'swing', - nextMethod : 'changeIn', - - // Changing previous gallery item - prevEffect : 'elastic', // 'elastic', 'fade' or 'none' - prevSpeed : 250, - prevEasing : 'swing', - prevMethod : 'changeOut', - - // Enable default helpers - helpers : { - overlay : true, - title : true - }, - - // Callbacks - onCancel : $.noop, // If canceling - beforeLoad : $.noop, // Before loading - afterLoad : $.noop, // After loading - beforeShow : $.noop, // Before changing in current item - afterShow : $.noop, // After opening - beforeChange : $.noop, // Before changing gallery item - beforeClose : $.noop, // Before closing - afterClose : $.noop // After closing - }, - - //Current state - group : {}, // Selected group - opts : {}, // Group options - previous : null, // Previous element - coming : null, // Element being loaded - current : null, // Currently loaded element - isActive : false, // Is activated - isOpen : false, // Is currently open - isOpened : false, // Have been fully opened at least once - - wrap : null, - skin : null, - outer : null, - inner : null, - - player : { - timer : null, - isActive : false - }, - - // Loaders - ajaxLoad : null, - imgPreload : null, - - // Some collections - transitions : {}, - helpers : {}, - - /* - * Static methods - */ - - open: function (group, opts) { - if (!group) { - return; - } - - if (!$.isPlainObject(opts)) { - opts = {}; - } - - // Close if already active - if (false === F.close(true)) { - return; - } - - // Normalize group - if (!$.isArray(group)) { - group = isQuery(group) ? $(group).get() : [group]; - } - - // Recheck if the type of each element is `object` and set content type (image, ajax, etc) - $.each(group, function(i, element) { - var obj = {}, - href, - title, - content, - type, - rez, - hrefParts, - selector; - - if ($.type(element) === "object") { - // Check if is DOM element - if (element.nodeType) { - element = $(element); - } - - if (isQuery(element)) { - obj = { - href : element.data('fancybox-href') || element.attr('href'), - title : element.data('fancybox-title') || element.attr('title'), - isDom : true, - element : element - }; - - if ($.metadata) { - $.extend(true, obj, element.metadata()); - } - - } else { - obj = element; - } - } - - href = opts.href || obj.href || (isString(element) ? element : null); - title = opts.title !== undefined ? opts.title : obj.title || ''; - - content = opts.content || obj.content; - type = content ? 'html' : (opts.type || obj.type); - - if (!type && obj.isDom) { - type = element.data('fancybox-type'); - - if (!type) { - rez = element.prop('class').match(/fancybox\.(\w+)/); - type = rez ? rez[1] : null; - } - } - - if (isString(href)) { - // Try to guess the content type - if (!type) { - if (F.isImage(href)) { - type = 'image'; - - } else if (F.isSWF(href)) { - type = 'swf'; - - } else if (href.charAt(0) === '#') { - type = 'inline'; - - } else if (isString(element)) { - type = 'html'; - content = element; - } - } - - // Split url into two pieces with source url and content selector, e.g, - // "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id" - if (type === 'ajax') { - hrefParts = href.split(/\s+/, 2); - href = hrefParts.shift(); - selector = hrefParts.shift(); - } - } - - if (!content) { - if (type === 'inline') { - if (href) { - content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7 - - } else if (obj.isDom) { - content = element; - } - - } else if (type === 'html') { - content = href; - - } else if (!type && !href && obj.isDom) { - type = 'inline'; - content = element; - } - } - - $.extend(obj, { - href : href, - type : type, - content : content, - title : title, - selector : selector - }); - - group[ i ] = obj; - }); - - // Extend the defaults - F.opts = $.extend(true, {}, F.defaults, opts); - - // All options are merged recursive except keys - if (opts.keys !== undefined) { - F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false; - } - - F.group = group; - - return F._start(F.opts.index); - }, - - // Cancel image loading or abort ajax request - cancel: function () { - var coming = F.coming; - - if (!coming || false === F.trigger('onCancel')) { - return; - } - - F.hideLoading(); - - if (F.ajaxLoad) { - F.ajaxLoad.abort(); - } - - F.ajaxLoad = null; - - if (F.imgPreload) { - F.imgPreload.onload = F.imgPreload.onerror = null; - } - - if (coming.wrap) { - coming.wrap.stop(true, true).trigger('onReset').remove(); - } - - F.coming = null; - - // If the first item has been canceled, then clear everything - if (!F.current) { - F._afterZoomOut( coming ); - } - }, - - // Start closing animation if is open; remove immediately if opening/closing - close: function (event) { - F.cancel(); - - if (false === F.trigger('beforeClose')) { - return; - } - - F.unbindEvents(); - - if (!F.isActive) { - return; - } - - if (!F.isOpen || event === true) { - $('.fancybox-wrap').stop(true).trigger('onReset').remove(); - - F._afterZoomOut(); - - } else { - F.isOpen = F.isOpened = false; - F.isClosing = true; - - $('.fancybox-item, .fancybox-nav').remove(); - - F.wrap.stop(true, true).removeClass('fancybox-opened'); - - F.transitions[ F.current.closeMethod ](); - } - }, - - // Manage slideshow: - // $.fancybox.play(); - toggle slideshow - // $.fancybox.play( true ); - start - // $.fancybox.play( false ); - stop - play: function ( action ) { - var clear = function () { - clearTimeout(F.player.timer); - }, - set = function () { - clear(); - - if (F.current && F.player.isActive) { - F.player.timer = setTimeout(F.next, F.current.playSpeed); - } - }, - stop = function () { - clear(); - - D.unbind('.player'); - - F.player.isActive = false; - - F.trigger('onPlayEnd'); - }, - start = function () { - if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) { - F.player.isActive = true; - - D.bind({ - 'onCancel.player beforeClose.player' : stop, - 'onUpdate.player' : set, - 'beforeLoad.player' : clear - }); - - set(); - - F.trigger('onPlayStart'); - } - }; - - if (action === true || (!F.player.isActive && action !== false)) { - start(); - } else { - stop(); - } - }, - - // Navigate to next gallery item - next: function ( direction ) { - var current = F.current; - - if (current) { - if (!isString(direction)) { - direction = current.direction.next; - } - - F.jumpto(current.index + 1, direction, 'next'); - } - }, - - // Navigate to previous gallery item - prev: function ( direction ) { - var current = F.current; - - if (current) { - if (!isString(direction)) { - direction = current.direction.prev; - } - - F.jumpto(current.index - 1, direction, 'prev'); - } - }, - - // Navigate to gallery item by index - jumpto: function ( index, direction, router ) { - var current = F.current; - - if (!current) { - return; - } - - index = getScalar(index); - - F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ]; - F.router = router || 'jumpto'; - - if (current.loop) { - if (index < 0) { - index = current.group.length + (index % current.group.length); - } - - index = index % current.group.length; - } - - if (current.group[ index ] !== undefined) { - F.cancel(); - - F._start(index); - } - }, - - // Center inside viewport and toggle position type to fixed or absolute if needed - reposition: function (e, onlyAbsolute) { - var current = F.current, - wrap = current ? current.wrap : null, - pos; - - if (wrap) { - pos = F._getPosition(onlyAbsolute); - - if (e && e.type === 'scroll') { - delete pos.position; - - wrap.stop(true, true).animate(pos, 200); - - } else { - wrap.css(pos); - - current.pos = $.extend({}, current.dim, pos); - } - } - }, - - update: function (e) { - var type = (e && e.type), - anyway = !type || type === 'orientationchange'; - - if (anyway) { - clearTimeout(didUpdate); - - didUpdate = null; - } - - if (!F.isOpen || didUpdate) { - return; - } - - didUpdate = setTimeout(function() { - var current = F.current; - - if (!current || F.isClosing) { - return; - } - - F.wrap.removeClass('fancybox-tmp'); - - if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) { - F._setDimension(); - } - - if (!(type === 'scroll' && current.canShrink)) { - F.reposition(e); - } - - F.trigger('onUpdate'); - - didUpdate = null; - - }, (anyway && !isTouch ? 0 : 300)); - }, - - // Shrink content to fit inside viewport or restore if resized - toggle: function ( action ) { - if (F.isOpen) { - F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView; - - // Help browser to restore document dimensions - if (isTouch) { - F.wrap.removeAttr('style').addClass('fancybox-tmp'); - - F.trigger('onUpdate'); - } - - F.update(); - } - }, - - hideLoading: function () { - D.unbind('.loading'); - - $('#fancybox-loading').remove(); - }, - - showLoading: function () { - var el, viewport; - - F.hideLoading(); - - el = $('
    ').click(F.cancel).appendTo('body'); - - // If user will press the escape-button, the request will be canceled - D.bind('keydown.loading', function(e) { - if ((e.which || e.keyCode) === 27) { - e.preventDefault(); - - F.cancel(); - } - }); - - if (!F.defaults.fixed) { - viewport = F.getViewport(); - - el.css({ - position : 'absolute', - top : (viewport.h * 0.5) + viewport.y, - left : (viewport.w * 0.5) + viewport.x - }); - } - }, - - getViewport: function () { - var locked = (F.current && F.current.locked) || false, - rez = { - x: W.scrollLeft(), - y: W.scrollTop() - }; - - if (locked) { - rez.w = locked[0].clientWidth; - rez.h = locked[0].clientHeight; - - } else { - // See http://bugs.jquery.com/ticket/6724 - rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width(); - rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height(); - } - - return rez; - }, - - // Unbind the keyboard / clicking actions - unbindEvents: function () { - if (F.wrap && isQuery(F.wrap)) { - F.wrap.unbind('.fb'); - } - - D.unbind('.fb'); - W.unbind('.fb'); - }, - - bindEvents: function () { - var current = F.current, - keys; - - if (!current) { - return; - } - - // Changing document height on iOS devices triggers a 'resize' event, - // that can change document height... repeating infinitely - W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update); - - keys = current.keys; - - if (keys) { - D.bind('keydown.fb', function (e) { - var code = e.which || e.keyCode, - target = e.target || e.srcElement; - - // Skip esc key if loading, because showLoading will cancel preloading - if (code === 27 && F.coming) { - return false; - } - - // Ignore key combinations and key events within form elements - if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) { - $.each(keys, function(i, val) { - if (current.group.length > 1 && val[ code ] !== undefined) { - F[ i ]( val[ code ] ); - - e.preventDefault(); - return false; - } - - if ($.inArray(code, val) > -1) { - F[ i ] (); - - e.preventDefault(); - return false; - } - }); - } - }); - } - - if ($.fn.mousewheel && current.mouseWheel) { - F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) { - var target = e.target || null, - parent = $(target), - canScroll = false; - - while (parent.length) { - if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) { - break; - } - - canScroll = isScrollable( parent[0] ); - parent = $(parent).parent(); - } - - if (delta !== 0 && !canScroll) { - if (F.group.length > 1 && !current.canShrink) { - if (deltaY > 0 || deltaX > 0) { - F.prev( deltaY > 0 ? 'down' : 'left' ); - - } else if (deltaY < 0 || deltaX < 0) { - F.next( deltaY < 0 ? 'up' : 'right' ); - } - - e.preventDefault(); - } - } - }); - } - }, - - trigger: function (event, o) { - var ret, obj = o || F.coming || F.current; - - if (!obj) { - return; - } - - if ($.isFunction( obj[event] )) { - ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1)); - } - - if (ret === false) { - return false; - } - - if (obj.helpers) { - $.each(obj.helpers, function (helper, opts) { - if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) { - F.helpers[helper][event]($.extend(true, {}, F.helpers[helper].defaults, opts), obj); - } - }); - } - - D.trigger(event); - }, - - isImage: function (str) { - return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i); - }, - - isSWF: function (str) { - return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i); - }, - - _start: function (index) { - var coming = {}, - obj, - href, - type, - margin, - padding; - - index = getScalar( index ); - obj = F.group[ index ] || null; - - if (!obj) { - return false; - } - - coming = $.extend(true, {}, F.opts, obj); - - // Convert margin and padding properties to array - top, right, bottom, left - margin = coming.margin; - padding = coming.padding; - - if ($.type(margin) === 'number') { - coming.margin = [margin, margin, margin, margin]; - } - - if ($.type(padding) === 'number') { - coming.padding = [padding, padding, padding, padding]; - } - - // 'modal' propery is just a shortcut - if (coming.modal) { - $.extend(true, coming, { - closeBtn : false, - closeClick : false, - nextClick : false, - arrows : false, - mouseWheel : false, - keys : null, - helpers: { - overlay : { - closeClick : false - } - } - }); - } - - // 'autoSize' property is a shortcut, too - if (coming.autoSize) { - coming.autoWidth = coming.autoHeight = true; - } - - if (coming.width === 'auto') { - coming.autoWidth = true; - } - - if (coming.height === 'auto') { - coming.autoHeight = true; - } - - /* - * Add reference to the group, so it`s possible to access from callbacks, example: - * afterLoad : function() { - * this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); - * } - */ - - coming.group = F.group; - coming.index = index; - - // Give a chance for callback or helpers to update coming item (type, title, etc) - F.coming = coming; - - if (false === F.trigger('beforeLoad')) { - F.coming = null; - - return; - } - - type = coming.type; - href = coming.href; - - if (!type) { - F.coming = null; - - //If we can not determine content type then drop silently or display next/prev item if looping through gallery - if (F.current && F.router && F.router !== 'jumpto') { - F.current.index = index; - - return F[ F.router ]( F.direction ); - } - - return false; - } - - F.isActive = true; - - if (type === 'image' || type === 'swf') { - coming.autoHeight = coming.autoWidth = false; - coming.scrolling = 'visible'; - } - - if (type === 'image') { - coming.aspectRatio = true; - } - - if (type === 'iframe' && isTouch) { - coming.scrolling = 'scroll'; - } - - // Build the neccessary markup - coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' ); - - $.extend(coming, { - skin : $('.fancybox-skin', coming.wrap), - outer : $('.fancybox-outer', coming.wrap), - inner : $('.fancybox-inner', coming.wrap) - }); - - $.each(["Top", "Right", "Bottom", "Left"], function(i, v) { - coming.skin.css('padding' + v, getValue(coming.padding[ i ])); - }); - - F.trigger('onReady'); - - // Check before try to load; 'inline' and 'html' types need content, others - href - if (type === 'inline' || type === 'html') { - if (!coming.content || !coming.content.length) { - return F._error( 'content' ); - } - - } else if (!href) { - return F._error( 'href' ); - } - - if (type === 'image') { - F._loadImage(); - - } else if (type === 'ajax') { - F._loadAjax(); - - } else if (type === 'iframe') { - F._loadIframe(); - - } else { - F._afterLoad(); - } - }, - - _error: function ( type ) { - $.extend(F.coming, { - type : 'html', - autoWidth : true, - autoHeight : true, - minWidth : 0, - minHeight : 0, - scrolling : 'no', - hasError : type, - content : F.coming.tpl.error - }); - - F._afterLoad(); - }, - - _loadImage: function () { - // Reset preload image so it is later possible to check "complete" property - var img = F.imgPreload = new Image(); - - img.onload = function () { - this.onload = this.onerror = null; - - F.coming.width = this.width / F.opts.pixelRatio; - F.coming.height = this.height / F.opts.pixelRatio; - - F._afterLoad(); - }; - - img.onerror = function () { - this.onload = this.onerror = null; - - F._error( 'image' ); - }; - - img.src = F.coming.href; - - if (img.complete !== true) { - F.showLoading(); - } - }, - - _loadAjax: function () { - var coming = F.coming; - - F.showLoading(); - - F.ajaxLoad = $.ajax($.extend({}, coming.ajax, { - url: coming.href, - error: function (jqXHR, textStatus) { - if (F.coming && textStatus !== 'abort') { - F._error( 'ajax', jqXHR ); - - } else { - F.hideLoading(); - } - }, - success: function (data, textStatus) { - if (textStatus === 'success') { - coming.content = data; - - F._afterLoad(); - } - } - })); - }, - - _loadIframe: function() { - var coming = F.coming, - iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime())) - .attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling) - .attr('src', coming.href); - - // This helps IE - $(coming.wrap).bind('onReset', function () { - try { - $(this).find('iframe').hide().attr('src', '//about:blank').end().empty(); - } catch (e) {} - }); - - if (coming.iframe.preload) { - F.showLoading(); - - iframe.one('load', function() { - $(this).data('ready', 1); - - // iOS will lose scrolling if we resize - if (!isTouch) { - $(this).bind('load.fb', F.update); - } - - // Without this trick: - // - iframe won't scroll on iOS devices - // - IE7 sometimes displays empty iframe - $(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show(); - - F._afterLoad(); - }); - } - - coming.content = iframe.appendTo( coming.inner ); - - if (!coming.iframe.preload) { - F._afterLoad(); - } - }, - - _preloadImages: function() { - var group = F.group, - current = F.current, - len = group.length, - cnt = current.preload ? Math.min(current.preload, len - 1) : 0, - item, - i; - - for (i = 1; i <= cnt; i += 1) { - item = group[ (current.index + i ) % len ]; - - if (item.type === 'image' && item.href) { - new Image().src = item.href; - } - } - }, - - _afterLoad: function () { - var coming = F.coming, - previous = F.current, - placeholder = 'fancybox-placeholder', - current, - content, - type, - scrolling, - href, - embed; - - F.hideLoading(); - - if (!coming || F.isActive === false) { - return; - } - - if (false === F.trigger('afterLoad', coming, previous)) { - coming.wrap.stop(true).trigger('onReset').remove(); - - F.coming = null; - - return; - } - - if (previous) { - F.trigger('beforeChange', previous); - - previous.wrap.stop(true).removeClass('fancybox-opened') - .find('.fancybox-item, .fancybox-nav') - .remove(); - } - - F.unbindEvents(); - - current = coming; - content = coming.content; - type = coming.type; - scrolling = coming.scrolling; - - $.extend(F, { - wrap : current.wrap, - skin : current.skin, - outer : current.outer, - inner : current.inner, - current : current, - previous : previous - }); - - href = current.href; - - switch (type) { - case 'inline': - case 'ajax': - case 'html': - if (current.selector) { - content = $('
    ').html(content).find(current.selector); - - } else if (isQuery(content)) { - if (!content.data(placeholder)) { - content.data(placeholder, $('
    ').insertAfter( content ).hide() ); - } - - content = content.show().detach(); - - current.wrap.bind('onReset', function () { - if ($(this).find(content).length) { - content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false); - } - }); - } - break; - - case 'image': - content = current.tpl.image.replace('{href}', href); - break; - - case 'swf': - content = ''; - embed = ''; - - $.each(current.swf, function(name, val) { - content += ''; - embed += ' ' + name + '="' + val + '"'; - }); - - content += ''; - break; - } - - if (!(isQuery(content) && content.parent().is(current.inner))) { - current.inner.append( content ); - } - - // Give a chance for helpers or callbacks to update elements - F.trigger('beforeShow'); - - // Set scrolling before calculating dimensions - current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling)); - - // Set initial dimensions and start position - F._setDimension(); - - F.reposition(); - - F.isOpen = false; - F.coming = null; - - F.bindEvents(); - - if (!F.isOpened) { - $('.fancybox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove(); - - } else if (previous.prevMethod) { - F.transitions[ previous.prevMethod ](); - } - - F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ](); - - F._preloadImages(); - }, - - _setDimension: function () { - var viewport = F.getViewport(), - steps = 0, - canShrink = false, - canExpand = false, - wrap = F.wrap, - skin = F.skin, - inner = F.inner, - current = F.current, - width = current.width, - height = current.height, - minWidth = current.minWidth, - minHeight = current.minHeight, - maxWidth = current.maxWidth, - maxHeight = current.maxHeight, - scrolling = current.scrolling, - scrollOut = current.scrollOutside ? current.scrollbarWidth : 0, - margin = current.margin, - wMargin = getScalar(margin[1] + margin[3]), - hMargin = getScalar(margin[0] + margin[2]), - wPadding, - hPadding, - wSpace, - hSpace, - origWidth, - origHeight, - origMaxWidth, - origMaxHeight, - ratio, - width_, - height_, - maxWidth_, - maxHeight_, - iframe, - body; - - // Reset dimensions so we could re-check actual size - wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp'); - - wPadding = getScalar(skin.outerWidth(true) - skin.width()); - hPadding = getScalar(skin.outerHeight(true) - skin.height()); - - // Any space between content and viewport (margin, padding, border, title) - wSpace = wMargin + wPadding; - hSpace = hMargin + hPadding; - - origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width; - origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height; - - if (current.type === 'iframe') { - iframe = current.content; - - if (current.autoHeight && iframe.data('ready') === 1) { - try { - if (iframe[0].contentWindow.document.location) { - inner.width( origWidth ).height(9999); - - body = iframe.contents().find('body'); - - if (scrollOut) { - body.css('overflow-x', 'hidden'); - } - - origHeight = body.outerHeight(true); - } - - } catch (e) {} - } - - } else if (current.autoWidth || current.autoHeight) { - inner.addClass( 'fancybox-tmp' ); - - // Set width or height in case we need to calculate only one dimension - if (!current.autoWidth) { - inner.width( origWidth ); - } - - if (!current.autoHeight) { - inner.height( origHeight ); - } - - if (current.autoWidth) { - origWidth = inner.width(); - } - - if (current.autoHeight) { - origHeight = inner.height(); - } - - inner.removeClass( 'fancybox-tmp' ); - } - - width = getScalar( origWidth ); - height = getScalar( origHeight ); - - ratio = origWidth / origHeight; - - // Calculations for the content - minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth); - maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth); - - minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight); - maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight); - - // These will be used to determine if wrap can fit in the viewport - origMaxWidth = maxWidth; - origMaxHeight = maxHeight; - - if (current.fitToView) { - maxWidth = Math.min(viewport.w - wSpace, maxWidth); - maxHeight = Math.min(viewport.h - hSpace, maxHeight); - } - - maxWidth_ = viewport.w - wMargin; - maxHeight_ = viewport.h - hMargin; - - if (current.aspectRatio) { - if (width > maxWidth) { - width = maxWidth; - height = getScalar(width / ratio); - } - - if (height > maxHeight) { - height = maxHeight; - width = getScalar(height * ratio); - } - - if (width < minWidth) { - width = minWidth; - height = getScalar(width / ratio); - } - - if (height < minHeight) { - height = minHeight; - width = getScalar(height * ratio); - } - - } else { - width = Math.max(minWidth, Math.min(width, maxWidth)); - - if (current.autoHeight && current.type !== 'iframe') { - inner.width( width ); - - height = inner.height(); - } - - height = Math.max(minHeight, Math.min(height, maxHeight)); - } - - // Try to fit inside viewport (including the title) - if (current.fitToView) { - inner.width( width ).height( height ); - - wrap.width( width + wPadding ); - - // Real wrap dimensions - width_ = wrap.width(); - height_ = wrap.height(); - - if (current.aspectRatio) { - while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) { - if (steps++ > 19) { - break; - } - - height = Math.max(minHeight, Math.min(maxHeight, height - 10)); - width = getScalar(height * ratio); - - if (width < minWidth) { - width = minWidth; - height = getScalar(width / ratio); - } - - if (width > maxWidth) { - width = maxWidth; - height = getScalar(width / ratio); - } - - inner.width( width ).height( height ); - - wrap.width( width + wPadding ); - - width_ = wrap.width(); - height_ = wrap.height(); - } - - } else { - width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_))); - height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_))); - } - } - - if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) { - width += scrollOut; - } - - inner.width( width ).height( height ); - - wrap.width( width + wPadding ); - - width_ = wrap.width(); - height_ = wrap.height(); - - canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight; - canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight)); - - $.extend(current, { - dim : { - width : getValue( width_ ), - height : getValue( height_ ) - }, - origWidth : origWidth, - origHeight : origHeight, - canShrink : canShrink, - canExpand : canExpand, - wPadding : wPadding, - hPadding : hPadding, - wrapSpace : height_ - skin.outerHeight(true), - skinSpace : skin.height() - height - }); - - if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) { - inner.height('auto'); - } - }, - - _getPosition: function (onlyAbsolute) { - var current = F.current, - viewport = F.getViewport(), - margin = current.margin, - width = F.wrap.width() + margin[1] + margin[3], - height = F.wrap.height() + margin[0] + margin[2], - rez = { - position: 'absolute', - top : margin[0], - left : margin[3] - }; - - if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) { - rez.position = 'fixed'; - - } else if (!current.locked) { - rez.top += viewport.y; - rez.left += viewport.x; - } - - rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio))); - rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio))); - - return rez; - }, - - _afterZoomIn: function () { - var current = F.current; - - if (!current) { - return; - } - - F.isOpen = F.isOpened = true; - - F.wrap.css('overflow', 'visible').addClass('fancybox-opened'); - - F.update(); - - // Assign a click event - if ( current.closeClick || (current.nextClick && F.group.length > 1) ) { - F.inner.css('cursor', 'pointer').bind('click.fb', function(e) { - if (!$(e.target).is('a') && !$(e.target).parent().is('a')) { - e.preventDefault(); - - F[ current.closeClick ? 'close' : 'next' ](); - } - }); - } - - // Create a close button - if (current.closeBtn) { - $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) { - e.preventDefault(); - - F.close(); - }); - } - - // Create navigation arrows - if (current.arrows && F.group.length > 1) { - if (current.loop || current.index > 0) { - $(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev); - } - - if (current.loop || current.index < F.group.length - 1) { - $(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next); - } - } - - F.trigger('afterShow'); - - // Stop the slideshow if this is the last item - if (!current.loop && current.index === current.group.length - 1) { - F.play( false ); - - } else if (F.opts.autoPlay && !F.player.isActive) { - F.opts.autoPlay = false; - - F.play(); - } - }, - - _afterZoomOut: function ( obj ) { - obj = obj || F.current; - - $('.fancybox-wrap').trigger('onReset').remove(); - - $.extend(F, { - group : {}, - opts : {}, - router : false, - current : null, - isActive : false, - isOpened : false, - isOpen : false, - isClosing : false, - wrap : null, - skin : null, - outer : null, - inner : null - }); - - F.trigger('afterClose', obj); - } - }); - - /* - * Default transitions - */ - - F.transitions = { - getOrigPosition: function () { - var current = F.current, - element = current.element, - orig = current.orig, - pos = {}, - width = 50, - height = 50, - hPadding = current.hPadding, - wPadding = current.wPadding, - viewport = F.getViewport(); - - if (!orig && current.isDom && element.is(':visible')) { - orig = element.find('img:first'); - - if (!orig.length) { - orig = element; - } - } - - if (isQuery(orig)) { - pos = orig.offset(); - - if (orig.is('img')) { - width = orig.outerWidth(); - height = orig.outerHeight(); - } - - } else { - pos.top = viewport.y + (viewport.h - height) * current.topRatio; - pos.left = viewport.x + (viewport.w - width) * current.leftRatio; - } - - if (F.wrap.css('position') === 'fixed' || current.locked) { - pos.top -= viewport.y; - pos.left -= viewport.x; - } - - pos = { - top : getValue(pos.top - hPadding * current.topRatio), - left : getValue(pos.left - wPadding * current.leftRatio), - width : getValue(width + wPadding), - height : getValue(height + hPadding) - }; - - return pos; - }, - - step: function (now, fx) { - var ratio, - padding, - value, - prop = fx.prop, - current = F.current, - wrapSpace = current.wrapSpace, - skinSpace = current.skinSpace; - - if (prop === 'width' || prop === 'height') { - ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start); - - if (F.isClosing) { - ratio = 1 - ratio; - } - - padding = prop === 'width' ? current.wPadding : current.hPadding; - value = now - padding; - - F.skin[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) ) ); - F.inner[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) ); - } - }, - - zoomIn: function () { - var current = F.current, - startPos = current.pos, - effect = current.openEffect, - elastic = effect === 'elastic', - endPos = $.extend({opacity : 1}, startPos); - - // Remove "position" property that breaks older IE - delete endPos.position; - - if (elastic) { - startPos = this.getOrigPosition(); - - if (current.openOpacity) { - startPos.opacity = 0.1; - } - - } else if (effect === 'fade') { - startPos.opacity = 0.1; - } - - F.wrap.css(startPos).animate(endPos, { - duration : effect === 'none' ? 0 : current.openSpeed, - easing : current.openEasing, - step : elastic ? this.step : null, - complete : F._afterZoomIn - }); - }, - - zoomOut: function () { - var current = F.current, - effect = current.closeEffect, - elastic = effect === 'elastic', - endPos = {opacity : 0.1}; - - if (elastic) { - endPos = this.getOrigPosition(); - - if (current.closeOpacity) { - endPos.opacity = 0.1; - } - } - - F.wrap.animate(endPos, { - duration : effect === 'none' ? 0 : current.closeSpeed, - easing : current.closeEasing, - step : elastic ? this.step : null, - complete : F._afterZoomOut - }); - }, - - changeIn: function () { - var current = F.current, - effect = current.nextEffect, - startPos = current.pos, - endPos = { opacity : 1 }, - direction = F.direction, - distance = 200, - field; - - startPos.opacity = 0.1; - - if (effect === 'elastic') { - field = direction === 'down' || direction === 'up' ? 'top' : 'left'; - - if (direction === 'down' || direction === 'right') { - startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance); - endPos[ field ] = '+=' + distance + 'px'; - - } else { - startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance); - endPos[ field ] = '-=' + distance + 'px'; - } - } - - // Workaround for http://bugs.jquery.com/ticket/12273 - if (effect === 'none') { - F._afterZoomIn(); - - } else { - F.wrap.css(startPos).animate(endPos, { - duration : current.nextSpeed, - easing : current.nextEasing, - complete : F._afterZoomIn - }); - } - }, - - changeOut: function () { - var previous = F.previous, - effect = previous.prevEffect, - endPos = { opacity : 0.1 }, - direction = F.direction, - distance = 200; - - if (effect === 'elastic') { - endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px'; - } - - previous.wrap.animate(endPos, { - duration : effect === 'none' ? 0 : previous.prevSpeed, - easing : previous.prevEasing, - complete : function () { - $(this).trigger('onReset').remove(); - } - }); - } - }; - - /* - * Overlay helper - */ - - F.helpers.overlay = { - defaults : { - closeClick : true, // if true, fancyBox will be closed when user clicks on the overlay - speedOut : 200, // duration of fadeOut animation - showEarly : true, // indicates if should be opened immediately or wait until the content is ready - css : {}, // custom CSS properties - locked : !isTouch, // if true, the content will be locked into overlay - fixed : true // if false, the overlay CSS position property will not be set to "fixed" - }, - - overlay : null, // current handle - fixed : false, // indicates if the overlay has position "fixed" - el : $('html'), // element that contains "the lock" - - // Public methods - create : function(opts) { - opts = $.extend({}, this.defaults, opts); - - if (this.overlay) { - this.close(); - } - - this.overlay = $('
    ').appendTo( F.coming ? F.coming.parent : opts.parent ); - this.fixed = false; - - if (opts.fixed && F.defaults.fixed) { - this.overlay.addClass('fancybox-overlay-fixed'); - - this.fixed = true; - } - }, - - open : function(opts) { - var that = this; - - opts = $.extend({}, this.defaults, opts); - - if (this.overlay) { - this.overlay.unbind('.overlay').width('auto').height('auto'); - - } else { - this.create(opts); - } - - if (!this.fixed) { - W.bind('resize.overlay', $.proxy( this.update, this) ); - - this.update(); - } - - if (opts.closeClick) { - this.overlay.bind('click.overlay', function(e) { - if ($(e.target).hasClass('fancybox-overlay')) { - if (F.isActive) { - F.close(); - } else { - that.close(); - } - - return false; - } - }); - } - - this.overlay.css( opts.css ).show(); - }, - - close : function() { - var scrollV, scrollH; - - W.unbind('resize.overlay'); - - if (this.el.hasClass('fancybox-lock')) { - $('.fancybox-margin').removeClass('fancybox-margin'); - - scrollV = W.scrollTop(); - scrollH = W.scrollLeft(); - - this.el.removeClass('fancybox-lock'); - - W.scrollTop( scrollV ).scrollLeft( scrollH ); - } - - $('.fancybox-overlay').remove().hide(); - - $.extend(this, { - overlay : null, - fixed : false - }); - }, - - // Private, callbacks - - update : function () { - var width = '100%', offsetWidth; - - // Reset width/height so it will not mess - this.overlay.width(width).height('100%'); - - // jQuery does not return reliable result for IE - if (IE) { - offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); - - if (D.width() > offsetWidth) { - width = D.width(); - } - - } else if (D.width() > W.width()) { - width = D.width(); - } - - this.overlay.width(width).height(D.height()); - }, - - // This is where we can manipulate DOM, because later it would cause iframes to reload - onReady : function (opts, obj) { - var overlay = this.overlay; - - $('.fancybox-overlay').stop(true, true); - - if (!overlay) { - this.create(opts); - } - - if (opts.locked && this.fixed && obj.fixed) { - if (!overlay) { - this.margin = D.height() > W.height() ? $('html').css('margin-right').replace("px", "") : false; - } - - obj.locked = this.overlay.append( obj.wrap ); - obj.fixed = false; - } - - if (opts.showEarly === true) { - this.beforeShow.apply(this, arguments); - } - }, - - beforeShow : function(opts, obj) { - var scrollV, scrollH; - - if (obj.locked) { - if (this.margin !== false) { - $('*').filter(function(){ - return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") ); - }).addClass('fancybox-margin'); - - this.el.addClass('fancybox-margin'); - } - - scrollV = W.scrollTop(); - scrollH = W.scrollLeft(); - - this.el.addClass('fancybox-lock'); - - W.scrollTop( scrollV ).scrollLeft( scrollH ); - } - - this.open(opts); - }, - - onUpdate : function() { - if (!this.fixed) { - this.update(); - } - }, - - afterClose: function (opts) { - // Remove overlay if exists and fancyBox is not opening - // (e.g., it is not being open using afterClose callback) - //if (this.overlay && !F.isActive) { - if (this.overlay && !F.coming) { - this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this )); - } - } - }; - - /* - * Title helper - */ - - F.helpers.title = { - defaults : { - type : 'float', // 'float', 'inside', 'outside' or 'over', - position : 'bottom' // 'top' or 'bottom' - }, - - beforeShow: function (opts) { - var current = F.current, - text = current.title, - type = opts.type, - title, - target; - - if ($.isFunction(text)) { - text = text.call(current.element, current); - } - - if (!isString(text) || $.trim(text) === '') { - return; - } - - title = $('
    ' + text + '
    '); - - switch (type) { - case 'inside': - target = F.skin; - break; - - case 'outside': - target = F.wrap; - break; - - case 'over': - target = F.inner; - break; - - default: // 'float' - target = F.skin; - - title.appendTo('body'); - - if (IE) { - title.width( title.width() ); - } - - title.wrapInner(''); - - //Increase bottom margin so this title will also fit into viewport - F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) ); - break; - } - - title[ (opts.position === 'top' ? 'prependTo' : 'appendTo') ](target); - } - }; - - // jQuery plugin initialization - $.fn.fancybox = function (options) { - var index, - that = $(this), - selector = this.selector || '', - run = function(e) { - var what = $(this).blur(), idx = index, relType, relVal; - - if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) { - relType = options.groupAttr || 'data-fancybox-group'; - relVal = what.attr(relType); - - if (!relVal) { - relType = 'rel'; - relVal = what.get(0)[ relType ]; - } - - if (relVal && relVal !== '' && relVal !== 'nofollow') { - what = selector.length ? $(selector) : that; - what = what.filter('[' + relType + '="' + relVal + '"]'); - idx = what.index(this); - } - - options.index = idx; - - // Stop an event from bubbling if everything is fine - if (F.open(what, options) !== false) { - e.preventDefault(); - } - } - }; - - options = options || {}; - index = options.index || 0; - - if (!selector || options.live === false) { - that.unbind('click.fb-start').bind('click.fb-start', run); - - } else { - D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run); - } - - this.filter('[data-fancybox-start=1]').trigger('click'); - - return this; - }; - - // Tests that need a body at doc ready - D.ready(function() { - var w1, w2; - - if ( $.scrollbarWidth === undefined ) { - // http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth - $.scrollbarWidth = function() { - var parent = $('
    ').appendTo('body'), - child = parent.children(), - width = child.innerWidth() - child.height( 99 ).innerWidth(); - - parent.remove(); - - return width; - }; - } - - if ( $.support.fixedPosition === undefined ) { - $.support.fixedPosition = (function() { - var elem = $('
    ').appendTo('body'), - fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 ); - - elem.remove(); - - return fixed; - }()); - } - - $.extend(F.defaults, { - scrollbarWidth : $.scrollbarWidth(), - fixed : $.support.fixedPosition, - parent : $('body') - }); - - //Get real width of page scroll-bar - w1 = $(window).width(); - - H.addClass('fancybox-lock-test'); - - w2 = $(window).width(); - - H.removeClass('fancybox-lock-test'); - - $("").appendTo("head"); - }); - -}(window, document, jQuery)); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/file_input/fileinput.min.js b/src/demo/manager/src/main/webapp/assets/js/file_input/fileinput.min.js deleted file mode 100644 index 670254bc..00000000 --- a/src/demo/manager/src/main/webapp/assets/js/file_input/fileinput.min.js +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * bootstrap-fileinput v4.3.5 - * http://plugins.krajee.com/file-input - * - * Author: Kartik Visweswaran - * Copyright: 2014 - 2016, Kartik Visweswaran, Krajee.com - * - * Licensed under the BSD 3-Clause - * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md - */!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(window.jQuery)}(function(a){"use strict";a.fn.fileinputLocales={},a.fn.fileinputThemes={};var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa;b=".fileinput",c="kvFileinputModal",d='style="width:{width};height:{height};"',e='\n\n\n\n\n\n',f='
    \n{previewFileIcon}\n
    ',g=window.URL||window.webkitURL,h=function(a,b,c){return void 0!==a&&(c?a===b:a.match(b))},i=function(a){if("Microsoft Internet Explorer"!==navigator.appName)return!1;if(10===a)return new RegExp("msie\\s"+a,"i").test(navigator.userAgent);var c,b=document.createElement("div");return b.innerHTML="",c=b.getElementsByTagName("i").length,document.body.appendChild(b),b.parentNode.removeChild(b),c},j=function(a,c,d,e){var f=e?c:c.split(" ").join(b+" ")+b;a.off(f).on(f,d)},k={data:{},init:function(a){var b=a.initialPreview,c=a.id;b.length>0&&!ea(b)&&(b=b.split(a.initialPreviewDelimiter)),k.data[c]={content:b,config:a.initialPreviewConfig,tags:a.initialPreviewThumbTags,delimiter:a.initialPreviewDelimiter,previewFileType:a.initialPreviewFileType,previewAsData:a.initialPreviewAsData,template:a.previewGenericTemplate,showZoom:a.fileActionSettings.showZoom,showDrag:a.fileActionSettings.showDrag,getSize:function(b){return a._getSize(b)},parseTemplate:function(b,c,d,e,f,g,h){var i=" file-preview-initial";return a._generatePreviewTemplate(b,c,d,e,f,!1,null,i,g,h)},msg:function(b){return a._getMsgSelected(b)},initId:a.previewInitId,footer:a._getLayoutTemplate("footer").replace(/\{progress}/g,a._renderThumbProgress()),isDelete:a.initialPreviewShowDelete,caption:a.initialCaption,actions:function(b,c,d,e,f,g,h){return a._renderFileActions(b,c,d,e,f,g,h,!0)}}},fetch:function(a){return k.data[a].content.filter(function(a){return null!==a})},count:function(a,b){return k.data[a]&&k.data[a].content?b?k.data[a].content.length:k.fetch(a).length:0},get:function(b,c,d){var j,l,n,o,p,q,e="init_"+c,f=k.data[b],g=f.config[c],h=f.content[c],i=f.initId+"-"+e,m=" file-preview-initial",r=fa("previewAsData",g,f.previewAsData);return d=void 0===d||d,h?(g&&g.frameClass&&(m+=" "+g.frameClass),r?(n=f.previewAsData?fa("type",g,f.previewFileType||"generic"):"generic",o=fa("caption",g),p=k.footer(b,c,d,g&&g.size||null),q=fa("filetype",g,n),j=f.parseTemplate(n,h,o,q,i,p,e,null)):j=f.template.replace(/\{previewId}/g,i).replace(/\{frameClass}/g,m).replace(/\{fileindex}/g,e).replace(/\{content}/g,f.content[c]).replace(/\{template}/g,fa("type",g,f.previewFileType)).replace(/\{footer}/g,k.footer(b,c,d,g&&g.size||null)),f.tags.length&&f.tags[c]&&(j=ia(j,f.tags[c])),da(g)||da(g.frameAttr)||(l=a(document.createElement("div")).html(j),l.find(".file-preview-initial").attr(g.frameAttr),j=l.html(),l.remove()),j):""},add:function(b,c,d,e,f){var h,g=a.extend(!0,{},k.data[b]);return ea(c)||(c=c.split(g.delimiter)),f?(h=g.content.push(c)-1,g.config[h]=d,g.tags[h]=e):(h=c.length-1,g.content=c,g.config=d,g.tags=e),k.data[b]=g,h},set:function(b,c,d,e,f){var h,i,g=a.extend(!0,{},k.data[b]);if(c&&c.length&&(ea(c)||(c=c.split(g.delimiter)),i=c.filter(function(a){return null!==a}),i.length)){if(void 0===g.content&&(g.content=[]),void 0===g.config&&(g.config=[]),void 0===g.tags&&(g.tags=[]),f){for(h=0;h'+b+"
    ",caption:d}},footer:function(a,b,c,d){var e=k.data[a];if(c=void 0===c||c,0===e.config.length||da(e.config[b]))return"";var f=e.config[b],g=fa("caption",f),h=fa("width",f,"auto"),i=fa("url",f,!1),j=fa("key",f,null),l=fa("showDelete",f,!0),m=fa("showZoom",f,e.showZoom),n=fa("showDrag",f,e.showDrag),o=i===!1&&c,p=e.isDelete?e.actions(!1,l,m,n,o,i,j):"",q=e.footer.replace(/\{actions}/g,p);return q.replace(/\{caption}/g,g).replace(/\{size}/g,e.getSize(d)).replace(/\{width}/g,h).replace(/\{indicator}/g,"").replace(/\{indicatorTitle}/g,"")}},l=function(a,b){return b=b||0,"number"==typeof a?a:("string"==typeof a&&(a=parseFloat(a)),isNaN(a)?b:a)},m=function(){return!(!window.File||!window.FileReader)},n=function(){var a=document.createElement("div");return!i(9)&&(void 0!==a.draggable||void 0!==a.ondragstart&&void 0!==a.ondrop)},o=function(){return m()&&window.FormData},p=function(a,b){a.removeClass(b).addClass(b)},X={showRemove:!0,showUpload:!0,showZoom:!0,showDrag:!0,removeIcon:'',removeClass:"btn btn-xs btn-default",removeTitle:"Remove file",uploadIcon:'',uploadClass:"btn btn-xs btn-default",uploadTitle:"Upload file",zoomIcon:'',zoomClass:"btn btn-xs btn-default",zoomTitle:"View Details",dragIcon:'',dragClass:"text-info",dragTitle:"Move / Rearrange",dragSettings:{},indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorNewTitle:"Not uploaded yet",indicatorSuccessTitle:"Uploaded",indicatorErrorTitle:"Upload Error",indicatorLoadingTitle:"Uploading ..."},q='{preview}\n
    \n
    \n {caption}\n
    \n {remove}\n {cancel}\n {upload}\n {browse}\n
    \n
    ',r='{preview}\n
    \n{remove}\n{cancel}\n{upload}\n{browse}\n',s='
    \n {close}
    \n
    \n
    \n
    \n
    \n
    \n
    ',u='
    ×
    \n',t='',v='
    \n
    \n
    \n',w='',x='{icon} {label}',y='
    {icon} {label}
    ',z='',A='\n',B='
    \n
    \n {percent}%\n
    \n
    ',C="
    ({sizeText})",D='',E='
    \n \n {drag}\n
    {indicator}
    \n
    \n
    ',F='\n',G='',H='',I='{dragIcon}',J='
    \n',L=J+' title="{caption}" '+d+'>
    \n',M="
    {footer}\n
    \n",N="{content}\n",O='
    {data}
    \n",P='{caption}\n",Q='\n",R='\n",S='\n",T='\n'+e+" "+f+"\n\n",U='\n\n'+e+" "+f+"\n\n",V='\n',W='
    \n'+f+"\n
    \n",Y={main1:q,main2:r,preview:s,close:u,fileIcon:t,caption:v,modalMain:z,modal:A,progress:B,size:C,footer:D,actions:E,actionDelete:F,actionUpload:G,actionZoom:H,actionDrag:I,btnDefault:w,btnLink:x,btnBrowse:y},Z={generic:K+N+M,html:K+O+M,image:K+P+M,text:K+Q+M,video:L+R+M,audio:L+S+M,flash:L+T+M,object:L+U+M,pdf:L+V+M,other:L+W+M},_=["image","html","text","video","audio","flash","pdf","object"],ba={image:{width:"auto",height:"160px"},html:{width:"213px",height:"160px"},text:{width:"213px",height:"160px"},video:{width:"213px",height:"160px"},audio:{width:"213px",height:"80px"},flash:{width:"213px",height:"160px"},object:{width:"160px",height:"160px"},pdf:{width:"160px",height:"160px"},other:{width:"160px",height:"160px"}},$={image:{width:"100%",height:"100%"},html:{width:"100%",height:"100%","min-height":"480px"},text:{width:"100%",height:"100%","min-height":"480px"},video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"480px"},object:{width:"auto",height:"100%","min-height":"480px"},pdf:{width:"100%",height:"100%","min-height":"480px"},other:{width:"auto",height:"100%","min-height":"480px"}},ca={image:function(a,b){return h(a,"image.*")||h(b,/\.(gif|png|jpe?g)$/i)},html:function(a,b){return h(a,"text/html")||h(b,/\.(htm|html)$/i)},text:function(a,b){return h(a,"text.*")||h(b,/\.(xml|javascript)$/i)||h(b,/\.(txt|md|csv|nfo|ini|json|php|js|css)$/i)},video:function(a,b){return h(a,"video.*")&&(h(a,/(ogg|mp4|mp?g|webm|3gp)$/i)||h(b,/\.(og?|mp4|webm|mp?g|3gp)$/i))},audio:function(a,b){return h(a,"audio.*")&&(h(b,/(ogg|mp3|mp?g|wav)$/i)||h(b,/\.(og?|mp3|mp?g|wav)$/i))},flash:function(a,b){return h(a,"application/x-shockwave-flash",!0)||h(b,/\.(swf)$/i)},pdf:function(a,b){return h(a,"application/pdf",!0)||h(b,/\.(pdf)$/i)},object:function(){return!0},other:function(){return!0}},da=function(b,c){return void 0===b||null===b||0===b.length||c&&""===a.trim(b)},ea=function(a){return Array.isArray(a)||"[object Array]"===Object.prototype.toString.call(a)},fa=function(a,b,c){return c=c||"",b&&"object"==typeof b&&a in b?b[a]:c},aa=function(b,c,d){return da(b)||da(b[c])?d:a(b[c])},ga=function(){return Math.round((new Date).getTime()+100*Math.random())},ha=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},ia=function(b,c){var d=b;return c?(a.each(c,function(a,b){"function"==typeof b&&(b=b()),d=d.split(a).join(b)}),d):d},ja=function(a){var b=a.is("img")?a.attr("src"):a.find("source").attr("src");g.revokeObjectURL(b)},ka=function(a){var b=a.lastIndexOf("/");return b===-1&&(b=a.lastIndexOf("\\")),a.split(a.substring(b,b+1)).pop()},la=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},ma=function(a){a&&!la()?document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.msRequestFullscreen?document.documentElement.msRequestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullscreen&&document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()},na=function(a,b,c){if(c>=a.length)for(var d=c-a.length;d--+1;)a.push(void 0);return a.splice(c,0,a.splice(b,1)[0]),a},oa=function(b,c){var d=this;d.$element=a(b),d._validate()&&(d.isPreviewable=m(),d.isIE9=i(9),d.isIE10=i(10),d.isPreviewable||d.isIE9?(d._init(c),d._listen()):d.$element.removeClass("file-loading"))},oa.prototype={constructor:oa,_init:function(b){var e,c=this,d=c.$element;a.each(b,function(a,b){switch(a){case"minFileCount":case"maxFileCount":case"maxFileSize":c[a]=l(b);break;default:c[a]=b}}),c.fileInputCleared=!1,c.fileBatchCompleted=!0,c.isPreviewable||(c.showPreview=!1),c.uploadFileAttr=da(d.attr("name"))?"file_data":d.attr("name"),c.reader=null,c.formdata={},c.clearStack(),c.uploadCount=0,c.uploadStatus={},c.uploadLog=[],c.uploadAsyncCount=0,c.loadedImages=[],c.totalImagesCount=0,c.ajaxRequests=[],c.isError=!1,c.ajaxAborted=!1,c.cancelling=!1,e=c._getLayoutTemplate("progress"),c.progressTemplate=e.replace("{class}",c.progressClass),c.progressCompleteTemplate=e.replace("{class}",c.progressCompleteClass),c.progressErrorTemplate=e.replace("{class}",c.progressErrorClass),c.dropZoneEnabled=n()&&c.dropZoneEnabled,c.isDisabled=c.$element.attr("disabled")||c.$element.attr("readonly"),c.isUploadable=o()&&!da(c.uploadUrl),c.isClickable=c.browseOnZoneClick&&c.showPreview&&(c.isUploadable&&c.dropZoneEnabled||!da(c.defaultPreviewContent)),c.slug="function"==typeof b.slugCallback?b.slugCallback:c._slugDefault,c.mainTemplate=c.showCaption?c._getLayoutTemplate("main1"):c._getLayoutTemplate("main2"),c.captionTemplate=c._getLayoutTemplate("caption"),c.previewGenericTemplate=c._getPreviewTemplate("generic"),c.resizeImage&&(c.maxImageWidth||c.maxImageHeight)&&(c.imageCanvas=document.createElement("canvas"),c.imageCanvasContext=c.imageCanvas.getContext("2d")),da(c.$element.attr("id"))&&c.$element.attr("id",ga()),void 0===c.$container?c.$container=c._createContainer():c._refreshContainer(),c.$dropZone=c.$container.find(".file-drop-zone"),c.$progress=c.$container.find(".kv-upload-progress"),c.$btnUpload=c.$container.find(".fileinput-upload"),c.$captionContainer=aa(b,"elCaptionContainer",c.$container.find(".file-caption")),c.$caption=aa(b,"elCaptionText",c.$container.find(".file-caption-name")),c.$previewContainer=aa(b,"elPreviewContainer",c.$container.find(".file-preview")),c.$preview=aa(b,"elPreviewImage",c.$container.find(".file-preview-thumbnails")),c.$previewStatus=aa(b,"elPreviewStatus",c.$container.find(".file-preview-status")),c.$errorContainer=aa(b,"elErrorContainer",c.$previewContainer.find(".kv-fileinput-error")),da(c.msgErrorClass)||p(c.$errorContainer,c.msgErrorClass),c.$errorContainer.hide(),c.fileActionSettings=a.extend(!0,X,b.fileActionSettings),c.previewInitId="preview-"+ga(),c.id=c.$element.attr("id"),k.init(c),c._initPreview(!0),c._initPreviewActions(),c.options=b,c._setFileDropZoneTitle(),c.$element.removeClass("file-loading"),c.$element.attr("disabled")&&c.disable(),c._initZoom()},_validate:function(){var b,a=this;return"file"===a.$element.attr("type")||(b='

    Invalid Input Type

    You must set an input type = file for bootstrap-fileinput plugin to initialize.
    ',a.$element.after(b),!1)},_errorsExist:function(){var c,b=this;return!!b.$errorContainer.find("li").length||(c=a(document.createElement("div")).html(b.$errorContainer.html()),c.find("span.kv-error-close").remove(),c.find("ul").remove(),!!a.trim(c.text()).length)},_errorHandler:function(a,b){var c=this,d=a.target.error;d.code===d.NOT_FOUND_ERR?c._showError(c.msgFileNotFound.replace("{name}",b)):d.code===d.SECURITY_ERR?c._showError(c.msgFileSecured.replace("{name}",b)):d.code===d.NOT_READABLE_ERR?c._showError(c.msgFileNotReadable.replace("{name}",b)):d.code===d.ABORT_ERR?c._showError(c.msgFilePreviewAborted.replace("{name}",b)):c._showError(c.msgFilePreviewError.replace("{name}",b))},_addError:function(a){var b=this,c=b.$errorContainer;a&&c.length&&(c.html(b.errorCloseButton+a),j(c.find(".kv-error-close"),"click",function(){c.fadeOut("slow")}))},_resetErrors:function(a){var b=this,c=b.$errorContainer;b.isError=!1,b.$container.removeClass("has-error"),c.html(""),a?c.fadeOut("slow"):c.hide()},_showFolderError:function(a){var d,b=this,c=b.$errorContainer;a&&(d=b.msgFoldersNotAllowed.replace(/\{n}/g,a),b._addError(d),p(b.$container,"has-error"),c.fadeIn(800),b._raise("filefoldererror",[a,d]))},_showUploadError:function(a,b,c){var d=this,e=d.$errorContainer,f=c||"fileuploaderror",g=b&&b.id?'
  • '+a+"
  • ":"
  • "+a+"
  • ";return 0===e.find("ul").length?d._addError("
      "+g+"
    "):e.find("ul").append(g),e.fadeIn(800),d._raise(f,[b,a]),d.$container.removeClass("file-input-new"),p(d.$container,"has-error"),!0},_showError:function(a,b,c){var d=this,e=d.$errorContainer,f=c||"fileerror";return b=b||{},b.reader=d.reader,d._addError(a),e.fadeIn(800),d._raise(f,[b,a]),d.isUploadable||d._clearFileInput(),d.$container.removeClass("file-input-new"),p(d.$container,"has-error"),d.$btnUpload.attr("disabled",!0),!0},_noFilesError:function(a){var b=this,c=b.minFileCount>1?b.filePlural:b.fileSingle,d=b.msgFilesTooLess.replace("{n}",b.minFileCount).replace("{files}",c),e=b.$errorContainer;b._addError(d),b.isError=!0,b._updateFileDetails(0),e.fadeIn(800),b._raise("fileerror",[a,d]),b._clearFileInput(),p(b.$container,"has-error")},_parseError:function(b,c,d){var e=this,f=a.trim(c+""),g="."===f.slice(-1)?"":".",h=void 0!==b.responseJSON&&void 0!==b.responseJSON.error?b.responseJSON.error:b.responseText;return e.cancelling&&e.msgUploadAborted&&(f=e.msgUploadAborted),e.showAjaxErrorDetails&&h?(h=a.trim(h.replace(/\n\s*\n/g,"\n")),h=h.length>0?"
    "+h+"
    ":"",f+=g+h):f+=g,e.cancelling=!1,d?""+d+": "+f:f},_parseFileType:function(a){var c,d,e,f,b=this;for(f=0;f<_.length;f+=1)if(e=_[f],c=fa(e,b.fileTypeSettings,ca[e]),d=c(a.type,a.name)?e:"",!da(d))return d;return"other"},_parseFilePreviewIcon:function(b,c){var e,f,d=this,g=d.previewFileIcon;return c&&c.indexOf(".")>-1&&(f=c.split(".").pop(),d.previewFileIconSettings&&d.previewFileIconSettings[f]&&(g=d.previewFileIconSettings[f]),d.previewFileExtSettings&&a.each(d.previewFileExtSettings,function(a,b){return d.previewFileIconSettings[a]&&b(f)?void(g=d.previewFileIconSettings[a]):void(e=!0)})),b.indexOf("{previewFileIcon}")>-1?b.replace(/\{previewFileIconClass}/g,d.previewFileIconClass).replace(/\{previewFileIcon}/g,g):b},_raise:function(b,c){var d=this,e=a.Event(b);if(void 0!==c?d.$element.trigger(e,c):d.$element.trigger(e),e.isDefaultPrevented())return!1;if(!e.result)return e.result;switch(b){case"filebatchuploadcomplete":case"filebatchuploadsuccess":case"fileuploaded":case"fileclear":case"filecleared":case"filereset":case"fileerror":case"filefoldererror":case"fileuploaderror":case"filebatchuploaderror":case"filedeleteerror":case"filecustomerror":case"filesuccessremove":break;default:d.ajaxAborted=e.result}return!0},_listenFullScreen:function(a){var d,e,b=this,c=b.$modal;c&&c.length&&(d=c&&c.find(".btn-fullscreen"),e=c&&c.find(".btn-borderless"),d.length&&e.length&&(d.removeClass("active").attr("aria-pressed","false"),e.removeClass("active").attr("aria-pressed","false"),a?d.addClass("active").attr("aria-pressed","true"):e.addClass("active").attr("aria-pressed","true"),c.hasClass("file-zoom-fullscreen")?b._maximizeZoomDialog():a?b._maximizeZoomDialog():e.removeClass("active").attr("aria-pressed","false")))},_listen:function(){var b=this,c=b.$element,d=c.closest("form"),e=b.$container;j(c,"change",a.proxy(b._change,b)),b.showBrowse&&j(b.$btnFile,"click",a.proxy(b._browse,b)),j(d,"reset",a.proxy(b.reset,b)),j(e.find(".fileinput-remove:not([disabled])"),"click",a.proxy(b.clear,b)),j(e.find(".fileinput-cancel"),"click",a.proxy(b.cancel,b)),b._initDragDrop(),b.isUploadable||j(d,"submit",a.proxy(b._submitForm,b)),j(b.$container.find(".fileinput-upload"),"click",a.proxy(b._uploadClick,b)),j(a(window),"resize",function(){b._listenFullScreen(screen.width===window.innerWidth&&screen.height===window.innerHeight)}),j(a(document),"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange",function(){b._listenFullScreen(la())}),b._initClickable()},_initClickable:function(){var c,b=this;b.isClickable&&(c=b.isUploadable?b.$dropZone:b.$preview.find(".file-default-preview"),p(c,"clickable"),c.attr("tabindex",-1),j(c,"click",function(d){var e=a(d.target);e.parents(".file-preview-thumbnails").length&&!e.parents(".file-default-preview").length||(b.$element.trigger("click"),c.blur())}))},_initDragDrop:function(){var b=this,c=b.$dropZone;b.isUploadable&&b.dropZoneEnabled&&b.showPreview&&(j(c,"dragenter dragover",a.proxy(b._zoneDragEnter,b)),j(c,"dragleave",a.proxy(b._zoneDragLeave,b)),j(c,"drop",a.proxy(b._zoneDrop,b)),j(a(document),"dragenter dragover drop",b._zoneDragDropInit))},_zoneDragDropInit:function(a){a.stopPropagation(),a.preventDefault()},_zoneDragEnter:function(b){var c=this,d=a.inArray("Files",b.originalEvent.dataTransfer.types)>-1;return c._zoneDragDropInit(b),c.isDisabled||!d?(b.originalEvent.dataTransfer.effectAllowed="none",void(b.originalEvent.dataTransfer.dropEffect="none")):void p(c.$dropZone,"file-highlighted")},_zoneDragLeave:function(a){var b=this;b._zoneDragDropInit(a),b.isDisabled||b.$dropZone.removeClass("file-highlighted")},_zoneDrop:function(a){var b=this;a.preventDefault(),b.isDisabled||da(a.originalEvent.dataTransfer.files)||(b._change(a,"dragdrop"),b.$dropZone.removeClass("file-highlighted"))},_uploadClick:function(a){var d,b=this,c=b.$container.find(".fileinput-upload"),e=!c.hasClass("disabled")&&da(c.attr("disabled"));if(!a||!a.isDefaultPrevented()){if(!b.isUploadable)return void(e&&"submit"!==c.attr("type")&&(d=c.closest("form"),d.length&&d.trigger("submit"),a.preventDefault()));a.preventDefault(),e&&b.upload()}},_submitForm:function(){var a=this,b=a.$element,c=b.get(0).files;return c&&a.minFileCount>0&&a._getFileCount(c.length)