ソースを参照

新文章功能

xuchunyang 8 年 前
コミット
8ba1cfbc67
共有11 個のファイルを変更した1960 個の追加300 個の削除を含む
  1. 43 48
      articalIssue.html
  2. 47 2
      articalModify.html
  3. 2 22
      articalPreview.html
  4. 342 0
      css/datetimepicker.css
  5. 1064 0
      css/docs.css
  6. 192 141
      js/articalIssue.js
  7. 31 4
      js/articalList.js
  8. 174 22
      js/articalModify.js
  9. 36 61
      js/articalPreview.js
  10. 1 0
      js/public/bootstrap-datetimepicker.min.js
  11. 28 0
      js/public/prettify.js

+ 43 - 48
articalIssue.html

@ -8,8 +8,7 @@
8 8
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.png" media="screen" />
9 9
<link href="css/bootstrap.min.css" rel="stylesheet">
10 10
<link type="text/css" href="css/webuploader/webuploader.css" rel="stylesheet">
11
<link href="css/bootstrap.min.css" rel="stylesheet">
12
<link type="text/css" rel="stylesheet" href="css/bootstrap-datetimepicker.css">
11
<link type="text/css" rel="stylesheet" href="css/datetimepicker.css">
13 12
<link type="text/css" href="css/common.css" rel="stylesheet">
14 13
<link type="text/css" href="css/genindex.css" rel="stylesheet">
15 14
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
@ -26,17 +25,14 @@
26 25
		<div class="mb_msg">
27 26
			<p style="margin: 10px;">请设置文章发布的时间:</p>
28 27
			        <div class="formTime">
29
			        <div class="form-group">
28
			        <!--<div class="form-group">
30 29
			            <div class='input-group date' id='datetimepicker6'>
31 30
			                <input type='text' class="form-control" />
32 31
			                <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
33 32
			            </div>
34
			        </div>
33
			        </div>-->
35 34
			        <div class="form-group">
36
			            <div class='input-group date' id='datetimepicker7'>
37
			                <input type='text' class="form-control" />
38
			                <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
39
			            </div>
35
			             <input size="16" type="text" value="" readonly class="form-control form_datetime">
40 36
			        </div>
41 37
			</div>
42 38
		</div>
@ -174,30 +170,7 @@
174 170
						<input type="text" class="frmtype frmcontype" placeholder="请输入资源名称" id="checkZy" value="" />
175 171
						<div class="form-drop displayNone">
176 172
							<ul class="expertlist" id="resouselist">
177
								<li id="4">
178
									<div class="madiaHead resouseHead"></div>
179
									<div class="madiaInfo">
180
										<p class="h2Font ellipsisSty">资源名称资源名称资源名称资源名称资源名称</p>
181
										<p class="h1Font">李大大1</p>
182
									</div>
183
									<div class="deleteThis"></div>
184
								</li>
185
								<li id="5">
186
									<div class="madiaHead resouseHead"></div>
187
									<div class="madiaInfo">
188
										<p class="h2Font ellipsisSty">资源名称资源名称资源名称资源名称资源名称</p>
189
										<p class="h1Font">李大大2</p>
190
									</div>
191
									<div class="deleteThis"></div>
192
								</li>
193
								<li id="6">
194
									<div class="madiaHead resouseHead"></div>
195
									<div class="madiaInfo">
196
										<p class="h2Font ellipsisSty">资源名称资源名称资源名称资源名称资源名称</p>
197
										<p class="h1Font">李大大3</p>
198
									</div>
199
									<div class="deleteThis"></div>
200
								</li>
173
								
201 174
							</ul>
202 175
						</div>
203 176
						<div class="form-result">
@ -215,34 +188,55 @@
215 188
	<script type="text/javascript" src="js/footer.js"></script>
216 189
</footer>
217 190
<script type="text/javascript" src="js/public/bootstrap.min.js"></script>
218
<script type="text/javascript" src="js/public/moment-with-locales.js"></script>
219
<script type="text/javascript" src="js/public/bootstrap-datetimepicker.js"></script>
191
<script type="text/javascript" src="js/public/prettify.js"></script>
192
<script type="text/javascript" src="js/public/bootstrap-datetimepicker.min.js"></script>
220 193
<script type="text/javascript" src="js/ueditor/ueditor.config.js"></script>
221 194
<script type="text/javascript" src="js/ueditor/ueditor.all.js"> </script>
222 195
<script type="text/javascript" src="js/webuploader/webuploader.js"></script>
223 196
<script type="text/javascript"src="js/jquery.cookie.js"></script>
224 197
<script type="text/javascript"src="js/jquery.similar.msgbox.js"></script>
225
<script type="text/javascript" src="js/common.js"></script>
198
<script type="text/javascript" src="js/common.js"></script>   
226 199
<script type="text/javascript" src="js/articalIssue.js"></script>
227 200

228 201
<script type="text/javascript">
229 202
$(function () {
230
    $('#datetimepicker6').datetimepicker();
231
    $('#datetimepicker7').datetimepicker();
232
    $("#datetimepicker6").on("dp.change",function (e) {
233
        $('#datetimepicker7').data("DateTimePicker").minDate(e.date);
234
    });
235
    $("#datetimepicker7").on("dp.change",function (e) {
236
        $('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
203
	var currentdate;
204
    $(".form_datetime").datetimepicker({
205
    	format: 'yyyy-mm-dd hh:ii',
206
    	forceParse: true,
207
    	autoclose: true,
208
        todayBtn: true
237 209
    });
210
    function getNowFormatDate() {
211
	    var date = new Date();
212
	    var seperator1 = "-";
213
	    var seperator2 = ":";
214
	    var month = date.getMonth() + 1;
215
	    var strDate = date.getDate();
216
	    var getHours = date.getHours();
217
	    var getMinutes = date.getMinutes();
218
	    if (month >= 1 && month <= 9) {
219
	        month = "0" + month;
220
	    }
221
	    if (strDate >= 0 && strDate <= 9) {
222
	        strDate = "0" + strDate;
223
	    }
224
	    if (getMinutes >= 0 && getMinutes <= 9) {
225
	        getMinutes = "0" + getMinutes;
226
	    }
227
	     if (getHours >= 0 && getHours <= 9) {
228
	        getHours = "0" + getHours;
229
	    }
230
	    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
231
	            + " " + getHours + seperator2 + getMinutes
232
	           
233
	    return currentdate;
234
	}
235
    $(".form_datetime").val(getNowFormatDate(currentdate));
238 236
});
239 237
//Model模态框打开关闭
240
$("#setTimeIssue").click(function() {
241
	$(".blackcover").fadeIn();
242
	$(".modelContain").show();
243
	$("body").addClass("modelOpen");
244
})
245
$(".mb_close").click(function() {
238

239
$(".mb_close,.mb_btnNo").click(function() {
246 240
	$(".modelContain").hide();
247 241
	$(".blackcover").fadeOut();
248 242
	$("body").removeClass("modelOpen");
@ -284,5 +278,6 @@ uploader.on( 'uploadSuccess', function(file,data) {
284 278
	$("#uploader").attr("data-id",cacheImageKey);
285 279
});
286 280
</script>
281

287 282
</body>
288 283
</html>

+ 47 - 2
articalModify.html

@ -8,6 +8,8 @@
8 8
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.png" media="screen" />
9 9
<link href="css/bootstrap.min.css" rel="stylesheet">
10 10
<link type="text/css" href="css/webuploader/webuploader.css" rel="stylesheet">
11
<link type="text/css" rel="stylesheet" href="css/datetimepicker.css">
12
<link type="text/css" href="css/webuploader/webuploader.css" rel="stylesheet">
11 13
<link type="text/css" href="css/common.css" rel="stylesheet">
12 14
<link type="text/css" href="css/genindex.css" rel="stylesheet">
13 15
<style type="text/css">
@ -21,6 +23,31 @@
21 23
<header id="header">
22 24
	<script src="js/header.js"></script>
23 25
</header>
26
<!--定时发布弹框-->
27
<div class="blackcover">
28
	<div class="setTimeBlock modelContain">
29
		<span class="mb_tit">提示</span>
30
		<a class="mb_close"></a>
31
		<div class="mb_msg">
32
			<p style="margin: 10px;">请设置文章发布的时间:</p>
33
			        <div class="formTime">
34
			        <!--<div class="form-group">
35
			            <div class='input-group date' id='datetimepicker6'>
36
			                <input type='text' class="form-control" />
37
			                <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
38
			            </div>
39
			        </div>-->
40
			        <div class="form-group">
41
			             <input size="16" type="text" value="" readonly class="form-control form_datetime">
42
			        </div>
43
			</div>
44
		</div>
45
		<div class="mb_btnbox">
46
			<input class="mb_btn mb_btnOk" type="button" value="确定">
47
			<input class="mb_btn mb_btnNo" type="button" value="取消">
48
		</div>
49
	</div>
50
</div>
24 51
<div id="container">
25 52
	<div class="containerCon">
26 53
		<div class="contentCon clearfix conBlock">
@ -89,7 +116,7 @@
89 116
							<em class="operateicon icon-issue"></em>
90 117
							<p>发布</p>
91 118
						</li>
92
						<li>
119
						<li id="setTimeIssue">
93 120
							<em class="operateicon icon-timeissue"></em>
94 121
							<p>定时发布</p>
95 122
						</li>
@ -168,7 +195,9 @@
168 195
<footer>
169 196
	<script type="text/javascript" src="js/footer.js"></script>
170 197
</footer>
171

198
<script type="text/javascript" src="js/public/bootstrap.min.js"></script>
199
<script type="text/javascript" src="js/public/prettify.js"></script>
200
<script type="text/javascript" src="js/public/bootstrap-datetimepicker.min.js"></script>
172 201
<script type="text/javascript" src="js/ueditor/ueditor.config.js"></script>
173 202
<script type="text/javascript" src="js/ueditor/ueditor.all.js"> </script>
174 203
<script type="text/javascript" src="js/webuploader/webuploader.js"></script>
@ -177,6 +206,22 @@
177 206
<script type="text/javascript" src="js/common.js"></script>
178 207
<script type="text/javascript" src="js/articalModify.js"></script>
179 208
<script type="text/javascript">
209
$(function () {
210
	var currentdate;
211
    $(".form_datetime").datetimepicker({
212
    	format: 'yyyy-mm-dd hh:ii',
213
    	forceParse: true,
214
    	autoclose: true,
215
        todayBtn: true
216
    });
217
});
218
//Model模态框打开关闭
219

220
$(".mb_close,.mb_btnNo").click(function() {
221
	$(".modelContain").hide();
222
	$(".blackcover").fadeOut();
223
	$("body").removeClass("modelOpen");
224
})
180 225
//初始引用编辑器
181 226
ue = UE.getEditor('editor', {});
182 227


+ 2 - 22
articalPreview.html

@ -47,28 +47,8 @@
47 47
					<div class="form-item otherShow">
48 48
						<div class="aboutTit">相关资源</div>
49 49
						<div class="form-result aboutRes">
50
							<ul>
51
								<li>
52
									<div class="madiaHead resouseHead"></div>
53
									<div class="madiaInfo">
54
										<p class="h1Font">资源名称资源名称资源名称</p>
55
										<p class="h2Font ellipsisSty-2">用途:材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;</p>
56
									</div>
57
								</li>
58
								<li>
59
									<div class="madiaHead resouseHead"></div>
60
									<div class="madiaInfo">
61
										<p class="h1Font">资源名称资源名称资源名称</p>
62
										<p class="h2Font ellipsisSty-2">用途:材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;</p>
63
									</div>
64
								</li>
65
								<li>
66
									<div class="madiaHead resouseHead"></div>
67
									<div class="madiaInfo">
68
										<p class="h1Font">资源名称资源名称资源名称</p>
69
										<p class="h2Font ellipsisSty-2">用途:材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;材料腐蚀防护;</p>
70
									</div>
71
								</li>
50
							<ul id="resources">
51
								
72 52
							</ul>
73 53
						</div>
74 54
					</div>

+ 342 - 0
css/datetimepicker.css

@ -0,0 +1,342 @@
1
/*!
2
 * Datetimepicker for Bootstrap
3
 *
4
 * Copyright 2012 Stefan Petre
5
 * Improvements by Andrew Rowls
6
 * Licensed under the Apache License v2.0
7
 * http://www.apache.org/licenses/LICENSE-2.0
8
 *
9
 */
10
.datetimepicker {
11
  padding: 4px;
12
  margin-top: 1px;
13
  -webkit-border-radius: 4px;
14
  -moz-border-radius: 4px;
15
  border-radius: 4px;
16
  direction: ltr;
17
  /*.dow {
18
		border-top: 1px solid #ddd !important;
19
	}*/
20
21
}
22
.datetimepicker-inline {
23
  width: 220px;
24
}
25
.datetimepicker.datetimepicker-rtl {
26
  direction: rtl;
27
}
28
.datetimepicker.datetimepicker-rtl table tr td span {
29
  float: right;
30
}
31
.datetimepicker-dropdown, .datetimepicker-dropdown-left {
32
  top: 0;
33
  left: 0;
34
}
35
.datetimepicker-dropdown:before {
36
  content: '';
37
  display: inline-block;
38
  border-left: 7px solid transparent;
39
  border-right: 7px solid transparent;
40
  border-bottom: 7px solid #ccc;
41
  border-bottom-color: rgba(0, 0, 0, 0.2);
42
  position: absolute;
43
  top: -7px;
44
  left: 6px;
45
}
46
.datetimepicker-dropdown:after {
47
  content: '';
48
  display: inline-block;
49
  border-left: 6px solid transparent;
50
  border-right: 6px solid transparent;
51
  border-bottom: 6px solid #ffffff;
52
  position: absolute;
53
  top: -6px;
54
  left: 7px;
55
}
56
.datetimepicker-dropdown-left:before {
57
  content: '';
58
  display: inline-block;
59
  border-left: 7px solid transparent;
60
  border-right: 7px solid transparent;
61
  border-bottom: 7px solid #ccc;
62
  border-bottom-color: rgba(0, 0, 0, 0.2);
63
  position: absolute;
64
  top: -7px;
65
  right: 6px;
66
}
67
.datetimepicker-dropdown-left:after {
68
  content: '';
69
  display: inline-block;
70
  border-left: 6px solid transparent;
71
  border-right: 6px solid transparent;
72
  border-bottom: 6px solid #ffffff;
73
  position: absolute;
74
  top: -6px;
75
  right: 7px;
76
}
77
.datetimepicker > div {
78
  display: none;
79
}
80
.datetimepicker.minutes div.datetimepicker-minutes {
81
    display: block;
82
}
83
.datetimepicker.hours div.datetimepicker-hours {
84
    display: block;
85
}
86
.datetimepicker.days div.datetimepicker-days {
87
    display: block;
88
}
89
.datetimepicker.months div.datetimepicker-months {
90
  display: block;
91
}
92
.datetimepicker.years div.datetimepicker-years {
93
  display: block;
94
}
95
.datetimepicker table {
96
  margin: 0;
97
}
98
.datetimepicker  td,
99
.datetimepicker th {
100
  text-align: center;
101
  width: 20px;
102
  height: 20px;
103
  -webkit-border-radius: 4px;
104
  -moz-border-radius: 4px;
105
  border-radius: 4px;
106
  border: none;
107
}
108
.table-striped .datetimepicker table tr td,
109
.table-striped .datetimepicker table tr th {
110
  background-color: transparent;
111
}
112
.datetimepicker table tr td.minute:hover {
113
    background: #eeeeee;
114
    cursor: pointer;
115
}
116
.datetimepicker table tr td.hour:hover {
117
    background: #eeeeee;
118
    cursor: pointer;
119
}
120
.datetimepicker table tr td.day:hover {
121
    background: #eeeeee;
122
    cursor: pointer;
123
}
124
.datetimepicker table tr td.old,
125
.datetimepicker table tr td.new {
126
  color: #999999;
127
}
128
.datetimepicker table tr td.disabled,
129
.datetimepicker table tr td.disabled:hover {
130
  background: none;
131
  color: #999999;
132
  cursor: default;
133
}
134
.datetimepicker table tr td.today,
135
.datetimepicker table tr td.today:hover,
136
.datetimepicker table tr td.today.disabled,
137
.datetimepicker table tr td.today.disabled:hover {
138
  background-color: #fde19a;
139
  background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
140
  background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
141
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
142
  background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
143
  background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
144
  background-image: linear-gradient(top, #fdd49a, #fdf59a);
145
  background-repeat: repeat-x;
146
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
147
  border-color: #fdf59a #fdf59a #fbed50;
148
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
149
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
150
}
151
.datetimepicker table tr td.today:hover,
152
.datetimepicker table tr td.today:hover:hover,
153
.datetimepicker table tr td.today.disabled:hover,
154
.datetimepicker table tr td.today.disabled:hover:hover,
155
.datetimepicker table tr td.today:active,
156
.datetimepicker table tr td.today:hover:active,
157
.datetimepicker table tr td.today.disabled:active,
158
.datetimepicker table tr td.today.disabled:hover:active,
159
.datetimepicker table tr td.today.active,
160
.datetimepicker table tr td.today:hover.active,
161
.datetimepicker table tr td.today.disabled.active,
162
.datetimepicker table tr td.today.disabled:hover.active,
163
.datetimepicker table tr td.today.disabled,
164
.datetimepicker table tr td.today:hover.disabled,
165
.datetimepicker table tr td.today.disabled.disabled,
166
.datetimepicker table tr td.today.disabled:hover.disabled,
167
.datetimepicker table tr td.today[disabled],
168
.datetimepicker table tr td.today:hover[disabled],
169
.datetimepicker table tr td.today.disabled[disabled],
170
.datetimepicker table tr td.today.disabled:hover[disabled] {
171
  background-color: #fdf59a;
172
}
173
.datetimepicker table tr td.today:active,
174
.datetimepicker table tr td.today:hover:active,
175
.datetimepicker table tr td.today.disabled:active,
176
.datetimepicker table tr td.today.disabled:hover:active,
177
.datetimepicker table tr td.today.active,
178
.datetimepicker table tr td.today:hover.active,
179
.datetimepicker table tr td.today.disabled.active,
180
.datetimepicker table tr td.today.disabled:hover.active {
181
  background-color: #fbf069 \9;
182
}
183
.datetimepicker table tr td.active,
184
.datetimepicker table tr td.active:hover,
185
.datetimepicker table tr td.active.disabled,
186
.datetimepicker table tr td.active.disabled:hover {
187
  background-color: #006dcc;
188
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
189
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
190
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
191
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
192
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
193
  background-image: linear-gradient(top, #0088cc, #0044cc);
194
  background-repeat: repeat-x;
195
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
196
  border-color: #0044cc #0044cc #002a80;
197
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
198
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
199
  color: #fff;
200
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
201
}
202
.datetimepicker table tr td.active:hover,
203
.datetimepicker table tr td.active:hover:hover,
204
.datetimepicker table tr td.active.disabled:hover,
205
.datetimepicker table tr td.active.disabled:hover:hover,
206
.datetimepicker table tr td.active:active,
207
.datetimepicker table tr td.active:hover:active,
208
.datetimepicker table tr td.active.disabled:active,
209
.datetimepicker table tr td.active.disabled:hover:active,
210
.datetimepicker table tr td.active.active,
211
.datetimepicker table tr td.active:hover.active,
212
.datetimepicker table tr td.active.disabled.active,
213
.datetimepicker table tr td.active.disabled:hover.active,
214
.datetimepicker table tr td.active.disabled,
215
.datetimepicker table tr td.active:hover.disabled,
216
.datetimepicker table tr td.active.disabled.disabled,
217
.datetimepicker table tr td.active.disabled:hover.disabled,
218
.datetimepicker table tr td.active[disabled],
219
.datetimepicker table tr td.active:hover[disabled],
220
.datetimepicker table tr td.active.disabled[disabled],
221
.datetimepicker table tr td.active.disabled:hover[disabled] {
222
  background-color: #0044cc;
223
}
224
.datetimepicker table tr td.active:active,
225
.datetimepicker table tr td.active:hover:active,
226
.datetimepicker table tr td.active.disabled:active,
227
.datetimepicker table tr td.active.disabled:hover:active,
228
.datetimepicker table tr td.active.active,
229
.datetimepicker table tr td.active:hover.active,
230
.datetimepicker table tr td.active.disabled.active,
231
.datetimepicker table tr td.active.disabled:hover.active {
232
  background-color: #003399 \9;
233
}
234
.datetimepicker table tr td span {
235
  display: block;
236
  width: 23%;
237
  height: 54px;
238
  line-height: 54px;
239
  float: left;
240
  margin: 1%;
241
  cursor: pointer;
242
  -webkit-border-radius: 4px;
243
  -moz-border-radius: 4px;
244
  border-radius: 4px;
245
}
246
.datetimepicker .datetimepicker-hours span {
247
  height: 26px;
248
  line-height: 26px;
249
}
250
.datetimepicker .datetimepicker-hours table tr td span.hour_am,
251
.datetimepicker .datetimepicker-hours table tr td span.hour_pm {
252
  width: 14.6%;
253
}
254
.datetimepicker .datetimepicker-hours fieldset legend,
255
.datetimepicker .datetimepicker-minutes fieldset legend {
256
  margin-bottom: inherit;
257
  line-height: 30px;
258
}
259
.datetimepicker .datetimepicker-minutes span {
260
  height: 26px;
261
  line-height: 26px;
262
}
263
.datetimepicker table tr td span:hover {
264
  background: #eeeeee;
265
}
266
.datetimepicker table tr td span.disabled,
267
.datetimepicker table tr td span.disabled:hover {
268
  background: none;
269
  color: #999999;
270
  cursor: default;
271
}
272
.datetimepicker table tr td span.active,
273
.datetimepicker table tr td span.active:hover,
274
.datetimepicker table tr td span.active.disabled,
275
.datetimepicker table tr td span.active.disabled:hover {
276
  background-color: #006dcc;
277
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
278
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
279
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
280
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
281
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
282
  background-image: linear-gradient(top, #0088cc, #0044cc);
283
  background-repeat: repeat-x;
284
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
285
  border-color: #0044cc #0044cc #002a80;
286
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
287
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
288
  color: #fff;
289
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
290
}
291
.datetimepicker table tr td span.active:hover,
292
.datetimepicker table tr td span.active:hover:hover,
293
.datetimepicker table tr td span.active.disabled:hover,
294
.datetimepicker table tr td span.active.disabled:hover:hover,
295
.datetimepicker table tr td span.active:active,
296
.datetimepicker table tr td span.active:hover:active,
297
.datetimepicker table tr td span.active.disabled:active,
298
.datetimepicker table tr td span.active.disabled:hover:active,
299
.datetimepicker table tr td span.active.active,
300
.datetimepicker table tr td span.active:hover.active,
301
.datetimepicker table tr td span.active.disabled.active,
302
.datetimepicker table tr td span.active.disabled:hover.active,
303
.datetimepicker table tr td span.active.disabled,
304
.datetimepicker table tr td span.active:hover.disabled,
305
.datetimepicker table tr td span.active.disabled.disabled,
306
.datetimepicker table tr td span.active.disabled:hover.disabled,
307
.datetimepicker table tr td span.active[disabled],
308
.datetimepicker table tr td span.active:hover[disabled],
309
.datetimepicker table tr td span.active.disabled[disabled],
310
.datetimepicker table tr td span.active.disabled:hover[disabled] {
311
  background-color: #0044cc;
312
}
313
.datetimepicker table tr td span.active:active,
314
.datetimepicker table tr td span.active:hover:active,
315
.datetimepicker table tr td span.active.disabled:active,
316
.datetimepicker table tr td span.active.disabled:hover:active,
317
.datetimepicker table tr td span.active.active,
318
.datetimepicker table tr td span.active:hover.active,
319
.datetimepicker table tr td span.active.disabled.active,
320
.datetimepicker table tr td span.active.disabled:hover.active {
321
  background-color: #003399 \9;
322
}
323
.datetimepicker table tr td span.old {
324
  color: #999999;
325
}
326
.datetimepicker th.switch {
327
  width: 145px;
328
}
329
.datetimepicker thead tr:first-child th,
330
.datetimepicker tfoot tr:first-child th {
331
  cursor: pointer;
332
}
333
.datetimepicker thead tr:first-child th:hover,
334
.datetimepicker tfoot tr:first-child th:hover {
335
  background: #eeeeee;
336
}
337
.input-append.date .add-on i,
338
.input-prepend.date .add-on i {
339
  cursor: pointer;
340
  width: 14px;
341
  height: 14px;
342
}

+ 1064 - 0
css/docs.css

@ -0,0 +1,1064 @@
1
/* Add additional stylesheets below
2
-------------------------------------------------- */
3
/*
4
  Bootstrap's documentation styles
5
  Special styles for presenting Bootstrap's documentation and examples
6
*/
7
8
9
10
/* Body and structure
11
-------------------------------------------------- */
12
13
body {
14
  position: relative;
15
  padding-top: 40px;
16
}
17
18
/* Code in headings */
19
h3 code {
20
  font-size: 14px;
21
  font-weight: normal;
22
}
23
24
25
26
/* Tweak navbar brand link to be super sleek
27
-------------------------------------------------- */
28
29
body > .navbar {
30
  font-size: 13px;
31
}
32
33
/* Change the docs' brand */
34
body > .navbar .brand {
35
  padding-right: 0;
36
  padding-left: 0;
37
  margin-left: 20px;
38
  float: right;
39
  font-weight: bold;
40
  color: #000;
41
  text-shadow: 0 1px 0 rgba(255,255,255,.1), 0 0 30px rgba(255,255,255,.125);
42
  -webkit-transition: all .2s linear;
43
     -moz-transition: all .2s linear;
44
          transition: all .2s linear;
45
}
46
body > .navbar .brand:hover {
47
  text-decoration: none;
48
  text-shadow: 0 1px 0 rgba(255,255,255,.1), 0 0 30px rgba(255,255,255,.4);
49
}
50
51
52
/* Sections
53
-------------------------------------------------- */
54
55
/* padding for in-page bookmarks and fixed navbar */
56
section {
57
  padding-top: 30px;
58
}
59
section > .page-header,
60
section > .lead {
61
  color: #5a5a5a;
62
}
63
section > ul li {
64
  margin-bottom: 5px;
65
}
66
67
/* Separators (hr) */
68
.bs-docs-separator {
69
  margin: 40px 0 39px;
70
}
71
72
/* Faded out hr */
73
hr.soften {
74
  height: 1px;
75
  margin: 70px 0;
76
  background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
77
  background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
78
  background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
79
  background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
80
  border: 0;
81
}
82
83
84
85
/* Jumbotrons
86
-------------------------------------------------- */
87
88
/* Base class
89
------------------------- */
90
.jumbotron {
91
  position: relative;
92
  padding: 40px 0;
93
  color: #fff;
94
  text-align: center;
95
  text-shadow: 0 1px 3px rgba(0,0,0,.4), 0 0 30px rgba(0,0,0,.075);
96
  background: #B13938; /* Old browsers */
97
  background: -moz-linear-gradient(45deg,  #B13938 0%, #C47F3E 100%); /* FF3.6+ */
98
  background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#B13938), color-stop(100%,#C47F3E)); /* Chrome,Safari4+ */
99
  background: -webkit-linear-gradient(45deg,  #B13938 0%,#C47F3E 100%); /* Chrome10+,Safari5.1+ */
100
  background: -o-linear-gradient(45deg,  #B13938 0%,#C47F3E 100%); /* Opera 11.10+ */
101
  background: -ms-linear-gradient(45deg,  #B13938 0%,#C47F3E 100%); /* IE10+ */
102
  background: linear-gradient(45deg,  #B13938 0%,#C47F3E 100%); /* W3C */
103
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#B13938', endColorstr='#C47F3E',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
104
  -webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
105
     -moz-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
106
          box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
107
}
108
.jumbotron h1 {
109
  font-size: 80px;
110
  font-weight: bold;
111
  letter-spacing: -1px;
112
  line-height: 1;
113
}
114
.jumbotron p {
115
  font-size: 24px;
116
  font-weight: 300;
117
  line-height: 1.25;
118
  margin-bottom: 30px;
119
}
120
121
/* Link styles (used on .masthead-links as well) */
122
.jumbotron a {
123
  color: #fff;
124
  /*color: rgba(255,255,255,.5);*/
125
  -webkit-transition: all .2s ease-in-out;
126
     -moz-transition: all .2s ease-in-out;
127
          transition: all .2s ease-in-out;
128
}
129
.jumbotron a:hover {
130
  color: #fff;
131
  text-shadow: 0 0 10px rgba(255,255,255,.25);
132
}
133
134
/* Download button */
135
.masthead .btn {
136
  padding: 19px 24px;
137
  font-size: 24px;
138
  font-weight: 200;
139
  color: #fff; /* redeclare to override the `.jumbotron a` */
140
  border: 0;
141
  -webkit-border-radius: 6px;
142
     -moz-border-radius: 6px;
143
          border-radius: 6px;
144
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
145
     -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
146
          box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
147
  -webkit-transition: none;
148
     -moz-transition: none;
149
          transition: none;
150
}
151
.masthead .btn:hover {
152
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
153
     -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
154
          box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
155
}
156
.masthead .btn:active {
157
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
158
     -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
159
          box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
160
}
161
162
163
/* Pattern overlay
164
------------------------- */
165
.jumbotron .container {
166
  position: relative;
167
  z-index: 2;
168
}
169
.jumbotron:after {
170
  content: '';
171
  display: block;
172
  position: absolute;
173
  top: 0;
174
  right: 0;
175
  bottom: 0;
176
  left: 0;
177
  background: url(../img/bs-docs-masthead-pattern.png) repeat center center;
178
  opacity: .8;
179
}
180
@media
181
only screen and (-webkit-min-device-pixel-ratio: 2),
182
only screen and (   min--moz-device-pixel-ratio: 2),
183
only screen and (     -o-min-device-pixel-ratio: 2/1) {
184
185
  .jumbotron:after {
186
    background-size: 150px 150px;
187
  }
188
189
}
190
191
/* Masthead (docs home)
192
------------------------- */
193
.masthead {
194
  padding: 70px 0 80px;
195
  margin-bottom: 0;
196
  color: #fff;
197
}
198
.masthead h1 {
199
  font-size: 120px;
200
  line-height: 1;
201
  letter-spacing: -2px;
202
}
203
.masthead p {
204
  font-size: 40px;
205
  font-weight: 200;
206
  line-height: 1.25;
207
}
208
209
/* Textual links in masthead */
210
.masthead-links {
211
  margin: 0;
212
  list-style: none;
213
}
214
.masthead-links li {
215
  display: inline;
216
  padding: 0 10px;
217
  color: rgba(255,255,255,.25);
218
}
219
220
/* Social proof buttons from GitHub & Twitter */
221
.bs-docs-social {
222
  padding: 15px 0;
223
  text-align: center;
224
  background-color: #f5f5f5;
225
  border-top: 1px solid #fff;
226
  border-bottom: 1px solid #ddd;
227
}
228
229
/* Quick links on Home */
230
.bs-docs-social-buttons {
231
  margin-left: 0;
232
  margin-bottom: 0;
233
  padding-left: 0;
234
  list-style: none;
235
}
236
.bs-docs-social-buttons li {
237
  display: inline-block;
238
  padding: 5px 8px;
239
  line-height: 1;
240
  *display: inline;
241
  *zoom: 1;
242
}
243
244
/* Subhead (other pages)
245
------------------------- */
246
.subhead {
247
  text-align: left;
248
  border-bottom: 1px solid #ddd;
249
}
250
.subhead h1 {
251
  font-size: 60px;
252
}
253
.subhead p {
254
  margin-bottom: 20px;
255
}
256
.subhead .navbar {
257
  display: none;
258
}
259
260
261
262
/* Marketing section of Overview
263
-------------------------------------------------- */
264
265
.marketing {
266
  text-align: center;
267
  color: #5a5a5a;
268
}
269
.marketing h1 {
270
  margin: 60px 0 10px;
271
  font-size: 60px;
272
  font-weight: 200;
273
  line-height: 1;
274
  letter-spacing: -1px;
275
}
276
.marketing h2 {
277
  font-weight: 200;
278
  margin-bottom: 5px;
279
}
280
.marketing p {
281
  font-size: 16px;
282
  line-height: 1.5;
283
}
284
.marketing .marketing-byline {
285
  margin-bottom: 40px;
286
  font-size: 20px;
287
  font-weight: 300;
288
  line-height: 1.25;
289
  color: #999;
290
}
291
.marketing-img {
292
  display: block;
293
  margin: 0 auto 30px;
294
  max-height: 145px;
295
}
296
297
298
299
/* Footer
300
-------------------------------------------------- */
301
302
.footer {
303
  text-align: center;
304
  padding: 30px 0;
305
  margin-top: 70px;
306
  border-top: 1px solid #e5e5e5;
307
  background-color: #f5f5f5;
308
}
309
.footer p {
310
  margin-bottom: 0;
311
  color: #777;
312
}
313
.footer-links {
314
  margin: 10px 0;
315
}
316
.footer-links li {
317
  display: inline;
318
  padding: 0 2px;
319
}
320
.footer-links li:first-child {
321
  padding-left: 0;
322
}
323
324
325
326
/* Special grid styles
327
-------------------------------------------------- */
328
329
.show-grid {
330
  margin-top: 10px;
331
  margin-bottom: 20px;
332
}
333
.show-grid [class*="span"] {
334
  background-color: #eee;
335
  text-align: center;
336
  -webkit-border-radius: 3px;
337
     -moz-border-radius: 3px;
338
          border-radius: 3px;
339
  min-height: 40px;
340
  line-height: 40px;
341
}
342
.show-grid:hover [class*="span"] {
343
  background: #ddd;
344
}
345
.show-grid .show-grid {
346
  margin-top: 0;
347
  margin-bottom: 0;
348
}
349
.show-grid .show-grid [class*="span"] {
350
  margin-top: 5px;
351
}
352
.show-grid [class*="span"] [class*="span"] {
353
  background-color: #ccc;
354
}
355
.show-grid [class*="span"] [class*="span"] [class*="span"] {
356
  background-color: #999;
357
}
358
359
360
361
/* Mini layout previews
362
-------------------------------------------------- */
363
.mini-layout {
364
  border: 1px solid #ddd;
365
  -webkit-border-radius: 6px;
366
     -moz-border-radius: 6px;
367
          border-radius: 6px;
368
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.075);
369
     -moz-box-shadow: 0 1px 2px rgba(0,0,0,.075);
370
          box-shadow: 0 1px 2px rgba(0,0,0,.075);
371
}
372
.mini-layout,
373
.mini-layout .mini-layout-body,
374
.mini-layout.fluid .mini-layout-sidebar {
375
  height: 300px;
376
}
377
.mini-layout {
378
  margin-bottom: 20px;
379
  padding: 9px;
380
}
381
.mini-layout div {
382
  -webkit-border-radius: 3px;
383
     -moz-border-radius: 3px;
384
          border-radius: 3px;
385
}
386
.mini-layout .mini-layout-body {
387
  background-color: #dceaf4;
388
  margin: 0 auto;
389
  width: 70%;
390
}
391
.mini-layout.fluid .mini-layout-sidebar,
392
.mini-layout.fluid .mini-layout-header,
393
.mini-layout.fluid .mini-layout-body {
394
  float: left;
395
}
396
.mini-layout.fluid .mini-layout-sidebar {
397
  background-color: #bbd8e9;
398
  width: 20%;
399
}
400
.mini-layout.fluid .mini-layout-body {
401
  width: 77.5%;
402
  margin-left: 2.5%;
403
}
404
405
406
407
/* Download page
408
-------------------------------------------------- */
409
410
.download .page-header {
411
  margin-top: 36px;
412
}
413
.page-header .toggle-all {
414
  margin-top: 5px;
415
}
416
417
/* Space out h3s when following a section */
418
.download h3 {
419
  margin-bottom: 5px;
420
}
421
.download-builder input + h3,
422
.download-builder .checkbox + h3 {
423
  margin-top: 9px;
424
}
425
426
/* Fields for variables */
427
.download-builder input[type=text] {
428
  margin-bottom: 9px;
429
  font-family: Menlo, Monaco, "Courier New", monospace;
430
  font-size: 12px;
431
  color: #d14;
432
}
433
.download-builder input[type=text]:focus {
434
  background-color: #fff;
435
}
436
437
/* Custom, larger checkbox labels */
438
.download .checkbox {
439
  padding: 6px 10px 6px 25px;
440
  font-size: 13px;
441
  line-height: 18px;
442
  color: #555;
443
  background-color: #f9f9f9;
444
  -webkit-border-radius: 3px;
445
     -moz-border-radius: 3px;
446
          border-radius: 3px;
447
  cursor: pointer;
448
}
449
.download .checkbox:hover {
450
  color: #333;
451
  background-color: #f5f5f5;
452
}
453
.download .checkbox small {
454
  font-size: 12px;
455
  color: #777;
456
}
457
458
/* Variables section */
459
#variables label {
460
  margin-bottom: 0;
461
}
462
463
/* Giant download button */
464
.download-btn {
465
  margin: 36px 0 108px;
466
}
467
#download p,
468
#download h4 {
469
  max-width: 50%;
470
  margin: 0 auto;
471
  color: #999;
472
  text-align: center;
473
}
474
#download h4 {
475
  margin-bottom: 0;
476
}
477
#download p {
478
  margin-bottom: 18px;
479
}
480
.download-btn .btn {
481
  display: block;
482
  width: auto;
483
  padding: 19px 24px;
484
  margin-bottom: 27px;
485
  font-size: 30px;
486
  line-height: 1;
487
  text-align: center;
488
  -webkit-border-radius: 6px;
489
     -moz-border-radius: 6px;
490
          border-radius: 6px;
491
}
492
493
494
495
/* Misc
496
-------------------------------------------------- */
497
498
/* Make tables spaced out a bit more */
499
h2 + table,
500
h3 + table,
501
h4 + table,
502
h2 + .row {
503
  margin-top: 5px;
504
}
505
506
/* Example sites showcase */
507
.example-sites {
508
  xmargin-left: 20px;
509
}
510
.example-sites img {
511
  max-width: 100%;
512
  margin: 0 auto;
513
}
514
515
.scrollspy-example {
516
  height: 200px;
517
  overflow: auto;
518
  position: relative;
519
}
520
521
522
/* Fake the :focus state to demo it */
523
.focused {
524
  border-color: rgba(82,168,236,.8);
525
  -webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
526
     -moz-box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
527
          box-shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
528
  outline: 0;
529
}
530
531
/* For input sizes, make them display block */
532
.docs-input-sizes select,
533
.docs-input-sizes input[type=text] {
534
  display: block;
535
  margin-bottom: 9px;
536
}
537
538
/* Icons
539
------------------------- */
540
.the-icons {
541
  margin-left: 0;
542
  list-style: none;
543
}
544
.the-icons li {
545
  float: left;
546
  width: 25%;
547
  line-height: 25px;
548
}
549
.the-icons i:hover {
550
  background-color: rgba(255,0,0,.25);
551
}
552
553
/* Example page
554
------------------------- */
555
.bootstrap-examples p {
556
  font-size: 13px;
557
  line-height: 18px;
558
}
559
.bootstrap-examples .thumbnail {
560
  margin-bottom: 9px;
561
  background-color: #fff;
562
}
563
564
565
566
/* Bootstrap code examples
567
-------------------------------------------------- */
568
569
/* Base class */
570
.bs-docs-example {
571
  position: relative;
572
  margin: 15px 0;
573
  padding: 39px 19px 14px;
574
  *padding-top: 19px;
575
  background-color: #fff;
576
  border: 1px solid #ddd;
577
  -webkit-border-radius: 4px;
578
     -moz-border-radius: 4px;
579
          border-radius: 4px;
580
}
581
582
/* Echo out a label for the example */
583
.bs-docs-example:after {
584
  content: "Example";
585
  position: absolute;
586
  top: -1px;
587
  left: -1px;
588
  padding: 3px 7px;
589
  font-size: 12px;
590
  font-weight: bold;
591
  background-color: #f5f5f5;
592
  border: 1px solid #ddd;
593
  color: #9da0a4;
594
  -webkit-border-radius: 4px 0 4px 0;
595
     -moz-border-radius: 4px 0 4px 0;
596
          border-radius: 4px 0 4px 0;
597
}
598
599
/* Remove spacing between an example and it's code */
600
.bs-docs-example + .prettyprint {
601
  margin-top: -20px;
602
  padding-top: 15px;
603
}
604
605
/* Tweak examples
606
------------------------- */
607
.bs-docs-example > p:last-child {
608
  margin-bottom: 0;
609
}
610
.bs-docs-example .table,
611
.bs-docs-example .progress,
612
.bs-docs-example .well,
613
.bs-docs-example .alert,
614
.bs-docs-example .hero-unit,
615
.bs-docs-example .pagination,
616
.bs-docs-example .navbar,
617
.bs-docs-example > .nav,
618
.bs-docs-example blockquote {
619
  margin-bottom: 5px;
620
}
621
.bs-docs-example .pagination {
622
  margin-top: 0;
623
}
624
.bs-navbar-top-example,
625
.bs-navbar-bottom-example {
626
  z-index: 1;
627
  padding: 0;
628
  height: 90px;
629
  overflow: hidden; /* cut the drop shadows off */
630
}
631
.bs-navbar-top-example .navbar-fixed-top,
632
.bs-navbar-bottom-example .navbar-fixed-bottom {
633
  margin-left: 0;
634
  margin-right: 0;
635
}
636
.bs-navbar-top-example {
637
  -webkit-border-radius: 0 0 4px 4px;
638
     -moz-border-radius: 0 0 4px 4px;
639
          border-radius: 0 0 4px 4px;
640
}
641
.bs-navbar-top-example:after {
642
  top: auto;
643
  bottom: -1px;
644
  -webkit-border-radius: 0 4px 0 4px;
645
     -moz-border-radius: 0 4px 0 4px;
646
          border-radius: 0 4px 0 4px;
647
}
648
.bs-navbar-bottom-example {
649
  -webkit-border-radius: 4px 4px 0 0;
650
     -moz-border-radius: 4px 4px 0 0;
651
          border-radius: 4px 4px 0 0;
652
}
653
.bs-navbar-bottom-example .navbar {
654
  margin-bottom: 0;
655
}
656
form.bs-docs-example {
657
  padding-bottom: 19px;
658
}
659
660
/* Images */
661
.bs-docs-example-images img {
662
  margin: 10px;
663
  display: inline-block;
664
}
665
666
/* Tooltips */
667
.bs-docs-tooltip-examples {
668
  text-align: center;
669
  margin: 0 0 10px;
670
  list-style: none;
671
}
672
.bs-docs-tooltip-examples li {
673
  display: inline;
674
  padding: 0 10px;
675
}
676
677
/* Popovers */
678
.bs-docs-example-popover {
679
  padding-bottom: 24px;
680
  background-color: #f9f9f9;
681
}
682
.bs-docs-example-popover .popover {
683
  position: relative;
684
  display: block;
685
  float: left;
686
  width: 260px;
687
  margin: 20px;
688
}
689
690
/* Dropdowns */
691
.bs-docs-example-submenus {
692
  min-height: 180px;
693
}
694
.bs-docs-example-submenus > .pull-left + .pull-left {
695
  margin-left: 20px;
696
}
697
.bs-docs-example-submenus .dropup > .dropdown-menu,
698
.bs-docs-example-submenus .dropdown > .dropdown-menu {
699
  display: block;
700
  position: static;
701
  margin-bottom: 5px;
702
  *width: 180px;
703
}
704
705
706
707
/* Responsive docs
708
-------------------------------------------------- */
709
710
/* Utility classes table
711
------------------------- */
712
.responsive-utilities th small {
713
  display: block;
714
  font-weight: normal;
715
  color: #999;
716
}
717
.responsive-utilities tbody th {
718
  font-weight: normal;
719
}
720
.responsive-utilities td {
721
  text-align: center;
722
}
723
.responsive-utilities td.is-visible {
724
  color: #468847;
725
  background-color: #dff0d8 !important;
726
}
727
.responsive-utilities td.is-hidden {
728
  color: #ccc;
729
  background-color: #f9f9f9 !important;
730
}
731
732
/* Responsive tests
733
------------------------- */
734
.responsive-utilities-test {
735
  margin-top: 5px;
736
  margin-left: 0;
737
  list-style: none;
738
  overflow: hidden; /* clear floats */
739
}
740
.responsive-utilities-test li {
741
  position: relative;
742
  float: left;
743
  width: 25%;
744
  height: 43px;
745
  font-size: 14px;
746
  font-weight: bold;
747
  line-height: 43px;
748
  color: #999;
749
  text-align: center;
750
  border: 1px solid #ddd;
751
  -webkit-border-radius: 4px;
752
     -moz-border-radius: 4px;
753
          border-radius: 4px;
754
}
755
.responsive-utilities-test li + li {
756
  margin-left: 10px;
757
}
758
.responsive-utilities-test span {
759
  position: absolute;
760
  top:    -1px;
761
  left:   -1px;
762
  right:  -1px;
763
  bottom: -1px;
764
  -webkit-border-radius: 4px;
765
     -moz-border-radius: 4px;
766
          border-radius: 4px;
767
}
768
.responsive-utilities-test span {
769
  color: #468847;
770
  background-color: #dff0d8;
771
  border: 1px solid #d6e9c6;
772
}
773
774
775
776
/* Sidenav for Docs
777
-------------------------------------------------- */
778
779
.bs-docs-sidenav {
780
  width: 228px;
781
  margin: 30px 0 0;
782
  padding: 0;
783
  background-color: #fff;
784
  -webkit-border-radius: 6px;
785
     -moz-border-radius: 6px;
786
          border-radius: 6px;
787
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
788
     -moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
789
          box-shadow: 0 1px 4px rgba(0,0,0,.065);
790
}
791
.bs-docs-sidenav > li > a {
792
  display: block;
793
  width: 190px \9;
794
  margin: 0 0 -1px;
795
  padding: 8px 14px;
796
  border: 1px solid #e5e5e5;
797
}
798
.bs-docs-sidenav > li:first-child > a {
799
  -webkit-border-radius: 6px 6px 0 0;
800
     -moz-border-radius: 6px 6px 0 0;
801
          border-radius: 6px 6px 0 0;
802
}
803
.bs-docs-sidenav > li:last-child > a {
804
  -webkit-border-radius: 0 0 6px 6px;
805
     -moz-border-radius: 0 0 6px 6px;
806
          border-radius: 0 0 6px 6px;
807
}
808
.bs-docs-sidenav > .active > a {
809
  position: relative;
810
  z-index: 2;
811
  padding: 9px 15px;
812
  border: 0;
813
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
814
  -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
815
     -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
816
          box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
817
}
818
/* Chevrons */
819
.bs-docs-sidenav .icon-chevron-right {
820
  float: right;
821
  margin-top: 2px;
822
  margin-right: -6px;
823
  opacity: .25;
824
}
825
.bs-docs-sidenav > li > a:hover {
826
  background-color: #f5f5f5;
827
}
828
.bs-docs-sidenav a:hover .icon-chevron-right {
829
  opacity: .5;
830
}
831
.bs-docs-sidenav .active .icon-chevron-right,
832
.bs-docs-sidenav .active a:hover .icon-chevron-right {
833
  background-image: url(../img/glyphicons-halflings-white.png);
834
  opacity: 1;
835
}
836
.bs-docs-sidenav.affix {
837
  top: 40px;
838
}
839
.bs-docs-sidenav.affix-bottom {
840
  position: absolute;
841
  top: auto;
842
  bottom: 270px;
843
}
844
845
846
847
848
/* Responsive
849
-------------------------------------------------- */
850
851
/* Desktop large
852
------------------------- */
853
@media (min-width: 1200px) {
854
  .bs-docs-container {
855
    max-width: 970px;
856
  }
857
  .bs-docs-sidenav {
858
    width: 258px;
859
  }
860
  .bs-docs-sidenav > li > a {
861
    width: 230px \9; /* Override the previous IE8-9 hack */
862
  }
863
}
864
865
/* Desktop
866
------------------------- */
867
@media (max-width: 980px) {
868
  /* Unfloat brand */
869
  body > .navbar-fixed-top .brand {
870
    float: left;
871
    margin-left: 0;
872
    padding-left: 10px;
873
    padding-right: 10px;
874
  }
875
876
  /* Inline-block quick links for more spacing */
877
  .quick-links li {
878
    display: inline-block;
879
    margin: 5px;
880
  }
881
882
  /* When affixed, space properly */
883
  .bs-docs-sidenav {
884
    top: 0;
885
    width: 218px;
886
    margin-top: 30px;
887
    margin-right: 0;
888
  }
889
}
890
891
/* Tablet to desktop
892
------------------------- */
893
@media (min-width: 768px) and (max-width: 979px) {
894
  /* Remove any padding from the body */
895
  body {
896
    padding-top: 0;
897
  }
898
  /* Widen masthead and social buttons to fill body padding */
899
  .jumbotron {
900
    margin-top: -20px; /* Offset bottom margin on .navbar */
901
  }
902
  /* Adjust sidenav width */
903
  .bs-docs-sidenav {
904
    width: 166px;
905
    margin-top: 20px;
906
  }
907
  .bs-docs-sidenav.affix {
908
    top: 0;
909
  }
910
}
911
912
/* Tablet
913
------------------------- */
914
@media (max-width: 767px) {
915
  /* Remove any padding from the body */
916
  body {
917
    padding-top: 0;
918
  }
919
920
  /* Widen masthead and social buttons to fill body padding */
921
  .jumbotron {
922
    padding: 40px 20px;
923
    margin-top:   -20px; /* Offset bottom margin on .navbar */
924
    margin-right: -20px;
925
    margin-left:  -20px;
926
  }
927
  .masthead h1 {
928
    font-size: 90px;
929
  }
930
  .masthead p,
931
  .masthead .btn {
932
    font-size: 24px;
933
  }
934
  .marketing .span4 {
935
    margin-bottom: 40px;
936
  }
937
  .bs-docs-social {
938
    margin: 0 -20px;
939
  }
940
941
  /* Space out the show-grid examples */
942
  .show-grid [class*="span"] {
943
    margin-bottom: 5px;
944
  }
945
946
  /* Sidenav */
947
  .bs-docs-sidenav {
948
    width: auto;
949
    margin-bottom: 20px;
950
  }
951
  .bs-docs-sidenav.affix {
952
    position: static;
953
    width: auto;
954
    top: 0;
955
  }
956
957
  /* Unfloat the back to top link in footer */
958
  .footer {
959
    margin-left: -20px;
960
    margin-right: -20px;
961
    padding-left: 20px;
962
    padding-right: 20px;
963
  }
964
  .footer p {
965
    margin-bottom: 9px;
966
  }
967
}
968
969
/* Landscape phones
970
------------------------- */
971
@media (max-width: 480px) {
972
  /* Remove padding above jumbotron */
973
  body {
974
    padding-top: 0;
975
  }
976
977
  /* Change up some type stuff */
978
  h2 small {
979
    display: block;
980
  }
981
982
  /* Downsize the jumbotrons */
983
  .jumbotron h1 {
984
    font-size: 45px;
985
  }
986
  .jumbotron p,
987
  .jumbotron .btn {
988
    font-size: 18px;
989
  }
990
  .jumbotron .btn {
991
    display: block;
992
    margin: 0 auto;
993
  }
994
995
  /* center align subhead text like the masthead */
996
  .subhead h1,
997
  .subhead p {
998
    text-align: center;
999
  }
1000
1001
  /* Marketing on home */
1002
  .marketing h1 {
1003
    font-size: 30px;
1004
  }
1005
  .marketing-byline {
1006
    font-size: 18px;
1007
  }
1008
1009
  /* center example sites */
1010
  .example-sites {
1011
    margin-left: 0;
1012
  }
1013
  .example-sites > li {
1014
    float: none;
1015
    display: block;
1016
    max-width: 280px;
1017
    margin: 0 auto 18px;
1018
    text-align: center;
1019
  }
1020
  .example-sites .thumbnail > img {
1021
    max-width: 270px;
1022
  }
1023
1024
  /* Do our best to make tables work in narrow viewports */
1025
  table code {
1026
    white-space: normal;
1027
    word-wrap: break-word;
1028
    word-break: break-all;
1029
  }
1030
1031
  /* Examples: dropdowns */
1032
  .bs-docs-example-submenus > .pull-left {
1033
    float: none;
1034
    clear: both;
1035
  }
1036
  .bs-docs-example-submenus > .pull-left,
1037
  .bs-docs-example-submenus > .pull-left + .pull-left {
1038
    margin-left: 0;
1039
  }
1040
  .bs-docs-example-submenus p {
1041
    margin-bottom: 0;
1042
  }
1043
  .bs-docs-example-submenus .dropup > .dropdown-menu,
1044
  .bs-docs-example-submenus .dropdown > .dropdown-menu {
1045
    margin-bottom: 10px;
1046
    float: none;
1047
    max-width: 180px;
1048
  }
1049
1050
  /* Examples: modal */
1051
  .modal-example .modal {
1052
    position: relative;
1053
    top: auto;
1054
    right: auto;
1055
    bottom: auto;
1056
    left: auto;
1057
  }
1058
1059
  /* Tighten up footer */
1060
  .footer {
1061
    padding-top: 20px;
1062
    padding-bottom: 20px;
1063
  }
1064
}

+ 192 - 141
js/articalIssue.js

@ -1,66 +1,68 @@
1 1
$(function() {
2
	loginStatus();//判断个人是否登录
2
	loginStatus(); //判断个人是否登录
3 3
	var experarray = [];
4 4
	var resourcesarray = [];
5 5
	var $data = {};
6
	
6
	var articleId;
7
	var fa = false;
8

7 9
	//校验标题
8
	$("#newstitle").on("focus",function(){
10
	$("#newstitle").on("focus", function() {
9 11
		$(this).prev().find("span").text("30字以内");
10 12
	})
11
	$("#newstitle").on("blur",function(){
13
	$("#newstitle").on("blur", function() {
12 14
		$(this).prev().find("span").text("");
13 15
	})
14
	$("#newstitle").on("keyup",function(){
16
	$("#newstitle").on("keyup", function() {
15 17
		var inputval = $(this).val();
16 18
		var inputlen = inputval.replace(/[^\u0000-\u00ff]/g, "aa").length;
17
		if(inputlen > 60){
18
    		var value = inputval.substring(0,60);
19
   			$(this).val(value);
20
    	}
21
		
19
		if(inputlen > 60) {
20
			var value = inputval.substring(0, 60);
21
			$(this).val(value);
22
		}
23

22 24
	})
23
	
25

24 26
	//校验关键字
25
	$("#KeyWord").on("focus",function(){
27
	$("#KeyWord").on("focus", function() {
26 28
		$("#keyPrompt").text("最多可添加5个关键词、每个关键词最多10个字");
27 29
	})
28
	$("#KeyWord").on("blur",function(){
30
	$("#KeyWord").on("blur", function() {
29 31
		$("#keyPrompt").text("");
30 32
	})
31
	$("#KeyWord").on("keyup",function(){
33
	$("#KeyWord").on("keyup", function() {
32 34
		$(".frmadd,.keydrop").removeClass("displayNone");
33 35
		var inputval = $(this).val();
34 36
		var inputlen = inputval.replace(/[^\u0000-\u00ff]/g, "aa").length;
35
		if(inputlen > 20){
36
    		var value = inputval.substring(0,20);
37
   			$(this).val(value);
38
    	}
37
		if(inputlen > 20) {
38
			var value = inputval.substring(0, 20);
39
			$(this).val(value);
40
		}
39 41
	})
40
	
42

41 43
	//添加关键字
42
	$("#addkeyWord").on("click",function(){
43
		var keyWord =$("#KeyWord").val();
44
	$("#addkeyWord").on("click", function() {
45
		var keyWord = $("#KeyWord").val();
44 46
		keyWordlen(keyWord);
45 47
		$(".frmadd,.keydrop").addClass("displayNone");
46 48
	})
47
	
49

48 50
	//点击搜出的关键字添加
49
	$(".keydrop").on("click","p",function(){
50
		var keyWord =$(this).text();
51
	$(".keydrop").on("click", "p", function() {
52
		var keyWord = $(this).text();
51 53
		$(".frmadd,.keydrop").addClass("displayNone");
52 54
		keyWordlen(keyWord)
53 55
	})
54
	
56

55 57
	//删除关键字
56
	$("#keyWordlist").on("click",".closeThis",function(){
58
	$("#keyWordlist").on("click", ".closeThis", function() {
57 59
		$(this).parent().remove();
58
		var plength =$(".keyResult li p").length;
59
		if(plength < 5){
60
			$("#KeyWord").show();	
60
		var plength = $(".keyResult li p").length;
61
		if(plength < 5) {
62
			$("#KeyWord").show();
61 63
		}
62 64
	})
63
	
65

64 66
	//组合关键字
65 67
	function captiureSubInd(subIndu) {
66 68
		var industrys = $("#" + subIndu + "");
@ -74,63 +76,62 @@ $(function() {
74 76
		}
75 77
		return industryAll;
76 78
	}
77
	
78
	
79
	function keyWordlen(keyWord){
79

80
	function keyWordlen(keyWord) {
80 81
		$("#KeyWord").val("");
81 82
		var plength = $(".keyResult li p");
82
		for(var i=0;i<plength.length;i++){
83
			if(plength[i].innerText==keyWord){
83
		for(var i = 0; i < plength.length; i++) {
84
			if(plength[i].innerText == keyWord) {
84 85
				$("#keyPrompt").text("关键词已存在");
85 86
				return;
86 87
			}
87 88
		}
88 89
		if(plength.length > 3) {
89
		   $("#KeyWord").hide();
90
		   $("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>"+ keyWord +"</p><div class='closeThis'></div></li>");
91
		}else{
92
			$("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>"+ keyWord +"</p><div class='closeThis'></div></li>");
90
			$("#KeyWord").hide();
91
			$("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>" + keyWord + "</p><div class='closeThis'></div></li>");
92
		} else {
93
			$("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>" + keyWord + "</p><div class='closeThis'></div></li>");
93 94
		}
94 95
	}
95
	
96

96 97
	//校验右侧专家和资源
97
	$("#checkZj").on("focus",function(){
98
	$("#checkZj").on("focus", function() {
98 99
		$(this).prev().find("span").text("最多选择3位专家");
99 100
	})
100
	$("#checkZy").on("focus",function(){
101
	$("#checkZy").on("focus", function() {
101 102
		$(this).prev().find("span").text("最多选择3个资源");
102 103
	})
103
	$("#checkZj,#checkZy").on("blur",function(){
104
	$("#checkZj,#checkZy").on("blur", function() {
104 105
		$(this).prev().find("span").text("");
105 106
		//$(this).val("");
106 107
		//$(this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
107 108
	})
108
	
109
	$("#checkZj").on("keyup",function(){
110
		var _this=this;
109

110
	$("#checkZj").on("keyup", function() {
111
		var _this = this;
111 112
		checkZj(_this);
112 113
	})
113
	
114
	$("#checkZy").on("keyup",function(){
115
		var _this=this;
114

115
	$("#checkZy").on("keyup", function() {
116
		var _this = this;
116 117
		checkZy(_this);
117 118
	})
118
	
119
	$("#expertlist").on("click","li",function(){
119

120
	$("#expertlist").on("click", "li", function() {
120 121
		var _this = this;
121
		expertlist(_this,"该专家已选择");
122
		expertlist(_this, "该专家已选择");
122 123
	});
123
	$("#resouselist").on("click","li",function(){
124
	$("#resouselist").on("click", "li", function() {
124 125
		var _this = this;
125
		expertlist(_this,"该资源已选择");
126
		expertlist(_this, "该资源已选择");
126 127
	});
127
	
128

128 129
	//点击右侧搜索出的专家和资源列表
129
	function expertlist(_this,title){
130
	function expertlist(_this, title) {
130 131
		var liId = $(_this).html();
131 132
		var plength = $(_this).parents(".otherBlock").find(".addexpert li");
132
		for(var i=0;i<plength.length;i++){
133
			if(plength[i].innerHTML==liId){
133
		for(var i = 0; i < plength.length; i++) {
134
			if(plength[i].innerHTML == liId) {
134 135
				$(_this).parents(".otherBlock").find(".aboutTit span").text(title);
135 136
				$(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
136 137
				$(_this).parents(".otherBlock").find("input").val("");
@ -139,37 +140,37 @@ $(function() {
139 140
		}
140 141
		if(plength.length > 3) {
141 142
			$(_this).parents(".otherBlock").find("input").hide();
142
		 	$(_this).parents(".otherBlock").find(".addexpert").append($(_this).clone());
143
			$(_this).parents(".otherBlock").find(".addexpert").append($(_this).clone());
143 144
			$(_this).parents(".otherBlock").find("input").val("");
144 145
			$(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
145
		}else{
146
		} else {
146 147
			$(_this).parents(".otherBlock").find(".addexpert").append($(_this).clone());
147 148
			$(_this).parents(".otherBlock").find("input").val("");
148 149
			$(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
149 150
		}
150 151
	}
151
	
152

152 153
	//删除右侧搜索出的专家和资源
153
	$(".addexpert").on("click",".deleteThis",function(){
154
	$(".addexpert").on("click", ".deleteThis", function() {
154 155
		var plength = $(this).parent().parent().find("li").length;
155
		if(plength < 6){
156
		if(plength < 6) {
156 157
			$(this).parents(".otherBlock").find("input").show();
157 158
		}
158 159
		$(this).parent().remove();
159 160
	})
160
	
161
	function checkZj(_this){
161

162
	function checkZj(_this) {
162 163
		$.ajax({
163 164
			"url": "/ajax/professor/qaByName",
164 165
			"type": "get",
165 166
			"data": {
166 167
				"name": $("#checkZj").val(),
167
				"total":3
168
				"total": 3
168 169
			},
169 170
			"success": function(data) {
170 171
				console.log(data);
171
				if(data.success ) {
172
					if(data.data != ""){
172
				if(data.success) {
173
					if(data.data != "") {
173 174
						$(_this).next().removeClass("displayNone");
174 175
						var itemlist = '';
175 176
						$("#expertlist").html("");
@ -183,39 +184,39 @@ $(function() {
183 184
							$itemlist = $(itemlist);
184 185
							$("#expertlist").append($itemlist);
185 186
							var datalist = data.data[i];
186
							$itemlist.attr("data-id",datalist.id);
187
							$itemlist.attr("data-id", datalist.id);
187 188
							$itemlist.find("#name").text(datalist.name);
188 189
							$itemlist.find("#title").text(datalist.title);
189 190
							$itemlist.find("#orgName").text(datalist.orgName);
190
							if(datalist.hasHeadImage==1) {
191
							if(datalist.hasHeadImage == 1) {
191 192
								$itemlist.find("#userimg").attr("style", "background-image: url(/images/head/" + datalist.id + "_l.jpg);");
192 193
							}
193 194
						}
194
					}else{
195
					} else {
195 196
						$(_this).next().addClass("displayNone");
196 197
					}
197
				}else{
198
				} else {
198 199
					$(_this).next().addClass("displayNone");
199
				}	
200
				}
200 201
			},
201 202
			"error": function() {
202 203
				$.MsgBox.Alert('提示', '链接服务器超时')
203 204
			}
204 205
		});
205 206
	}
206
	
207
	function checkZy(_this){
207

208
	function checkZy(_this) {
208 209
		$.ajax({
209 210
			"url": "/ajax/resource/qaByName",
210 211
			"type": "get",
211 212
			"data": {
212 213
				"resourceName": $("#checkZy").val(),
213
				"rows":3
214
				"rows": 3
214 215
			},
215 216
			"success": function(data) {
216 217
				console.log(data);
217
				if(data.success ) {
218
					if(data.data != ""){
218
				if(data.success) {
219
					if(data.data != "") {
219 220
						$(_this).next().removeClass("displayNone");
220 221
						var itemlist = '';
221 222
						$("#resouselist").html("");
@ -229,19 +230,19 @@ $(function() {
229 230
							$itemlist = $(itemlist);
230 231
							$("#resouselist").append($itemlist);
231 232
							var datalist = data.data[i];
232
							$itemlist.attr("data-id",datalist.resourceId);
233
							$itemlist.attr("data-id", datalist.resourceId);
233 234
							$itemlist.find("#resourceName").text(datalist.resourceName);
234 235
							$itemlist.find("#name").text(datalist.professor.name);
235 236
							if(datalist.images.length > 0) {
236 237
								$itemlist.find("#userimg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
237 238
							}
238 239
						}
239
					}else{
240
					} else {
240 241
						$(_this).next().addClass("displayNone");
241 242
					}
242
				}else{
243
				} else {
243 244
					$(_this).next().addClass("displayNone");
244
				}	
245
				}
245 246
			},
246 247
			"error": function() {
247 248
				$.MsgBox.Alert('提示', '链接服务器超时')
@ -252,70 +253,85 @@ $(function() {
252 253
	var titleflase = false;
253 254
	var imgflase = false;
254 255
	//交验图片和标题不能为空
255
	function noTitleImg(){
256
	function noTitleImg() {
256 257
		var ImageKey = $("#uploader").attr("data-id");
257 258
		var newstitle = $("#newstitle").val();
258
		if(ImageKey==""){
259
		if(ImageKey == "") {
259 260
			$(".imgtis").text("请上传封面图片");
260
		}else{
261
		} else {
261 262
			$(".imgtis").text("");
262 263
			imgflase = true;
263 264
		}
264
		if(newstitle==""){
265
		if(newstitle == "") {
265 266
			$("#aboutTit span").text("请输入文章标题");
266
		}else{
267
		} else {
267 268
			$("#aboutTit span").text("");
268 269
			titleflase = true;
269 270
		}
270 271
	}
271
	
272

272 273
	//获取相关专家
273
	function expertli(){
274
		$("#expertli li").each(function(i){
275
			 var liid = $(this).attr("data-id");
276
		     experarray.push(liid);
274
	function expertli() {
275
		$("#expertli li").each(function(i) {
276
			var liid = $(this).attr("data-id");
277
			experarray.push(liid);
277 278
		});
278 279
		return $.unique(experarray);
279 280
	}
280
	
281
	//获取相关专家
282
	function resourcesli(){
283
		$("#resources li").each(function(i){
284
			 var liid = $(this).attr("data-id");
285
		     resourcesarray.push(liid);
281

282
	//获取相关资源
283
	function resourcesli() {
284
		$("#resources li").each(function(i) {
285
			var liid = $(this).attr("data-id");
286
			resourcesarray.push(liid);
286 287
		});
287 288
		return $.unique(resourcesarray);
288 289
	}
289 290

290
	
291 291
	//文章发布
292
	$("#release").on("click",function(){
292
	$("#release").on("click", function() {
293 293
		noTitleImg();
294
		if(imgflase && titleflase){
295
			$.MsgBox.Confirm("提示","确认发布该文章?",newsAdd);	
294
		if(imgflase && titleflase) {
295
			$.MsgBox.Confirm("提示", "确认发布该文章?", newsAdd);
296 296
		}
297 297
	})
298
	
298

299
	//定时文章发布
300
	$("#setTimeIssue").on("click", function() {
301
		noTitleImg();
302
		if(imgflase && titleflase) {
303
			$(".blackcover").fadeIn();
304
			$(".modelContain").show();
305
			$("body").addClass("modelOpen");
306
			$(".mb_btnOk").on("click", function() {
307
				var publishTime = $(".form_datetime").val();
308
				console.log(st6(publishTime));
309
				setTimeIssue(st6(publishTime));
310

311
			})
312
		}
313
	})
314

299 315
	//文章存草稿
300
	$("#draft").on("click",function(){
316
	$("#draft").on("click", function() {
301 317
		noTitleImg();
302
		if(imgflase && titleflase){
318
		if(imgflase && titleflase) {
303 319
			draftAdd(1);
304 320
		}
305 321
	})
306
	
322

307 323
	//文章预览
308
	$("#preview").on("click",function(){
324
	$("#preview").on("click", function() {
309 325
		noTitleImg();
310
		if(imgflase && titleflase){
326
		if(imgflase && titleflase) {
311 327
			draftAdd(2);
312 328
		}
313 329
	})
314
	
330

315 331
	/*获取数据*/
316
	function getdata(){
317
		expertli();//相关专家
318
		resourcesli();//相关咨询
332
	function getdata(publishTime) {
333
		expertli(); //相关专家
334
		resourcesli(); //相关咨询
319 335
		$data.professorId = userid;
320 336
		$data.articleTitle = $("#newstitle").val();
321 337
		$data.subject = captiureSubInd("keyWordlist .delkeylist");
@ -323,69 +339,104 @@ $(function() {
323 339
		$data.articleContent = ue.getContent();
324 340
		$data.professors = experarray;
325 341
		$data.resources = resourcesarray;
326
		if($("#hidearticleId").val().length != 0){
342
		if($("#hidearticleId").val().length != 0) {
327 343
			$data.articleId = $("#hidearticleId").val();
328 344
		}
345
		if($(".form_datetime").val().length != 0) {
346
			$data.publishTime = publishTime;
347
		}
329 348
		console.log($data);
330 349
	}
331
	
332
	/*文章添加*/
333
	function newsAdd(){
350

351
	/*文章发布*/
352
	function newsAdd() {
334 353
		getdata();
335 354
		$.ajax({
336
			"url" : "/ajax/article/save",
337
			"type" :  "post" ,
338
			"dataType" : "json",
339
			"data" :$data,
355
			"url": "/ajax/article/save",
356
			"type": "post",
357
			"dataType": "json",
358
			"data": $data,
340 359
			"traditional": true, //传数组必须加这个
341
			"success" : function(data) {
360
			"success": function(data) {
342 361
				console.log(data);
343
				if (data.success){
362
				if(data.success) {
344 363
					$("#hidearticleId").val(data.data);
345
					$.MsgBox.Alert("提示","文章发表成功!",function articalList(){
346
						location.href = "articalList.html";	
364
					$.MsgBox.Alert("提示", "文章发表成功!", function articalList() {
365
						location.href = "articalList.html";
347 366
					});
348 367
					$("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain');
349 368
				} else {
350
					$.MsgBox.Alert("提示","文章发表失败!");
369
					$.MsgBox.Alert("提示", "文章发表失败!");
370
				}
371
			},
372
			"error": function() {
373
				$.MsgBox.Alert('提示', '链接服务器超时')
374
			}
375
		});
376
	}
377

378
	/*文章定时发布*/
379
	function setTimeIssue(publishTime) {
380
		getdata(publishTime);
381
		$.ajax({
382
			"url": "/ajax/article/timing",
383
			"type": "post",
384
			"dataType": "json",
385
			"data": $data,
386
			"traditional": true, //传数组必须加这个
387
			"success": function(data) {
388
				console.log(data);
389
				if(data.success) {
390
					$("#hidearticleId").val(data.data);
391
					location.href = "articalList.html";
392
				} else {
393
					$.MsgBox.Alert("提示", "文章发表失败!");
351 394
				}
352 395
			},
353
			"error":function(){
354
				$.MsgBox.Alert('提示','链接服务器超时')
396
			"error": function() {
397
				$.MsgBox.Alert('提示', '链接服务器超时')
355 398
			}
356 399
		});
357 400
	}
358 401

359 402
	/*文章添加草稿和文章预览*/
360
	function draftAdd(num){
403
	function draftAdd(num) {
361 404
		getdata();
362 405
		$.ajax({
363
			"url" : "/ajax/article/draft",
364
			"type" :  "post" ,
365
			"dataType" : "json",
366
			"data" :$data,
406
			"url": "/ajax/article/draft",
407
			"type": "post",
408
			"dataType": "json",
409
			"data": $data,
367 410
			"traditional": true, //传数组必须加这个
368
			"success" : function(data) {
411
			"success": function(data) {
369 412
				console.log(data);
370
				if(num==1){
371
					if (data.success){
413
				if(num == 1) {
414
					if(data.success) {
372 415
						$("#hidearticleId").val(data.data);
373
						$.MsgBox.Alert("提示","文章已保存草稿。");
416
						$.MsgBox.Alert("提示", "文章已保存草稿。");
374 417
						$("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain');
375 418
					}
376 419
				}
377
				if(num==2){
378
					if (data.success){
420
				if(num == 2) {
421
					if(data.success) {
379 422
						$("#hidearticleId").val(data.data);
380 423
						articleId = data.data;
424
						fa = true;
425
					}
426
					if(fa) {
427
						window.open("articalPreview.html?articleId=" + articleId)
381 428
					}
382
					window.open("articalPreview.html?articleId="+ articleId)
383 429
				}
384 430
			},
385
			"error":function(){
386
				$.MsgBox.Alert('提示','链接服务器超时')
431
			"error": function() {
432
				$.MsgBox.Alert('提示', '链接服务器超时')
387 433
			}
388 434
		});
389 435
	}
390 436

437
	function st6(osr) {
438
		var tim = osr.substring(0, 4) + osr.substring(5, 7) + osr.substring(8, 10) + osr.substring(11, 13) + osr.substring(14, 16);
439
		return tim;
440
	}
441

391 442
});

+ 31 - 4
js/articalList.js

@ -2,6 +2,7 @@
2 2
$(function() {
3 3
	loginStatus(); //判断个人是否登录
4 4
	var userid = $.cookie("userid");
5
	var  falseno = false;
5 6
	articalList(10, 1, true, 1);
6 7
	$("#articleSearch").on("keyup", function() {
7 8
		var inputval = $(this).val();
@ -69,7 +70,7 @@ function articalList(pageSize, pageNo, isbind, num) {
69 70
					} else if(data.data.data[i].status == 2) {
70 71
						var li = '<li class="newbox draftList"><a href="" class="newurl">';
71 72
						var li2 = '<ul class="h2Font clearfix"><li><span class="time"></span></li></ul>';
72
						var li3 = '<span class="draftLable">草稿 | 将于 8月21日 08:00 定时发布</span>';
73
						var li3 = '<span class="draftLable" id="dsfbtime"></span>';
73 74
						var li4 = '<li><a class="editThis"></a></li>';
74 75
					}
75 76
					var itemlist = li;
@ -93,14 +94,40 @@ function articalList(pageSize, pageNo, isbind, num) {
93 94
					if(datalist.articleImg) {
94 95
						$itemlist.find("#artimg").attr("style", "background-image: url(/data/article/" + datalist.articleImg + ");");
95 96
					}
96
					if(datalist.status == 1) {
97
					if(datalist.status == 1) {//发布
97 98
						$itemlist.find(".time").text(Time(datalist.publishTime));
98 99
						$itemlist.find(".newurl").attr("href", "articalShow.html?articleId=" + datalist.articleId);
99
					} else {
100
					}
101
					if(datalist.status == 0){//草稿
100 102
						$itemlist.find(".time").text(Time(datalist.modifyTime));
101 103
						$itemlist.find(".newurl").attr("href", "articalModify.html?articleId=" + datalist.articleId);
102 104
						$itemlist.find(".editThis").attr("href", "articalModify.html?articleId=" + datalist.articleId);
103 105
					}
106
					if(datalist.status == 2){//定时发布
107
						$itemlist.find("#dsfbtime").text("草稿 | 将于" +Time(datalist.publishTime)+ "定时发布");
108
						$itemlist.find(".editThis").on("click",function(){
109
							$.ajax({
110
								"url": "/ajax/article/updateDraft",
111
								"type": "POST",
112
								"dataType": "json",
113
								"async": false,
114
								"data": {
115
									"articleId": datalist.articleId
116
								},
117
								"success": function(data) {
118
									if(data.success) {
119
										falseno = true;
120
									}
121
									if(falseno) {
122
										window.open("articalModify.html?articleId=" + datalist.articleId)
123
									}
124
								},
125
								"error": function() {
126
									$.MsgBox.Alert('提示', '链接服务器超时')
127
								}
128
							});
129
						})
130
					}
104 131
				}
105 132
				//分页
106 133
				if(isbind == true) {
@ -164,7 +191,7 @@ function articalList(pageSize, pageNo, isbind, num) {
164 191
function newsDelet(_this) {
165 192
	var delarticleId = $(_this).parents(".newbox").attr("data-id");
166 193
	$.ajax({
167
		"url": "/ajax/article/delete",
194
		"url": "/ajax/article/deleteArticle",
168 195
		"type": "POST",
169 196
		"dataType": "json",
170 197
		"data": {

+ 174 - 22
js/articalModify.js

@ -3,9 +3,13 @@ $(function() {
3 3
	var articleId = GetQueryString("articleId");
4 4
	var experarray = [];
5 5
	var resourcesarray = [];
6
    var $data = {};
7
    var modifyTimeval;
8
    var settime = false;
6 9
	
7 10
	articleshow();
8 11
	relevantExperts();
12
	relevantResources();
9 13
	//校验标题
10 14
	$("#newstitle").on("focus",function(){
11 15
		$(this).prev().find("span").text("30字以内");
@ -126,13 +130,14 @@ $(function() {
126 130
		$(this).prev().find("span").text("");
127 131
	})
128 132
	
129
	$("#checkZj").on("keyup",function(){
130
		var _this=this;
133
	$("#checkZj").on("keyup", function() {
134
		var _this = this;
131 135
		checkZj(_this);
132 136
	})
133
	
134
	$("#checkZy").on("keyup",function(){
135
		$(this).next().removeClass("displayNone");
137

138
	$("#checkZy").on("keyup", function() {
139
		var _this = this;
140
		checkZy(_this);
136 141
	})
137 142
	
138 143
	$("#expertlist").on("click","li",function(){
@ -223,6 +228,51 @@ $(function() {
223 228
		});
224 229
	}
225 230
	
231
		function checkZy(_this) {
232
		$.ajax({
233
			"url": "/ajax/resource/qaByName",
234
			"type": "get",
235
			"data": {
236
				"resourceName": $("#checkZy").val(),
237
				"rows": 3
238
			},
239
			"success": function(data) {
240
				console.log(data);
241
				if(data.success) {
242
					if(data.data != "") {
243
						$(_this).next().removeClass("displayNone");
244
						var itemlist = '';
245
						$("#resouselist").html("");
246
						for(var i = 0; i < data.data.length; i++) {
247
							var itemlist = '<li id="usid">';
248
							itemlist += '<div class="madiaHead resouseHead" id="userimg"></div>';
249
							itemlist += '<div class="madiaInfo">';
250
							itemlist += '<p class="h2Font ellipsisSty" id="resourceName"></p>';
251
							itemlist += '<p class="h1Font" id="name"></p>';
252
							itemlist += '</div><div class="deleteThis"></div></li>';
253
							$itemlist = $(itemlist);
254
							$("#resouselist").append($itemlist);
255
							var datalist = data.data[i];
256
							$itemlist.attr("data-id", datalist.resourceId);
257
							$itemlist.find("#resourceName").text(datalist.resourceName);
258
							$itemlist.find("#name").text(datalist.professor.name);
259
							if(datalist.images.length > 0) {
260
								$itemlist.find("#userimg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
261
							}
262
						}
263
					} else {
264
						$(_this).next().addClass("displayNone");
265
					}
266
				} else {
267
					$(_this).next().addClass("displayNone");
268
				}
269
			},
270
			"error": function() {
271
				$.MsgBox.Alert('提示', '链接服务器超时')
272
			}
273
		});
274
	}
275

226 276
    //初始化数据
227 277
	function articleshow(){
228 278
		$.ajax({
@ -249,6 +299,7 @@ $(function() {
249 299
				        ue.setContent(datadescp);
250 300
				    });
251 301
				    industryShow(data.data.subject,"keyWordlist");
302
				    modifyTimeval = data.data.modifyTime;
252 303
				}
253 304
			},
254 305
			"error":function(){
@ -259,7 +310,6 @@ $(function() {
259 310
	
260 311
	//相关专家
261 312
	function relevantExperts(){
262
	
263 313
		$.ajax({
264 314
			"url": "/ajax/article/ralatePro",
265 315
			"type": "get",
@ -313,6 +363,61 @@ $(function() {
313 363
			}
314 364
		});
315 365
	}
366
	
367
	//相关资源
368
	function relevantResources(){
369
		$.ajax({
370
			"url": "/ajax/article/ralateRes",
371
			"type": "get",
372
			"dataType" : "json",
373
			"data" :{"articleId":articleId},
374
			"success": function(data) {
375
				if(data.success && data.data) {
376
					for(var i = 0; i < data.data.length; i++) {
377
						var resourceId = data.data[i].resourceId;
378
						relevantResourcesList(resourceId)
379
					}
380
					
381
				}
382
			},
383
			"error": function() {
384
				$.MsgBox.Alert('提示', '链接服务器超时')
385
			}
386
		});
387
	}
388
	
389
	//相关资源信息
390
	function relevantResourcesList(resourceId){
391
		$.ajax({
392
			"url" : "/ajax/resource/resourceInfo",
393
			"type" :  "GET" ,
394
			"dataType" : "json",
395
			"data" :{"resourceId":resourceId},
396
			"success" : function(data) {
397
				console.log(data);
398
				if (data.success && data.data){
399
					var itemlist = '<li id="usid">';
400
						itemlist += '<div class="madiaHead resouseHead" id="userimg"></div>';
401
						itemlist += '<div class="madiaInfo">';
402
						itemlist += '<p class="h2Font ellipsisSty" id="resourceName"></p>';
403
						itemlist += '<p class="h1Font" id="name"></p>';
404
						itemlist += '</div><div class="deleteThis"></div></li>';
405
						$itemlist = $(itemlist);
406
						$("#resources").append($itemlist);
407
						var datalist = data.data;
408
						$itemlist.attr("data-id", datalist.resourceId);
409
						$itemlist.find("#resourceName").text(datalist.resourceName);
410
						$itemlist.find("#name").text(datalist.editProfessor.name);
411
						if(datalist.images.length > 0) {
412
							$itemlist.find("#userimg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
413
						}
414
				}
415
			},
416
			"error":function(){
417
				$.MsgBox.Alert('提示','链接服务器超时')
418
			}
419
		});
420
	}
316 421

317 422
	var titleflase = false;
318 423
	//交验图片和标题不能为空
@ -382,12 +487,26 @@ $(function() {
382 487
		$.MsgBox.Confirm("提示","确认删除该文章?",newsDelet);
383 488
	})
384 489
	
490
	//定时文章发布
491
	$("#setTimeIssue").on("click", function() {
492
		$(".form_datetime").val(timeGeshi(modifyTimeval));
493
		noTitleImg();
494
		if(titleflase) {
495
			$(".blackcover").fadeIn();
496
			$(".modelContain").show();
497
			$("body").addClass("modelOpen");
498
			$(".mb_btnOk").on("click", function() {
499
				var modifyTimeval = $(".form_datetime").val();
500
				settime = true;
501
				setTimeIssue(st6(modifyTimeval),settime);
502
			})
503
		}
504
	})
385 505
	
386
	/*文章添加*/
387
	function newsAdd(){
506
	/*获取数据*/
507
	function getdata(publishTime,settime) {
388 508
		expertli();//相关专家
389 509
		resourcesli();//相关咨询
390
	    var $data = {};
391 510
	    $data.articleId = articleId;
392 511
		$data.professorId = userid;
393 512
		$data.articleTitle = $("#newstitle").val();
@ -396,7 +515,16 @@ $(function() {
396 515
		$data.articleContent = ue.getContent();
397 516
		$data.professors = experarray;
398 517
		$data.resources = resourcesarray;
518
		if(settime) {
519
			$data.publishTime = publishTime;
520
		}
399 521
		console.log($data);
522
	}
523
	
524
	
525
	/*文章添加*/
526
	function newsAdd(){
527
		getdata();
400 528
		$.ajax({
401 529
			"url" : "/ajax/article/save",
402 530
			"type" :  "post" ,
@ -421,19 +549,33 @@ $(function() {
421 549
		});
422 550
	}
423 551

552
	/*文章定时发布*/
553
	function setTimeIssue(publishTime,settime) {
554
		getdata(publishTime,settime);
555
		$.ajax({
556
			"url": "/ajax/article/timing",
557
			"type": "post",
558
			"dataType": "json",
559
			"data": $data,
560
			"traditional": true, //传数组必须加这个
561
			"success": function(data) {
562
				console.log(data);
563
				if(data.success) {
564
					articleId = data.data;
565
					location.href = "articalList.html";
566
				} else {
567
					$.MsgBox.Alert("提示", "文章发表失败!");
568
				}
569
			},
570
			"error": function() {
571
				$.MsgBox.Alert('提示', '链接服务器超时')
572
			}
573
		});
574
	}
575

424 576
	/*文章添加草稿和文章预览*/
425 577
	function draftAdd(num){
426
		expertli();//相关专家
427
		resourcesli();//相关咨询
428
	    var $data = {};
429
	    $data.articleId = articleId;
430
		$data.professorId = userid;
431
		$data.articleTitle = $("#newstitle").val();
432
		$data.subject = captiureSubInd("keyWordlist .delkeylist");
433
		$data.articleImg = $("#uploader").attr("data-id");
434
		$data.articleContent = ue.getContent();
435
		$data.professors = experarray;
436
		$data.resources = resourcesarray;
578
		getdata();
437 579
		$.ajax({
438 580
			"url" : "/ajax/article/draft",
439 581
			"type" :  "post" ,
@ -466,7 +608,7 @@ $(function() {
466 608
	/*文章删除*/
467 609
    function newsDelet() {
468 610
    	$.ajax({
469
			"url" : "/ajax/article/leteArticlose",
611
			"url" : "/ajax/article/deleteArtileteArticle",
470 612
			"type" : "POST",
471 613
			"dataType" : "json",
472 614
			"data": {
@ -478,9 +620,19 @@ $(function() {
478 620
				} 
479 621
			},
480 622
			"error":function(){
481
				$.MsgBox.Alert('消息','链接服务器超时')
623
				$.MsgBox.Alert('提示','链接服务器超时')
482 624
			}
483 625
		})
484 626
	}
627
    
628
    function st6(osr) {
629
		var tim = osr.substring(0, 4) + osr.substring(5, 7) + osr.substring(8, 10) + osr.substring(11, 13) + osr.substring(14, 16);
630
		return tim;
631
	}
632
    
633
    function timeGeshi(otm) {
634
		var otme = otm.substring(0, 4) + "-" + otm.substring(4, 6) + "-" + otm.substring(6, 8) + " " + otm.substring(8, 10)+ ":" + otm.substring(10, 12);
635
		return otme;
636
	}
485 637

486 638
});

+ 36 - 61
js/articalPreview.js

@ -129,28 +129,6 @@ $(function() {
129 129
		});
130 130
	}
131 131
	
132
	//相关资源
133
	function relevantResources(){
134
		$.ajax({
135
			"url": "/ajax/article/ralateRes",
136
			"type": "get",
137
			"dataType" : "json",
138
			"data" :{"articleId":articleId},
139
			"success": function(data) {
140
				if(data.success && data.data) {
141
					for(var i = 0; i < data.data.length; i++) {
142
						var professorId = data.data[i].professorId;
143
						relevantResourcesList(professorId)
144
					}
145
					
146
				}
147
			},
148
			"error": function() {
149
				$.MsgBox.Alert('提示', '链接服务器超时')
150
			}
151
		});
152
	}
153
	
154 132
	//相关专家信息
155 133
	function relevantExpertsList(professorId){
156 134
		$.ajax({
@ -207,54 +185,52 @@ $(function() {
207 185
		});
208 186
	}
209 187
	
188
	//相关资源
189
	function relevantResources(){
190
		$.ajax({
191
			"url": "/ajax/article/ralateRes",
192
			"type": "get",
193
			"dataType" : "json",
194
			"data" :{"articleId":articleId},
195
			"success": function(data) {
196
				if(data.success && data.data) {
197
					for(var i = 0; i < data.data.length; i++) {
198
						var resourceId = data.data[i].resourceId;
199
						relevantResourcesList(resourceId)
200
					}
201
					
202
				}
203
			},
204
			"error": function() {
205
				$.MsgBox.Alert('提示', '链接服务器超时')
206
			}
207
		});
208
	}
209
	
210 210
	//相关资源信息
211
	function relevantResourcesList(professorId){
211
	function relevantResourcesList(resourceId){
212 212
		$.ajax({
213
			"url" : "/ajax/professor/info/"+professorId,
213
			"url" : "/ajax/resource/resourceInfo",
214 214
			"type" :  "GET" ,
215 215
			"dataType" : "json",
216
			"data" :{"resourceId":resourceId},
216 217
			"success" : function(data) {
218
				console.log(data);
217 219
				if (data.success && data.data){
218
					var itemlist = '';
219
					$("#trelevantExperts").html("");
220 220
					var itemlist = '<li>';
221
						itemlist += '<div class="madiaHead useHead" id="userimg"></div>';
221
						itemlist += '<div class="madiaHead resouseHead" id="userimg"></div>';
222 222
						itemlist += '<div class="madiaInfo">';
223
						itemlist += '<p><span class="h1Font" id="userName"></span><em class="authiconNew" title=""></em></p>';
224
						itemlist += '<p class="ellipsisSty h2Font" id="usertitle"></p>';
225
						itemlist += '<p class="h2Font ellipsisSty" id="researchAreas"></p>';
223
						itemlist += '<p class="h1Font" id="resourceName"></p>';
224
						itemlist += '<p class="h2Font ellipsisSty-2" id="name"></p>';
226 225
						itemlist += '</div></li>';
227 226
						$itemlist = $(itemlist);
228
						$("#relevantExperts").append($itemlist);
229
						var title = data.data.title || "";
230
						var office = data.data.office || "";
231
						if(title != "") {
232
							 title = title  + " , ";
233
						}
234
						$itemlist.find("#userName").text(data.data.name);
235
						$itemlist.find("#usertitle").text(title + office);
236
						/*获取研究方向信息*/
237
						var researchAreas = data.data.researchAreas;
238
						if(researchAreas != ""){
239
							var rlist = '研究方向:';
240
						}else{
241
							var rlist = '';
242
						}
243
						for(var n = 0; n < researchAreas.length; n++) {
244
							//console.log(researchAreas[n].caption);
245
							rlist += researchAreas[n].caption
246
							if(n < researchAreas.length - 1) {
247
								rlist += ";"
248
							}
249
						}
250
						$itemlist.find("#researchAreas").text(rlist);
251
						if(data.data.hasHeadImage == 1) {
252
							$itemlist.find("#userimg").attr("style", "background-image: url(/images/head/" + data.data.id + "_l.jpg);");
227
						$("#resources").append($itemlist);
228
						var datalist = data.data;
229
						$itemlist.find("#resourceName").text(datalist.resourceName);
230
						$itemlist.find("#name").text(datalist.supportedServices);
231
						if(datalist.images.length > 0) {
232
							$itemlist.find("#userimg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
253 233
						}
254
						var userType = autho(data.data.authType, data.data.orgAuth, data.data.authStatus);
255
						$itemlist.find(".authiconNew").attr("title", userType.title);
256
						$itemlist.find(".authiconNew").addClass(userType.sty);
257
						
258 234
				}
259 235
			},
260 236
			"error":function(){
@ -262,8 +238,7 @@ $(function() {
262 238
			}
263 239
		});
264 240
	}
265
	
266
	
241

267 242
	/*时间转换*/
268 243
	function Time(dealtime) {
269 244
		var s = dealtime;

+ 1 - 0
js/public/bootstrap-datetimepicker.min.js

@ -0,0 +1 @@
1
!function(c){function f(){return new Date(Date.UTC.apply(Date,arguments))}function a(){var g=new Date();return f(g.getUTCFullYear(),g.getUTCMonth(),g.getUTCDate(),g.getUTCHours(),g.getUTCMinutes(),g.getUTCSeconds(),0)}var e=function(h,g){var i=this;this.element=c(h);this.language=g.language||this.element.data("date-language")||"en";this.language=this.language in d?this.language:"en";this.isRTL=d[this.language].rtl||false;this.formatType=g.formatType||this.element.data("format-type")||"standard";this.format=b.parseFormat(g.format||this.element.data("date-format")||b.getDefaultFormat(this.formatType,"input"),this.formatType);this.isInline=false;this.isVisible=false;this.isInput=this.element.is("input");this.component=this.element.is(".date")?this.element.find(".add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar").parent():false;this.componentReset=this.element.is(".date")?this.element.find(".add-on .icon-remove").parent():false;this.hasInput=this.component&&this.element.find("input").length;if(this.component&&this.component.length===0){this.component=false}this.linkField=g.linkField||this.element.data("link-field")||false;this.linkFormat=b.parseFormat(g.linkFormat||this.element.data("link-format")||b.getDefaultFormat(this.formatType,"link"),this.formatType);this.minuteStep=g.minuteStep||this.element.data("minute-step")||5;this.pickerPosition=g.pickerPosition||this.element.data("picker-position")||"bottom-right";this.showMeridian=g.showMeridian||this.element.data("show-meridian")||false;this.initialDate=g.initialDate||new Date();this._attachEvents();this.minView=0;if("minView" in g){this.minView=g.minView}else{if("minView" in this.element.data()){this.minView=this.element.data("min-view")}}this.minView=b.convertViewMode(this.minView);this.maxView=b.modes.length-1;if("maxView" in g){this.maxView=g.maxView}else{if("maxView" in this.element.data()){this.maxView=this.element.data("max-view")}}this.maxView=b.convertViewMode(this.maxView);this.startViewMode=2;if("startView" in g){this.startViewMode=g.startView}else{if("startView" in this.element.data()){this.startViewMode=this.element.data("start-view")}}this.startViewMode=b.convertViewMode(this.startViewMode);this.viewMode=this.startViewMode;this.viewSelect=this.minView;if("viewSelect" in g){this.viewSelect=g.viewSelect}else{if("viewSelect" in this.element.data()){this.viewSelect=this.element.data("view-select")}}this.viewSelect=b.convertViewMode(this.viewSelect);this.forceParse=true;if("forceParse" in g){this.forceParse=g.forceParse}else{if("dateForceParse" in this.element.data()){this.forceParse=this.element.data("date-force-parse")}}this.picker=c(b.template).appendTo(this.isInline?this.element:"body").on({click:c.proxy(this.click,this),mousedown:c.proxy(this.mousedown,this)});if(this.isInline){this.picker.addClass("datetimepicker-inline")}else{if(this.component&&this.pickerPosition=="bottom-left"){this.picker.addClass("datetimepicker-dropdown-left dropdown-menu")}else{this.picker.addClass("datetimepicker-dropdown dropdown-menu")}}if(this.isRTL){this.picker.addClass("datetimepicker-rtl");this.picker.find(".prev i, .next i").toggleClass("icon-arrow-left icon-arrow-right")}c(document).on("mousedown",function(j){if(c(j.target).closest(".datetimepicker").length===0){i.hide()}});this.autoclose=false;if("autoclose" in g){this.autoclose=g.autoclose}else{if("dateAutoclose" in this.element.data()){this.autoclose=this.element.data("date-autoclose")}}this.keyboardNavigation=true;if("keyboardNavigation" in g){this.keyboardNavigation=g.keyboardNavigation}else{if("dateKeyboardNavigation" in this.element.data()){this.keyboardNavigation=this.element.data("date-keyboard-navigation")}}this.todayBtn=(g.todayBtn||this.element.data("date-today-btn")||false);this.todayHighlight=(g.todayHighlight||this.element.data("date-today-highlight")||false);this.weekStart=((g.weekStart||this.element.data("date-weekstart")||d[this.language].weekStart||0)%7);this.weekEnd=((this.weekStart+6)%7);this.startDate=-Infinity;this.endDate=Infinity;this.daysOfWeekDisabled=[];this.setStartDate(g.startDate||this.element.data("date-startdate"));this.setEndDate(g.endDate||this.element.data("date-enddate"));this.setDaysOfWeekDisabled(g.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled"));this.fillDow();this.fillMonths();this.update();this.showMode();if(this.isInline){this.show()}};e.prototype={constructor:e,_events:[],_attachEvents:function(){this._detachEvents();if(this.isInput){this._events=[[this.element,{focus:c.proxy(this.show,this),keyup:c.proxy(this.update,this),keydown:c.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find("input"),{focus:c.proxy(this.show,this),keyup:c.proxy(this.update,this),keydown:c.proxy(this.keydown,this)}],[this.component,{click:c.proxy(this.show,this)}]];if(this.componentReset){this._events.push([this.componentReset,{click:c.proxy(this.reset,this)}])}}else{if(this.element.is("div")){this.isInline=true}else{this._events=[[this.element,{click:c.proxy(this.show,this)}]]}}}for(var g=0,h,j;g<this._events.length;g++){h=this._events[g][0];j=this._events[g][1];h.on(j)}},_detachEvents:function(){for(var g=0,h,j;g<this._events.length;g++){h=this._events[g][0];j=this._events[g][1];h.off(j)}this._events=[]},show:function(g){this.picker.show();this.height=this.component?this.component.outerHeight():this.element.outerHeight();if(this.forceParse){this.update()}this.place();c(window).on("resize",c.proxy(this.place,this));if(g){g.stopPropagation();g.preventDefault()}this.isVisible=true;this.element.trigger({type:"show",date:this.date})},hide:function(g){if(!this.isVisible){return}if(this.isInline){return}this.picker.hide();c(window).off("resize",this.place);this.viewMode=this.startViewMode;this.showMode();if(!this.isInput){c(document).off("mousedown",this.hide)}if(this.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())){this.setValue()}this.isVisible=false;this.element.trigger({type:"hide",date:this.date})},remove:function(){this._detachEvents();this.picker.remove();delete this.element.data().datetimepicker},getDate:function(){var g=this.getUTCDate();return new Date(g.getTime()+(g.getTimezoneOffset()*60000))},getUTCDate:function(){return this.date},setDate:function(g){this.setUTCDate(new Date(g.getTime()-(g.getTimezoneOffset()*60000)))},setUTCDate:function(g){if(g>=this.startDate&&g<=this.endDate){this.date=g;this.setValue();this.viewDate=this.date;this.fill()}else{this.element.trigger({type:"outOfRange",date:g,startDate:this.startDate,endDate:this.endDate})}},setValue:function(){var g=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").prop("value",g)}this.element.data("date",g)}else{this.element.prop("value",g)}if(this.linkField){c("#"+this.linkField).val(this.getFormattedDate(this.linkFormat))}},getFormattedDate:function(g){if(g==undefined){g=this.format}return b.formatDate(this.date,g,this.language,this.formatType)},setStartDate:function(g){this.startDate=g||-Infinity;if(this.startDate!==-Infinity){this.startDate=b.parseDate(this.startDate,this.format,this.language,this.formatType)}this.update();this.updateNavArrows()},setEndDate:function(g){this.endDate=g||Infinity;if(this.endDate!==Infinity){this.endDate=b.parseDate(this.endDate,this.format,this.language,this.formatType)}this.update();this.updateNavArrows()},setDaysOfWeekDisabled:function(g){this.daysOfWeekDisabled=g||[];if(!c.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)}this.daysOfWeekDisabled=c.map(this.daysOfWeekDisabled,function(h){return parseInt(h,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}var i=parseInt(this.element.parents().filter(function(){return c(this).css("z-index")!="auto"}).first().css("z-index"))+10;var h,g;if(this.component){h=this.component.offset();g=h.left;if(this.pickerPosition=="bottom-left"){g+=this.component.outerWidth()-this.picker.outerWidth()}}else{h=this.element.offset();g=h.left}this.picker.css({top:h.top+this.height,left:g,zIndex:i})},update:function(){var g,h=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){g=arguments[0];h=true}else{g=this.isInput?this.element.prop("value"):this.element.data("date")||this.element.find("input").prop("value")||this.initialDate}if(!g){g=new Date();h=false}this.date=b.parseDate(g,this.format,this.language,this.formatType);if(h){this.setValue()}if(this.date<this.startDate){this.viewDate=new Date(this.startDate)}else{if(this.date>this.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var g=this.weekStart,h="<tr>";while(g<this.weekStart+7){h+='<th class="dow">'+d[this.language].daysMin[(g++)%7]+"</th>"}h+="</tr>";this.picker.find(".datetimepicker-days thead").append(h)},fillMonths:function(){var h="",g=0;while(g<12){h+='<span class="month">'+d[this.language].monthsShort[g++]+"</span>"}this.picker.find(".datetimepicker-months td").html(h)},fill:function(){if(this.date==null||this.viewDate==null){return}var B=new Date(this.viewDate),o=B.getUTCFullYear(),C=B.getUTCMonth(),h=B.getUTCDate(),x=B.getUTCHours(),s=B.getUTCMinutes(),t=this.startDate!==-Infinity?this.startDate.getUTCFullYear():-Infinity,y=this.startDate!==-Infinity?this.startDate.getUTCMonth():-Infinity,k=this.endDate!==Infinity?this.endDate.getUTCFullYear():Infinity,u=this.endDate!==Infinity?this.endDate.getUTCMonth():Infinity,l=(new f(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate())).valueOf(),A=new Date();this.picker.find(".datetimepicker-days thead th:eq(1)").text(d[this.language].months[C]+" "+o);this.picker.find(".datetimepicker-hours thead th:eq(1)").text(h+" "+d[this.language].months[C]+" "+o);this.picker.find(".datetimepicker-minutes thead th:eq(1)").text(h+" "+d[this.language].months[C]+" "+o);this.picker.find("tfoot th.today").text(d[this.language].today).toggle(this.todayBtn!==false);this.updateNavArrows();this.fillMonths();var E=f(o,C-1,28,0,0,0,0),w=b.getDaysInMonth(E.getUTCFullYear(),E.getUTCMonth());E.setUTCDate(w);E.setUTCDate(w-(E.getUTCDay()-this.weekStart+7)%7);var g=new Date(E);g.setUTCDate(g.getUTCDate()+42);g=g.valueOf();var m=[];var p;while(E.valueOf()<g){if(E.getUTCDay()==this.weekStart){m.push("<tr>")}p="";if(E.getUTCFullYear()<o||(E.getUTCFullYear()==o&&E.getUTCMonth()<C)){p+=" old"}else{if(E.getUTCFullYear()>o||(E.getUTCFullYear()==o&&E.getUTCMonth()>C)){p+=" new"}}if(this.todayHighlight&&E.getUTCFullYear()==A.getFullYear()&&E.getUTCMonth()==A.getMonth()&&E.getUTCDate()==A.getDate()){p+=" today"}if(E.valueOf()==l){p+=" active"}if((E.valueOf()+86400000)<=this.startDate||E.valueOf()>this.endDate||c.inArray(E.getUTCDay(),this.daysOfWeekDisabled)!==-1){p+=" disabled"}m.push('<td class="day'+p+'">'+E.getUTCDate()+"</td>");if(E.getUTCDay()==this.weekEnd){m.push("</tr>")}E.setUTCDate(E.getUTCDate()+1)}this.picker.find(".datetimepicker-days tbody").empty().append(m.join(""));m=[];var q="",z="",n="";for(var v=0;v<24;v++){var r=f(o,C,h,v);p="";if((r.valueOf()+3600000)<=this.startDate||r.valueOf()>this.endDate){p+=" disabled"}else{if(x==v){p+=" active"}}if(this.showMeridian&&d[this.language].meridiem.length==2){z=(v<12?d[this.language].meridiem[0]:d[this.language].meridiem[1]);if(z!=n){if(n!=""){m.push("</fieldset>")}m.push('<fieldset class="hour"><legend>'+z.toUpperCase()+"</legend>")}n=z;q=(v%12?v%12:12);m.push('<span class="hour'+p+" hour_"+(v<12?"am":"pm")+'">'+q+"</span>");if(v==23){m.push("</fieldset>")}}else{q=v+":00";m.push('<span class="hour'+p+'">'+q+"</span>")}}this.picker.find(".datetimepicker-hours td").html(m.join(""));m=[];q="",z="",n="";for(var v=0;v<60;v+=this.minuteStep){var r=f(o,C,h,x,v,0);p="";if(r.valueOf()<this.startDate||r.valueOf()>this.endDate){p+=" disabled"}else{if(Math.floor(s/this.minuteStep)==Math.floor(v/this.minuteStep)){p+=" active"}}if(this.showMeridian&&d[this.language].meridiem.length==2){z=(x<12?d[this.language].meridiem[0]:d[this.language].meridiem[1]);if(z!=n){if(n!=""){m.push("</fieldset>")}m.push('<fieldset class="minute"><legend>'+z.toUpperCase()+"</legend>")}n=z;q=(x%12?x%12:12);m.push('<span class="minute'+p+'">'+q+":"+(v<10?"0"+v:v)+"</span>");if(v==59){m.push("</fieldset>")}}else{q=v+":00";m.push('<span class="minute'+p+'">'+x+":"+(v<10?"0"+v:v)+"</span>")}}this.picker.find(".datetimepicker-minutes td").html(m.join(""));var F=this.date.getUTCFullYear();var j=this.picker.find(".datetimepicker-months").find("th:eq(1)").text(o).end().find("span").removeClass("active");if(F==o){j.eq(this.date.getUTCMonth()).addClass("active")}if(o<t||o>k){j.addClass("disabled")}if(o==t){j.slice(0,y).addClass("disabled")}if(o==k){j.slice(u+1).addClass("disabled")}m="";o=parseInt(o/10,10)*10;var D=this.picker.find(".datetimepicker-years").find("th:eq(1)").text(o+"-"+(o+9)).end().find("td");o-=1;for(var v=-1;v<11;v++){m+='<span class="year'+(v==-1||v==10?" old":"")+(F==o?" active":"")+(o<t||o>k?" disabled":"")+'">'+o+"</span>";o+=1}D.html(m)},updateNavArrows:function(){var k=new Date(this.viewDate),i=k.getUTCFullYear(),j=k.getUTCMonth(),h=k.getUTCDate(),g=k.getUTCHours();switch(this.viewMode){case 0:if(this.startDate!==-Infinity&&i<=this.startDate.getUTCFullYear()&&j<=this.startDate.getUTCMonth()&&h<=this.startDate.getUTCDate()&&g<=this.startDate.getUTCHours()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&i>=this.endDate.getUTCFullYear()&&j>=this.endDate.getUTCMonth()&&h>=this.endDate.getUTCDate()&&g>=this.endDate.getUTCHours()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:if(this.startDate!==-Infinity&&i<=this.startDate.getUTCFullYear()&&j<=this.startDate.getUTCMonth()&&h<=this.startDate.getUTCDate()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&i>=this.endDate.getUTCFullYear()&&j>=this.endDate.getUTCMonth()&&h>=this.endDate.getUTCDate()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 2:if(this.startDate!==-Infinity&&i<=this.startDate.getUTCFullYear()&&j<=this.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&i>=this.endDate.getUTCFullYear()&&j>=this.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 3:case 4:if(this.startDate!==-Infinity&&i<=this.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&i>=this.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},click:function(k){k.stopPropagation();k.preventDefault();var l=c(k.target).closest("span, td, th, legend");if(l.length==1){if(l.is(".disabled")){this.element.trigger({type:"outOfRange",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});return}switch(l[0].nodeName.toLowerCase()){case"th":switch(l[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var g=b.modes[this.viewMode].navStep*(l[0].className=="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,g);break;case 1:this.viewDate=this.moveDate(this.viewDate,g);break;case 2:this.viewDate=this.moveMonth(this.viewDate,g);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,g);break}this.fill();break;case"today":var h=new Date();h=f(h.getFullYear(),h.getMonth(),h.getDate(),h.getHours(),h.getMinutes(),h.getSeconds(),0);this.viewMode=this.startViewMode;this.showMode(0);this._setDate(h);this.fill();if(this.autoclose){this.hide()}break}break;case"span":if(!l.is(".disabled")){var n=this.viewDate.getUTCFullYear(),m=this.viewDate.getUTCMonth(),o=this.viewDate.getUTCDate(),p=this.viewDate.getUTCHours(),i=this.viewDate.getUTCMinutes(),q=this.viewDate.getUTCSeconds();if(l.is(".month")){this.viewDate.setUTCDate(1);m=l.parent().find("span").index(l);this.viewDate.setUTCMonth(m);this.element.trigger({type:"changeMonth",date:this.viewDate});if(this.viewSelect>=3){this._setDate(f(n,m,o,p,i,q,0))}}else{if(l.is(".year")){this.viewDate.setUTCDate(1);n=parseInt(l.text(),10)||0;this.viewDate.setUTCFullYear(n);this.element.trigger({type:"changeYear",date:this.viewDate});if(this.viewSelect>=4){this._setDate(f(n,m,o,p,i,q,0))}}else{if(l.is(".hour")){p=parseInt(l.text(),10)||0;if(l.hasClass("hour_am")||l.hasClass("hour_pm")){if(p==12&&l.hasClass("hour_am")){p=0}else{if(p!=12&&l.hasClass("hour_pm")){p+=12}}}this.viewDate.setUTCHours(p);this.element.trigger({type:"changeHour",date:this.viewDate});if(this.viewSelect>=1){this._setDate(f(n,m,o,p,i,q,0))}}else{if(l.is(".minute")){i=parseInt(l.text().substr(l.text().indexOf(":")+1),10)||0;this.viewDate.setUTCMinutes(i);this.element.trigger({type:"changeMinute",date:this.viewDate});if(this.viewSelect>=0){this._setDate(f(n,m,o,p,i,q,0))}}}}}if(this.viewMode!=0){var j=this.viewMode;this.showMode(-1);this.fill();if(j==this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}}break;case"td":if(l.is(".day")&&!l.is(".disabled")){var o=parseInt(l.text(),10)||1;var n=this.viewDate.getUTCFullYear(),m=this.viewDate.getUTCMonth(),p=this.viewDate.getUTCHours(),i=this.viewDate.getUTCMinutes(),q=this.viewDate.getUTCSeconds();if(l.is(".old")){if(m===0){m=11;n-=1}else{m-=1}}else{if(l.is(".new")){if(m==11){m=0;n+=1}else{m+=1}}}this.viewDate.setUTCDate(o);this.viewDate.setUTCMonth(m);this.viewDate.setUTCFullYear(n);this.element.trigger({type:"changeDay",date:this.viewDate});if(this.viewSelect>=2){this._setDate(f(n,m,o,p,i,q,0))}}var j=this.viewMode;this.showMode(-1);this.fill();if(j==this.viewMode&&this.autoclose){this.hide()}break}}},_setDate:function(g,i){if(!i||i=="date"){this.date=g}if(!i||i=="view"){this.viewDate=g}this.fill();this.element.trigger({type:"changeDate",date:this.date});this.setValue();var h;if(this.isInput){h=this.element}else{if(this.component){h=this.element.find("input")}}if(h){h.change();if(this.autoclose&&(!i||i=="date")){}}},moveMinute:function(h,g){if(!g){return h}var i=new Date(h.valueOf());i.setUTCMinutes(i.getUTCMinutes()+(g*this.minuteStep));return i},moveHour:function(h,g){if(!g){return h}var i=new Date(h.valueOf());i.setUTCHours(i.getUTCHours()+g);return i},moveDate:function(h,g){if(!g){return h}var i=new Date(h.valueOf());i.setUTCDate(i.getUTCDate()+g);return i},moveMonth:function(g,h){if(!h){return g}var l=new Date(g.valueOf()),p=l.getUTCDate(),m=l.getUTCMonth(),k=Math.abs(h),o,n;h=h>0?1:-1;if(k==1){n=h==-1?function(){return l.getUTCMonth()==m}:function(){return l.getUTCMonth()!=o};o=m+h;l.setUTCMonth(o);if(o<0||o>11){o=(o+12)%12}}else{for(var j=0;j<k;j++){l=this.moveMonth(l,h)}o=l.getUTCMonth();l.setUTCDate(p);n=function(){return o!=l.getUTCMonth()}}while(n()){l.setUTCDate(--p);l.setUTCMonth(o)}return l},moveYear:function(h,g){return this.moveMonth(h,g*12)},dateWithinRange:function(g){return g>=this.startDate&&g<=this.endDate},keydown:function(k){if(this.picker.is(":not(:visible)")){if(k.keyCode==27){this.show()}return}var m=false,h,n,l,o,g;switch(k.keyCode){case 27:this.hide();k.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}h=k.keyCode==37?-1:1;viewMode=this.viewMode;if(k.ctrlKey){viewMode+=2}else{if(k.shiftKey){viewMode+=1}}if(viewMode==4){o=this.moveYear(this.date,h);g=this.moveYear(this.viewDate,h)}else{if(viewMode==3){o=this.moveMonth(this.date,h);g=this.moveMonth(this.viewDate,h)}else{if(viewMode==2){o=this.moveDate(this.date,h);g=this.moveDate(this.viewDate,h)}else{if(viewMode==1){o=this.moveHour(this.date,h);g=this.moveHour(this.viewDate,h)}else{if(viewMode==0){o=this.moveMinute(this.date,h);g=this.moveMinute(this.viewDate,h)}}}}}if(this.dateWithinRange(o)){this.date=o;this.viewDate=g;this.setValue();this.update();k.preventDefault();m=true}break;case 38:case 40:if(!this.keyboardNavigation){break}h=k.keyCode==38?-1:1;viewMode=this.viewMode;if(k.ctrlKey){viewMode+=2}else{if(k.shiftKey){viewMode+=1}}if(viewMode==4){o=this.moveYear(this.date,h);g=this.moveYear(this.viewDate,h)}else{if(viewMode==3){o=this.moveMonth(this.date,h);g=this.moveMonth(this.viewDate,h)}else{if(viewMode==2){o=this.moveDate(this.date,h*7);g=this.moveDate(this.viewDate,h*7)}else{if(viewMode==1){if(this.showMeridian){o=this.moveHour(this.date,h*6);g=this.moveHour(this.viewDate,h*6)}else{o=this.moveHour(this.date,h*4);g=this.moveHour(this.viewDate,h*4)}}else{if(viewMode==0){o=this.moveMinute(this.date,h*4);g=this.moveMinute(this.viewDate,h*4)}}}}}if(this.dateWithinRange(o)){this.date=o;this.viewDate=g;this.setValue();this.update();k.preventDefault();m=true}break;case 13:if(this.viewMode!=0){var j=this.viewMode;this.showMode(-1);this.fill();if(j==this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}k.preventDefault();break;case 9:this.hide();break}if(m){this.element.trigger({type:"changeDate",date:this.date});var i;if(this.isInput){i=this.element}else{if(this.component){i=this.element.find("input")}}if(i){i.change()}}},showMode:function(g){if(g){var h=Math.max(0,Math.min(b.modes.length-1,this.viewMode+g));if(h>=this.minView&&h<=this.maxView){this.viewMode=h}}this.picker.find(">div").hide().filter(".datetimepicker-"+b.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()},reset:function(g){this._setDate(null,"date")}};c.fn.datetimepicker=function(h){var g=Array.apply(null,arguments);g.shift();return this.each(function(){var k=c(this),j=k.data("datetimepicker"),i=typeof h=="object"&&h;if(!j){k.data("datetimepicker",(j=new e(this,c.extend({},c.fn.datetimepicker.defaults,i))))}if(typeof h=="string"&&typeof j[h]=="function"){j[h].apply(j,g)}})};c.fn.datetimepicker.defaults={};c.fn.datetimepicker.Constructor=e;var d=c.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],today:"Today"}};var b={modes:[{clsName:"minutes",navFnc:"Hours",navStep:1},{clsName:"hours",navFnc:"Date",navStep:1},{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(g){return(((g%4===0)&&(g%100!==0))||(g%400===0))},getDaysInMonth:function(g,h){return[31,(b.isLeapYear(g)?29:28),31,30,31,30,31,31,30,31,30,31][h]},getDefaultFormat:function(g,h){if(g=="standard"){if(h=="input"){return"yyyy-mm-dd hh:ii"}else{return"yyyy-mm-dd hh:ii:ss"}}else{if(g=="php"){if(h=="input"){return"Y-m-d H:i"}else{return"Y-m-d H:i:s"}}else{throw new Error("Invalid format type.")}}},validParts:function(g){if(g=="standard"){return/hh?|HH?|p|P|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g}else{if(g=="php"){return/[dDjlNwzFmMnStyYaABgGhHis]/g}else{throw new Error("Invalid format type.")}}},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(j,h){var g=j.replace(this.validParts(h),"\0").split("\0"),i=j.match(this.validParts(h));if(!g||!g.length||!i||i.length==0){throw new Error("Invalid date format.")}return{separators:g,parts:i}},parseDate:function(l,u,o,r){if(l instanceof Date){var w=new Date(l.valueOf()-l.getTimezoneOffset()*60000);w.setMilliseconds(0);return w}if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(l)){u=this.parseFormat("yyyy-mm-dd",r)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(l)){u=this.parseFormat("yyyy-mm-dd hh:ii",r)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(l)){u=this.parseFormat("yyyy-mm-dd hh:ii:ss",r)}if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(l)){var x=/([-+]\d+)([dmwy])/,m=l.match(/([-+]\d+)([dmwy])/g),g,k;l=new Date();for(var n=0;n<m.length;n++){g=x.exec(m[n]);k=parseInt(g[1]);switch(g[2]){case"d":l.setUTCDate(l.getUTCDate()+k);break;case"m":l=e.prototype.moveMonth.call(e.prototype,l,k);break;case"w":l.setUTCDate(l.getUTCDate()+k*7);break;case"y":l=e.prototype.moveYear.call(e.prototype,l,k);break}}return f(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate(),l.getUTCHours(),l.getUTCMinutes(),l.getUTCSeconds(),0)}var m=l&&l.match(this.nonpunctuation)||[],l=new Date(0,0,0,0,0,0,0),q={},t=["hh","h","ii","i","ss","s","yyyy","yy","M","MM","m","mm","D","DD","d","dd","H","HH","p","P"],v={hh:function(s,i){return s.setUTCHours(i)},h:function(s,i){return s.setUTCHours(i)},HH:function(s,i){return s.setUTCHours(i==12?0:i)},H:function(s,i){return s.setUTCHours(i==12?0:i)},ii:function(s,i){return s.setUTCMinutes(i)},i:function(s,i){return s.setUTCMinutes(i)},ss:function(s,i){return s.setUTCSeconds(i)},s:function(s,i){return s.setUTCSeconds(i)},yyyy:function(s,i){return s.setUTCFullYear(i)},yy:function(s,i){return s.setUTCFullYear(2000+i)},m:function(s,i){i-=1;while(i<0){i+=12}i%=12;s.setUTCMonth(i);while(s.getUTCMonth()!=i){s.setUTCDate(s.getUTCDate()-1)}return s},d:function(s,i){return s.setUTCDate(i)},p:function(s,i){return s.setUTCHours(i==1?s.getUTCHours()+12:s.getUTCHours())}},j,p,g;v.M=v.MM=v.mm=v.m;v.dd=v.d;v.P=v.p;l=f(l.getFullYear(),l.getMonth(),l.getDate(),l.getHours(),l.getMinutes(),l.getSeconds());if(m.length==u.parts.length){for(var n=0,h=u.parts.length;n<h;n++){j=parseInt(m[n],10);g=u.parts[n];if(isNaN(j)){switch(g){case"MM":p=c(d[o].months).filter(function(){var i=this.slice(0,m[n].length),s=m[n].slice(0,i.length);return i==s});j=c.inArray(p[0],d[o].months)+1;break;case"M":p=c(d[o].monthsShort).filter(function(){var i=this.slice(0,m[n].length),s=m[n].slice(0,i.length);return i==s});j=c.inArray(p[0],d[o].monthsShort)+1;break;case"p":case"P":j=c.inArray(m[n].toLowerCase(),d[o].meridiem);break}}q[g]=j}for(var n=0,y;n<t.length;n++){y=t[n];if(y in q&&!isNaN(q[y])){v[y](l,q[y])}}}return l},formatDate:function(g,m,o,k){if(g==null){return""}var n;if(k=="standard"){n={yy:g.getUTCFullYear().toString().substring(2),yyyy:g.getUTCFullYear(),m:g.getUTCMonth()+1,M:d[o].monthsShort[g.getUTCMonth()],MM:d[o].months[g.getUTCMonth()],d:g.getUTCDate(),D:d[o].daysShort[g.getUTCDay()],DD:d[o].days[g.getUTCDay()],p:(d[o].meridiem.length==2?d[o].meridiem[g.getUTCHours()<12?0:1]:""),h:g.getUTCHours(),i:g.getUTCMinutes(),s:g.getUTCSeconds(),};n.H=(n.h%12==0?12:n.h%12);n.HH=(n.H<10?"0":"")+n.H;n.P=n.p.toUpperCase();n.hh=(n.h<10?"0":"")+n.h;n.ii=(n.i<10?"0":"")+n.i;n.ss=(n.s<10?"0":"")+n.s;n.dd=(n.d<10?"0":"")+n.d;n.mm=(n.m<10?"0":"")+n.m}else{if(k=="php"){n={y:g.getUTCFullYear().toString().substring(2),Y:g.getUTCFullYear(),F:d[o].months[g.getUTCMonth()],M:d[o].monthsShort[g.getUTCMonth()],n:g.getUTCMonth()+1,t:b.getDaysInMonth(g.getUTCFullYear(),g.getUTCMonth()),j:g.getUTCDate(),l:d[o].days[g.getUTCDay()],D:d[o].daysShort[g.getUTCDay()],w:g.getUTCDay(),N:(g.getUTCDay()==0?7:g.getUTCDay()),S:(g.getUTCDate()%10<=d[o].suffix.length?d[o].suffix[g.getUTCDate()%10-1]:""),a:(d[o].meridiem.length==2?d[o].meridiem[g.getUTCHours()<12?0:1]:""),g:(g.getUTCHours()%12==0?12:g.getUTCHours()%12),G:g.getUTCHours(),i:g.getUTCMinutes(),s:g.getUTCSeconds()};n.m=(n.n<10?"0":"")+n.n;n.d=(n.j<10?"0":"")+n.j;n.A=n.a.toString().toUpperCase();n.h=(n.g<10?"0":"")+n.g;n.H=(n.G<10?"0":"")+n.G;n.i=(n.i<10?"0":"")+n.i;n.s=(n.s<10?"0":"")+n.s}else{throw new Error("Invalid format type.")}}var g=[],l=c.extend([],m.separators);for(var j=0,h=m.parts.length;j<h;j++){if(l.length){g.push(l.shift())}g.push(n[m.parts[j]])}return g.join("")},convertViewMode:function(g){switch(g){case 4:case"decade":g=4;break;case 3:case"year":g=3;break;case 2:case"month":g=2;break;case 1:case"day":g=1;break;case 0:case"hour":g=0;break}return g},headTemplate:'<thead><tr><th class="prev"><i class="icon-arrow-left"/></th><th colspan="5" class="switch"></th><th class="next"><i class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr></tfoot>'};b.template='<div class="datetimepicker"><div class="datetimepicker-minutes"><table class=" table-condensed">'+b.headTemplate+b.contTemplate+b.footTemplate+'</table></div><div class="datetimepicker-hours"><table class=" table-condensed">'+b.headTemplate+b.contTemplate+b.footTemplate+'</table></div><div class="datetimepicker-days"><table class=" table-condensed">'+b.headTemplate+"<tbody></tbody>"+b.footTemplate+'</table></div><div class="datetimepicker-months"><table class="table-condensed">'+b.headTemplate+b.contTemplate+b.footTemplate+'</table></div><div class="datetimepicker-years"><table class="table-condensed">'+b.headTemplate+b.contTemplate+b.footTemplate+"</table></div></div>";c.fn.datetimepicker.DPGlobal=b}(window.jQuery);

+ 28 - 0
js/public/prettify.js

@ -0,0 +1,28 @@
1
var r=null;window.PR_SHOULD_USE_CONTINUATION=!0;
2
(function(){function O(a){function i(d){var a=d.charCodeAt(0);if(a!==92)return a;var f=d.charAt(1);return(a=s[f])?a:"0"<=f&&f<="7"?parseInt(d.substring(1),8):f==="u"||f==="x"?parseInt(d.substring(2),16):d.charCodeAt(1)}function g(d){if(d<32)return(d<16?"\\x0":"\\x")+d.toString(16);d=String.fromCharCode(d);return d==="\\"||d==="-"||d==="]"||d==="^"?"\\"+d:d}function j(d){var a=d.substring(1,d.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),d=[],f=
3
a[0]==="^",b=["["];f&&b.push("^");for(var f=f?1:0,c=a.length;f<c;++f){var h=a[f];if(/\\[bdsw]/i.test(h))b.push(h);else{var h=i(h),e;f+2<c&&"-"===a[f+1]?(e=i(a[f+2]),f+=2):e=h;d.push([h,e]);e<65||h>122||(e<65||h>90||d.push([Math.max(65,h)|32,Math.min(e,90)|32]),e<97||h>122||d.push([Math.max(97,h)&-33,Math.min(e,122)&-33]))}}d.sort(function(d,a){return d[0]-a[0]||a[1]-d[1]});a=[];c=[];for(f=0;f<d.length;++f)h=d[f],h[0]<=c[1]+1?c[1]=Math.max(c[1],h[1]):a.push(c=h);for(f=0;f<a.length;++f)h=a[f],b.push(g(h[0])),
4
h[1]>h[0]&&(h[1]+1>h[0]&&b.push("-"),b.push(g(h[1])));b.push("]");return b.join("")}function t(d){for(var a=d.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=a.length,i=[],c=0,h=0;c<b;++c){var e=a[c];e==="("?++h:"\\"===e.charAt(0)&&(e=+e.substring(1))&&(e<=h?i[e]=-1:a[c]=g(e))}for(c=1;c<i.length;++c)-1===i[c]&&(i[c]=++z);for(h=c=0;c<b;++c)e=a[c],e==="("?(++h,i[h]||(a[c]="(?:")):"\\"===e.charAt(0)&&(e=+e.substring(1))&&e<=h&&
5
(a[c]="\\"+i[e]);for(c=0;c<b;++c)"^"===a[c]&&"^"!==a[c+1]&&(a[c]="");if(d.ignoreCase&&w)for(c=0;c<b;++c)e=a[c],d=e.charAt(0),e.length>=2&&d==="["?a[c]=j(e):d!=="\\"&&(a[c]=e.replace(/[A-Za-z]/g,function(d){d=d.charCodeAt(0);return"["+String.fromCharCode(d&-33,d|32)+"]"}));return a.join("")}for(var z=0,w=!1,k=!1,m=0,b=a.length;m<b;++m){var o=a[m];if(o.ignoreCase)k=!0;else if(/[a-z]/i.test(o.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){w=!0;k=!1;break}}for(var s={b:8,t:9,n:10,v:11,
6
f:12,r:13},q=[],m=0,b=a.length;m<b;++m){o=a[m];if(o.global||o.multiline)throw Error(""+o);q.push("(?:"+t(o)+")")}return RegExp(q.join("|"),k?"gi":"g")}function P(a,i){function g(a){switch(a.nodeType){case 1:if(j.test(a.className))break;for(var b=a.firstChild;b;b=b.nextSibling)g(b);b=a.nodeName.toLowerCase();if("br"===b||"li"===b)t[k]="\n",w[k<<1]=z++,w[k++<<1|1]=a;break;case 3:case 4:b=a.nodeValue,b.length&&(b=i?b.replace(/\r\n?/g,"\n"):b.replace(/[\t\n\r ]+/g," "),t[k]=b,w[k<<1]=z,z+=b.length,w[k++<<
7
1|1]=a)}}var j=/(?:^|\s)nocode(?:\s|$)/,t=[],z=0,w=[],k=0;g(a);return{a:t.join("").replace(/\n$/,""),d:w}}function E(a,i,g,j){i&&(a={a:i,e:a},g(a),j.push.apply(j,a.g))}function x(a,i){function g(a){for(var k=a.e,m=[k,"pln"],b=0,o=a.a.match(t)||[],s={},q=0,d=o.length;q<d;++q){var v=o[q],f=s[v],u=void 0,c;if(typeof f==="string")c=!1;else{var h=j[v.charAt(0)];if(h)u=v.match(h[1]),f=h[0];else{for(c=0;c<z;++c)if(h=i[c],u=v.match(h[1])){f=h[0];break}u||(f="pln")}if((c=f.length>=5&&"lang-"===f.substring(0,
8
5))&&!(u&&typeof u[1]==="string"))c=!1,f="src";c||(s[v]=f)}h=b;b+=v.length;if(c){c=u[1];var e=v.indexOf(c),p=e+c.length;u[2]&&(p=v.length-u[2].length,e=p-c.length);f=f.substring(5);E(k+h,v.substring(0,e),g,m);E(k+h+e,c,F(f,c),m);E(k+h+p,v.substring(p),g,m)}else m.push(k+h,f)}a.g=m}var j={},t;(function(){for(var g=a.concat(i),k=[],m={},b=0,o=g.length;b<o;++b){var s=g[b],q=s[3];if(q)for(var d=q.length;--d>=0;)j[q.charAt(d)]=s;s=s[1];q=""+s;m.hasOwnProperty(q)||(k.push(s),m[q]=r)}k.push(/[\S\s]/);t=
9
O(k)})();var z=i.length;return g}function l(a){var i=[],g=[];a.tripleQuotedStrings?i.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,r,"'\""]):a.multiLineStrings?i.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,r,"'\"`"]):i.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,r,"\"'"]);a.verbatimStrings&&
10
g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,r]);var j=a.hashComments;j&&(a.cStyleComments?(j>1?i.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,r,"#"]):i.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,r,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,r])):i.push(["com",/^#[^\n\r]*/,r,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,r]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
11
r]));a.regexLiterals&&g.push(["lang-regex",/^(?:^^\.?|[+-]|[!=]={0,2}|#|%=?|&&?=?|\(|\*=?|[+-]=|->|\/=?|::?|<<?=?|>{1,3}=?|[,;?@[{~]|\^\^?=?|\|\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(j=a.types)&&g.push(["typ",j]);a=(""+a.keywords).replace(/^ | $/g,"");a.length&&g.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),r]);i.push(["pln",/^\s+/,r," \r\n\t\u00a0"]);g.push(["lit",
12
/^@[$_a-z][\w$@]*/i,r],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,r],["pln",/^[$_a-z][\w$@]*/i,r],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,r,"0123456789"],["pln",/^\\[\S\s]?/,r],["pun",/^.[^\s\w"$'./@\\`]*/,r]);return x(i,g)}function G(a,i,g){function j(a){switch(a.nodeType){case 1:if(z.test(a.className))break;if("br"===a.nodeName)t(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)j(a);break;case 3:case 4:if(g){var b=
13
a.nodeValue,f=b.match(n);if(f){var i=b.substring(0,f.index);a.nodeValue=i;(b=b.substring(f.index+f[0].length))&&a.parentNode.insertBefore(k.createTextNode(b),a.nextSibling);t(a);i||a.parentNode.removeChild(a)}}}}function t(a){function i(a,b){var d=b?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=i(e,1),f=a.nextSibling;e.appendChild(d);for(var g=f;g;g=f)f=g.nextSibling,e.appendChild(g)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=i(a.nextSibling,0),f;(f=a.parentNode)&&f.nodeType===
14
1;)a=f;b.push(a)}for(var z=/(?:^|\s)nocode(?:\s|$)/,n=/\r\n?|\n/,k=a.ownerDocument,m=k.createElement("li");a.firstChild;)m.appendChild(a.firstChild);for(var b=[m],o=0;o<b.length;++o)j(b[o]);i===(i|0)&&b[0].setAttribute("value",i);var s=k.createElement("ol");s.className="linenums";for(var i=Math.max(0,i-1|0)||0,o=0,q=b.length;o<q;++o)m=b[o],m.className="L"+(o+i)%10,m.firstChild||m.appendChild(k.createTextNode("\u00a0")),s.appendChild(m);a.appendChild(s)}function n(a,i){for(var g=i.length;--g>=0;){var j=
15
i[g];A.hasOwnProperty(j)?C.console&&console.warn("cannot override language handler %s",j):A[j]=a}}function F(a,i){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(i)?"default-markup":"default-code";return A[a]}function H(a){var i=a.h;try{var g=P(a.c,a.i),j=g.a;a.a=j;a.d=g.d;a.e=0;F(i,j)(a);var t=/\bMSIE\s(\d+)/.exec(navigator.userAgent),t=t&&+t[1]<=8,i=/\n/g,n=a.a,w=n.length,g=0,k=a.d,m=k.length,j=0,b=a.g,o=b.length,s=0;b[o]=w;var q,d;for(d=q=0;d<o;)b[d]!==b[d+2]?(b[q++]=b[d++],b[q++]=b[d++]):d+=2;o=q;
16
for(d=q=0;d<o;){for(var v=b[d],f=b[d+1],u=d+2;u+2<=o&&b[u+1]===f;)u+=2;b[q++]=v;b[q++]=f;d=u}b.length=q;var c=a.c,h;if(c)h=c.style.display,c.style.display="none";try{for(;j<m;){var e=k[j+2]||w,p=b[s+2]||w,u=Math.min(e,p),l=k[j+1],D;if(l.nodeType!==1&&(D=n.substring(g,u))){t&&(D=D.replace(i,"\r"));l.nodeValue=D;var y=l.ownerDocument,x=y.createElement("span");x.className=b[s+1];var B=l.parentNode;B.replaceChild(x,l);x.appendChild(l);g<e&&(k[j+1]=l=y.createTextNode(n.substring(u,e)),B.insertBefore(l,
17
x.nextSibling))}g=u;g>=e&&(j+=2);g>=p&&(s+=2)}}finally{if(c)c.style.display=h}}catch(A){C.console&&console.log(A&&A.stack?A.stack:A)}}var C=window,y=["break,continue,do,else,for,if,return,while"],B=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],I=[B,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],
18
J=[B,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],K=[J,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],B=[B,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],
19
L=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],M=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],N=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,
20
Q=/\S/,R=l({keywords:[I,K,B,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+L,M,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};n(R,["default-code"]);n(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",
21
/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);n(x([["pln",/^\s+/,r," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,r,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],
22
["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);n(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);n(l({keywords:I,hashComments:!0,cStyleComments:!0,types:N}),["c","cc","cpp","cxx","cyc","m"]);n(l({keywords:"null,true,false"}),["json"]);n(l({keywords:K,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:N}),
23
["cs"]);n(l({keywords:J,cStyleComments:!0}),["java"]);n(l({keywords:y,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);n(l({keywords:L,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]);n(l({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);n(l({keywords:M,hashComments:!0,
24
multiLineStrings:!0,regexLiterals:!0}),["rb"]);n(l({keywords:B,cStyleComments:!0,regexLiterals:!0}),["js"]);n(l({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);n(x([],[["str",/^[\S\s]+/]]),["regex"]);var S=C.PR={createSimpleLexer:x,registerLangHandler:n,sourceDecorator:l,
25
PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:C.prettyPrintOne=function(a,i,g){var j=document.createElement("pre");j.innerHTML=a;g&&G(j,g,!0);H({h:i,j:g,c:j,i:1});return j.innerHTML},prettyPrint:C.prettyPrint=function(a){function i(){var u;for(var g=C.PR_SHOULD_USE_CONTINUATION?k.now()+250:Infinity;m<j.length&&
26
k.now()<g;m++){var c=j[m],h=c.className;if(s.test(h)&&!q.test(h)){for(var e=!1,p=c.parentNode;p;p=p.parentNode)if(f.test(p.tagName)&&p.className&&s.test(p.className)){e=!0;break}if(!e){c.className+=" prettyprinted";var h=h.match(o),n;if(e=!h){for(var e=c,p=void 0,l=e.firstChild;l;l=l.nextSibling)var t=l.nodeType,p=t===1?p?e:l:t===3?Q.test(l.nodeValue)?e:p:p;e=(n=p===e?void 0:p)&&v.test(n.tagName)}e&&(h=n.className.match(o));h&&(h=h[1]);u=d.test(c.tagName)?1:(e=(e=c.currentStyle)?e.whiteSpace:document.defaultView&&
27
document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(c,r).getPropertyValue("white-space"):0)&&"pre"===e.substring(0,3),e=u;(p=(p=c.className.match(/\blinenums\b(?::(\d+))?/))?p[1]&&p[1].length?+p[1]:!0:!1)&&G(c,p,e);b={h:h,c:c,j:p,i:e};H(b)}}}m<j.length?setTimeout(i,250):a&&a()}for(var g=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],j=[],n=0;n<g.length;++n)for(var l=0,w=g[n].length;l<w;++l)j.push(g[n][l]);var g=
28
r,k=Date;k.now||(k={now:function(){return+new Date}});var m=0,b,o=/\blang(?:uage)?-([\w.]+)(?!\S)/,s=/\bprettyprint\b/,q=/\bprettyprinted\b/,d=/pre|xmp/i,v=/^code$/i,f=/^(?:pre|code|xmp)$/i;i()}};typeof define==="function"&&define.amd&&define("google-code-prettify",[],function(){return S})})();