Sfoglia il codice sorgente

Merge branch 'dev' of chenweida/jw2.0 into dev

chenweida 7 anni fa
parent
commit
d94592c2d6
100 ha cambiato i file con 15280 aggiunte e 0 eliminazioni
  1. 23 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/commonFoot.jsp
  2. 21 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/commonHead.jsp
  3. 17 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/commonInclude.jsp
  4. 21 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/layout.xml
  5. 25 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/mainLayout.jsp
  6. 13 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/simpleLayout.jsp
  7. 5 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/error.jsp
  8. 6 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/signin.jsp
  9. 49 0
      app/app-iot-server/src/main/webapp/WEB-INF/jsp/signinJs.jsp
  10. 12 0
      app/app-iot-server/src/main/webapp/front/css/animate.min.css
  11. 6 0
      app/app-iot-server/src/main/webapp/front/css/bootstrap.min.css
  12. 6 0
      app/app-iot-server/src/main/webapp/front/css/bootstrap.min14ed.css
  13. 1 0
      app/app-iot-server/src/main/webapp/front/css/demo/webuploader-demo.min.css
  14. 4 0
      app/app-iot-server/src/main/webapp/front/css/font-awesome.min93e3.css
  15. 389 0
      app/app-iot-server/src/main/webapp/front/css/index.css
  16. 46 0
      app/app-iot-server/src/main/webapp/front/css/login.css
  17. 1 0
      app/app-iot-server/src/main/webapp/front/css/login.min.css
  18. BIN
      app/app-iot-server/src/main/webapp/front/css/patterns/header-profile-skin-1.png
  19. BIN
      app/app-iot-server/src/main/webapp/front/css/patterns/header-profile-skin-3.png
  20. BIN
      app/app-iot-server/src/main/webapp/front/css/patterns/header-profile.png
  21. BIN
      app/app-iot-server/src/main/webapp/front/css/patterns/shattered.png
  22. 251 0
      app/app-iot-server/src/main/webapp/front/css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css
  23. 1 0
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/css/blueimp-gallery.min.css
  24. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/error.png
  25. 5 0
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/error.svg
  26. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/loading.gif
  27. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/play-pause.png
  28. 6 0
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/play-pause.svg
  29. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/video-play.png
  30. 5 0
      app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/video-play.svg
  31. 1 0
      app/app-iot-server/src/main/webapp/front/css/plugins/bootstrap-table/bootstrap-table.min.css
  32. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/chosen/chosen-sprite.png
  33. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/chosen/chosen-sprite@2x.png
  34. 423 0
      app/app-iot-server/src/main/webapp/front/css/plugins/chosen/chosen.css
  35. 168 0
      app/app-iot-server/src/main/webapp/front/css/plugins/clockpicker/clockpicker.css
  36. 77 0
      app/app-iot-server/src/main/webapp/front/css/plugins/codemirror/ambiance.css
  37. 309 0
      app/app-iot-server/src/main/webapp/front/css/plugins/codemirror/codemirror.css
  38. 9 0
      app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/css/bootstrap-colorpicker.min.css
  39. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha-horizontal.png
  40. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha.png
  41. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/hue-horizontal.png
  42. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/hue.png
  43. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/saturation.png
  44. 9 0
      app/app-iot-server/src/main/webapp/front/css/plugins/cropper/cropper.min.css
  45. 231 0
      app/app-iot-server/src/main/webapp/front/css/plugins/dataTables/dataTables.bootstrap.css
  46. 789 0
      app/app-iot-server/src/main/webapp/front/css/plugins/datapicker/datepicker3.css
  47. 155 0
      app/app-iot-server/src/main/webapp/front/css/plugins/dropzone/basic.css
  48. 410 0
      app/app-iot-server/src/main/webapp/front/css/plugins/dropzone/dropzone.css
  49. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.eot
  50. 78 0
      app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.svg
  51. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.ttf
  52. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.woff
  53. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footabled41d.eot
  54. 178 0
      app/app-iot-server/src/main/webapp/front/css/plugins/footable/footable.core.css
  55. 589 0
      app/app-iot-server/src/main/webapp/front/css/plugins/fullcalendar/fullcalendar.css
  56. 32 0
      app/app-iot-server/src/main/webapp/front/css/plugins/fullcalendar/fullcalendar.print.css
  57. 59 0
      app/app-iot-server/src/main/webapp/front/css/plugins/iCheck/custom.css
  58. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/iCheck/green.png
  59. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/iCheck/green@2x.png
  60. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/images/sort_asc.png
  61. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/images/sort_desc.png
  62. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/images/sprite-skin-flat.png
  63. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/images/spritemap.png
  64. BIN
      app/app-iot-server/src/main/webapp/front/css/plugins/images/spritemap@2x.png
  65. 126 0
      app/app-iot-server/src/main/webapp/front/css/plugins/ionRangeSlider/ion.rangeSlider.css
  66. 89 0
      app/app-iot-server/src/main/webapp/front/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css
  67. 7 0
      app/app-iot-server/src/main/webapp/front/css/plugins/jasny/jasny-bootstrap.min.css
  68. 851 0
      app/app-iot-server/src/main/webapp/front/css/plugins/jqgrid/ui.jqgridffe4.css
  69. 1 0
      app/app-iot-server/src/main/webapp/front/css/plugins/jsTree/style.min.css
  70. 1 0
      app/app-iot-server/src/main/webapp/front/css/plugins/markdown/bootstrap-markdown.min.css
  71. 2 0
      app/app-iot-server/src/main/webapp/front/css/plugins/morris/morris-0.4.3.min.css
  72. 165 0
      app/app-iot-server/src/main/webapp/front/css/plugins/nouslider/jquery.nouislider.css
  73. 1 0
      app/app-iot-server/src/main/webapp/front/css/plugins/plyr/plyr.css
  74. 1 0
      app/app-iot-server/src/main/webapp/front/css/plugins/plyr/sprite.svg
  75. 620 0
      app/app-iot-server/src/main/webapp/front/css/plugins/simditor/simditor.css
  76. 380 0
      app/app-iot-server/src/main/webapp/front/css/plugins/steps/jquery.steps.css
  77. 5972 0
      app/app-iot-server/src/main/webapp/front/css/plugins/summernote/summernote-bs3.css
  78. 446 0
      app/app-iot-server/src/main/webapp/front/css/plugins/summernote/summernote.css
  79. 715 0
      app/app-iot-server/src/main/webapp/front/css/plugins/sweetalert/sweetalert.css
  80. 32 0
      app/app-iot-server/src/main/webapp/front/css/plugins/switchery/switchery.css
  81. 222 0
      app/app-iot-server/src/main/webapp/front/css/plugins/toastr/toastr.min.css
  82. 35 0
      app/app-iot-server/src/main/webapp/front/css/plugins/treeview/bootstrap-treeview.css
  83. 28 0
      app/app-iot-server/src/main/webapp/front/css/plugins/webuploader/webuploader.css
  84. 226 0
      app/app-iot-server/src/main/webapp/front/css/reset.css
  85. 1 0
      app/app-iot-server/src/main/webapp/front/css/style.min.css
  86. 1 0
      app/app-iot-server/src/main/webapp/front/css/style.min862f.css
  87. BIN
      app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.eot
  88. 640 0
      app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.svg
  89. BIN
      app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.ttf
  90. BIN
      app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.woff
  91. BIN
      app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.woff2
  92. BIN
      app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfontd41d.eot
  93. BIN
      app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.eot
  94. 288 0
      app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.svg
  95. BIN
      app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.ttf
  96. BIN
      app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.woff
  97. BIN
      app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.woff2
  98. BIN
      app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regulard41d.eot
  99. BIN
      app/app-iot-server/src/main/webapp/front/images/01309157481ed232f875a42919209a.gif
  100. 0 0
      app/app-iot-server/src/main/webapp/front/images/404.png

+ 23 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/commonFoot.jsp

@ -0,0 +1,23 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/jsp/common/commonInclude.jsp" %>
<script src="${staticRoot}/js/lib/jquery.min.js"></script>
<script>
    $.extend({
        Context: {
            PATH: '${contextRoot}',
            STATIC_PATH: '${staticRoot}'
        }
    })
</script>
<script>
    (function ($, win) {
        $(function () {
            var $title = $('title'),
                    $headTitleTarget = $('[data-head-title="true"]');
            document.title = $headTitleTarget.text();
        });
    })(jQuery, window);
</script>

+ 21 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/commonHead.jsp

@ -0,0 +1,21 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/jsp/common/commonInclude.jsp" %>
<%--定义页面文档类型以及使用的字符集,浏览器会根据此来调用相应的字符集显示页面内容--%>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<%--IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame.--%>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="${staticRoot}/css/reset.css">
<link rel="stylesheet" href="${staticRoot}/css/bootstrap.min.css">
<head>
    <link rel="icon" href="${staticRoot}/images/logo.png" type="image/x-icon" />
    <link rel="shortcut icon" href="${staticRoot}/images/logo.png" type="image/x-icon" />
</head>

+ 17 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/commonInclude.jsp

@ -0,0 +1,17 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles-extras" prefix="tilesx" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<c:set var="contextRoot" value="<%=request.getContextPath()%>" scope="page" />
<c:set var="devgMode" value="true" scope="page" />
<c:choose>
  <c:when test="${devgMode == 'true'}">
    <c:set var="staticRoot" value="${contextRoot}/front" scope="page" />
  </c:when>
  <c:otherwise>
    <c:set var="staticRoot" value="${contextRoot}/webapp/front/static" scope="page" />
  </c:otherwise>
</c:choose>

+ 21 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/layout.xml

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
        "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
        "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
    <!--出错页面提示-->
    <definition name="errorPage"  template="/WEB-INF/jsp/error.jsp"></definition>
    <!-- 主布局 -->
    <definition name="layout" template="/WEB-INF/jsp/common/mainLayout.jsp">
    </definition>
    <!-- 主布局 -->
    <definition name="generalView" extends="layout">
        <put-attribute name="header" value="/WEB-INF/jsp/common/commonHead.jsp" />
        <!--<put-attribute name="pageCss" expression="/WEB-INF/jsp/${contentPage}Css.jsp" />-->
        <put-attribute name="contentPage" expression="/WEB-INF/jsp/${contentPage}.jsp" />
        <put-attribute name="footer" value="/WEB-INF/jsp/common/commonFoot.jsp" />
        <put-attribute name="pageJs" expression="/WEB-INF/jsp/${contentPage}Js.jsp" />
    </definition>
</tiles-definitions>

+ 25 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/mainLayout.jsp

@ -0,0 +1,25 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/jsp/common/commonInclude.jsp" %>
<!DOCTYPE html>
<html>
<head>
    <%--定义页面文档类型以及使用的字符集,浏览器会根据此来调用相应的字符集显示页面内容--%>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <%--IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame.--%>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>${title}</title>
    <tiles:insertAttribute name="header" />
    <tiles:insertAttribute name="pageCss" ignore="true"/>
</head>
<body>
    <div data-content-page>
        <tiles:insertAttribute name="contentPage" ignore="true"/>
    </div>
    <tiles:insertAttribute name="footer"/>
    <tiles:insertAttribute name="pageJs" ignore="true"/>
    <input type="hidden" id="flag_top_window" />
</body>
</html>

+ 13 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/common/simpleLayout.jsp

@ -0,0 +1,13 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/jsp/common/commonInclude.jsp" %>
<script>
    $.extend({
        Context: {
            PATH: '${contextRoot}',
            STATIC_PATH: '${staticRoot}'
        }
    })
</script>
<tiles:insertAttribute name="pageCss" ignore="true"/>
<tiles:insertAttribute name="contentPage" ignore="true"/>
<tiles:insertAttribute name="pageJs" ignore="true"/>

+ 5 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/error.jsp

@ -0,0 +1,5 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/jsp/common/commonInclude.jsp" %>
<div id="divErrorContent" style="width:550px;height:400px;margin:0 auto;background: url('${contextRoot}/src/images/404.png') no-repeat;">
</div>

+ 6 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/signin.jsp

@ -0,0 +1,6 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%>
<%@include file="/WEB-INF/jsp/common/commonInclude.jsp" %>
<div style="margin:20px;">
加载中,请稍候...
</div>

+ 49 - 0
app/app-iot-server/src/main/webapp/WEB-INF/jsp/signinJs.jsp

@ -0,0 +1,49 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="utf-8" %>
<%@include file="/WEB-INF/jsp/common/commonInclude.jsp" %>
<script>
    var clientId = '${clientId}';
    var signin = {
        init:function () {
            //判断是否自动登录
            var hash = window.location.hash;
            if(hash.indexOf("#access_token")>=0)
            {
                //获取accrss_token
                var tokenString =hash.substring(1,hash.indexOf("&"));
                var token = tokenString.substr(hash.indexOf("="));
                debugger;
                //自动登录
                $.ajax({
                    url: "${contextRoot}/login/autoLogin",
                    type: 'POST',
                    dataType: 'json',
                    data:{
                        "token":token,
                        "clientId": clientId
                    },
                    success: function (data) {
                        debugger;
                        if(data.successFlg){
                            sessionStorage.setItem("ZF_UID",data.obj.id);
                            sessionStorage.setItem("ZF_UN",data.obj.realName);
                            sessionStorage.setItem("ZF_U",data.obj);
                            location.href = '${contextRoot}/index';
                        }else{
                            location.href = '${contextRoot}/login';
                        }
                    },
                    error: function (data) {
                        location.href = '${contextRoot}/login';
                    }
                });
                return;
            }
        }
    }
    $(function() {
        signin.init();
    });
</script>

File diff suppressed because it is too large
+ 12 - 0
app/app-iot-server/src/main/webapp/front/css/animate.min.css


File diff suppressed because it is too large
+ 6 - 0
app/app-iot-server/src/main/webapp/front/css/bootstrap.min.css


File diff suppressed because it is too large
+ 6 - 0
app/app-iot-server/src/main/webapp/front/css/bootstrap.min14ed.css


File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/demo/webuploader-demo.min.css


File diff suppressed because it is too large
+ 4 - 0
app/app-iot-server/src/main/webapp/front/css/font-awesome.min93e3.css


+ 389 - 0
app/app-iot-server/src/main/webapp/front/css/index.css

@ -0,0 +1,389 @@
html, body{height: 100%;}
a {
    outline: 0;
    cursor: pointer;
}
a:hover{
    text-decoration:none;
}
ul{
    padding: 0;
    margin: 0;
}
li {
    list-style: none;
}
p{
    margin: 0;
}
.overflow{
    overflow: hidden;
}
.pr-10{
    padding-right: 10px;
}
.mb-7{
    margin-bottom: 7px;
}
.mb-10{
    margin-bottom: 10px;
}
.mb-16{
    margin-bottom: 16px;
}
.f-fs12{
    font-size: 12px;
}
.f-fs14{
    font-size: 14px;
}
.f-fs16{
    font-size: 16px;
}
.main-color{
    color:#1FA2FF;
}
.color1{
    color: #333;
}
.color2{
    color: #00CF92;
}
.color3{
    color: #F54336;
}
.color4{
    color: #999;
}
.bg-color1{
    background-color: #F6F6F6;
}
.items {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    align-items: center
}
.item{
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
}
.map-content {
    background: #fff;
    overflow-y: auto;
    overflow-x: auto;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.left{
    float: left;
    width: 426px;
    overflow: hidden;
    height: 100%;
    position: relative;
    border-right: 1px solid #ddd;
    box-sizing: border-box;
}
.car{
    padding: 10px 20px;
    position: relative;
    overflow: hidden;
}
li.car{
    border-bottom: 1px solid #ddd;
}
.car-img{
    float: left;
    padding-right: 20px;
}
.item-left{
    display: inline-block;
    width: 100px;
    color: #999;
}
.dingwei{
    background: url(../images/weizhidingwei_btn.png) no-repeat 0;
    display: inline-block;
    width: 65px;
    text-align: right;
}
.weizhi{
    background: url(../images/weizhi_icon.png) no-repeat 0;
    width: 15px;
    height: 14px;
    display: inline-block;
}
.weizhi-bg{
    background-color: #1FA2FF;
    color: #fff;
    height: 60px;
    overflow: hidden;
}
.nav-tabs {
    text-align: center;
    padding: 10px;
    font-size: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.nav>li{
    display: inline-block;
}
.nav-tabs>li {
    float: none;
}
.nav-tabs>li:first-child a{
    border-radius: 5px 0 0 5px;
}
.nav-tabs>li:last-child a{
    border-radius: 0 5px 5px 0;
}
.nav-tabs>li>a{
    color:#1FA2FF;
    padding: 9px 37px;
    margin-right: 0;
    border: 1px solid #1FA2FF;
    background-color: transparent;
    font-size: 16px;
}
.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover{
    color: #fff;
    cursor: default;
    background-color: #1FA2FF;
    border: 1px solid #1FA2FF;
}
.nav-tabs>li>a:focus, .nav-tabs>li>a:hover{
    border: 1px solid #1FA2FF;
    background-color: #fff;
}
.tab-content{
    margin-top: 60px;
    overflow: auto;
    height: 100%;
}
.dislpay-arrow a {
    background: url(../images/shouhui_btn_pre.png) no-repeat;
}
.dislpay-arrow a.zhankai {
    background: url(../images/zhankai_btn_pre.png) no-repeat;
}
.dislpay-arrow a:hover{
    background: url(../images/shouhui_btn.png) no-repeat;
}
.dislpay-arrow a.zhankai:hover{
    background: url(../images/zhankai_btn.png) no-repeat;
}
.dislpay-arrow a {
    position: absolute;
    display: block;
    width: 26px;
    height: 124px;
    top: 50%;
    margin-top: -62px;
    outline: none;
}
#left-panel {
    position: absolute;
    left: 40px;
    top: 20px;
    pointer-events: none;
    overflow: hidden;
}
#searchbox {
    width: 483px;
    position: relative;
    z-index: 5;
    border-radius: 2px;
}
.clearfix {
    zoom: 1;
}
.clearfix::before, .clearfix::after {
    display: table;
    content: "";
}
#searchbox #searchbox-container {
    position: relative;
    z-index: 2;
    pointer-events: auto;
    width: 426px;
    float: left;
    box-sizing: border-box;
    box-shadow: rgba(0, 0, 0, 0.15) 1px 2px 1px;
}
#sole-searchbox-content {
    position: relative;
}
.searchbox-content {
    width: 426px;
    border-radius: 2px 0 0 2px;
    background: #fff;
}
#sole-searchbox-content #sole-input {
    box-sizing: border-box;
    border-top-style: initial;
    border-bottom-style: initial;
    border-top-color: initial;
    border-bottom-color: initial;
    line-height: 20px;
    font-size: 14px;
    height: 38px;
    color: rgb(51, 51, 51);
    position: relative;
    border-width: 0px 27px 0px 10px;
    border-image: initial;
    padding: 9px 0px;
    border-left: 10px solid transparent;
    border-right: 27px solid transparent;
    border-radius: 2px 0px 0px 2px;
}
input:focus{
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.searchbox-content .searchbox-content-common {
    box-sizing: border-box;
    float: left;
    width: 426px;
    height: 38px;
}
#search-button {
    pointer-events: auto;
    width: 57px;
    height: 38px;
    float: left;
    cursor: pointer;
    box-shadow: rgba(0, 0, 0, 0.15) 1px 2px 1px;
    border-width: 0px;
    border-style: initial;
    border-color: initial;
    border-image: initial;
    padding: 0px;
    border-radius: 0px 2px 2px 0px;
    background: url(../images/sousuo_icon.png) no-repeat center #1FA2FF;
    color: #fff;
}
.searchbox-content .input-clear {
    cursor: pointer;
    position: absolute;
    width: 27px;
    height: 38px;
    right: 0;
    top: 0;
    background: url(../images/searchbox.png) no-repeat 0 -114px #fff;
    display: none;
}
.ui3-suggest-wrap {
    position: absolute;
    background-color: #fff;
    display: none;
    box-shadow: 1px 2px 1px rgba(0,0,0,.15);
    border-radius: 0 0 2px 2px;
    top: 58px;
    left: 40px;
    z-index: 1000;
    width: 426px;
}
.list-scroll {
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    width: 426px;
    height: 350px;
}
.ui3-suggest-wrap .ui3-suggest-item a {
    display: block;
    height: 35px;
    line-height: 35px;
    padding-right: 10px;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ui3-suggest-wrap .ui3-suggest-item a:hover{
    background-color: #ddd;
}
.ui3-suggest-wrap .ui3-suggest-item i.default {
    background: url(../images/p.png) no-repeat 12px;
    background-size: contain;
}
.ui3-suggest-wrap .ui3-suggest-item i {
    padding-left: 39px;
    font-style: normal;
    color: #666;
    position: relative;
    z-index: 1;
    padding-top: 1px;
}
.ui3-suggest-wrap .ui3-suggest-item em {
    margin-left: 10px;
    margin-right: 20px;
    font-style: normal;
    color: #999;
}
#addr-list{
    border-top: 1px solid #E4E6E7;
}
#car-list{
    top:128px;
}
#car-back{
    top: 78px;
    padding: 10px 20px;
}
.btn-primary {
    color: #fff;
    background-color: #1fa2ff;
    border-color: #1fa2ff;
}
.btn-primary:hover {
    color: #fff;
    background-color: #1c8ddd;
    border-color: #1c8ddd;
}
.btn-primary:focus {
    color: #fff;
    background-color: #1c8ddd;
    border-color: #1c8ddd;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: #1c8ddd;
    border-color: #1c8ddd;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
    color: #fff;
    background-color: #1c8ddd;
    border-color: #1c8ddd;
}
.query-attendance{
    position: fixed;
    top: 20px;
    right: 20px;
    width: 100px;
    height: 100px;
    background-color: #fff;
    text-align: center;
    padding: 20px;
    box-shadow: rgba(0, 0, 0, 0.15) 1px 2px 1px;
    cursor: pointer;
}

+ 46 - 0
app/app-iot-server/src/main/webapp/front/css/login.css

@ -0,0 +1,46 @@
.l-body{position: fixed;left: 0;bottom: 0;right: 0;top: 0;min-width: 790px;min-height: 700px;min-width:1160px;background-color: #fff;}
.l-header{position: relative;width: 100%;height: 100px;}
.l-l{ display: inline-block;*display:inline;*zoom:1;width: 210px;height: 100px;background: url(../images/logo.png) center no-repeat;background-size: cover;margin-left: 200px;text-indent: -9999px;}
.l-s{float: right;margin-right: 220px;}
.l-s li{position:relative;display: inline-block;height: 100px;line-height: 100px;font-size: 16px;}
/*.l-s li:first-child{margin-right: 60px;}*/
.l-s li a{display: block;color: #333;font-weight: 600;}
.l-s li a:hover{color: #0c93e4}
.l-main{position: relative;width: 100%;height: 500px;background: url(../images/login_bg.png) center no-repeat;background-size: contain;background-color: #0c93e4;}
.l-form{position: absolute;width: 341px;height: 360px;top: 70px;right: 220px;padding: 0 40px;background-color: #fff;-webkit-border-radius: 5px;border-radius: 5px; }
.l-tab{border-bottom: 1px solid #dcdcdc;}
.l-t-item{position:relative;display: inline-block;width: 49%;height: 60px;text-align: center;line-height: 60px;font-size: 20px;font-weight: 400;}
.l-t-item:first-child::before{content: " ";position:absolute;width: 1px;height: 12px;background: #dcdcdc;right: 0;top: 24px}
.l-t-item a{display: block;color: #999;width: 60px;height: 59px;margin: 0 auto;}
.l-t-item a.l-active{border-bottom: 2px solid #0c93e4;}
.l-f-tit{height: 60px;line-height: 60px;font-size: 16px;color: #a9a9a9;}
.l-f-input{width: 260px;height: 38px;line-height: 38px;border: 1px solid #dcdcdc;margin-bottom: 20px;-webkit-border-radius: 2px;border-radius: 2px;font-size: 14px;color: #333;padding-left: 39px;padding-right: 12px;}
.l-f-input[type=password]{margin-bottom: 12px;}
.l-f-c>div{position: relative;}
.l-f-icon{position: absolute;display: block;width: 15px;height: 15px;left: 12px;top: 12px;cursor: pointer/* padding: 0 12px; */}
.i-an{background: url(../images/zhanghao_icon.png) center no-repeat;}
.i-pwd{background: url(../images/mima_icon.png) center no-repeat;}
.l-f-radio{display: inline-block;width: 16px;height: 16px;background: url(../images/gouxuan_btn.png) center no-repeat;vertical-align: middle;/* -webkit-appearance: none; *//*appearance: none;*/margin-right: 10px;}
.l-f-radio.active{background: url(../images/gouxuan_btn_pre.png) center no-repeat;}
.l-f-radio input[type="checkbox"]{opacity: 0;}
.i-an,.i-pwd{background-size: cover;}
.f-p{display: inline-block;vertical-align: middle;color: #555;font-size: 14px}
.f-l{display: block;float: right;font-size: 14px;color: #0c93e4}
.l-btn{width: 260px;height: 40px;line-height: 40px;margin-top: 32px;/* margin-bottom: 12px; */text-align: center;background: #0c93e4;color: #fff;font-size: 14px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;-webkit-box-shadow: 0 0 3px 2px #dcdcdc;-moz-box-shadow: 0 0 3px 2px #dcdcdc;box-shadow: 0 0 3px 2px #dcdcdc;border: none;}
.l-btn:hover{background:#4db2ee }
.l-f-footer{height: 35px;line-height: 35px;font-size: 14px;color: #555;}
.l-f-footer>a{color: #0c93e4}
.l-footer{width: 100%;position: absolute;bottom: 40px;left: 0;text-align: center;color: #999;font-size: 14px;}
.header-xz-wrap {
    height: 97px;
    line-height: 97px;
    background-color: #ffffff;
}
.header-xz-logo {
    /* background-color: #259ee7; */
    background: url(../images/xz-logo.png) center no-repeat;
    width: 355px;
    height: 38px;
    margin-top: 30px;
    margin-left: 30px;
}

File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/login.min.css


BIN
app/app-iot-server/src/main/webapp/front/css/patterns/header-profile-skin-1.png


BIN
app/app-iot-server/src/main/webapp/front/css/patterns/header-profile-skin-3.png


BIN
app/app-iot-server/src/main/webapp/front/css/patterns/header-profile.png


BIN
app/app-iot-server/src/main/webapp/front/css/patterns/shattered.png


+ 251 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css

@ -0,0 +1,251 @@
.checkbox {
  padding-left: 20px;
}
.checkbox label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 5px;
}
.checkbox label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  margin-left: -20px;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background-color: #fff;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
.checkbox label::after {
  display: inline-block;
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0;
  top: 0;
  margin-left: -20px;
  padding-left: 3px;
  padding-top: 1px;
  font-size: 11px;
  color: #555555;
}
.checkbox input[type="checkbox"],
.checkbox input[type="radio"] {
  opacity: 0;
  z-index: 1;
}
.checkbox input[type="checkbox"]:focus + label::before,
.checkbox input[type="radio"]:focus + label::before {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.checkbox input[type="checkbox"]:checked + label::after,
.checkbox input[type="radio"]:checked + label::after {
  font-family: "FontAwesome";
  content: "\f00c";
}
.checkbox input[type="checkbox"]:disabled + label,
.checkbox input[type="radio"]:disabled + label {
  opacity: 0.65;
}
.checkbox input[type="checkbox"]:disabled + label::before,
.checkbox input[type="radio"]:disabled + label::before {
  background-color: #eeeeee;
  cursor: not-allowed;
}
.checkbox.checkbox-circle label::before {
  border-radius: 50%;
}
.checkbox.checkbox-inline {
  margin-top: 0;
}
.checkbox-primary input[type="checkbox"]:checked + label::before,
.checkbox-primary input[type="radio"]:checked + label::before {
  background-color: #337ab7;
  border-color: #337ab7;
}
.checkbox-primary input[type="checkbox"]:checked + label::after,
.checkbox-primary input[type="radio"]:checked + label::after {
  color: #fff;
}
.checkbox-danger input[type="checkbox"]:checked + label::before,
.checkbox-danger input[type="radio"]:checked + label::before {
  background-color: #d9534f;
  border-color: #d9534f;
}
.checkbox-danger input[type="checkbox"]:checked + label::after,
.checkbox-danger input[type="radio"]:checked + label::after {
  color: #fff;
}
.checkbox-info input[type="checkbox"]:checked + label::before,
.checkbox-info input[type="radio"]:checked + label::before {
  background-color: #5bc0de;
  border-color: #5bc0de;
}
.checkbox-info input[type="checkbox"]:checked + label::after,
.checkbox-info input[type="radio"]:checked + label::after {
  color: #fff;
}
.checkbox-warning input[type="checkbox"]:checked + label::before,
.checkbox-warning input[type="radio"]:checked + label::before {
  background-color: #f0ad4e;
  border-color: #f0ad4e;
}
.checkbox-warning input[type="checkbox"]:checked + label::after,
.checkbox-warning input[type="radio"]:checked + label::after {
  color: #fff;
}
.checkbox-success input[type="checkbox"]:checked + label::before,
.checkbox-success input[type="radio"]:checked + label::before {
  background-color: #5cb85c;
  border-color: #5cb85c;
}
.checkbox-success input[type="checkbox"]:checked + label::after,
.checkbox-success input[type="radio"]:checked + label::after {
  color: #fff;
}
.radio {
  padding-left: 20px;
}
.radio label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 5px;
}
.radio label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  margin-left: -20px;
  border: 1px solid #cccccc;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: border 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out;
  transition: border 0.15s ease-in-out;
}
.radio label::after {
  display: inline-block;
  position: absolute;
  content: " ";
  width: 11px;
  height: 11px;
  left: 3px;
  top: 3px;
  margin-left: -20px;
  border-radius: 50%;
  background-color: #555555;
  -webkit-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  transform: scale(0, 0);
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
}
.radio input[type="radio"] {
  opacity: 0;
  z-index: 1;
}
.radio input[type="radio"]:focus + label::before {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.radio input[type="radio"]:checked + label::after {
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1);
}
.radio input[type="radio"]:disabled + label {
  opacity: 0.65;
}
.radio input[type="radio"]:disabled + label::before {
  cursor: not-allowed;
}
.radio.radio-inline {
  margin-top: 0;
}
.radio-primary input[type="radio"] + label::after {
  background-color: #337ab7;
}
.radio-primary input[type="radio"]:checked + label::before {
  border-color: #337ab7;
}
.radio-primary input[type="radio"]:checked + label::after {
  background-color: #337ab7;
}
.radio-danger input[type="radio"] + label::after {
  background-color: #d9534f;
}
.radio-danger input[type="radio"]:checked + label::before {
  border-color: #d9534f;
}
.radio-danger input[type="radio"]:checked + label::after {
  background-color: #d9534f;
}
.radio-info input[type="radio"] + label::after {
  background-color: #5bc0de;
}
.radio-info input[type="radio"]:checked + label::before {
  border-color: #5bc0de;
}
.radio-info input[type="radio"]:checked + label::after {
  background-color: #5bc0de;
}
.radio-warning input[type="radio"] + label::after {
  background-color: #f0ad4e;
}
.radio-warning input[type="radio"]:checked + label::before {
  border-color: #f0ad4e;
}
.radio-warning input[type="radio"]:checked + label::after {
  background-color: #f0ad4e;
}
.radio-success input[type="radio"] + label::after {
  background-color: #5cb85c;
}
.radio-success input[type="radio"]:checked + label::before {
  border-color: #5cb85c;
}
.radio-success input[type="radio"]:checked + label::after {
  background-color: #5cb85c;
}
input[type="checkbox"].styled:checked + label:after,
input[type="radio"].styled:checked + label:after {
  font-family: 'FontAwesome';
  content: "\f00c";
}
input[type="checkbox"] .styled:checked + label::before,
input[type="radio"] .styled:checked + label::before {
  color: #fff;
}
input[type="checkbox"] .styled:checked + label::after,
input[type="radio"] .styled:checked + label::after {
  color: #fff;
}

File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/css/blueimp-gallery.min.css


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/error.png


+ 5 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/error.svg

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="64" height="64">
	<circle cx="32" cy="32" r="25" stroke="red" stroke-width="7" fill="black" fill-opacity="0.2"/>
	<rect x="28" y="7" width="8" height="50" fill="red" transform="rotate(45, 32, 32)"/>
</svg>

BIN
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/loading.gif


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/play-pause.png


+ 6 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/play-pause.svg

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="30" height="15">
	<polygon points="2,1 2,14 13,7" stroke="black" stroke-width="1" fill="white"/>
	<rect x="17" y="2" width="4" height="11" stroke="black" stroke-width="1" fill="white"/>
	<rect x="24" y="2" width="4" height="11" stroke="black" stroke-width="1" fill="white"/>
</svg>

BIN
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/video-play.png


+ 5 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/blueimp/img/video-play.svg

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="64" height="64">
	<circle cx="32" cy="32" r="25" stroke="white" stroke-width="7" fill="black" fill-opacity="0.2"/>
	<polygon points="26,22 26,42 43,32" fill="white"/>
</svg>

File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/bootstrap-table/bootstrap-table.min.css


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/chosen/chosen-sprite.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/chosen/chosen-sprite@2x.png


+ 423 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/chosen/chosen.css

@ -0,0 +1,423 @@
/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com
Version 1.1.0
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011 Harvest http://getharvest.com
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
This file is generated by `grunt build`, do not edit it by hand.
*/
/* @group Base */
.chosen-container {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    font-size: 13px;
    zoom: 1;
    *display: inline;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.chosen-container .chosen-drop {
    position: absolute;
    top: 100%;
    left: -9999px;
    z-index: 1010;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #aaa;
    border-top: 0;
    background: #fff;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
.chosen-container.chosen-with-drop .chosen-drop {
    left: 0;
}
.chosen-container a {
    cursor: pointer;
}
/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0 0 0 8px;
    height: 23px;
    border: 1px solid #aaa;
    border-radius: 5px;
    background-color: #fff;
    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
    background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background-clip: padding-box;
    box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
    color: #444;
    text-decoration: none;
    white-space: nowrap;
    line-height: 24px;
}
.chosen-container-single .chosen-default {
    color: #999;
}
.chosen-container-single .chosen-single span {
    display: block;
    overflow: hidden;
    margin-right: 26px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.chosen-container-single .chosen-single-with-deselect span {
    margin-right: 38px;
}
.chosen-container-single .chosen-single abbr {
    position: absolute;
    top: 6px;
    right: 26px;
    display: block;
    width: 12px;
    height: 12px;
    background: url('chosen-sprite.png') -42px 1px no-repeat;
    font-size: 1px;
}
.chosen-container-single .chosen-single abbr:hover {
    background-position: -42px -10px;
}
.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
    background-position: -42px -10px;
}
.chosen-container-single .chosen-single div {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 18px;
    height: 100%;
}
.chosen-container-single .chosen-single div b {
    display: block;
    width: 100%;
    height: 100%;
    background: url('chosen-sprite.png') no-repeat 0px 7px;
}
.chosen-container-single .chosen-search {
    position: relative;
    z-index: 1010;
    margin: 0;
    padding: 3px 4px;
    white-space: nowrap;
}
.chosen-container-single .chosen-search input[type="text"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 1px 0;
    padding: 4px 20px 4px 5px;
    width: 100%;
    height: auto;
    outline: 0;
    border: 1px solid #aaa;
    background: white url('chosen-sprite.png') no-repeat 100% -20px;
    background: url('chosen-sprite.png') no-repeat 100% -20px;
    font-size: 1em;
    font-family: sans-serif;
    line-height: normal;
    border-radius: 0;
}
.chosen-container-single .chosen-drop {
    margin-top: -1px;
    border-radius: 0 0 4px 4px;
    background-clip: padding-box;
}
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
    position: absolute;
    left: -9999px;
}
/* @end */
/* @group Results */
.chosen-container .chosen-results {
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0 4px 4px 0;
    padding: 0 0 0 4px;
    max-height: 240px;
    -webkit-overflow-scrolling: touch;
}
.chosen-container .chosen-results li {
    display: none;
    margin: 0;
    padding: 5px 6px;
    list-style: none;
    line-height: 15px;
    -webkit-touch-callout: none;
}
.chosen-container .chosen-results li.active-result {
    display: list-item;
    cursor: pointer;
}
.chosen-container .chosen-results li.disabled-result {
    display: list-item;
    color: #ccc;
    cursor: default;
}
.chosen-container .chosen-results li.highlighted {
    background-color: #3875d7;
    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
    background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
    background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
    background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
    background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
    color: #fff;
}
.chosen-container .chosen-results li.no-results {
    display: list-item;
    background: #f4f4f4;
}
.chosen-container .chosen-results li.group-result {
    display: list-item;
    font-weight: bold;
    cursor: default;
}
.chosen-container .chosen-results li.group-option {
    padding-left: 15px;
}
.chosen-container .chosen-results li em {
    font-style: normal;
    text-decoration: underline;
}
/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
    -moz-box-sizing: border-box;
    background-color: #FFFFFF;
    border: 1px solid #CBD5DD;
    border-radius: 2px;
    cursor: text;
    height: auto !important;
    margin: 0;
    min-height: 30px;
    overflow: hidden;
    padding: 2px;
    position: relative;
    width: 100%;
}
.chosen-container-multi .chosen-choices li {
    float: left;
    list-style: none;
}
.chosen-container-multi .chosen-choices li.search-field {
    margin: 0;
    padding: 0;
    white-space: nowrap;
}
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    margin: 1px 0;
    padding: 5px;
    height: 25px;
    outline: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none;
    color: #666;
    font-size: 100%;
    font-family: sans-serif;
    line-height: normal;
    border-radius: 0;
}
.chosen-container-multi .chosen-choices li.search-field .default {
    color: #999;
}
.chosen-container-multi .chosen-choices li.search-choice {
    position: relative;
    margin: 3px 0 3px 5px;
    padding: 3px 20px 3px 5px;
    border: 1px solid #aaa;
    border-radius: 3px;
    background-color: #e4e4e4;
    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
    background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-clip: padding-box;
    box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
    color: #333;
    line-height: 13px;
    cursor: default;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    position: absolute;
    top: 4px;
    right: 3px;
    display: block;
    width: 12px;
    height: 12px;
    background: url('chosen-sprite.png') -42px 1px no-repeat;
    font-size: 1px;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
    background-position: -42px -10px;
}
.chosen-container-multi .chosen-choices li.search-choice-disabled {
    padding-right: 5px;
    border: 1px solid #ccc;
    background-color: #e4e4e4;
    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
    background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    color: #666;
}
.chosen-container-multi .chosen-choices li.search-choice-focus {
    background: #d4d4d4;
}
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
    background-position: -42px -10px;
}
.chosen-container-multi .chosen-results {
    margin: 0;
    padding: 0;
}
.chosen-container-multi .chosen-drop .result-selected {
    display: list-item;
    color: #ccc;
    cursor: default;
}
/* @end */
/* @group Active  */
.chosen-container-active .chosen-single {
    border: 1px solid #5897fb;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.chosen-container-active.chosen-with-drop .chosen-single {
    border: 1px solid #aaa;
    -moz-border-radius-bottomright: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-bottomleft: 0;
    border-bottom-left-radius: 0;
}
.chosen-container-active.chosen-with-drop .chosen-single div {
    border-left: none;
    background: transparent;
}
.chosen-container-active.chosen-with-drop .chosen-single div b {
    background-position: -18px 7px;
}
.chosen-container-active .chosen-choices {
    border: 1px solid #5897fb;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.chosen-container-active .chosen-choices li.search-field input[type="text"] {
    color: #111 !important;
}
/* @end */
/* @group Disabled Support */
.chosen-disabled {
    opacity: 0.5 !important;
    cursor: default;
}
.chosen-disabled .chosen-single {
    cursor: default;
}
.chosen-disabled .chosen-choices .search-choice .search-choice-close {
    cursor: default;
}
/* @end */
/* @group Right to Left */
.chosen-rtl {
    text-align: right;
}
.chosen-rtl .chosen-single {
    overflow: visible;
    padding: 0 8px 0 0;
}
.chosen-rtl .chosen-single span {
    margin-right: 0;
    margin-left: 26px;
    direction: rtl;
}
.chosen-rtl .chosen-single-with-deselect span {
    margin-left: 38px;
}
.chosen-rtl .chosen-single div {
    right: auto;
    left: 3px;
}
.chosen-rtl .chosen-single abbr {
    right: auto;
    left: 26px;
}
.chosen-rtl .chosen-choices li {
    float: right;
}
.chosen-rtl .chosen-choices li.search-field input[type="text"] {
    direction: rtl;
}
.chosen-rtl .chosen-choices li.search-choice {
    margin: 3px 5px 3px 0;
    padding: 3px 5px 3px 19px;
}
.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
    right: auto;
    left: 4px;
}
.chosen-rtl.chosen-container-single-nosearch .chosen-search,
.chosen-rtl .chosen-drop {
    left: 9999px;
}
.chosen-rtl.chosen-container-single .chosen-results {
    margin: 0 0 4px 4px;
    padding: 0 4px 0 0;
}
.chosen-rtl .chosen-results li.group-option {
    padding-right: 15px;
    padding-left: 0;
}
.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
    border-right: none;
}
.chosen-rtl .chosen-search input[type="text"] {
    padding: 4px 5px 4px 20px;
    background: white url('chosen-sprite.png') no-repeat -30px -20px;
    background: url('chosen-sprite.png') no-repeat -30px -20px;
    direction: rtl;
}
.chosen-rtl.chosen-container-single .chosen-single div b {
    background-position: 6px 2px;
}
.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
    background-position: -12px 2px;
}
/* @end */
/* @group Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
    .chosen-rtl .chosen-search input[type="text"],
    .chosen-container-single .chosen-single abbr,
    .chosen-container-single .chosen-single div b,
    .chosen-container-single .chosen-search input[type="text"],
    .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
    .chosen-container .chosen-results-scroll-down span,
    .chosen-container .chosen-results-scroll-up span {
        background-image: url('chosen-sprite%402x.png') !important;
        background-size: 52px 37px !important;
        background-repeat: no-repeat !important;
    }
}
/* @end */

+ 168 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/clockpicker/clockpicker.css

@ -0,0 +1,168 @@
/*!
 * ClockPicker v{package.version} for Bootstrap (http://weareoutman.github.io/clockpicker/)
 * Copyright 2014 Wang Shenwei.
 * Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE)
 */
.clockpicker .input-group-addon {
	cursor: pointer;
}
.clockpicker-moving {
	cursor: move;
}
.clockpicker-align-left.popover > .arrow {
	left: 25px;
}
.clockpicker-align-top.popover > .arrow {
	top: 17px;
}
.clockpicker-align-right.popover > .arrow {
	left: auto;
	right: 25px;
}
.clockpicker-align-bottom.popover > .arrow {
	top: auto;
	bottom: 6px;
}
.clockpicker-popover .popover-title {
	background-color: #fff;
	color: #999;
	font-size: 24px;
	font-weight: bold;
	line-height: 30px;
	text-align: center;
}
.clockpicker-popover .popover-title span {
	cursor: pointer;
}
.clockpicker-popover .popover-content {
	background-color: #f8f8f8;
	padding: 12px;
}
.popover-content:last-child {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}
.clockpicker-plate {
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50%;
	width: 200px;
	height: 200px;
	overflow: visible;
	position: relative;
	/* Disable text selection highlighting. Thanks to Hermanya */
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.clockpicker-canvas,
.clockpicker-dial {
	width: 200px;
	height: 200px;
	position: absolute;
	left: -1px;
	top: -1px;
}
.clockpicker-minutes {
	visibility: hidden;
}
.clockpicker-tick {
	border-radius: 50%;
	color: #666;
	line-height: 26px;
	text-align: center;
	width: 26px;
	height: 26px;
	position: absolute;
	cursor: pointer;
}
.clockpicker-tick.active,
.clockpicker-tick:hover {
	background-color: rgb(192, 229, 247);
	background-color: rgba(0, 149, 221, .25);
}
.clockpicker-button {
	background-image: none;
	background-color: #fff;
	border-width: 1px 0 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	margin: 0;
	padding: 10px 0;
}
.clockpicker-button:hover {
	background-image: none;
	background-color: #ebebeb;
}
.clockpicker-button:focus {
	outline: none!important;
}
.clockpicker-dial {
	-webkit-transition: -webkit-transform 350ms, opacity 350ms;
	-moz-transition: -moz-transform 350ms, opacity 350ms;
	-ms-transition: -ms-transform 350ms, opacity 350ms;
	-o-transition: -o-transform 350ms, opacity 350ms;
	transition: transform 350ms, opacity 350ms;
}
.clockpicker-dial-out {
	opacity: 0;
}
.clockpicker-hours.clockpicker-dial-out {
	-webkit-transform: scale(1.2, 1.2);
	-moz-transform: scale(1.2, 1.2);
	-ms-transform: scale(1.2, 1.2);
	-o-transform: scale(1.2, 1.2);
	transform: scale(1.2, 1.2);
}
.clockpicker-minutes.clockpicker-dial-out {
	-webkit-transform: scale(.8, .8);
	-moz-transform: scale(.8, .8);
	-ms-transform: scale(.8, .8);
	-o-transform: scale(.8, .8);
	transform: scale(.8, .8);
}
.clockpicker-canvas {
	-webkit-transition: opacity 175ms;
	-moz-transition: opacity 175ms;
	-ms-transition: opacity 175ms;
	-o-transition: opacity 175ms;
	transition: opacity 175ms;
}
.clockpicker-canvas-out {
	opacity: 0.25;
}
.clockpicker-canvas-bearing,
.clockpicker-canvas-fg {
	stroke: none;
	fill: rgb(0, 149, 221);
}
.clockpicker-canvas-bg {
	stroke: none;
	fill: rgb(192, 229, 247);
}
.clockpicker-canvas-bg-trans {
	fill: rgba(0, 149, 221, .25);
}
.clockpicker-canvas line {
	stroke: rgb(0, 149, 221);
	stroke-width: 1;
	stroke-linecap: round;
	/*shape-rendering: crispEdges;*/
}
.clockpicker-button.am-button {
	margin: 1px;
	padding: 5px;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: 4px;
}
.clockpicker-button.pm-button {
	margin: 1px 1px 1px 136px;
	padding: 5px;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: 4px;
}

File diff suppressed because it is too large
+ 77 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/codemirror/ambiance.css


+ 309 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/codemirror/codemirror.css

@ -0,0 +1,309 @@
/* BASICS */
.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: monospace;
  height: 300px;
}
.CodeMirror-scroll {
  /* Set scrolling behaviour here */
  overflow: auto;
}
/* PADDING */
.CodeMirror-lines {
  padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre {
  padding: 0 4px; /* Horizontal padding of content */
}
.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  background-color: white; /* The little square between H and V scrollbars */
}
/* GUTTER */
.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.CodeMirror-guttermarker { color: black; }
.CodeMirror-guttermarker-subtle { color: #999; }
/* CURSOR */
.CodeMirror div.CodeMirror-cursor {
  border-left: 1px solid black;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
  border-left: 1px solid silver;
}
.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor {
  width: auto;
  border: 0;
  background: #7e7;
}
.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursors {
  z-index: 1;
}
.cm-animate-fat-cursor {
  width: auto;
  border: 0;
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
}
@-moz-keyframes blink {
  0% { background: #7e7; }
  50% { background: none; }
  100% { background: #7e7; }
}
@-webkit-keyframes blink {
  0% { background: #7e7; }
  50% { background: none; }
  100% { background: #7e7; }
}
@keyframes blink {
  0% { background: #7e7; }
  50% { background: none; }
  100% { background: #7e7; }
}
/* Can style cursor different in overwrite (non-insert) mode */
div.CodeMirror-overwrite div.CodeMirror-cursor {}
.cm-tab { display: inline-block; text-decoration: inherit; }
.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  position: absolute;
}
/* DEFAULT THEME */
.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3 {color: #085;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;}
/* Default styles for common addons */
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;}
/* STOP */
/* The rest of this file contains styles related to the mechanics of
   the editor. You probably shouldn't touch them. */
.CodeMirror {
  line-height: 1;
  position: relative;
  overflow: hidden;
  background: white;
  color: black;
}
.CodeMirror-scroll {
  /* 30px is the magic margin used to hide the element's real scrollbars */
  /* See overflow: hidden in .CodeMirror */
  margin-bottom: -30px; margin-right: -30px;
  padding-bottom: 30px;
  height: 100%;
  outline: none; /* Prevent dragging from highlighting the element */
  position: relative;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.CodeMirror-sizer {
  position: relative;
  border-right: 30px solid transparent;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
/* The fake, visible scrollbars. Used to force redraw during scrolling
   before actuall scrolling happens, thus preventing shaking and
   flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none;
}
.CodeMirror-vscrollbar {
  right: 0; top: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}
.CodeMirror-hscrollbar {
  bottom: 0; left: 0;
  overflow-y: hidden;
  overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
  right: 0; bottom: 0;
}
.CodeMirror-gutter-filler {
  left: 0; bottom: 0;
}
.CodeMirror-gutters {
  position: absolute; left: 0; top: 0;
  padding-bottom: 30px;
  z-index: 3;
}
.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  padding-bottom: 30px;
  margin-bottom: -32px;
  display: inline-block;
  /* Hack to make IE7 behave */
  *zoom:1;
  *display:inline;
}
.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4;
}
.CodeMirror-lines {
  cursor: text;
  min-height: 1px; /* prevents collapsing before first draw */
}
.CodeMirror pre {
  /* Reset some styles that the rest of the page might have set */
  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible;
}
.CodeMirror-wrap pre {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal;
}
.CodeMirror-linebackground {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 0;
  z-index: 0;
}
.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  overflow: auto;
}
.CodeMirror-widget {}
.CodeMirror-wrap .CodeMirror-scroll {
  overflow-x: hidden;
}
.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor {
  position: absolute;
  border-right: none;
  width: 0;
}
div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 3;
}
.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible;
}
.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; }
.cm-searching {
  background: #ffa;
  background: rgba(255, 255, 0, .4);
}
/* IE7 hack to prevent it from returning funny offsetTops on the spans */
.CodeMirror span { *vertical-align: text-bottom; }
/* Used to force a border model for a node */
.cm-force-border { padding-right: .1px; }
@media print {
  /* Hide the cursor when printing */
  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden;
  }
}
/* Help users use markselection to safely style text background */
span.CodeMirror-selectedtext { background: none; }

File diff suppressed because it is too large
+ 9 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/css/bootstrap-colorpicker.min.css


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha-horizontal.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/alpha.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/hue-horizontal.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/hue.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/colorpicker/img/bootstrap-colorpicker/saturation.png


File diff suppressed because it is too large
+ 9 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/cropper/cropper.min.css


+ 231 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/dataTables/dataTables.bootstrap.css

@ -0,0 +1,231 @@
div.dataTables_length label {
    float: left;
    text-align: left;
    font-weight: normal;
}
div.dataTables_length select {
    width: 75px;
}
div.dataTables_filter label {
    float: right;
    font-weight: normal;
}
div.dataTables_filter input {
    width: 16em;
}
div.dataTables_info {
    padding-top: 8px;
}
div.dataTables_paginate {
    float: right;
    margin: 0;
}
div.dataTables_paginate ul.pagination {
    margin: 2px 0;
    white-space: nowrap;
}
table.dataTable,
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 {
}
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 {
}
table.dataTable thead .sorting_desc_disabled {
}
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 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top: none;
}
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;
}
/*
 * TableTools styles
 */
.table tbody tr.active td,
.table tbody tr.active th {
    color: white;
    background-color: #08C;
}
.table tbody tr.active:hover td,
.table tbody tr.active:hover th {
    background-color: #0075b0 !important;
}
.table tbody tr.active a {
    color: white;
}
.table-striped tbody tr.active:nth-child(odd) td,
.table-striped tbody tr.active:nth-child(odd) th {
    background-color: #017ebc;
}
table.DTTT_selectable tbody tr {
    cursor: pointer;
}
div.DTTT .btn {
    font-size: 12px;
    color: #333 !important;
}
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 {
    color: white !important;
    background-color: #0088cc;
}
div.DTTT_collection_background {
    z-index: 2002;
}
/* TableTools information display */
div.DTTT_print_info.modal {
    height: 150px;
    margin-top: -75px;
    text-align: center;
}
div.DTTT_print_info h6 {
    margin: 1em;
    font-size: 28px;
    font-weight: normal;
    line-height: 28px;
}
div.DTTT_print_info p {
    font-size: 14px;
    line-height: 20px;
}
/*
 * 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;
}
div.DTFC_RightHeadWrapper table,
div.DTFC_LeftHeadWrapper table {
    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 {
    margin-bottom: 0 !important;
    border-top: none;
}
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;
}

+ 789 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/datapicker/datepicker3.css

@ -0,0 +1,789 @@
/*!
 * 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;
  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-top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
}
.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-top: 0;
  position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker-dropdown.datepicker-orient-top:before {
  top: -7px;
}
.datepicker-dropdown.datepicker-orient-top:after {
  top: -6px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #fff;
}
.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;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker table tr td,
.datepicker table tr th {
  text-align: center;
  width: 30px;
  height: 30px;
  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,
.datepicker table tr td.day.focused {
  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 {
  color: #000000;
  background-color: #ffdb99;
  border-color: #ffb733;
}
.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:focus,
.datepicker table tr td.today:hover:focus,
.datepicker table tr td.today.disabled:focus,
.datepicker table tr td.today.disabled:hover:focus,
.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,
.open .dropdown-toggle.datepicker table tr td.today,
.open .dropdown-toggle.datepicker table tr td.today:hover,
.open .dropdown-toggle.datepicker table tr td.today.disabled,
.open .dropdown-toggle.datepicker table tr td.today.disabled:hover {
  color: #000000;
  background-color: #ffcd70;
  border-color: #f59e00;
}
.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,
.open .dropdown-toggle.datepicker table tr td.today,
.open .dropdown-toggle.datepicker table tr td.today:hover,
.open .dropdown-toggle.datepicker table tr td.today.disabled,
.open .dropdown-toggle.datepicker table tr td.today.disabled:hover {
  background-image: none;
}
.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],
fieldset[disabled] .datepicker table tr td.today,
fieldset[disabled] .datepicker table tr td.today:hover,
fieldset[disabled] .datepicker table tr td.today.disabled,
fieldset[disabled] .datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover.disabled:hover,
.datepicker table tr td.today.disabled.disabled:hover,
.datepicker table tr td.today.disabled:hover.disabled:hover,
.datepicker table tr td.today[disabled]:hover,
.datepicker table tr td.today:hover[disabled]:hover,
.datepicker table tr td.today.disabled[disabled]:hover,
.datepicker table tr td.today.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.today:hover,
fieldset[disabled] .datepicker table tr td.today:hover:hover,
fieldset[disabled] .datepicker table tr td.today.disabled:hover,
fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today.disabled:focus,
.datepicker table tr td.today:hover.disabled:focus,
.datepicker table tr td.today.disabled.disabled:focus,
.datepicker table tr td.today.disabled:hover.disabled:focus,
.datepicker table tr td.today[disabled]:focus,
.datepicker table tr td.today:hover[disabled]:focus,
.datepicker table tr td.today.disabled[disabled]:focus,
.datepicker table tr td.today.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.today:focus,
fieldset[disabled] .datepicker table tr td.today:hover:focus,
fieldset[disabled] .datepicker table tr td.today.disabled:focus,
fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today:hover.disabled:active,
.datepicker table tr td.today.disabled.disabled:active,
.datepicker table tr td.today.disabled:hover.disabled:active,
.datepicker table tr td.today[disabled]:active,
.datepicker table tr td.today:hover[disabled]:active,
.datepicker table tr td.today.disabled[disabled]:active,
.datepicker table tr td.today.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.today:active,
fieldset[disabled] .datepicker table tr td.today:hover:active,
fieldset[disabled] .datepicker table tr td.today.disabled:active,
fieldset[disabled] .datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today:hover.disabled.active,
.datepicker table tr td.today.disabled.disabled.active,
.datepicker table tr td.today.disabled:hover.disabled.active,
.datepicker table tr td.today[disabled].active,
.datepicker table tr td.today:hover[disabled].active,
.datepicker table tr td.today.disabled[disabled].active,
.datepicker table tr td.today.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.today.active,
fieldset[disabled] .datepicker table tr td.today:hover.active,
fieldset[disabled] .datepicker table tr td.today.disabled.active,
fieldset[disabled] .datepicker table tr td.today.disabled:hover.active {
  background-color: #ffdb99;
  border-color: #ffb733;
}
.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;
  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 {
  color: #000000;
  background-color: #f7ca77;
  border-color: #f1a417;
  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:focus,
.datepicker table tr td.range.today:hover:focus,
.datepicker table tr td.range.today.disabled:focus,
.datepicker table tr td.range.today.disabled:hover:focus,
.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,
.open .dropdown-toggle.datepicker table tr td.range.today,
.open .dropdown-toggle.datepicker table tr td.range.today:hover,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover {
  color: #000000;
  background-color: #f4bb51;
  border-color: #bf800c;
}
.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,
.open .dropdown-toggle.datepicker table tr td.range.today,
.open .dropdown-toggle.datepicker table tr td.range.today:hover,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover {
  background-image: none;
}
.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],
fieldset[disabled] .datepicker table tr td.range.today,
fieldset[disabled] .datepicker table tr td.range.today:hover,
fieldset[disabled] .datepicker table tr td.range.today.disabled,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today:hover.disabled:hover,
.datepicker table tr td.range.today.disabled.disabled:hover,
.datepicker table tr td.range.today.disabled:hover.disabled:hover,
.datepicker table tr td.range.today[disabled]:hover,
.datepicker table tr td.range.today:hover[disabled]:hover,
.datepicker table tr td.range.today.disabled[disabled]:hover,
.datepicker table tr td.range.today.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.range.today:hover,
fieldset[disabled] .datepicker table tr td.range.today:hover:hover,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today.disabled:focus,
.datepicker table tr td.range.today:hover.disabled:focus,
.datepicker table tr td.range.today.disabled.disabled:focus,
.datepicker table tr td.range.today.disabled:hover.disabled:focus,
.datepicker table tr td.range.today[disabled]:focus,
.datepicker table tr td.range.today:hover[disabled]:focus,
.datepicker table tr td.range.today.disabled[disabled]:focus,
.datepicker table tr td.range.today.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.range.today:focus,
fieldset[disabled] .datepicker table tr td.range.today:hover:focus,
fieldset[disabled] .datepicker table tr td.range.today.disabled:focus,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today:hover.disabled:active,
.datepicker table tr td.range.today.disabled.disabled:active,
.datepicker table tr td.range.today.disabled:hover.disabled:active,
.datepicker table tr td.range.today[disabled]:active,
.datepicker table tr td.range.today:hover[disabled]:active,
.datepicker table tr td.range.today.disabled[disabled]:active,
.datepicker table tr td.range.today.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.range.today:active,
fieldset[disabled] .datepicker table tr td.range.today:hover:active,
fieldset[disabled] .datepicker table tr td.range.today.disabled:active,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today:hover.disabled.active,
.datepicker table tr td.range.today.disabled.disabled.active,
.datepicker table tr td.range.today.disabled:hover.disabled.active,
.datepicker table tr td.range.today[disabled].active,
.datepicker table tr td.range.today:hover[disabled].active,
.datepicker table tr td.range.today.disabled[disabled].active,
.datepicker table tr td.range.today.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.range.today.active,
fieldset[disabled] .datepicker table tr td.range.today:hover.active,
fieldset[disabled] .datepicker table tr td.range.today.disabled.active,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active {
  background-color: #f7ca77;
  border-color: #f1a417;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
  color: #ffffff;
  background-color: #999999;
  border-color: #555555;
  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:focus,
.datepicker table tr td.selected:hover:focus,
.datepicker table tr td.selected.disabled:focus,
.datepicker table tr td.selected.disabled:hover:focus,
.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,
.open .dropdown-toggle.datepicker table tr td.selected,
.open .dropdown-toggle.datepicker table tr td.selected:hover,
.open .dropdown-toggle.datepicker table tr td.selected.disabled,
.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover {
  color: #ffffff;
  background-color: #858585;
  border-color: #373737;
}
.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,
.open .dropdown-toggle.datepicker table tr td.selected,
.open .dropdown-toggle.datepicker table tr td.selected:hover,
.open .dropdown-toggle.datepicker table tr td.selected.disabled,
.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover {
  background-image: none;
}
.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],
fieldset[disabled] .datepicker table tr td.selected,
fieldset[disabled] .datepicker table tr td.selected:hover,
fieldset[disabled] .datepicker table tr td.selected.disabled,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected:hover.disabled:hover,
.datepicker table tr td.selected.disabled.disabled:hover,
.datepicker table tr td.selected.disabled:hover.disabled:hover,
.datepicker table tr td.selected[disabled]:hover,
.datepicker table tr td.selected:hover[disabled]:hover,
.datepicker table tr td.selected.disabled[disabled]:hover,
.datepicker table tr td.selected.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.selected:hover,
fieldset[disabled] .datepicker table tr td.selected:hover:hover,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected.disabled:focus,
.datepicker table tr td.selected:hover.disabled:focus,
.datepicker table tr td.selected.disabled.disabled:focus,
.datepicker table tr td.selected.disabled:hover.disabled:focus,
.datepicker table tr td.selected[disabled]:focus,
.datepicker table tr td.selected:hover[disabled]:focus,
.datepicker table tr td.selected.disabled[disabled]:focus,
.datepicker table tr td.selected.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.selected:focus,
fieldset[disabled] .datepicker table tr td.selected:hover:focus,
fieldset[disabled] .datepicker table tr td.selected.disabled:focus,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected:hover.disabled:active,
.datepicker table tr td.selected.disabled.disabled:active,
.datepicker table tr td.selected.disabled:hover.disabled:active,
.datepicker table tr td.selected[disabled]:active,
.datepicker table tr td.selected:hover[disabled]:active,
.datepicker table tr td.selected.disabled[disabled]:active,
.datepicker table tr td.selected.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.selected:active,
fieldset[disabled] .datepicker table tr td.selected:hover:active,
fieldset[disabled] .datepicker table tr td.selected.disabled:active,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected:hover.disabled.active,
.datepicker table tr td.selected.disabled.disabled.active,
.datepicker table tr td.selected.disabled:hover.disabled.active,
.datepicker table tr td.selected[disabled].active,
.datepicker table tr td.selected:hover[disabled].active,
.datepicker table tr td.selected.disabled[disabled].active,
.datepicker table tr td.selected.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.selected.active,
fieldset[disabled] .datepicker table tr td.selected:hover.active,
fieldset[disabled] .datepicker table tr td.selected.disabled.active,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active {
  background-color: #999999;
  border-color: #555555;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
  color: #ffffff;
  background-color: #428bca;
  border-color: #357ebd;
  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:focus,
.datepicker table tr td.active:hover:focus,
.datepicker table tr td.active.disabled:focus,
.datepicker table tr td.active.disabled:hover:focus,
.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,
.open .dropdown-toggle.datepicker table tr td.active,
.open .dropdown-toggle.datepicker table tr td.active:hover,
.open .dropdown-toggle.datepicker table tr td.active.disabled,
.open .dropdown-toggle.datepicker table tr td.active.disabled:hover {
  color: #ffffff;
  background-color: #3276b1;
  border-color: #285e8e;
}
.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,
.open .dropdown-toggle.datepicker table tr td.active,
.open .dropdown-toggle.datepicker table tr td.active:hover,
.open .dropdown-toggle.datepicker table tr td.active.disabled,
.open .dropdown-toggle.datepicker table tr td.active.disabled:hover {
  background-image: none;
}
.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],
fieldset[disabled] .datepicker table tr td.active,
fieldset[disabled] .datepicker table tr td.active:hover,
fieldset[disabled] .datepicker table tr td.active.disabled,
fieldset[disabled] .datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active:hover.disabled:hover,
.datepicker table tr td.active.disabled.disabled:hover,
.datepicker table tr td.active.disabled:hover.disabled:hover,
.datepicker table tr td.active[disabled]:hover,
.datepicker table tr td.active:hover[disabled]:hover,
.datepicker table tr td.active.disabled[disabled]:hover,
.datepicker table tr td.active.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.active:hover,
fieldset[disabled] .datepicker table tr td.active:hover:hover,
fieldset[disabled] .datepicker table tr td.active.disabled:hover,
fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active.disabled:focus,
.datepicker table tr td.active:hover.disabled:focus,
.datepicker table tr td.active.disabled.disabled:focus,
.datepicker table tr td.active.disabled:hover.disabled:focus,
.datepicker table tr td.active[disabled]:focus,
.datepicker table tr td.active:hover[disabled]:focus,
.datepicker table tr td.active.disabled[disabled]:focus,
.datepicker table tr td.active.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.active:focus,
fieldset[disabled] .datepicker table tr td.active:hover:focus,
fieldset[disabled] .datepicker table tr td.active.disabled:focus,
fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active:hover.disabled:active,
.datepicker table tr td.active.disabled.disabled:active,
.datepicker table tr td.active.disabled:hover.disabled:active,
.datepicker table tr td.active[disabled]:active,
.datepicker table tr td.active:hover[disabled]:active,
.datepicker table tr td.active.disabled[disabled]:active,
.datepicker table tr td.active.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.active:active,
fieldset[disabled] .datepicker table tr td.active:hover:active,
fieldset[disabled] .datepicker table tr td.active.disabled:active,
fieldset[disabled] .datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active:hover.disabled.active,
.datepicker table tr td.active.disabled.disabled.active,
.datepicker table tr td.active.disabled:hover.disabled.active,
.datepicker table tr td.active[disabled].active,
.datepicker table tr td.active:hover[disabled].active,
.datepicker table tr td.active.disabled[disabled].active,
.datepicker table tr td.active.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.active.active,
fieldset[disabled] .datepicker table tr td.active:hover.active,
fieldset[disabled] .datepicker table tr td.active.disabled.active,
fieldset[disabled] .datepicker table tr td.active.disabled:hover.active {
  background-color: #428bca;
  border-color: #357ebd;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  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 {
  color: #ffffff;
  background-color: #428bca;
  border-color: #357ebd;
  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:focus,
.datepicker table tr td span.active:hover:focus,
.datepicker table tr td span.active.disabled:focus,
.datepicker table tr td span.active.disabled:hover:focus,
.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,
.open .dropdown-toggle.datepicker table tr td span.active,
.open .dropdown-toggle.datepicker table tr td span.active:hover,
.open .dropdown-toggle.datepicker table tr td span.active.disabled,
.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  color: #ffffff;
  background-color: #3276b1;
  border-color: #285e8e;
}
.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,
.open .dropdown-toggle.datepicker table tr td span.active,
.open .dropdown-toggle.datepicker table tr td span.active:hover,
.open .dropdown-toggle.datepicker table tr td span.active.disabled,
.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-image: none;
}
.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],
fieldset[disabled] .datepicker table tr td span.active,
fieldset[disabled] .datepicker table tr td span.active:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active:hover.disabled:hover,
.datepicker table tr td span.active.disabled.disabled:hover,
.datepicker table tr td span.active.disabled:hover.disabled:hover,
.datepicker table tr td span.active[disabled]:hover,
.datepicker table tr td span.active:hover[disabled]:hover,
.datepicker table tr td span.active.disabled[disabled]:hover,
.datepicker table tr td span.active.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td span.active:hover,
fieldset[disabled] .datepicker table tr td span.active:hover:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active.disabled:focus,
.datepicker table tr td span.active:hover.disabled:focus,
.datepicker table tr td span.active.disabled.disabled:focus,
.datepicker table tr td span.active.disabled:hover.disabled:focus,
.datepicker table tr td span.active[disabled]:focus,
.datepicker table tr td span.active:hover[disabled]:focus,
.datepicker table tr td span.active.disabled[disabled]:focus,
.datepicker table tr td span.active.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td span.active:focus,
fieldset[disabled] .datepicker table tr td span.active:hover:focus,
fieldset[disabled] .datepicker table tr td span.active.disabled:focus,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active:hover.disabled:active,
.datepicker table tr td span.active.disabled.disabled:active,
.datepicker table tr td span.active.disabled:hover.disabled:active,
.datepicker table tr td span.active[disabled]:active,
.datepicker table tr td span.active:hover[disabled]:active,
.datepicker table tr td span.active.disabled[disabled]:active,
.datepicker table tr td span.active.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td span.active:active,
fieldset[disabled] .datepicker table tr td span.active:hover:active,
fieldset[disabled] .datepicker table tr td span.active.disabled:active,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active:hover.disabled.active,
.datepicker table tr td span.active.disabled.disabled.active,
.datepicker table tr td span.active.disabled:hover.disabled.active,
.datepicker table tr td span.active[disabled].active,
.datepicker table tr td span.active:hover[disabled].active,
.datepicker table tr td span.active.disabled[disabled].active,
.datepicker table tr td span.active.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td span.active.active,
fieldset[disabled] .datepicker table tr td span.active:hover.active,
fieldset[disabled] .datepicker table tr td span.active.disabled.active,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active {
  background-color: #428bca;
  border-color: #357ebd;
}
.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-group.date .input-group-addon i {
  cursor: pointer;
  width: 16px;
  height: 16px;
}
.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}
.input-daterange .input-group-addon {
  width: auto;
  min-width: 16px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 1.428571429;
  text-align: center;
  text-shadow: 0 1px 0 #fff;
  vertical-align: middle;
  background-color: #eeeeee;
  border-width: 1px 0;
  margin-left: -5px;
  margin-right: -5px;
}
.datepicker.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  display: none;
  min-width: 160px;
  list-style: none;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  color: #333333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.428571429;
}
.datepicker.dropdown-menu th,
.datepicker.dropdown-menu td {
  padding: 4px 5px;
}

+ 155 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/dropzone/basic.css

@ -0,0 +1,155 @@
/* The MIT License */
.dropzone,
.dropzone *,
.dropzone-previews,
.dropzone-previews * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.dropzone {
  position: relative;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(0,0,0,0.02);
  padding: 1em;
}
.dropzone.dz-clickable {
  cursor: pointer;
}
.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message span {
  cursor: pointer;
}
.dropzone.dz-clickable * {
  cursor: default;
}
.dropzone .dz-message {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.dropzone.dz-drag-hover {
  border-color: rgba(0,0,0,0.15);
  background: rgba(0,0,0,0.04);
}
.dropzone.dz-started .dz-message {
  display: none;
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
  background: rgba(255,255,255,0.8);
  position: relative;
  display: inline-block;
  margin: 17px;
  vertical-align: top;
  border: 1px solid #acacac;
  padding: 6px 6px 6px 6px;
}
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
  display: none;
}
.dropzone .dz-preview .dz-details,
.dropzone-previews .dz-preview .dz-details {
  width: 100px;
  height: 100px;
  position: relative;
  background: #ebebeb;
  padding: 5px;
  margin-bottom: 22px;
}
.dropzone .dz-preview .dz-details .dz-filename,
.dropzone-previews .dz-preview .dz-details .dz-filename {
  overflow: hidden;
  height: 100%;
}
.dropzone .dz-preview .dz-details img,
.dropzone-previews .dz-preview .dz-details img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
}
.dropzone .dz-preview .dz-details .dz-size,
.dropzone-previews .dz-preview .dz-details .dz-size {
  position: absolute;
  bottom: -28px;
  left: 3px;
  height: 28px;
  line-height: 28px;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
  display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
  display: block;
}
.dropzone .dz-preview:hover .dz-details img,
.dropzone-previews .dz-preview:hover .dz-details img {
  display: none;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  display: none;
  position: absolute;
  width: 40px;
  height: 40px;
  font-size: 30px;
  text-align: center;
  right: -10px;
  top: -10px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
  color: #8cc657;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  color: #ee162d;
}
.dropzone .dz-preview .dz-progress,
.dropzone-previews .dz-preview .dz-progress {
  position: absolute;
  top: 100px;
  left: 6px;
  right: 6px;
  height: 6px;
  background: #d7d7d7;
  display: none;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0%;
  background-color: #8cc657;
}
.dropzone .dz-preview.dz-processing .dz-progress,
.dropzone-previews .dz-preview.dz-processing .dz-progress {
  display: block;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
  display: none;
  position: absolute;
  top: -5px;
  left: -20px;
  background: rgba(245,245,245,0.8);
  padding: 8px 10px;
  color: #800;
  min-width: 140px;
  max-width: 500px;
  z-index: 500;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
  display: block;
}

+ 410 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/dropzone/dropzone.css

@ -0,0 +1,410 @@
/* The MIT License */
.dropzone,
.dropzone *,
.dropzone-previews,
.dropzone-previews * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.dropzone {
  position: relative;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(0,0,0,0.02);
  padding: 1em;
}
.dropzone.dz-clickable {
  cursor: pointer;
}
.dropzone.dz-clickable .dz-message,
.dropzone.dz-clickable .dz-message span {
  cursor: pointer;
}
.dropzone.dz-clickable * {
  cursor: default;
}
.dropzone .dz-message {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.dropzone.dz-drag-hover {
  border-color: rgba(0,0,0,0.15);
  background: rgba(0,0,0,0.04);
}
.dropzone.dz-started .dz-message {
  display: none;
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
  background: rgba(255,255,255,0.8);
  position: relative;
  display: inline-block;
  margin: 17px;
  vertical-align: top;
  border: 1px solid #acacac;
  padding: 6px 6px 6px 6px;
}
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
  display: none;
}
.dropzone .dz-preview .dz-details,
.dropzone-previews .dz-preview .dz-details {
  width: 100px;
  height: 100px;
  position: relative;
  background: #ebebeb;
  padding: 5px;
  margin-bottom: 22px;
}
.dropzone .dz-preview .dz-details .dz-filename,
.dropzone-previews .dz-preview .dz-details .dz-filename {
  overflow: hidden;
  height: 100%;
}
.dropzone .dz-preview .dz-details img,
.dropzone-previews .dz-preview .dz-details img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
}
.dropzone .dz-preview .dz-details .dz-size,
.dropzone-previews .dz-preview .dz-details .dz-size {
  position: absolute;
  bottom: -28px;
  left: 3px;
  height: 28px;
  line-height: 28px;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
  display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
  display: block;
}
.dropzone .dz-preview:hover .dz-details img,
.dropzone-previews .dz-preview:hover .dz-details img {
  display: none;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark,
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  display: none;
  position: absolute;
  width: 40px;
  height: 40px;
  font-size: 30px;
  text-align: center;
  right: -10px;
  top: -10px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
  color: #8cc657;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  color: #ee162d;
}
.dropzone .dz-preview .dz-progress,
.dropzone-previews .dz-preview .dz-progress {
  position: absolute;
  top: 100px;
  left: 6px;
  right: 6px;
  height: 6px;
  background: #d7d7d7;
  display: none;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0%;
  background-color: #8cc657;
}
.dropzone .dz-preview.dz-processing .dz-progress,
.dropzone-previews .dz-preview.dz-processing .dz-progress {
  display: block;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
  display: none;
  position: absolute;
  top: -5px;
  left: -20px;
  background: rgba(245,245,245,0.8);
  padding: 8px 10px;
  color: #800;
  min-width: 140px;
  max-width: 500px;
  z-index: 500;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
  display: block;
}
.dropzone {
  border: 1px solid rgba(0,0,0,0.03);
  min-height: 360px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  background: rgba(0,0,0,0.03);
  padding: 23px;
}
.dropzone .dz-default.dz-message {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  background-image: url("../images/spritemap.png");
  background-repeat: no-repeat;
  background-position: 0 0;
  position: absolute;
  width: 428px;
  height: 123px;
  margin-left: -214px;
  margin-top: -61.5px;
  top: 50%;
  left: 50%;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
  .dropzone .dz-default.dz-message {
    background-image: url("../images/spritemap%402x.png");
    -webkit-background-size: 428px 406px;
    -moz-background-size: 428px 406px;
    background-size: 428px 406px;
  }
}
.dropzone .dz-default.dz-message span {
  display: none;
}
.dropzone.dz-square .dz-default.dz-message {
  background-position: 0 -123px;
  width: 268px;
  margin-left: -134px;
  height: 174px;
  margin-top: -87px;
}
.dropzone.dz-drag-hover .dz-message {
  opacity: 0.15;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
  filter: alpha(opacity=15);
}
.dropzone.dz-started .dz-message {
  display: block;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.dropzone .dz-preview,
.dropzone-previews .dz-preview {
  -webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
  box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
  font-size: 14px;
}
.dropzone .dz-preview.dz-image-preview:hover .dz-details img,
.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img {
  display: block;
  opacity: 0.1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
  filter: alpha(opacity=10);
}
.dropzone .dz-preview.dz-success .dz-success-mark,
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.dropzone .dz-preview.dz-error .dz-error-mark,
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.dropzone .dz-preview.dz-error .dz-progress .dz-upload,
.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload {
  background: #ee1e2d;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark,
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
  display: block;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: opacity 0.4s ease-in-out;
  -moz-transition: opacity 0.4s ease-in-out;
  -o-transition: opacity 0.4s ease-in-out;
  -ms-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
  background-image: url("../images/spritemap.png");
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
  .dropzone .dz-preview .dz-error-mark,
  .dropzone-previews .dz-preview .dz-error-mark,
  .dropzone .dz-preview .dz-success-mark,
  .dropzone-previews .dz-preview .dz-success-mark {
    background-image: url("../images/spritemap%402x.png");
    -webkit-background-size: 428px 406px;
    -moz-background-size: 428px 406px;
    background-size: 428px 406px;
  }
}
.dropzone .dz-preview .dz-error-mark span,
.dropzone-previews .dz-preview .dz-error-mark span,
.dropzone .dz-preview .dz-success-mark span,
.dropzone-previews .dz-preview .dz-success-mark span {
  display: none;
}
.dropzone .dz-preview .dz-error-mark,
.dropzone-previews .dz-preview .dz-error-mark {
  background-position: -268px -123px;
}
.dropzone .dz-preview .dz-success-mark,
.dropzone-previews .dz-preview .dz-success-mark {
  background-position: -268px -163px;
}
.dropzone .dz-preview .dz-progress .dz-upload,
.dropzone-previews .dz-preview .dz-progress .dz-upload {
  -webkit-animation: loading 0.4s linear infinite;
  -moz-animation: loading 0.4s linear infinite;
  -o-animation: loading 0.4s linear infinite;
  -ms-animation: loading 0.4s linear infinite;
  animation: loading 0.4s linear infinite;
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  -ms-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-image: url("../images/spritemap.png");
  background-repeat: repeat-x;
  background-position: 0px -400px;
}
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
  .dropzone .dz-preview .dz-progress .dz-upload,
  .dropzone-previews .dz-preview .dz-progress .dz-upload {
    background-image: url("../images/spritemap%402x.png");
    -webkit-background-size: 428px 406px;
    -moz-background-size: 428px 406px;
    background-size: 428px 406px;
  }
}
.dropzone .dz-preview.dz-success .dz-progress,
.dropzone-previews .dz-preview.dz-success .dz-progress {
  display: block;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: opacity 0.4s ease-in-out;
  -moz-transition: opacity 0.4s ease-in-out;
  -o-transition: opacity 0.4s ease-in-out;
  -ms-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
.dropzone .dz-preview .dz-error-message,
.dropzone-previews .dz-preview .dz-error-message {
  display: block;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.dropzone .dz-preview:hover.dz-error .dz-error-message,
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
.dropzone a.dz-remove,
.dropzone-previews a.dz-remove {
  background-image: -webkit-linear-gradient(top, #fafafa, #eee);
  background-image: -moz-linear-gradient(top, #fafafa, #eee);
  background-image: -o-linear-gradient(top, #fafafa, #eee);
  background-image: -ms-linear-gradient(top, #fafafa, #eee);
  background-image: linear-gradient(to bottom, #fafafa, #eee);
  -webkit-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #eee;
  text-decoration: none;
  display: block;
  padding: 4px 5px;
  text-align: center;
  color: #aaa;
  margin-top: 26px;
}
.dropzone a.dz-remove:hover,
.dropzone-previews a.dz-remove:hover {
  color: #666;
}
@-moz-keyframes loading {
  0% {
    background-position: 0 -400px;
  }
  100% {
    background-position: -7px -400px;
  }
}
@-webkit-keyframes loading {
  0% {
    background-position: 0 -400px;
  }
  100% {
    background-position: -7px -400px;
  }
}
@-o-keyframes loading {
  0% {
    background-position: 0 -400px;
  }
  100% {
    background-position: -7px -400px;
  }
}
@-ms-keyframes loading {
  0% {
    background-position: 0 -400px;
  }
  100% {
    background-position: -7px -400px;
  }
}
@keyframes loading {
  0% {
    background-position: 0 -400px;
  }
  100% {
    background-position: -7px -400px;
  }
}

BIN
app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.eot


File diff suppressed because it is too large
+ 78 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.svg


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.ttf


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footable.woff


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/footable/fonts/footabled41d.eot


+ 178 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/footable/footable.core.css

@ -0,0 +1,178 @@
@font-face {
  font-family: 'footable';
  src: url('fonts/footable.eot');
  src: url('fonts/footabled41d.eot?#iefix') format('embedded-opentype'), url('fonts/footable.woff') format('woff'), url('fonts/footable.ttf') format('truetype'), url('fonts/footable.svg#footable') format('svg');
  font-weight: normal;
  font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: 'footable';
    src: url('fonts/footable.svg#footable') format('svg');
    font-weight: normal;
    font-style: normal;
  }
}
.footable {
  width: 100%;
  /** SORTING **/
  /** PAGINATION **/
}
.footable.breakpoint > tbody > tr.footable-detail-show > td {
  border-bottom: none;
}
.footable.breakpoint > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e001";
}
.footable.breakpoint > tbody > tr:hover:not(.footable-row-detail) {
  cursor: pointer;
}
.footable.breakpoint > tbody > tr > td.footable-cell-detail {
  background: #eee;
  border-top: none;
}
.footable.breakpoint > tbody > tr > td > span.footable-toggle {
  display: inline-block;
  font-family: 'footable';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  padding-right: 5px;
  font-size: 14px;
  color: #888888;
}
.footable.breakpoint > tbody > tr > td > span.footable-toggle:before {
  content: "\e000";
}
.footable.breakpoint.toggle-circle > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e005";
}
.footable.breakpoint.toggle-circle > tbody > tr > td > span.footable-toggle:before {
  content: "\e004";
}
.footable.breakpoint.toggle-circle-filled > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e003";
}
.footable.breakpoint.toggle-circle-filled > tbody > tr > td > span.footable-toggle:before {
  content: "\e002";
}
.footable.breakpoint.toggle-square > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e007";
}
.footable.breakpoint.toggle-square > tbody > tr > td > span.footable-toggle:before {
  content: "\e006";
}
.footable.breakpoint.toggle-square-filled > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e009";
}
.footable.breakpoint.toggle-square-filled > tbody > tr > td > span.footable-toggle:before {
  content: "\e008";
}
.footable.breakpoint.toggle-arrow > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e00f";
}
.footable.breakpoint.toggle-arrow > tbody > tr > td > span.footable-toggle:before {
  content: "\e011";
}
.footable.breakpoint.toggle-arrow-small > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e013";
}
.footable.breakpoint.toggle-arrow-small > tbody > tr > td > span.footable-toggle:before {
  content: "\e015";
}
.footable.breakpoint.toggle-arrow-circle > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e01b";
}
.footable.breakpoint.toggle-arrow-circle > tbody > tr > td > span.footable-toggle:before {
  content: "\e01d";
}
.footable.breakpoint.toggle-arrow-circle-filled > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e00b";
}
.footable.breakpoint.toggle-arrow-circle-filled > tbody > tr > td > span.footable-toggle:before {
  content: "\e00d";
}
.footable.breakpoint.toggle-arrow-tiny > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e01f";
}
.footable.breakpoint.toggle-arrow-tiny > tbody > tr > td > span.footable-toggle:before {
  content: "\e021";
}
.footable.breakpoint.toggle-arrow-alt > tbody > tr.footable-detail-show > td > span.footable-toggle:before {
  content: "\e017";
}
.footable.breakpoint.toggle-arrow-alt > tbody > tr > td > span.footable-toggle:before {
  content: "\e019";
}
.footable.breakpoint.toggle-medium > tbody > tr > td > span.footable-toggle {
  font-size: 18px;
}
.footable.breakpoint.toggle-large > tbody > tr > td > span.footable-toggle {
  font-size: 24px;
}
.footable > thead > tr > th {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: -moz-none;
  -ms-user-select: none;
  user-select: none;
}
.footable > thead > tr > th.footable-sortable:hover {
  cursor: pointer;
}
.footable > thead > tr > th.footable-sorted > span.footable-sort-indicator:before {
  content: "\e013";
}
.footable > thead > tr > th.footable-sorted-desc > span.footable-sort-indicator:before {
  content: "\e012";
}
.footable > thead > tr > th > span.footable-sort-indicator {
  display: inline-block;
  font-family: 'footable';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  padding-left: 5px;
}
.footable > thead > tr > th > span.footable-sort-indicator:before {
  content: "\e022";
}
.footable > tfoot .pagination {
  margin: 0;
}
.footable.no-paging .hide-if-no-paging {
  display: none;
}
.footable-row-detail-inner {
  display: table;
}
.footable-row-detail-row {
  display: table-row;
  line-height: 1.5em;
}
.footable-row-detail-group {
  display: block;
  line-height: 2em;
  font-size: 1.2em;
  font-weight: bold;
}
.footable-row-detail-name {
  display: table-cell;
  font-weight: bold;
  padding-right: 0.5em;
}
.footable-row-detail-value {
  display: table-cell;
}
.footable-odd {
  background-color: #f7f7f7;
}

+ 589 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/fullcalendar/fullcalendar.css

@ -0,0 +1,589 @@
/*!
 * FullCalendar v1.6.4 Stylesheet
 * Docs & License: http://arshaw.com/fullcalendar/
 * (c) 2013 Adam Shaw
 */
.fc {
	direction: ltr;
	text-align: left;
	}
.fc table {
	border-collapse: collapse;
	border-spacing: 0;
	}
html .fc,
.fc table {
	font-size: 1em;
	}
.fc td,
.fc th {
	padding: 0;
	vertical-align: top;
	}
/* Header
------------------------------------------------------------------------*/
.fc-header td {
	white-space: nowrap;
	}
.fc-header-left {
	width: 25%;
	text-align: left;
	}
.fc-header-center {
	text-align: center;
	}
.fc-header-right {
	width: 25%;
	text-align: right;
	}
.fc-header-title {
	display: inline-block;
	vertical-align: top;
	}
.fc-header-title h2 {
	margin-top: 0;
	white-space: nowrap;
	}
.fc .fc-header-space {
	padding-left: 10px;
	}
.fc-header .fc-button {
	margin-bottom: 1em;
	vertical-align: top;
	}
/* buttons edges butting together */
.fc-header .fc-button {
	margin-right: -1px;
	}
.fc-header .fc-corner-right,  /* non-theme */
.fc-header .ui-corner-right { /* theme */
	margin-right: 0; /* back to normal */
	}
/* button layering (for border precedence) */
.fc-header .fc-state-hover,
.fc-header .ui-state-hover {
	z-index: 2;
	}
.fc-header .fc-state-down {
	z-index: 3;
	}
.fc-header .fc-state-active,
.fc-header .ui-state-active {
	z-index: 4;
	}
/* Content
------------------------------------------------------------------------*/
.fc-content {
	clear: both;
	zoom: 1; /* for IE7, gives accurate coordinates for [un]freezeContentHeight */
	}
.fc-view {
	width: 100%;
	overflow: hidden;
	}
/* Cell Styles
------------------------------------------------------------------------*/
.fc-widget-header,    /* <th>, usually */
.fc-widget-content {  /* <td>, usually */
	border: 1px solid #ddd;
	}
.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */
	background: #fcf8e3;
	}
.fc-cell-overlay { /* semi-transparent rectangle while dragging */
	background: #bce8f1;
	opacity: .3;
	filter: alpha(opacity=30); /* for IE */
	}
/* Buttons
------------------------------------------------------------------------*/
.fc-button {
	position: relative;
	display: inline-block;
	padding: 0 .6em;
	overflow: hidden;
	height: 1.9em;
	line-height: 1.9em;
	white-space: nowrap;
	cursor: pointer;
	}
.fc-state-default { /* non-theme */
	border: 1px solid;
	}
.fc-state-default.fc-corner-left { /* non-theme */
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	}
.fc-state-default.fc-corner-right { /* non-theme */
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	}
/*
	Our default prev/next buttons use HTML entities like &lsaquo; &rsaquo; &laquo; &raquo;
	and we'll try to make them look good cross-browser.
*/
.fc-text-arrow {
	margin: 0 .1em;
	font-size: 2em;
	font-family: "Courier New", Courier, monospace;
	vertical-align: baseline; /* for IE7 */
	}
.fc-button-prev .fc-text-arrow,
.fc-button-next .fc-text-arrow { /* for &lsaquo; &rsaquo; */
	font-weight: bold;
	}
/* icon (for jquery ui) */
.fc-button .fc-icon-wrap {
	position: relative;
	float: left;
	top: 50%;
	}
.fc-button .ui-icon {
	position: relative;
	float: left;
	margin-top: -50%;
	*margin-top: 0;
	*top: -50%;
	}
/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
	background-color: #f5f5f5;
	background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
	background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
	background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
	background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
	background-repeat: repeat-x;
	border-color: #e6e6e6 #e6e6e6 #bfbfbf;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	color: #333;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	}
.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
	color: #333333;
	background-color: #e6e6e6;
	}
.fc-state-hover {
	color: #333333;
	text-decoration: none;
	background-position: 0 -15px;
	-webkit-transition: background-position 0.1s linear;
	   -moz-transition: background-position 0.1s linear;
	     -o-transition: background-position 0.1s linear;
	        transition: background-position 0.1s linear;
	}
.fc-state-down,
.fc-state-active {
	background-color: #cccccc;
	background-image: none;
	outline: 0;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
	}
.fc-state-disabled {
	cursor: default;
	background-image: none;
	opacity: 0.65;
	filter: alpha(opacity=65);
	box-shadow: none;
	}
/* Global Event Styles
------------------------------------------------------------------------*/
.fc-event-container > * {
	z-index: 8;
	}
.fc-event-container > .ui-draggable-dragging,
.fc-event-container > .ui-resizable-resizing {
	z-index: 9;
	}
.fc-event {
	border: 1px solid #3a87ad; /* default BORDER color */
	background-color: #3a87ad; /* default BACKGROUND color */
	color: #fff;               /* default TEXT color */
	font-size: .85em;
	cursor: default;
	}
a.fc-event {
	text-decoration: none;
	}
a.fc-event,
.fc-event-draggable {
	cursor: pointer;
	}
.fc-rtl .fc-event {
	text-align: right;
	}
.fc-event-inner {
	width: 100%;
	height: 100%;
	overflow: hidden;
	}
.fc-event-time,
.fc-event-title {
	padding: 0 1px;
	}
.fc .ui-resizable-handle {
	display: block;
	position: absolute;
	z-index: 99999;
	overflow: hidden; /* hacky spaces (IE6/7) */
	font-size: 300%;  /* */
	line-height: 50%; /* */
	}
/* Horizontal Events
------------------------------------------------------------------------*/
.fc-event-hori {
	border-width: 1px 0;
	margin-bottom: 1px;
	}
.fc-ltr .fc-event-hori.fc-event-start,
.fc-rtl .fc-event-hori.fc-event-end {
	border-left-width: 1px;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
	}
.fc-ltr .fc-event-hori.fc-event-end,
.fc-rtl .fc-event-hori.fc-event-start {
	border-right-width: 1px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	}
/* resizable */
.fc-event-hori .ui-resizable-e {
	top: 0           !important; /* importants override pre jquery ui 1.7 styles */
	right: -3px      !important;
	width: 7px       !important;
	height: 100%     !important;
	cursor: e-resize;
	}
.fc-event-hori .ui-resizable-w {
	top: 0           !important;
	left: -3px       !important;
	width: 7px       !important;
	height: 100%     !important;
	cursor: w-resize;
	}
.fc-event-hori .ui-resizable-handle {
	_padding-bottom: 14px; /* IE6 had 0 height */
	}
/* Reusable Separate-border Table
------------------------------------------------------------*/
table.fc-border-separate {
	border-collapse: separate;
	}
.fc-border-separate th,
.fc-border-separate td {
	border-width: 1px 0 0 1px;
	}
.fc-border-separate th.fc-last,
.fc-border-separate td.fc-last {
	border-right-width: 1px;
	}
.fc-border-separate tr.fc-last th,
.fc-border-separate tr.fc-last td {
	border-bottom-width: 1px;
	}
.fc-border-separate tbody tr.fc-first td,
.fc-border-separate tbody tr.fc-first th {
	border-top-width: 0;
	}
/* Month View, Basic Week View, Basic Day View
------------------------------------------------------------------------*/
.fc-grid th {
	text-align: center;
	}
.fc .fc-week-number {
	width: 22px;
	text-align: center;
	}
.fc .fc-week-number div {
	padding: 0 2px;
	}
.fc-grid .fc-day-number {
	float: right;
	padding: 0 2px;
	}
.fc-grid .fc-other-month .fc-day-number {
	opacity: 0.3;
	filter: alpha(opacity=30); /* for IE */
	/* opacity with small font can sometimes look too faded
	   might want to set the 'color' property instead
	   making day-numbers bold also fixes the problem */
	}
.fc-grid .fc-day-content {
	clear: both;
	padding: 2px 2px 1px; /* distance between events and day edges */
	}
/* event styles */
.fc-grid .fc-event-time {
	font-weight: bold;
	}
/* right-to-left */
.fc-rtl .fc-grid .fc-day-number {
	float: left;
	}
.fc-rtl .fc-grid .fc-event-time {
	float: right;
	}
/* Agenda Week View, Agenda Day View
------------------------------------------------------------------------*/
.fc-agenda table {
	border-collapse: separate;
	}
.fc-agenda-days th {
	text-align: center;
	}
.fc-agenda .fc-agenda-axis {
	width: 50px;
	padding: 0 4px;
	vertical-align: middle;
	text-align: right;
	white-space: nowrap;
	font-weight: normal;
	}
.fc-agenda .fc-week-number {
	font-weight: bold;
	}
.fc-agenda .fc-day-content {
	padding: 2px 2px 1px;
	}
/* make axis border take precedence */
.fc-agenda-days .fc-agenda-axis {
	border-right-width: 1px;
	}
.fc-agenda-days .fc-col0 {
	border-left-width: 0;
	}
/* all-day area */
.fc-agenda-allday th {
	border-width: 0 1px;
	}
.fc-agenda-allday .fc-day-content {
	min-height: 34px; /* TODO: doesnt work well in quirksmode */
	_height: 34px;
	}
/* divider (between all-day and slots) */
.fc-agenda-divider-inner {
	height: 2px;
	overflow: hidden;
	}
.fc-widget-header .fc-agenda-divider-inner {
	background: #eee;
	}
/* slot rows */
.fc-agenda-slots th {
	border-width: 1px 1px 0;
	}
.fc-agenda-slots td {
	border-width: 1px 0 0;
	background: none;
	}
.fc-agenda-slots td div {
	height: 20px;
	}
.fc-agenda-slots tr.fc-slot0 th,
.fc-agenda-slots tr.fc-slot0 td {
	border-top-width: 0;
	}
.fc-agenda-slots tr.fc-minor th,
.fc-agenda-slots tr.fc-minor td {
	border-top-style: dotted;
	}
.fc-agenda-slots tr.fc-minor th.ui-widget-header {
	*border-top-style: solid; /* doesn't work with background in IE6/7 */
	}
/* Vertical Events
------------------------------------------------------------------------*/
.fc-event-vert {
	border-width: 0 1px;
	}
.fc-event-vert.fc-event-start {
	border-top-width: 1px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	}
.fc-event-vert.fc-event-end {
	border-bottom-width: 1px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
	}
.fc-event-vert .fc-event-time {
	white-space: nowrap;
	font-size: 10px;
	}
.fc-event-vert .fc-event-inner {
	position: relative;
	z-index: 2;
	}
.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay  */
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: .25;
	filter: alpha(opacity=25);
	}
.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */
.fc-select-helper .fc-event-bg {
	display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */
	}
/* resizable */
.fc-event-vert .ui-resizable-s {
	bottom: 0        !important; /* importants override pre jquery ui 1.7 styles */
	width: 100%      !important;
	height: 8px      !important;
	overflow: hidden !important;
	line-height: 8px !important;
	font-size: 11px  !important;
	font-family: monospace;
	text-align: center;
	cursor: s-resize;
	}
.fc-agenda .ui-resizable-resizing { /* TODO: better selector */
	_overflow: hidden;
	}

+ 32 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/fullcalendar/fullcalendar.print.css

@ -0,0 +1,32 @@
/*!
 * FullCalendar v1.6.4 Print Stylesheet
 * Docs & License: http://arshaw.com/fullcalendar/
 * (c) 2013 Adam Shaw
 */
/*
 * Include this stylesheet on your page to get a more printer-friendly calendar.
 * When including this stylesheet, use the media='print' attribute of the <link> tag.
 * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
 */
 /* Events
-----------------------------------------------------*/
.fc-event {
	background: #fff !important;
	color: #000 !important;
	}
/* for vertical events */
.fc-event-bg {
	display: none !important;
	}
.fc-event .ui-resizable-handle {
	display: none !important;
	}

+ 59 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/iCheck/custom.css

@ -0,0 +1,59 @@
/* iCheck plugin Square skin, green
----------------------------------- */
.icheckbox_square-green,
.iradio_square-green {
    display: inline-block;
    *display: inline;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    width: 22px;
    height: 22px;
    background: url(green.png) no-repeat;
    border: none;
    cursor: pointer;
}
.icheckbox_square-green {
    background-position: 0 0;
}
.icheckbox_square-green.hover {
    background-position: -24px 0;
}
.icheckbox_square-green.checked {
    background-position: -48px 0;
}
.icheckbox_square-green.disabled {
    background-position: -72px 0;
    cursor: default;
}
.icheckbox_square-green.checked.disabled {
    background-position: -96px 0;
}
.iradio_square-green {
    background-position: -120px 0;
}
.iradio_square-green.hover {
    background-position: -144px 0;
}
.iradio_square-green.checked {
    background-position: -168px 0;
}
.iradio_square-green.disabled {
    background-position: -192px 0;
    cursor: default;
}
.iradio_square-green.checked.disabled {
    background-position: -216px 0;
}
/* HiDPI support */
@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
    .icheckbox_square-green,
    .iradio_square-green {
        background-image: url(green%402x.png);
        -webkit-background-size: 240px 24px;
        background-size: 240px 24px;
    }
}

BIN
app/app-iot-server/src/main/webapp/front/css/plugins/iCheck/green.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/iCheck/green@2x.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/images/sort_asc.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/images/sort_desc.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/images/sprite-skin-flat.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/images/spritemap.png


BIN
app/app-iot-server/src/main/webapp/front/css/plugins/images/spritemap@2x.png


+ 126 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/ionRangeSlider/ion.rangeSlider.css

@ -0,0 +1,126 @@
/* Ion.RangeSlider
// css version 1.8.5
// by Denis Ineshin | ionden.com
// ===================================================================================================================*/
/* =====================================================================================================================
// RangeSlider */
.irs {
    position: relative; display: block;
}
    .irs-line {
        position: relative; display: block;
        overflow: hidden;
    }
        .irs-line-left, .irs-line-mid, .irs-line-right {
            position: absolute; display: block;
            top: 0;
        }
        .irs-line-left {
            left: 0; width: 10%;
        }
        .irs-line-mid {
            left: 10%; width: 80%;
        }
        .irs-line-right {
            right: 0; width: 10%;
        }
    .irs-diapason {
        position: absolute; display: block;
        left: 0; width: 100%;
    }
    .irs-slider {
        position: absolute; display: block;
        cursor: default;
        z-index: 1;
    }
        .irs-slider.single {
            left: 10px;
        }
            .irs-slider.single:before {
                position: absolute; display: block; content: "";
                top: -30%; left: -30%;
                width: 160%; height: 160%;
                background: rgba(0,0,0,0.0);
            }
        .irs-slider.from {
            left: 100px;
        }
            .irs-slider.from:before {
                position: absolute; display: block; content: "";
                top: -30%; left: -30%;
                width: 130%; height: 160%;
                background: rgba(0,0,0,0.0);
            }
        .irs-slider.to {
            left: 300px;
        }
            .irs-slider.to:before {
                position: absolute; display: block; content: "";
                top: -30%; left: 0;
                width: 130%; height: 160%;
                background: rgba(0,0,0,0.0);
            }
        .irs-slider.last {
            z-index: 2;
        }
    .irs-min {
        position: absolute; display: block;
        left: 0;
        cursor: default;
    }
    .irs-max {
        position: absolute; display: block;
        right: 0;
        cursor: default;
    }
    .irs-from, .irs-to, .irs-single {
        position: absolute; display: block;
        top: 0; left: 0;
        cursor: default;
        white-space: nowrap;
    }
.irs-grid {
    position: absolute; display: none;
    bottom: 0; left: 0;
    width: 100%; height: 20px;
}
.irs-with-grid .irs-grid {
    display: block;
}
    .irs-grid-pol {
        position: absolute;
        top: 0; left: 0;
        width: 1px; height: 8px;
        background: #000;
    }
    .irs-grid-pol.small {
        height: 4px;
    }
    .irs-grid-text {
        position: absolute;
        bottom: 0; left: 0;
        width: 100px;
        white-space: nowrap;
        text-align: center;
        font-size: 9px; line-height: 9px;
        color: #000;
    }
.irs-disable-mask {
    position: absolute; display: block;
    top: 0; left: 0;
    width: 100%; height: 100%;
    cursor: default;
    background: rgba(0,0,0,0.0);
    z-index: 2;
}
.irs-disabled {
    opacity: 0.4;
}

+ 89 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/ionRangeSlider/ion.rangeSlider.skinFlat.css

@ -0,0 +1,89 @@
/* Ion.RangeSlider, Flat UI Skin
// css version 1.8.5
// by Denis Ineshin | ionden.com
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-slider {
    background: url(../images/sprite-skin-flat.png) repeat-x;
}
.irs {
    height: 40px;
}
.irs-with-grid {
    height: 60px;
}
.irs-line {
    height: 12px; top: 25px;
}
    .irs-line-left {
        height: 12px;
        background-position: 0 -30px;
    }
    .irs-line-mid {
        height: 12px;
        background-position: 0 0;
    }
    .irs-line-right {
        height: 12px;
        background-position: 100% -30px;
    }
.irs-diapason {
    height: 12px; top: 25px;
    background-position: 0 -60px;
}
.irs-slider {
    width: 16px; height: 18px;
    top: 22px;
    background-position: 0 -90px;
}
#irs-active-slider, .irs-slider:hover {
    background-position: 0 -120px;
}
.irs-min, .irs-max {
    color: #999;
    font-size: 10px; line-height: 1.333;
    text-shadow: none;
    top: 0; padding: 1px 3px;
    background: #e1e4e9;
    border-radius: 4px;
}
.irs-from, .irs-to, .irs-single {
    color: #fff;
    font-size: 10px; line-height: 1.333;
    text-shadow: none;
    padding: 1px 5px;
    background: #ed5565;
    border-radius: 4px;
}
.irs-from:after, .irs-to:after, .irs-single:after {
    position: absolute; display: block; content: "";
    bottom: -6px; left: 50%;
    width: 0; height: 0;
    margin-left: -3px;
    overflow: hidden;
    border: 3px solid transparent;
    border-top-color: #ed5565;
}
.irs-grid-pol {
    background: #e1e4e9;
}
.irs-grid-text {
    color: #999;
}
.irs-disabled {
}

File diff suppressed because it is too large
+ 7 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/jasny/jasny-bootstrap.min.css


+ 851 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/jqgrid/ui.jqgridffe4.css

@ -0,0 +1,851 @@
/*Grid*/
.ui-jqgrid {
	position: relative;
	border: 1px solid #ddd;
    overflow: hidden;
}
.ui-jqgrid .ui-jqgrid-view {
	position: relative;
	left:0;
	top: 0;
	padding: 0;
}
.ui-jqgrid .ui-common-table {}
/* Caption*/
.ui-jqgrid .ui-jqgrid-titlebar {
	font-weight: normal;
	min-height:37px;
	padding: 4px 8px;
	position: relative;
	margin-right: 2px;
	border-bottom: 1px solid #ddd; //default
}
.ui-jqgrid .ui-jqgrid-caption {
	text-align: left;
}
.ui-jqgrid .ui-jqgrid-title {
	padding-top: 5px;
	vertical-align: middle;
}
.ui-jqgrid .ui-jqgrid-titlebar-close {
	color: inherit;
	position: absolute;
	top: 50%;
	margin: -10px 7px 0 0;
	padding: 1px;
	cursor:pointer;
}
.ui-jqgrid .ui-jqgrid-titlebar-close span {
	display: block;
	margin: 1px;
}
.ui-jqgrid .ui-jqgrid-titlebar-close:hover {  }
/* Header*/
.ui-jqgrid .ui-jqgrid-hdiv {
	position: relative;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.ui-jqgrid .ui-jqgrid-hbox {
	float: left;
	padding-right: 20px;
}
.ui-jqgrid .ui-jqgrid-htable {
	margin-bottom: 0;
	table-layout: fixed;
	border-top:none;
}
.ui-jqgrid .ui-jqgrid-htable thead th {
	overflow : hidden;
	border-bottom : none;
	padding-right: 2px;
}
.ui-jqgrid .ui-jqgrid-htable thead th div {
	overflow: hidden;
	position:relative;
}
.ui-th-column, .ui-jqgrid .ui-jqgrid-htable th.ui-th-column {
	overflow: hidden;
	white-space: nowrap;
}
.ui-th-column-header,
.ui-jqgrid .ui-jqgrid-htable th.ui-th-column-header {
	overflow: hidden;
	white-space: nowrap;
}
.ui-th-ltr, .ui-jqgrid .ui-jqgrid-htable th.ui-th-ltr {}
.ui-th-rtl, .ui-jqgrid .ui-jqgrid-htable th.ui-th-rtl {text-align: center; }
.ui-first-th-ltr { }
.ui-first-th-rtl { }
.ui-jqgrid tr.jqg-first-row-header th {
	height:auto;
	border-top:none;
	padding-bottom: 0;
	padding-top: 0;
	border-bottom: none;
	padding-right: 2px;
	text-align: center;
}
.ui-jqgrid tr.jqg-second-row-header th,
.ui-jqgrid tr.jqg-third--row-header th
{
	border-top:none;
	text-align: center;
}
.ui-jqgrid .ui-th-div-ie {
	white-space: nowrap;
	zoom :1;
	height:17px;
}
.ui-jqgrid .ui-jqgrid-resize {
	height:20px !important;
	position: relative;
	cursor :e-resize;
	display: inline;
	overflow: hidden;
}
.ui-jqgrid .ui-grid-ico-sort {
	margin-left:5px;
	overflow:hidden;
	position:absolute;
	right: 3px;
	font-size:12px;
}
.ui-jqgrid .ui-icon-asc {
	margin-top:-3px;
}
.ui-jqgrid .ui-icon-desc {
	margin-top:4px;
}
.ui-jqgrid .ui-i-asc {
	margin-top:0;
}
.ui-jqgrid .ui-i-desc {
	margin-top:0;
	margin-right:13px;
}
.ui-jqgrid .ui-single-sort-asc {
	margin-top:0;
}
.ui-jqgrid .ui-single-sort-desc {}
.ui-jqgrid .ui-jqgrid-sortable {
	cursor:pointer;
}
.ui-jqgrid tr.ui-search-toolbar th { }
.ui-jqgrid .ui-search-table td.ui-search-clear { }
.ui-jqgrid tr.ui-search-toolbar td > input { }
.ui-jqgrid tr.ui-search-toolbar select {}
/* Body */
.ui-jqgrid .table-bordered,
.ui-jqgrid .table-bordered td,
.ui-jqgrid .table-bordered th.ui-th-ltr
{
	border-left:0px none !important;
}
.ui-jqgrid .table-bordered th.ui-th-rtl
{
	border-right:0px none !important;
}
.ui-jqgrid .table-bordered tr.ui-row-rtl td
{
	border-right:0px none !important;
	border-left: 1px solid #ddd !important;
}
div.tablediv > .table-bordered {
	border-left : 1px solid #ddd !important;
}
.ui-jqgrid  .ui-jqgrid-bdiv table.table-bordered td {
	border-top: 0px none;
}
.ui-jqgrid .ui-jqgrid-bdiv {
	position: relative;
	margin: 0;
	padding:0;
	overflow-x:hidden;
	text-align:left;
}
.ui-jqgrid .ui-jqgrid-btable {
	table-layout: fixed;
	border-left:none ;
	border-top:none;
	margin-bottom: 0px
}
.ui-jqgrid tr.jqgrow {
	outline-style: none;
}
.ui-jqgrid tr.jqgroup {
	outline-style: none;
}
.ui-jqgrid tr.jqgrow td {
	overflow: hidden;
	white-space: pre;
	padding-right: 2px;
}
.ui-jqgrid tr.jqgfirstrow  td {
	height:auto;
	border-top:none;
	padding-bottom: 0;
	padding-top: 0;
	border-bottom: none;
	padding-right: 2px;
}
.ui-jqgrid tr.jqgroup td { }
.ui-jqgrid tr.jqfoot td {}
.ui-jqgrid tr.ui-row-ltr td {}
.ui-jqgrid tr.ui-row-rtl td {}
.ui-jqgrid td.jqgrid-rownum { }
.ui-jqgrid .ui-jqgrid-resize-mark {
	width:2px;
	left:0;
	background-color:#777;
	cursor: e-resize;
	cursor: col-resize;
	position:absolute;
	top:0;
	height:100px;
	overflow:hidden;
	display:none;
	border:0 none;
	z-index: 99999;
}
/* Footer */
.ui-jqgrid .ui-jqgrid-sdiv {
	position: relative;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-left: 0 none !important;
	border-top : 0 none !important;
	border-right : 0 none !important;
}
.ui-jqgrid .ui-jqgrid-ftable {
	table-layout:fixed;
	margin-bottom:0;
}
.ui-jqgrid tr.footrow td {
	font-weight: bold;
	overflow: hidden;
	white-space:nowrap;
	padding-right: 2px;
	border-bottom: 0px none;
}
.ui-jqgrid tr.footrow-ltr td {
	text-align:left;
}
.ui-jqgrid tr.footrow-rtl td {
	text-align:right;
}
/* Pager*/
.ui-jqgrid .ui-jqgrid-pager,
.ui-jqgrid .ui-jqgrid-toppager
{
	border-left-width: 0px;
	border-top: 1px solid #ddd;
	padding : 4px 0px;
	position: relative;
	height: auto;
	white-space: nowrap;
	overflow: hidden;
}
.ui-jqgrid .ui-jqgrid-toppager {
	border-top-width :0;
	border-bottom : 1px solid #ddd;
}
.ui-jqgrid .ui-jqgrid-toppager .ui-pager-control,
.ui-jqgrid .ui-jqgrid-pager .ui-pager-control {
	position: relative;
	border-left: 0;
	border-bottom: 0;
	border-top: 0;
	height: 30px;
}
.ui-jqgrid .ui-pg-table {
	position: relative;
	padding: 1px 0;
	width:auto;
	margin: 0;
}
.ui-jqgrid .ui-pg-table td {
	font-weight:normal;
	vertical-align:middle;
	padding:0px 6px;
}
.ui-jqgrid .ui-pg-button  {
	height:auto;
}
.ui-jqgrid .ui-pg-button span {
	display: block;
	margin: 2px;
	float:left;
}
.ui-jqgrid .ui-pg-button:hover {  }
.ui-jqgrid .ui-disabled:hover {}
.ui-jqgrid .ui-pg-input,
.ui-jqgrid .ui-jqgrid-toppager .ui-pg-input {
	display: inline;
	height:auto;
	width: auto;
	font-size:.9em;
	margin:0;
	line-height: inherit;
	padding: 0px 5px
}
.ui-jqgrid .ui-pg-selbox,
.ui-jqgrid .ui-jqgrid-toppager .ui-pg-selbox {
	font-size:.9em;
	line-height:inherit;
	display:block;
	height:22px;
	margin: 0;
	padding: 3px 0px 3px 3px;
	border:none;
}
.ui-jqgrid .ui-separator {
	height: 18px;
	border : none;
	border-left: 2px solid #ccc ; //default
}
.ui-separator-li {
	height: 2px;
	border : none;
	border-top: 2px solid #ccc ;  //default
	margin: 0; padding: 0; width:100%
}
.ui-jqgrid .ui-jqgrid-pager .ui-pg-div,
.ui-jqgrid .ui-jqgrid-toppager .ui-pg-div
{
	float:left;
	position:relative;
}
.ui-jqgrid .ui-jqgrid-pager .ui-pg-button,
.ui-jqgrid .ui-jqgrid-toppager .ui-pg-button
{
	cursor:pointer;
}
.ui-jqgrid .ui-jqgrid-pager .ui-pg-div  span,
.ui-jqgrid .ui-jqgrid-toppager .ui-pg-div  span
{
	float:left;
}
.ui-jqgrid td input,
.ui-jqgrid td select,
.ui-jqgrid td textarea {
	margin: 0;
}
.ui-jqgrid td textarea {
	width:auto;
	height:auto;
}
.ui-jqgrid .ui-jqgrid-pager .ui-pager-table,
.ui-jqgrid .ui-jqgrid-toppager .ui-pager-table
{
	width:100%;
	table-layout:fixed;
	height:100%;
}
.ui-jqgrid .ui-jqgrid-pager .ui-paging-info,
.ui-jqgrid .ui-jqgrid-toppager .ui-paging-info
{
	font-weight: normal;
	height:auto;
	margin-top:3px;
	margin-right:4px;
	display: inline;
}
.ui-jqgrid .ui-jqgrid-pager .ui-paging-pager,
.ui-jqgrid .ui-jqgrid-toppager .ui-paging-pager
{
	table-layout:auto;
	height:100%;
}
.ui-jqgrid .ui-jqgrid-pager .navtable,
.ui-jqgrid .ui-jqgrid-toppager .navtable
{
	float:left;
	table-layout:auto;
	height:100%;
}
/*Subgrid*/
.ui-jqgrid .ui-jqgrid-btable .ui-sgcollapsed span {
	display: block;
}
.ui-jqgrid .ui-subgrid {
	margin:0;
	padding:0;
	width:100%;
}
.ui-jqgrid .ui-subgrid table {
	table-layout: fixed;
}
.ui-jqgrid .ui-subgrid tr.ui-subtblcell td {}
.ui-jqgrid .ui-subgrid td.subgrid-data {
	border-top:  0 none !important;
}
.ui-jqgrid .ui-subgrid td.subgrid-cell {
	vertical-align: middle
}
.ui-jqgrid a.ui-sghref {
	text-decoration: none;
	color : #010101; //default
}
.ui-jqgrid .ui-th-subgrid {height:20px;}
.tablediv > .row { margin: 0 0}
/* loading */
.ui-jqgrid .loading {
	position: absolute;
	top: 45%;
	left: 45%;
	width: auto;
	z-index:101;
	padding: 6px;
	margin: 5px;
	text-align: center;
	display: none;
	border: 1px solid #ddd;  //default
	font-size: 14px;
	background-color: #d9edf7;
}
.ui-jqgrid .jqgrid-overlay {
	display:none;
	z-index:100;
}
/* IE * html .jqgrid-overlay {width: expression(this.parentNode.offsetWidth+'px');height: expression(this.parentNode.offsetHeight+'px');} */
* .jqgrid-overlay iframe {
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
}
/* IE width: expression(this.parentNode.offsetWidth+'px');height: expression(this.parentNode.offsetHeight+'px');}*/
/* end loading div */
/* Toolbar */
.ui-jqgrid .ui-userdata {
	padding: 4px 0px;
	overflow: hidden;
	min-height: 32px;
}
.ui-jqgrid .ui-userdata-top {
	border-left-width: 0px;    //default
	border-bottom: 1px solid #ddd;
}
.ui-jqgrid .ui-userdata-bottom {
	border-left-width: 0px;    //default
	border-top: 1px solid #ddd;
}
/*Modal Window */
.ui-jqdialog { }
.ui-jqdialog {
	display: none;
	width: 500px;
	position: absolute;
	//padding: 5px;
	overflow:visible;
}
.ui-jqdialog .ui-jqdialog-titlebar {
	padding: .1em .1em;
	min-height: 35px;
}
.ui-jqdialog .ui-jqdialog-title {
	margin: .3em 0 .2em;
	font-weight: bold;
	padding-left :6px;
	padding-right:6px;
}
.ui-jqdialog .ui-jqdialog-titlebar-close {
	position: absolute;
	top: 0%;
	margin: 3px 5px 0 0;
	padding: 8px;
	cursor:pointer;
}
.ui-jqdialog .ui-jqdialog-titlebar-close span {  }
.ui-jqdialog .ui-jqdialog-titlebar-close:hover,
.ui-jqdialog .ui-jqdialog-titlebar-close:focus {
	padding: 8px;
}
.ui-jqdialog-content, .ui-jqdialog .ui-jqdialog-content {
	border: 0;
	padding: .3em .2em;
	background: none;
	height:auto;
}
.ui-jqdialog .ui-jqconfirm {
	padding: .4em 1em;
	border-width:3px;
	position:absolute;
	bottom:10px;
	right:10px;
	overflow:visible;
	display:none;
	height:120px;
	width:220px;
	text-align:center;
	background-color: #fff;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
.ui-jqdialog>.ui-resizable-se { }
.ui-jqgrid>.ui-resizable-se { }
/* end Modal window*/
/* Form edit */
.ui-jqdialog-content .FormGrid {
	margin: 0 8px 0 8px;
	overflow:auto;
	position:relative;
}
.ui-jqdialog-content .EditTable {
	width: 100%;
	margin-bottom:0;
}
.ui-jqdialog-content .DelTable {
	width: 100%;
	margin-bottom:0;
}
.EditTable td input,
.EditTable td select,
.EditTable td textarea {
	width: 98%;
	display: inline-block;
}
.EditTable td textarea {
	width:auto;
	height:auto;
}
.EditTable .FormData td {
	height:37px !important;
}
.ui-jqdialog-content td.EditButton {
	text-align: right;
	padding: 5px 5px 5px 0;
}
.ui-jqdialog-content td.navButton {
	text-align: center;
	border-left: 0 none;
	border-top: 0 none;
	border-right: 0 none;
	padding-bottom:5px;
	padding-top:5px;
}
.ui-jqdialog-content input.FormElement {
	padding: .5em .3em;
	margin-bottom: 5px
}
.ui-jqdialog-content select.FormElement {
	padding:.3em;
	margin-bottom: 3px;
}
.ui-jqdialog-content .data-line {
	padding-top:.1em;
	border: 0 none;
}
.ui-jqdialog-content .CaptionTD {
	vertical-align: middle;
	border: 0 none;
	padding: 2px;
	white-space: nowrap;
}
.ui-jqdialog-content .DataTD {
	padding: 2px;
	border: 0 none;
	vertical-align: top;
}
.ui-jqdialog-content .form-view-data {
	white-space:pre
}
.fm-button {  }
.fm-button-icon-left {
	margin-left: 4px;
	margin-right: 4px;
}
.fm-button-icon-right {
	margin-left: 4px;
	margin-right: 4px;
}
.fm-button-icon-left  {  }
.fm-button-icon-right  { }
#nData, #pData {
	margin-left: 4px;
	margin-right: 4px;
}
#sData span, #cData span {
	margin-left: 5px;
}
/* End Eorm edit */
/*.ui-jqgrid .edit-cell {}*/
.ui-jqgrid .selected-row,
div.ui-jqgrid .selected-row td {
	font-style : normal;
}
/* inline edit actions button*/
.ui-inline-del, .ui-inline-cancel {
    margin-left: 14px;
}
.ui-jqgrid .inline-edit-cell {}
/* Tree Grid */
.ui-jqgrid .tree-wrap {
	float: left;
	position: relative;
	height: 18px;
	white-space: nowrap;
	overflow: hidden;
}
.ui-jqgrid .tree-minus {
	position: absolute;
	height: 18px;
	width: 18px;
	overflow: hidden;
}
.ui-jqgrid .tree-plus {
	position: absolute;
	height: 18px;
	width: 18px;
	overflow: hidden;
}
.ui-jqgrid .tree-leaf {
	position: absolute;
	height: 18px;
	width: 18px;
	overflow: hidden;
}
.ui-jqgrid .treeclick {
	cursor: pointer;
}
/* moda dialog */
* iframe.jqm {
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
}
/*	 width: expression(this.parentNode.offsetWidth+'px');height: expression(this.parentNode.offsetHeight+'px');}*/
.ui-jqgrid-dnd tr td {
	border-right-width: 1px;
	border-right-color: inherit;
	border-right-style: solid;
	height:20px
}
/* RTL Support */
.ui-jqgrid .ui-jqgrid-caption-rtl {
	text-align: right;
}
.ui-jqgrid .ui-jqgrid-hbox-rtl {
	float: right;
	padding-left: 20px;
}
.ui-jqgrid .ui-jqgrid-resize-ltr {
	float: right;
	margin: -2px -2px -2px 0;
	height:100%;
}
.ui-jqgrid .ui-jqgrid-resize-rtl {
	float: left;
	margin: -2px -2px -2px -0px;
}
.ui-jqgrid .ui-sort-rtl {
}
.ui-jqgrid .tree-wrap-ltr {
	float: left;
}
.ui-jqgrid .tree-wrap-rtl {
	float: right;
}
.ui-jqgrid .ui-ellipsis {
	-moz-text-overflow:ellipsis;
	text-overflow:ellipsis;
}
/* Toolbar Search Menu. Nav menu */
.ui-search-menu,
.ui-nav-menu {
	position: absolute;
	padding: 2px 5px;
	z-index:99999;
}
.ui-search-menu.ui-menu .ui-menu-item,
.ui-nav-menu.ui-menu .ui-menu-item
{
	list-style-image: none;
	padding-right: 0;
	padding-left: 0;
}
.ui-search-menu.ui-menu .ui-menu-item a,
.ui-nav-menu.ui-menu .ui-menu-item a
{
	display: block;
}
.ui-search-menu.ui-menu .ui-menu-item a.g-menu-item:hover,
.ui-nav-menu.ui-menu .ui-menu-item a.g-menu-item:hover
{
	margin: -1px;
	font-weight: normal;
}
.ui-jqgrid .ui-search-table {
	padding: 0;
	border: 0 none;
	height:20px;
	width:100%;
}
.ui-jqgrid .ui-search-table .ui-search-oper {
	width:20px;
}
a.g-menu-item, a.soptclass, a.clearsearchclass {
	cursor: pointer;
}
.ui-jqgrid .ui-jqgrid-view input,
.ui-jqgrid .ui-jqgrid-view select,
.ui-jqgrid .ui-jqgrid-view textarea,
.ui-jqgrid .ui-jqgrid-view button {
    //font-size: 11px
}
.ui-jqgrid .ui-scroll-popup {
	width: 100px;
}
.ui-search-table select,
.ui-search-table input
{
	padding: 4px 3px;
}
.ui-disabled {
	opacity: .35;
	filter:Alpha(Opacity=35); /* support: IE8 */
	background-image: none;
}
.ui-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	opacity: .3;
	filter: Alpha(Opacity=30); /* support: IE8 */
}
.ui-jqgrid-pager .ui-pg-table .ui-pg-button:hover,
.ui-jqgrid-toppager .ui-pg-table .ui-pg-button:hover
{
	background-color: #ddd;
}
.ui-jqgrid-corner  {
	 border-radius: 5px
}
.ui-resizable-handle {
	//position: absolute;
	display: block;
	left :97%;
}
.ui-jqdialog .ui-resizable-se {
	width: 12px;
	height: 12px;
	right: -5px;
	bottom: -5px;
	background-position: 16px 16px;
}
.ui-resizable-se {
	cursor: se-resize;
	width: 12px;
	height: 12px;
	right: 1px;
	bottom: 1px;
}
.ui-top-corner {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.ui-bottom-corner {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}
.ui-search-table {
	margin-bottom: 0;
}
.ui-search-table .columns, .ui-search-table .operators {
	padding-right: 5px;
}
.opsel {
	float :left;
	width : 100px;
	margin-right : 5px;
}
.add-group, .add-rule, .delete-group {
	width: 14%;
	margin-right : 5px;
}
.delete-rule {
	width : 15px;
}
ul.ui-search-menu, ul.ui-nav-menu {
	 list-style-type:  none;
}
ul.ui-search-menu li a,
ul.ui-nav-menu li a,
.soptclass,
.clearsearchclass {
	text-decoration: none;
	color : #010101;
}
ul.ui-search-menu li a:hover, ul.ui-nav-menu li a:hover, a.soptclass:hover, a.clearsearchclass:hover {
	background-color: #ddd;
	padding: 1px 1px;
	text-decoration: none;
}
ul.ui-search-menu li, ul.ui-nav-menu li {
	padding : 5px 5px;
}
.ui-menu-item hr {
	margin-bottom: 0px;
	margin-top:0px;
}
.searchFilter .ui-search-table td,
.searchFilter .ui-search-table th
{
	border-top: 0px none !important;
}
.searchFilter .queryresult {
	margin-bottom: 5px;
}
.searchFilter .queryresult tr td{
	border-top: 0px none;
}
.ui-search-label {
	padding-left: 5px;
}
.frozen-div, .frozen-bdiv {
	background-color: #fff;
}
/*
.ui-jqgrid .ui-jqgrid-caption,
.ui-jqgrid .ui-jqgrid-pager,
.ui-jqgrid .ui-jqgrid-toppager,
.ui-jqgrid .ui-jqgrid-htable thead th,
.ui-jqgrid .ui-userdata-top,
.ui-jqgrid .ui-userdata-bottom,
.ui-jqgrid .ui-jqgrid-hdiv,
.ui-jqdialog .ui-jqdialog-titlebar
{
    background-image: none, linear-gradient(to bottom, #fff 0px, #e0e0e0 100%);
    background-repeat: repeat-x;
    border-color: #ccc;
    text-shadow: 0 1px 0 #fff;
}
*/

File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/jsTree/style.min.css


File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/markdown/bootstrap-markdown.min.css


+ 2 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/morris/morris-0.4.3.min.css

@ -0,0 +1,2 @@
.morris-hover{position:absolute;z-index:1000;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255, 255, 255, 0.8);border:solid 2px rgba(230, 230, 230, 0.8);font-family:sans-serif;font-size:12px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;}
.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;}

+ 165 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/nouslider/jquery.nouislider.css

@ -0,0 +1,165 @@
/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
-webkit-touch-callout: none;
-webkit-user-select: none;
-ms-touch-action: none;
-ms-user-select: none;
-moz-user-select: none;
-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.noUi-base {
	width: 100%;
	height: 100%;
	position: relative;
}
.noUi-origin {
	position: absolute;
	right: 0;
	top: 0;
	left: 0;
	bottom: 0;
}
.noUi-handle {
	position: relative;
	z-index: 1;
}
.noUi-stacking .noUi-handle {
/* This class is applied to the lower origin when
   its values is > 50%. */
	z-index: 10;
}
.noUi-stacking + .noUi-origin {
/* Fix stacking order in IE7, which incorrectly
   creates a new context for the origins. */
	*z-index: -1;
}
.noUi-state-tap .noUi-origin {
-webkit-transition: left 0.3s, top 0.3s;
	transition: left 0.3s, top 0.3s;
}
.noUi-state-drag * {
	cursor: inherit !important;
}
/* Slider size and handle placement;
 */
.noUi-horizontal {
	height: 18px;
}
.noUi-horizontal .noUi-handle {
	width: 34px;
	height: 28px;
	left: -17px;
	top: -6px;
}
.noUi-horizontal.noUi-extended {
	padding: 0 15px;
}
.noUi-horizontal.noUi-extended .noUi-origin  {
	right: -15px;
}
.noUi-vertical {
	width: 18px;
}
.noUi-vertical .noUi-handle {
	width: 28px;
	height: 34px;
	left: -6px;
	top: -17px;
}
.noUi-vertical.noUi-extended {
	padding: 15px 0;
}
.noUi-vertical.noUi-extended .noUi-origin  {
	bottom: -15px;
}
/* Styling;
 */
.noUi-background {
	background: #FAFAFA;
	box-shadow: inset 0 1px 1px #f0f0f0;
}
.noUi-connect {
	background: #3FB8AF;
	box-shadow: inset 0 0 3px rgba(51,51,51,0.45);
-webkit-transition: background 450ms;
	transition: background 450ms;
}
.noUi-origin {
	border-radius: 2px;
}
.noUi-target {
	border-radius: 4px;
	border: 1px solid #D3D3D3;
	box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}
.noUi-target.noUi-connect {
	box-shadow: inset 0 0 3px rgba(51,51,51,0.45), 0 3px 6px -5px #BBB;
}
/* Handles and cursors;
 */
.noUi-dragable {
	cursor: w-resize;
}
.noUi-vertical .noUi-dragable {
	cursor: n-resize;
}
.noUi-handle {
	border: 1px solid #D9D9D9;
	border-radius: 3px;
	background: #FFF;
	cursor: default;
	box-shadow: inset 0 0 1px #FFF,
				inset 0 1px 7px #EBEBEB,
				0 3px 6px -3px #BBB;
}
.noUi-active {
	box-shadow: inset 0 0 1px #FFF,
				inset 0 1px 7px #DDD,
				0 3px 6px -3px #BBB;
}
/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
	content: "";
	display: block;
	position: absolute;
	height: 14px;
	width: 1px;
	background: #E8E7E6;
	left: 14px;
	top: 6px;
}
.noUi-handle:after {
	left: 17px;
}
.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
	width: 14px;
	height: 1px;
	left: 6px;
	top: 14px;
}
.noUi-vertical .noUi-handle:after {
	top: 17px;
}
/* Disabled state;
 */
[disabled].noUi-connect,
[disabled] .noUi-connect {
	background: #B8B8B8;
}
[disabled] .noUi-handle {
	cursor: not-allowed;
}

File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/plyr/plyr.css


File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/plyr/sprite.svg


+ 620 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/simditor/simditor.css

@ -0,0 +1,620 @@
.simditor {
  position: relative;
  border: 1px solid #c9d8db;
}
.simditor .simditor-wrapper {
  position: relative;
  background: #ffffff;
  overflow: hidden;
}
.simditor .simditor-wrapper .simditor-placeholder {
  display: none;
  position: absolute;
  left: 0;
  z-index: 0;
  padding: 22px 15px;
  font-size: 16px;
  font-family: arial, sans-serif;
  line-height: 1.5;
  color: #999999;
  background: transparent;
}
.simditor .simditor-wrapper.toolbar-floating .simditor-toolbar {
  position: fixed;
  top: 0;
  z-index: 10;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
.simditor .simditor-wrapper .simditor-image-loading {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.simditor .simditor-wrapper .simditor-image-loading span {
  width: 30px;
  height: 30px;
  background: #ffffff url(../../../img/loading-upload.gif) no-repeat center center;
  border-radius: 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -15px 0 0 -15px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
}
.simditor .simditor-wrapper .simditor-image-loading.uploading span {
  background: #ffffff;
  color: #333333;
  font-size: 14px;
  line-height: 30px;
  text-align: center;
}
.simditor .simditor-body {
  padding: 22px 15px 40px;
  min-height: 300px;
  outline: none;
  cursor: text;
  position: relative;
  z-index: 1;
  background: transparent;
}
.simditor .simditor-body a.selected {
  background: #b3d4fd;
}
.simditor .simditor-body a.simditor-mention {
  cursor: pointer;
}
.simditor .simditor-body .simditor-table {
  position: relative;
}
.simditor .simditor-body .simditor-table.resizing {
  cursor: col-resize;
}
.simditor .simditor-body .simditor-table .simditor-resize-handle {
  position: absolute;
  left: 0;
  top: 0;
  width: 10px;
  height: 100%;
  cursor: col-resize;
}
.simditor .simditor-body pre {
  /*min-height: 28px;*/
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-wrap: break-word !important;
  white-space: pre-wrap !important;
}
.simditor .simditor-body img {
  cursor: pointer;
}
.simditor .simditor-body img.selected {
  box-shadow: 0 0 0 4px #cccccc;
}
.simditor .simditor-paste-area,
.simditor .simditor-clean-paste-area {
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  padding: 0;
  margin: 0;
}
.simditor .simditor-toolbar {
  border-bottom: 1px solid #eeeeee;
  background: #ffffff;
  width: 100%;
}
.simditor .simditor-toolbar > ul {
  margin: 0;
  padding: 0 0 0 6px;
  list-style: none;
}
.simditor .simditor-toolbar > ul:after {
  content: "";
  display: table;
  clear: both;
}
.simditor .simditor-toolbar > ul > li {
  position: relative;
  float: left;
}
.simditor .simditor-toolbar > ul > li > span.separator {
  display: block;
  float: left;
  background: #cfcfcf;
  width: 1px;
  height: 18px;
  margin: 11px 15px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item {
  display: block;
  float: left;
  width: 50px;
  height: 40px;
  outline: none;
  color: #333333;
  font-size: 15px;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item span {
  opacity: 0.6;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item span.fa {
  display: inline;
  line-height: normal;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item:hover span {
  opacity: 1;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.active {
  background: #eeeeee;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.active span {
  opacity: 1;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.disabled {
  cursor: default;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.disabled span {
  opacity: 0.3;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title span:before {
  content: "T";
  font-size: 19px;
  font-weight: bold;
  font-family: 'Times New Roman';
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h1 span:before {
  content: 'H1';
  font-size: 18px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h2 span:before {
  content: 'H2';
  font-size: 18px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h3 span:before {
  content: 'H3';
  font-size: 18px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-color {
  font-size: 14px;
  position: relative;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-color span:before {
  position: relative;
  top: -2px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-color:after {
  content: '';
  display: block;
  width: 14px;
  height: 4px;
  background: #cccccc;
  position: absolute;
  top: 26px;
  left: 50%;
  margin: 0 0 0 -7px;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-color:hover:after {
  background: #999999;
}
.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-color.disabled:after {
  background: #dfdfdf;
}
.simditor .simditor-toolbar > ul > li.menu-on .toolbar-item {
  position: relative;
  z-index: 21;
  background: #ffffff;
  box-shadow: 0 -3px 3px rgba(0, 0, 0, 0.2);
}
.simditor .simditor-toolbar > ul > li.menu-on .toolbar-item span {
  opacity: 1;
}
.simditor .simditor-toolbar > ul > li.menu-on .toolbar-item.toolbar-item-color:after {
  background: #999999;
}
.simditor .simditor-toolbar > ul > li.menu-on .toolbar-menu {
  display: block;
}
.simditor .simditor-toolbar .toolbar-menu {
  display: none;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 20;
  background: #ffffff;
  text-align: left;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.simditor .simditor-toolbar .toolbar-menu ul {
  min-width: 160px;
  list-style: none;
  margin: 0;
  padding: 10px 1px;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item {
  display: block;
  font-size: 16px;
  line-height: 2em;
  padding: 0 10px;
  text-decoration: none;
  color: #666666;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item:hover {
  background: #f6f6f6;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h1 {
  font-size: 24px;
  color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h2 {
  font-size: 22px;
  color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h3 {
  font-size: 20px;
  color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h4 {
  font-size: 18px;
  color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h5 {
  font-size: 16px;
  color: #333333;
}
.simditor .simditor-toolbar .toolbar-menu ul > li .separator {
  display: block;
  border-top: 1px solid #cccccc;
  height: 0;
  line-height: 0;
  font-size: 0;
  margin: 6px 0;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color {
  width: 96px;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list {
  height: 40px;
  margin: 10px 6px 6px 10px;
  padding: 0;
  min-width: 0;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li {
  float: left;
  margin: 0 4px 4px 0;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color {
  display: block;
  width: 16px;
  height: 16px;
  background: #dfdfdf;
  border-radius: 2px;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color:hover {
  opacity: 0.8;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color.font-color-default {
  background: #333333;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-1 {
  background: #E33737;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-2 {
  background: #e28b41;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-3 {
  background: #c8a732;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-4 {
  background: #209361;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-5 {
  background: #418caf;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-6 {
  background: #aa8773;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-7 {
  background: #999999;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table {
  background: #ffffff;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td {
  height: 16px;
  padding: 0;
  border: 2px solid #ffffff;
  background: #f3f3f3;
  cursor: pointer;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td:before {
  width: 16px;
  display: block;
  content: "";
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td.selected {
  background: #cfcfcf;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table {
  display: none;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table ul {
  min-width: 240px;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image {
  position: relative;
  overflow: hidden;
}
.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image input[type=file] {
  position: absolute;
  right: 0px;
  top: 0px;
  opacity: 0;
  font-size: 100px;
  cursor: pointer;
}
.simditor .simditor-popover {
  display: none;
  padding: 5px 8px 0;
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  border-radius: 2px;
  position: absolute;
  z-index: 2;
}
.simditor .simditor-popover .settings-field {
  margin: 0 0 5px 0;
  font-size: 12px;
  height: 25px;
  line-height: 25px;
}
.simditor .simditor-popover .settings-field label {
  margin: 0 8px 0 0;
  float: left;
}
.simditor .simditor-popover .settings-field input[type=text] {
  float: left;
  width: 200px;
  box-sizing: border-box;
  font-size: 12px;
}
.simditor .simditor-popover .settings-field input[type=text].image-size {
  width: 87px;
}
.simditor .simditor-popover .settings-field .times {
  float: left;
  width: 26px;
  font-size: 12px;
  text-align: center;
}
.simditor .simditor-popover.link-popover .btn-unlink, .simditor .simditor-popover.image-popover .btn-upload, .simditor .simditor-popover.image-popover .btn-restore {
  float: left;
  margin: 0 0 0 8px;
  color: #333333;
  font-size: 14px;
  outline: 0;
}
.simditor .simditor-popover.link-popover .btn-unlink span, .simditor .simditor-popover.image-popover .btn-upload span, .simditor .simditor-popover.image-popover .btn-restore span {
  opacity: 0.6;
}
.simditor .simditor-popover.link-popover .btn-unlink:hover span, .simditor .simditor-popover.image-popover .btn-upload:hover span, .simditor .simditor-popover.image-popover .btn-restore:hover span {
  opacity: 1;
}
.simditor .simditor-popover.image-popover .btn-upload {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.simditor .simditor-popover.image-popover .btn-upload input[type=file] {
  position: absolute;
  right: 0px;
  top: 0px;
  opacity: 0;
  height: 100%;
  width: 28px;
}
.simditor.simditor-mobile .simditor-toolbar > ul > li > .toolbar-item {
  width: 46px;
}
.simditor.simditor-mobile .simditor-wrapper.toolbar-floating .simditor-toolbar {
  position: absolute;
  top: 0;
  z-index: 10;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}
.simditor .simditor-body, .editor-style {
  font-size: 16px;
  font-family: arial, sans-serif;
  line-height: 1.6;
  color: #333;
  outline: none;
  word-wrap: break-word;
}
.simditor .simditor-body > :first-child, .editor-style > :first-child {
  margin-top: 0 !important;
}
.simditor .simditor-body a, .editor-style a {
  color: #4298BA;
  text-decoration: none;
  word-break: break-all;
}
.simditor .simditor-body a:visited, .editor-style a:visited {
  color: #4298BA;
}
.simditor .simditor-body a:hover, .editor-style a:hover {
  color: #0F769F;
}
.simditor .simditor-body a:active, .editor-style a:active {
  color: #9E792E;
}
.simditor .simditor-body a:hover, .simditor .simditor-body a:active, .editor-style a:hover, .editor-style a:active {
  outline: 0;
}
.simditor .simditor-body h1, .simditor .simditor-body h2, .simditor .simditor-body h3, .simditor .simditor-body h4, .simditor .simditor-body h5, .simditor .simditor-body h6, .editor-style h1, .editor-style h2, .editor-style h3, .editor-style h4, .editor-style h5, .editor-style h6 {
  font-weight: normal;
  margin: 40px 0 20px;
  color: #000000;
}
.simditor .simditor-body h1, .editor-style h1 {
  font-size: 24px;
}
.simditor .simditor-body h2, .editor-style h2 {
  font-size: 22px;
}
.simditor .simditor-body h3, .editor-style h3 {
  font-size: 20px;
}
.simditor .simditor-body h4, .editor-style h4 {
  font-size: 18px;
}
.simditor .simditor-body h5, .editor-style h5 {
  font-size: 16px;
}
.simditor .simditor-body h6, .editor-style h6 {
  font-size: 16px;
}
.simditor .simditor-body p, .simditor .simditor-body div, .editor-style p, .editor-style div {
  word-wrap: break-word;
  margin: 0 0 15px 0;
  color: #333;
  word-wrap: break-word;
}
.simditor .simditor-body b, .simditor .simditor-body strong, .editor-style b, .editor-style strong {
  font-weight: bold;
}
.simditor .simditor-body i, .simditor .simditor-body em, .editor-style i, .editor-style em {
  font-style: italic;
}
.simditor .simditor-body u, .editor-style u {
  text-decoration: underline;
}
.simditor .simditor-body strike, .simditor .simditor-body del, .editor-style strike, .editor-style del {
  text-decoration: line-through;
}
.simditor .simditor-body ul, .simditor .simditor-body ol, .editor-style ul, .editor-style ol {
  list-style: disc outside none;
  margin: 15px 0;
  padding: 0 0 0 40px;
  line-height: 1.6;
}
.simditor .simditor-body ul ul, .simditor .simditor-body ul ol, .simditor .simditor-body ol ul, .simditor .simditor-body ol ol, .editor-style ul ul, .editor-style ul ol, .editor-style ol ul, .editor-style ol ol {
  padding-left: 30px;
}
.simditor .simditor-body ul ul, .simditor .simditor-body ol ul, .editor-style ul ul, .editor-style ol ul {
  list-style: circle outside none;
}
.simditor .simditor-body ul ul ul, .simditor .simditor-body ol ul ul, .editor-style ul ul ul, .editor-style ol ul ul {
  list-style: square outside none;
}
.simditor .simditor-body ol, .editor-style ol {
  list-style: decimal;
}
.simditor .simditor-body blockquote, .editor-style blockquote {
  border-left: 6px solid #ddd;
  padding: 5px 0 5px 10px;
  margin: 15px 0 15px 15px;
}
.simditor .simditor-body blockquote > :first-child, .editor-style blockquote > :first-child {
  margin-top: 0;
}
.simditor .simditor-body pre, .editor-style pre {
  padding: 10px 5px 10px 10px;
  margin: 15px 0;
  display: block;
  line-height: 18px;
  background: #F0F0F0;
  border-radius: 3px;
  font-size: 13px;
  font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
  overflow-x: auto;
  white-space: nowrap;
}
.simditor .simditor-body code, .editor-style code {
  display: inline-block;
  padding: 0 4px;
  margin: 0 5px;
  background: #eeeeee;
  border-radius: 3px;
  font-size: 13px;
  font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
}
.simditor .simditor-body hr, .editor-style hr {
  display: block;
  height: 0px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 15px 0;
  padding: 0;
}
.simditor .simditor-body table, .editor-style table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 15px 0;
}
.simditor .simditor-body table thead, .editor-style table thead {
  background-color: #f9f9f9;
}
.simditor .simditor-body table td, .editor-style table td {
  min-width: 40px;
  height: 30px;
  border: 1px solid #ccc;
  vertical-align: top;
  padding: 2px 4px;
  box-sizing: border-box;
}
.simditor .simditor-body table td.active, .editor-style table td.active {
  background-color: #ffffee;
}
.simditor .simditor-body img, .editor-style img {
  margin: 0 5px;
  vertical-align: middle;
}
.simditor .simditor-body *[data-indent="0"], .editor-style *[data-indent="0"] {
  margin-left: 0px;
}
.simditor .simditor-body *[data-indent="1"], .editor-style *[data-indent="1"] {
  margin-left: 40px;
}
.simditor .simditor-body *[data-indent="2"], .editor-style *[data-indent="2"] {
  margin-left: 80px;
}
.simditor .simditor-body *[data-indent="3"], .editor-style *[data-indent="3"] {
  margin-left: 120px;
}
.simditor .simditor-body *[data-indent="4"], .editor-style *[data-indent="4"] {
  margin-left: 160px;
}
.simditor .simditor-body *[data-indent="5"], .editor-style *[data-indent="5"] {
  margin-left: 200px;
}
.simditor .simditor-body *[data-indent="6"], .editor-style *[data-indent="6"] {
  margin-left: 240px;
}
.simditor .simditor-body *[data-indent="7"], .editor-style *[data-indent="7"] {
  margin-left: 280px;
}
.simditor .simditor-body *[data-indent="8"], .editor-style *[data-indent="8"] {
  margin-left: 320px;
}
.simditor .simditor-body *[data-indent="9"], .editor-style *[data-indent="9"] {
  margin-left: 360px;
}
.simditor .simditor-body *[data-indent="10"], .editor-style *[data-indent="10"] {
  margin-left: 400px;
}

+ 380 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/steps/jquery.steps.css

@ -0,0 +1,380 @@
/*
    Common
*/
.wizard,
.tabcontrol
{
    display: block;
    width: 100%;
    overflow: hidden;
}
.wizard a,
.tabcontrol a
{
    outline: 0;
}
.wizard ul,
.tabcontrol ul
{
    list-style: none !important;
    padding: 0;
    margin: 0;
}
.wizard ul > li,
.tabcontrol ul > li
{
    display: block;
    padding: 0;
}
/* Accessibility */
.wizard > .steps .current-info,
.tabcontrol > .steps .current-info
{
    position: absolute;
    left: -999em;
}
.wizard > .content > .title,
.tabcontrol > .content > .title
{
    position: absolute;
    left: -999em;
}
/*
    Wizard
*/
.wizard > .steps
{
    position: relative;
    display: block;
    width: 100%;
}
.wizard.vertical > .steps
{
    display: inline;
    float: left;
    width: 30%;
}
.wizard > .steps > ul > li
{
    width: 25%;
}
.wizard > .steps > ul > li,
.wizard > .actions > ul > li
{
    float: left;
}
.wizard.vertical > .steps > ul > li
{
    float: none;
    width: 100%;
}
.wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active
{
    display: block;
    width: auto;
    margin: 0 0.5em 0.5em;
    padding: 8px;
    text-decoration: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active
{
    background: #eee;
    color: #aaa;
    cursor: default;
}
.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active
{
    background: #1AB394;
    color: #fff;
    cursor: default;
}
.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active
{
    background: #6fd1bd;
    color: #fff;
}
.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active
{
    background: #ED5565 ;
    color: #fff;
}
.wizard > .content
{
    background: #eee;
    display: block;
    margin: 5px 5px 10px 5px;
    min-height: 120px;
    overflow: hidden;
    position: relative;
    width: auto;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.wizard-big.wizard > .content {
    min-height: 320px;
}
.wizard.vertical > .content
{
    display: inline;
    float: left;
    margin: 0 2.5% 0.5em 2.5%;
    width: 65%;
}
.wizard > .content > .body
{
    float: left;
    position: absolute;
    width: 95%;
    height: 95%;
    padding: 2.5%;
}
.wizard > .content > .body ul
{
    list-style: disc !important;
}
.wizard > .content > .body ul > li
{
    display: list-item;
}
.wizard > .content > .body > iframe
{
    border: 0 none;
    width: 100%;
    height: 100%;
}
.wizard > .content > .body input
{
    display: block;
    border: 1px solid #ccc;
}
.wizard > .content > .body input[type="checkbox"]
{
    display: inline-block;
}
.wizard > .content > .body input.error
{
    background: rgb(251, 227, 228);
    border: 1px solid #fbc2c4;
    color: #8a1f11;
}
.wizard > .content > .body label
{
    display: inline-block;
    margin-bottom: 0.5em;
}
.wizard > .content > .body label.error
{
    color: #8a1f11;
    display: inline-block;
    margin-left: 1.5em;
}
.wizard > .actions
{
    position: relative;
    display: block;
    text-align: right;
    width: 100%;
}
.wizard.vertical > .actions
{
    display: inline;
    float: right;
    margin: 0 2.5%;
    width: 95%;
}
.wizard > .actions > ul
{
    display: inline-block;
    text-align: right;
}
.wizard > .actions > ul > li
{
    margin: 0 0.5em;
}
.wizard.vertical > .actions > ul > li
{
    margin: 0 0 0 1em;
}
.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active
{
    background: #1AB394;
    color: #fff;
    display: block;
    padding: 0.5em 1em;
    text-decoration: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active
{
    background: #eee;
    color: #aaa;
}
.wizard > .loading
{
}
.wizard > .loading .spinner
{
}
/*
    Tabcontrol
*/
.tabcontrol > .steps
{
    position: relative;
    display: block;
    width: 100%;
}
.tabcontrol > .steps > ul
{
    position: relative;
    margin: 6px 0 0 0;
    top: 1px;
    z-index: 1;
}
.tabcontrol > .steps > ul > li
{
    float: left;
    margin: 5px 2px 0 0;
    padding: 1px;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.tabcontrol > .steps > ul > li:hover
{
    background: #edecec;
    border: 1px solid #bbb;
    padding: 0;
}
.tabcontrol > .steps > ul > li.current
{
    background: #fff;
    border: 1px solid #bbb;
    border-bottom: 0 none;
    padding: 0 0 1px 0;
    margin-top: 0;
}
.tabcontrol > .steps > ul > li > a
{
    color: #5f5f5f;
    display: inline-block;
    border: 0 none;
    margin: 0;
    padding: 10px 30px;
    text-decoration: none;
}
.tabcontrol > .steps > ul > li > a:hover
{
    text-decoration: none;
}
.tabcontrol > .steps > ul > li.current > a
{
    padding: 15px 30px 10px 30px;
}
.tabcontrol > .content
{
    position: relative;
    display: inline-block;
    width: 100%;
    height: 35em;
    overflow: hidden;
    border-top: 1px solid #bbb;
    padding-top: 20px;
}
.tabcontrol > .content > .body
{
    float: left;
    position: absolute;
    width: 95%;
    height: 95%;
    padding: 2.5%;
}
.tabcontrol > .content > .body ul
{
    list-style: disc !important;
}
.tabcontrol > .content > .body ul > li
{
    display: list-item;
}

File diff suppressed because it is too large
+ 5972 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/summernote/summernote-bs3.css


+ 446 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/summernote/summernote.css

@ -0,0 +1,446 @@
.note-editor {
    height: 300px;
}
.note-editor .note-dropzone {
    position: absolute;
    z-index: 1;
    display: none;
    color: #87cefa;
    background-color: white;
    border: 2px dashed #87cefa;
    opacity: .95;
    pointer-event: none
}
.note-editor .note-dropzone .note-dropzone-message {
    display: table-cell;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle
}
.note-editor .note-dropzone.hover {
    color: #098ddf;
    border: 2px dashed #098ddf
}
.note-editor.dragover .note-dropzone {
    display: table
}
.note-editor.fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    width: 100%
}
.note-editor.fullscreen .note-editable {
    background-color: white
}
.note-editor.fullscreen .note-resizebar {
    display: none
}
.note-editor.codeview .note-editable {
    display: none
}
.note-editor.codeview .note-codable {
    display: block
}
.note-editor .note-toolbar {
    padding-bottom: 5px;
    padding-left: 10px;
    padding-top: 5px;
    margin: 0;
    background-color: #f5f5f5;
    border-bottom: 1px solid #E7EAEC
}
.note-editor .note-toolbar > .btn-group {
    margin-top: 5px;
    margin-right: 5px;
    margin-left: 0
}
.note-editor .note-toolbar .note-table .dropdown-menu {
    min-width: 0;
    padding: 5px
}
.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker {
    font-size: 18px
}
.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-mousecatcher {
    position: absolute !important;
    z-index: 3;
    width: 10em;
    height: 10em;
    cursor: pointer
}
.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-unhighlighted {
    position: relative !important;
    z-index: 1;
    width: 5em;
    height: 5em;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat
}
.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-highlighted {
    position: absolute !important;
    z-index: 2;
    width: 1em;
    height: 1em;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat
}
.note-editor .note-toolbar .note-style h1, .note-editor .note-toolbar .note-style h2, .note-editor .note-toolbar .note-style h3, .note-editor .note-toolbar .note-style h4, .note-editor .note-toolbar .note-style h5, .note-editor .note-toolbar .note-style h6, .note-editor .note-toolbar .note-style blockquote {
    margin: 0
}
.note-editor .note-toolbar .note-color .dropdown-toggle {
    width: 20px;
    padding-left: 5px
}
.note-editor .note-toolbar .note-color .dropdown-menu {
    min-width: 290px
}
.note-editor .note-toolbar .note-color .dropdown-menu .btn-group {
    margin: 0
}
.note-editor .note-toolbar .note-color .dropdown-menu .btn-group:first-child {
    margin: 0 5px
}
.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title {
    margin: 2px 7px;
    font-size: 12px;
    text-align: center;
    border-bottom: 1px solid #eee
}
.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset {
    padding: 0 3px;
    margin: 5px;
    font-size: 12px;
    cursor: pointer;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px
}
.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover {
    background: #eee
}
.note-editor .note-toolbar .note-para .dropdown-menu {
    min-width: 216px;
    padding: 5px
}
.note-editor .note-toolbar .note-para .dropdown-menu > div:first-child {
    margin-right: 5px
}
.note-editor .note-statusbar {
    background-color: #f5f5f5
}
.note-editor .note-statusbar .note-resizebar {
    width: 100%;
    height: 8px;
    cursor: s-resize;
    border-top: 1px solid #a9a9a9
}
.note-editor .note-statusbar .note-resizebar .note-icon-bar {
    width: 20px;
    margin: 1px auto;
    border-top: 1px solid #a9a9a9
}
.note-editor .note-popover .popover {
    max-width: none
}
.note-editor .note-popover .popover .popover-content {
    padding: 5px
}
.note-editor .note-popover .popover .popover-content a {
    display: inline-block;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle
}
.note-editor .note-popover .popover .popover-content .btn-group + .btn-group {
    margin-left: 5px
}
.note-editor .note-popover .popover .arrow {
    left: 20px
}
.note-editor .note-handle .note-control-selection {
    position: absolute;
    display: none;
    border: 1px solid black
}
.note-editor .note-handle .note-control-selection > div {
    position: absolute
}
.note-editor .note-handle .note-control-selection .note-control-selection-bg {
    width: 100%;
    height: 100%;
    background-color: black;
    -webkit-opacity: .3;
    -khtml-opacity: .3;
    -moz-opacity: .3;
    opacity: .3;
    -ms-filter: alpha(opacity=30);
    filter: alpha(opacity=30)
}
.note-editor .note-handle .note-control-selection .note-control-handle {
    width: 7px;
    height: 7px;
    border: 1px solid black
}
.note-editor .note-handle .note-control-selection .note-control-holder {
    width: 7px;
    height: 7px;
    border: 1px solid black
}
.note-editor .note-handle .note-control-selection .note-control-sizing {
    width: 7px;
    height: 7px;
    background-color: white;
    border: 1px solid black
}
.note-editor .note-handle .note-control-selection .note-control-nw {
    top: -5px;
    left: -5px;
    border-right: 0;
    border-bottom: 0
}
.note-editor .note-handle .note-control-selection .note-control-ne {
    top: -5px;
    right: -5px;
    border-bottom: 0;
    border-left: none
}
.note-editor .note-handle .note-control-selection .note-control-sw {
    bottom: -5px;
    left: -5px;
    border-top: 0;
    border-right: 0
}
.note-editor .note-handle .note-control-selection .note-control-se {
    right: -5px;
    bottom: -5px;
    cursor: se-resize
}
.note-editor .note-handle .note-control-selection .note-control-selection-info {
    right: 0;
    bottom: 0;
    padding: 5px;
    margin: 5px;
    font-size: 12px;
    color: white;
    background-color: black;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-opacity: .7;
    -khtml-opacity: .7;
    -moz-opacity: .7;
    opacity: .7;
    -ms-filter: alpha(opacity=70);
    filter: alpha(opacity=70)
}
.note-editor .note-dialog > div {
    display: none
}
.note-editor .note-dialog .note-image-dialog .note-dropzone {
    min-height: 100px;
    margin-bottom: 10px;
    font-size: 30px;
    line-height: 4;
    color: lightgray;
    text-align: center;
    border: 4px dashed lightgray
}
.note-editor .note-dialog .note-help-dialog {
    font-size: 12px;
    color: #ccc;
    background: transparent;
    background-color: #222 !important;
    border: 0;
    -webkit-opacity: .9;
    -khtml-opacity: .9;
    -moz-opacity: .9;
    opacity: .9;
    -ms-filter: alpha(opacity=90);
    filter: alpha(opacity=90)
}
.note-editor .note-dialog .note-help-dialog .modal-content {
    background: transparent;
    border: 1px solid white;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none
}
.note-editor .note-dialog .note-help-dialog a {
    font-size: 12px;
    color: white
}
.note-editor .note-dialog .note-help-dialog .title {
    padding-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
    color: white;
    border-bottom: white 1px solid
}
.note-editor .note-dialog .note-help-dialog .modal-close {
    font-size: 14px;
    color: #dd0;
    cursor: pointer
}
.note-editor .note-dialog .note-help-dialog .note-shortcut-layout {
    width: 100%
}
.note-editor .note-dialog .note-help-dialog .note-shortcut-layout td {
    vertical-align: top
}
.note-editor .note-dialog .note-help-dialog .note-shortcut {
    margin-top: 8px
}
.note-editor .note-dialog .note-help-dialog .note-shortcut th {
    font-size: 13px;
    color: #dd0;
    text-align: left
}
.note-editor .note-dialog .note-help-dialog .note-shortcut td:first-child {
    min-width: 110px;
    padding-right: 10px;
    font-family: "Courier New";
    color: #dd0;
    text-align: right
}
.note-editor .note-editable {
    padding: 20px;
    overflow: auto;
    outline: 0
}
.note-editor .note-editable[contenteditable="false"] {
    background-color: #e5e5e5
}
.note-editor .note-codable {
    display: none;
    width: 100%;
    padding: 10px;
    margin-bottom: 0;
    font-family: Menlo, Monaco, monospace, sans-serif;
    font-size: 14px;
    color: #ccc;
    background-color: #222;
    border: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    box-shadow: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    resize: none
}
.note-editor .dropdown-menu {
    min-width: 90px
}
.note-editor .dropdown-menu.right {
    right: 0;
    left: auto
}
.note-editor .dropdown-menu.right::before {
    right: 9px;
    left: auto !important
}
.note-editor .dropdown-menu.right::after {
    right: 10px;
    left: auto !important
}
.note-editor .dropdown-menu li a i {
    color: deepskyblue;
    visibility: hidden
}
.note-editor .dropdown-menu li a.checked i {
    visibility: visible
}
.note-editor .note-fontsize-10 {
    font-size: 10px
}
.note-editor .note-color-palette {
    line-height: 1
}
.note-editor .note-color-palette div .note-color-btn {
    width: 17px;
    height: 17px;
    padding: 0;
    margin: 0;
    border: 1px solid #fff
}
.note-editor .note-color-palette div .note-color-btn:hover {
    border: 1px solid #000
}

+ 715 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/sweetalert/sweetalert.css

@ -0,0 +1,715 @@
body.stop-scrolling {
  height: 100%;
  overflow: hidden; }
.sweet-overlay {
  background-color: black;
  /* IE8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  /* IE8 */
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
  z-index: 10000; }
.sweet-alert {
  background-color: white;
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  width: 478px;
  padding: 17px;
  border-radius: 5px;
  text-align: center;
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: -256px;
  margin-top: -200px;
  overflow: hidden;
  display: none;
  z-index: 99999; }
  @media all and (max-width: 540px) {
    .sweet-alert {
      width: auto;
      margin-left: 0;
      margin-right: 0;
      left: 15px;
      right: 15px; } }
  .sweet-alert h2 {
    color: #575757;
    font-size: 30px;
    text-align: center;
    font-weight: 600;
    text-transform: none;
    position: relative;
    margin: 25px 0;
    padding: 0;
    line-height: 40px;
    display: block; }
  .sweet-alert p {
    color: #797979;
    font-size: 16px;
    text-align: center;
    font-weight: 300;
    position: relative;
    text-align: inherit;
    float: none;
    margin: 0;
    padding: 0;
    line-height: normal; }
  .sweet-alert fieldset {
    border: none;
    position: relative; }
  .sweet-alert .sa-error-container {
    background-color: #f1f1f1;
    margin-left: -17px;
    margin-right: -17px;
    overflow: hidden;
    padding: 0 10px;
    max-height: 0;
    webkit-transition: padding 0.15s, max-height 0.15s;
    transition: padding 0.15s, max-height 0.15s; }
    .sweet-alert .sa-error-container.show {
      padding: 10px 0;
      max-height: 100px;
      webkit-transition: padding 0.2s, max-height 0.2s;
      transition: padding 0.25s, max-height 0.25s; }
    .sweet-alert .sa-error-container .icon {
      display: inline-block;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background-color: #ea7d7d;
      color: white;
      line-height: 24px;
      text-align: center;
      margin-right: 3px; }
    .sweet-alert .sa-error-container p {
      display: inline-block; }
  .sweet-alert .sa-input-error {
    position: absolute;
    top: 29px;
    right: 26px;
    width: 20px;
    height: 20px;
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: all 0.1s;
    transition: all 0.1s; }
    .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after {
      content: "";
      width: 20px;
      height: 6px;
      background-color: #f06e57;
      border-radius: 3px;
      position: absolute;
      top: 50%;
      margin-top: -4px;
      left: 50%;
      margin-left: -9px; }
    .sweet-alert .sa-input-error::before {
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .sweet-alert .sa-input-error::after {
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .sweet-alert .sa-input-error.show {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1); }
  .sweet-alert input {
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    border: 1px solid #d7d7d7;
    height: 43px;
    margin-top: 10px;
    margin-bottom: 17px;
    font-size: 18px;
    box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06);
    padding: 0 12px;
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
    .sweet-alert input:focus {
      outline: none;
      box-shadow: 0px 0px 3px #c4e6f5;
      border: 1px solid #b4dbed; }
      .sweet-alert input:focus::-moz-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
      .sweet-alert input:focus:-ms-input-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
      .sweet-alert input:focus::-webkit-input-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
    .sweet-alert input::-moz-placeholder {
      color: #bdbdbd; }
    .sweet-alert input:-ms-input-placeholder {
      color: #bdbdbd; }
    .sweet-alert input::-webkit-input-placeholder {
      color: #bdbdbd; }
  .sweet-alert.show-input input {
    display: block; }
  .sweet-alert button {
    background-color: #AEDEF4;
    color: white;
    border: none;
    box-shadow: none;
    font-size: 17px;
    font-weight: 500;
    -webkit-border-radius: 4px;
    border-radius: 5px;
    padding: 10px 32px;
    margin: 26px 5px 0 5px;
    cursor: pointer; }
    .sweet-alert button:focus {
      outline: none;
      box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); }
    .sweet-alert button:hover {
      background-color: #a1d9f2; }
    .sweet-alert button:active {
      background-color: #81ccee; }
    .sweet-alert button.cancel {
      background-color: #D0D0D0; }
      .sweet-alert button.cancel:hover {
        background-color: #c8c8c8; }
      .sweet-alert button.cancel:active {
        background-color: #b6b6b6; }
      .sweet-alert button.cancel:focus {
        box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; }
    .sweet-alert button::-moz-focus-inner {
      border: 0; }
  .sweet-alert[data-has-cancel-button=false] button {
    box-shadow: none !important; }
  .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] {
    padding-bottom: 40px; }
  .sweet-alert .sa-icon {
    width: 80px;
    height: 80px;
    border: 4px solid gray;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    margin: 20px auto;
    padding: 0;
    position: relative;
    box-sizing: content-box; }
    .sweet-alert .sa-icon.sa-error {
      border-color: #F27474; }
      .sweet-alert .sa-icon.sa-error .sa-x-mark {
        position: relative;
        display: block; }
      .sweet-alert .sa-icon.sa-error .sa-line {
        position: absolute;
        height: 5px;
        width: 47px;
        background-color: #F27474;
        display: block;
        top: 37px;
        border-radius: 2px; }
        .sweet-alert .sa-icon.sa-error .sa-line.sa-left {
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          left: 17px; }
        .sweet-alert .sa-icon.sa-error .sa-line.sa-right {
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
          right: 16px; }
    .sweet-alert .sa-icon.sa-warning {
      border-color: #F8BB86; }
      .sweet-alert .sa-icon.sa-warning .sa-body {
        position: absolute;
        width: 5px;
        height: 47px;
        left: 50%;
        top: 10px;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        margin-left: -2px;
        background-color: #F8BB86; }
      .sweet-alert .sa-icon.sa-warning .sa-dot {
        position: absolute;
        width: 7px;
        height: 7px;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        margin-left: -3px;
        left: 50%;
        bottom: 10px;
        background-color: #F8BB86; }
    .sweet-alert .sa-icon.sa-info {
      border-color: #C9DAE1; }
      .sweet-alert .sa-icon.sa-info::before {
        content: "";
        position: absolute;
        width: 5px;
        height: 29px;
        left: 50%;
        bottom: 17px;
        border-radius: 2px;
        margin-left: -2px;
        background-color: #C9DAE1; }
      .sweet-alert .sa-icon.sa-info::after {
        content: "";
        position: absolute;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        margin-left: -3px;
        top: 19px;
        background-color: #C9DAE1; }
    .sweet-alert .sa-icon.sa-success {
      border-color: #A5DC86; }
      .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after {
        content: '';
        -webkit-border-radius: 40px;
        border-radius: 40px;
        border-radius: 50%;
        position: absolute;
        width: 60px;
        height: 120px;
        background: white;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .sweet-alert .sa-icon.sa-success::before {
        -webkit-border-radius: 120px 0 0 120px;
        border-radius: 120px 0 0 120px;
        top: -7px;
        left: -33px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 60px 60px;
        transform-origin: 60px 60px; }
      .sweet-alert .sa-icon.sa-success::after {
        -webkit-border-radius: 0 120px 120px 0;
        border-radius: 0 120px 120px 0;
        top: -11px;
        left: 30px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 0px 60px;
        transform-origin: 0px 60px; }
      .sweet-alert .sa-icon.sa-success .sa-placeholder {
        width: 80px;
        height: 80px;
        border: 4px solid rgba(165, 220, 134, 0.2);
        -webkit-border-radius: 40px;
        border-radius: 40px;
        border-radius: 50%;
        box-sizing: content-box;
        position: absolute;
        left: -4px;
        top: -4px;
        z-index: 2; }
      .sweet-alert .sa-icon.sa-success .sa-fix {
        width: 5px;
        height: 90px;
        background-color: white;
        position: absolute;
        left: 28px;
        top: 8px;
        z-index: 1;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .sweet-alert .sa-icon.sa-success .sa-line {
        height: 5px;
        background-color: #A5DC86;
        display: block;
        border-radius: 2px;
        position: absolute;
        z-index: 2; }
        .sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
          width: 25px;
          left: 14px;
          top: 46px;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
        .sweet-alert .sa-icon.sa-success .sa-line.sa-long {
          width: 47px;
          right: 8px;
          top: 38px;
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
    .sweet-alert .sa-icon.sa-custom {
      background-size: contain;
      border-radius: 0;
      border: none;
      background-position: center center;
      background-repeat: no-repeat; }
/*
 * Animations
 */
@-webkit-keyframes showSweetAlert {
  0% {
    transform: scale(0.7);
    -webkit-transform: scale(0.7); }
  45% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05); }
  80% {
    transform: scale(0.95);
    -webkit-transform: scale(0.95); }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1); } }
@keyframes showSweetAlert {
  0% {
    transform: scale(0.7);
    -webkit-transform: scale(0.7); }
  45% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05); }
  80% {
    transform: scale(0.95);
    -webkit-transform: scale(0.95); }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1); } }
@-webkit-keyframes hideSweetAlert {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1); }
  100% {
    transform: scale(0.5);
    -webkit-transform: scale(0.5); } }
@keyframes hideSweetAlert {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1); }
  100% {
    transform: scale(0.5);
    -webkit-transform: scale(0.5); } }
@-webkit-keyframes slideFromTop {
  0% {
    top: 0%; }
  100% {
    top: 50%; } }
@keyframes slideFromTop {
  0% {
    top: 0%; }
  100% {
    top: 50%; } }
@-webkit-keyframes slideToTop {
  0% {
    top: 50%; }
  100% {
    top: 0%; } }
@keyframes slideToTop {
  0% {
    top: 50%; }
  100% {
    top: 0%; } }
@-webkit-keyframes slideFromBottom {
  0% {
    top: 70%; }
  100% {
    top: 50%; } }
@keyframes slideFromBottom {
  0% {
    top: 70%; }
  100% {
    top: 50%; } }
@-webkit-keyframes slideToBottom {
  0% {
    top: 50%; }
  100% {
    top: 70%; } }
@keyframes slideToBottom {
  0% {
    top: 50%; }
  100% {
    top: 70%; } }
.showSweetAlert[data-animation=pop] {
  -webkit-animation: showSweetAlert 0.3s;
  animation: showSweetAlert 0.3s; }
.showSweetAlert[data-animation=none] {
  -webkit-animation: none;
  animation: none; }
.showSweetAlert[data-animation=slide-from-top] {
  -webkit-animation: slideFromTop 0.3s;
  animation: slideFromTop 0.3s; }
.showSweetAlert[data-animation=slide-from-bottom] {
  -webkit-animation: slideFromBottom 0.3s;
  animation: slideFromBottom 0.3s; }
.hideSweetAlert[data-animation=pop] {
  -webkit-animation: hideSweetAlert 0.2s;
  animation: hideSweetAlert 0.2s; }
.hideSweetAlert[data-animation=none] {
  -webkit-animation: none;
  animation: none; }
.hideSweetAlert[data-animation=slide-from-top] {
  -webkit-animation: slideToTop 0.4s;
  animation: slideToTop 0.4s; }
.hideSweetAlert[data-animation=slide-from-bottom] {
  -webkit-animation: slideToBottom 0.3s;
  animation: slideToBottom 0.3s; }
@-webkit-keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }
@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }
@-webkit-keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }
@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }
@-webkit-keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); } }
@keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); } }
.animateSuccessTip {
  -webkit-animation: animateSuccessTip 0.75s;
  animation: animateSuccessTip 0.75s; }
.animateSuccessLong {
  -webkit-animation: animateSuccessLong 0.75s;
  animation: animateSuccessLong 0.75s; }
.sa-icon.sa-success.animate::after {
  -webkit-animation: rotatePlaceholder 4.25s ease-in;
  animation: rotatePlaceholder 4.25s ease-in; }
@-webkit-keyframes animateErrorIcon {
  0% {
    transform: rotateX(100deg);
    -webkit-transform: rotateX(100deg);
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
    opacity: 1; } }
@keyframes animateErrorIcon {
  0% {
    transform: rotateX(100deg);
    -webkit-transform: rotateX(100deg);
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
    opacity: 1; } }
.animateErrorIcon {
  -webkit-animation: animateErrorIcon 0.5s;
  animation: animateErrorIcon 0.5s; }
@-webkit-keyframes animateXMark {
  0% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  50% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  80% {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    margin-top: -6px; }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    margin-top: 0;
    opacity: 1; } }
@keyframes animateXMark {
  0% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  50% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  80% {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    margin-top: -6px; }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    margin-top: 0;
    opacity: 1; } }
.animateXMark {
  -webkit-animation: animateXMark 0.5s;
  animation: animateXMark 0.5s; }
@-webkit-keyframes pulseWarning {
  0% {
    border-color: #F8D486; }
  100% {
    border-color: #F8BB86; } }
@keyframes pulseWarning {
  0% {
    border-color: #F8D486; }
  100% {
    border-color: #F8BB86; } }
.pulseWarning {
  -webkit-animation: pulseWarning 0.75s infinite alternate;
  animation: pulseWarning 0.75s infinite alternate; }
@-webkit-keyframes pulseWarningIns {
  0% {
    background-color: #F8D486; }
  100% {
    background-color: #F8BB86; } }
@keyframes pulseWarningIns {
  0% {
    background-color: #F8D486; }
  100% {
    background-color: #F8BB86; } }
.pulseWarningIns {
  -webkit-animation: pulseWarningIns 0.75s infinite alternate;
  animation: pulseWarningIns 0.75s infinite alternate; }
/* Internet Explorer 9 has some special quirks that are fixed here */
/* The icons are not animated. */
/* This file is automatically merged into sweet-alert.min.js through Gulp */
/* Error icon */
.sweet-alert .sa-icon.sa-error .sa-line.sa-left {
  -ms-transform: rotate(45deg) \9; }
.sweet-alert .sa-icon.sa-error .sa-line.sa-right {
  -ms-transform: rotate(-45deg) \9; }
/* Success icon */
.sweet-alert .sa-icon.sa-success {
  border-color: transparent\9; }
.sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
  -ms-transform: rotate(45deg) \9; }
.sweet-alert .sa-icon.sa-success .sa-line.sa-long {
  -ms-transform: rotate(-45deg) \9; }

+ 32 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/switchery/switchery.css

@ -0,0 +1,32 @@
/*
 *
 * Main stylesheet for Switchery.
 * http://abpetkov.github.io/switchery/
 *
 */
.switchery {
    background-color: #fff;
    border: 1px solid #dfdfdf;
    border-radius: 20px;
    cursor: pointer;
    display: inline-block;
    height: 30px;
    position: relative;
    vertical-align: middle;
    width: 50px;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
.switchery > small {
    background: #fff;
    border-radius: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    height: 30px;
    position: absolute;
    top: 0;
    width: 30px;
}

File diff suppressed because it is too large
+ 222 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/toastr/toastr.min.css


+ 35 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/treeview/bootstrap-treeview.css

@ -0,0 +1,35 @@
/* =========================================================
 * bootstrap-treeview.css v1.0.0
 * =========================================================
 * Copyright 2013 Jonathan Miles
 * Project URL : http://www.jondmiles.com/bootstrap-treeview
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================= */
.list-group-item {
	cursor: pointer;
}
/*.list-group-item:hover {
  background-color: #f5f5f5;
}*/
span.indent {
	margin-left: 10px;
	margin-right: 10px;
}
span.icon {
	margin-right: 5px;
}

+ 28 - 0
app/app-iot-server/src/main/webapp/front/css/plugins/webuploader/webuploader.css

@ -0,0 +1,28 @@
.webuploader-container {
	position: relative;
}
.webuploader-element-invisible {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px,1px,1px,1px);
}
.webuploader-pick {
	position: relative;
	display: inline-block;
	cursor: pointer;
	background: #00b7ee;
	padding: 10px 15px;
	color: #fff;
	text-align: center;
	border-radius: 3px;
	overflow: hidden;
}
.webuploader-pick-hover {
	background: #00a2d4;
}
.webuploader-pick-disable {
	opacity: 0.6;
	pointer-events:none;
}

+ 226 - 0
app/app-iot-server/src/main/webapp/front/css/reset.css

@ -0,0 +1,226 @@
.index-top{
    width: 100%;
    height: 70px;
    background-color: #39b3e3;
    color: #fff;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
}
.index-left{
    width: 220px;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    background-color: #384d5e;
    padding-top: 46px;
    overflow: hidden;
}
#page-wrapper{
    height: 100%;
    position: relative;
    /*padding-top: 70px;*/
}
.index-logo{
    width: 358px;
    height: 34px;
    background-image: url(../images/logo.png);
    background-position: center;
    background-repeat: no-repeat;
    text-indent: -9999px;
    margin-left: 30px;
    margin-top: 17px;
    display: inline-block;
}
.index-left-header{
    height: 46px;
    line-height: 46px;
    text-align: center;
    color: #55697c;
    background-color: #cee7f2;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
}
.minimalize-styl-2{
    margin: 0;
    font-size: 14px;
    position: absolute;
    right: 0;
    padding: 12px;
    color: #55697c;
}
body.mini-navbar .navbar-static-side .index-left-header{
    font-size: 0;
}
body.mini-navbar .navbar-static-side .index-left-header .minimalize-styl-2{
    padding: 12px 28px;
}
.arrow{
    margin-top: -2px;
    font-size: 20px;
}
nav.page-tabs{
    margin-left: 0;
}
.nav-second-level li a{
    padding: 0;
    margin: 14px 15px 14px 52px;
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
}
.navbar-top-links li a{
    padding: 25px 10px;
}
.nav.navbar-right>li>a{
    color: #fff;
    font-weight: 400;
}
.nav .open>a, .nav .open>a:focus, .nav .open>a:hover{
    background: none;
}
.nav>li>a:focus, .nav>li>a:hover{
    background: none;
}
.fa-icon{
    width: 18px;
    height: 18px;
    vertical-align: text-bottom;
    background-position: center;
    background-repeat: no-repeat;
}
.fa-daiban{
    background-image: url(../images/icon_daiban.png);
}
.fa-msg{
    background-image: url(../images/icon_wodexiaoxi2.png);
}
.fa-down{
    background-image: url(../images/icon_xiazhongxin2.png);
}
.fa-dbx{
    background-image: url(../images/dbx.png);
}
.index-s{
    width: 1px;
    height: 10px;
    background: #fff;
    position: absolute;
    top: 31px;
    right: -2px;
}
.fa-head{
    width: 33px;
    height: 33px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
}
.fa-head img{
    width: 100%;
    height: 100%;
}
.navbar-top-links li a#indexHead{
    padding: 17px 10px;
}
.navbar-form-custom{
    width: 230px;
    height: 35px;
    background-color: #1996cd;
    margin-top: 18px;
    padding-left: 30px;
    position: relative;
    margin-right: 30px;
}
.navbar-form-custom .form-control{
    height: 35px;
}
.index-search{
    width: 21px;
    height: 22px;
    display: block;
    position: absolute;
    left: 9px;
    top: 6px;
    background-image: url(../images/search.png);
    background-position: center;
    background-repeat: no-repeat;
}
::-webkit-input-placeholder{
    color: #c1dfec !important;
}
:-moz-placeholder{
    color:#c1dfec !important;
}
::-moz-placeholder{
    color:#c1dfec !important;
}
::-ms-input-placeholder{
    color:#c1dfec !important;
}
.content-tabs{
    border: 1px solid #e8edec;
}
.page-tabs a{
    background-color: #f1f5f7;
    color: #323232;    
    border-right: solid 1px #e8edec;
}
.page-tabs a.active,.page-tabs a.active:hover{
    background: #fff;
    line-height: 45px;
    color: #323232;
}
.content-tabs{
    height: 47px;
    line-height: 45px;
}
nav.page-tabs{
    height: 46px;
}
.page-tabs a i{
    color: #666;
}
.page-tabs a.active i:hover{
    background: #fff;
    color: #666;
}
.navbar-top-links .dropdown-alerts{
    width: 130px;
    color: #000;
}
.nav>li>a>.nav-label{
    width: 135px;
    display: inline-block;
    vertical-align: bottom;
    overflow: hidden;
    word-break: keep-all;
    text-overflow: ellipsis;
}
.mini-navbar .nav-second-level li a{
    width: 70px;
    margin: 0;
    display: inline-block;
}
.roll-right.btn-group{
    right: 0;
}
.content-tabs .roll-nav,.content-tabs button{
    height: 45px;
    line-height: 15px;
}
.roll-right.btn-group button{
    width: 50px;
    font-size: 24px;
}
.roll-right.btn-group{
    width: 50px;
}

File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/style.min.css


File diff suppressed because it is too large
+ 1 - 0
app/app-iot-server/src/main/webapp/front/css/style.min862f.css


BIN
app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.eot


File diff suppressed because it is too large
+ 640 - 0
app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.svg


BIN
app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.ttf


BIN
app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.woff


BIN
app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfont93e3.woff2


BIN
app/app-iot-server/src/main/webapp/front/fonts/fontawesome-webfontd41d.eot


BIN
app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.eot


File diff suppressed because it is too large
+ 288 - 0
app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.svg


BIN
app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.ttf


BIN
app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.woff


BIN
app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regular.woff2


BIN
app/app-iot-server/src/main/webapp/front/fonts/glyphicons-halflings-regulard41d.eot


BIN
app/app-iot-server/src/main/webapp/front/images/01309157481ed232f875a42919209a.gif


+ 0 - 0
app/app-iot-server/src/main/webapp/front/images/404.png


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