@@ -0,0 +1,293 @@ | |||
<!DOCTYPE html | |||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="zh-CN" xml:lang="zh-CN"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<title>综合执法</title> | |||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<meta name="keywords" content="" /> | |||
<meta name="description" cxontent="" /> | |||
<link href="static/css/main.css" rel="stylesheet" type="text/css" /> | |||
<link href="static/css/index.css" rel="stylesheet" type="text/css" /> | |||
</head> | |||
<body> | |||
<div class="main bg-f4" id="page"> | |||
<div class="topBox"> | |||
<div class="w-1200 boxMain"> | |||
<div class="logoBox fl"> | |||
<img src="static/images/logo.png" class="fl" alt=""/> | |||
<div class="fl"> | |||
<p>农业综合执法公众平台</p> | |||
<p>PUBLIC<i></i>PLATFORM<i></i>FOR<i></i>COMPREHENSIVE<i></i>AGRICULTURAL<i></i>LAW<i></i>ENFORCEMENT</p> | |||
</div> | |||
<div class="clear"></div> | |||
</div> | |||
<div class="loginBox"> | |||
<div class="fl m-r-60"> | |||
<img src="static/images/bigdata.png" class="m-b-5" alt=""/> | |||
<p>大数据</p> | |||
</div> | |||
<div class="fl"> | |||
<img src="static/images/login.png" class="m-b-5" alt=""/> | |||
<p>登录</p> | |||
</div> | |||
<div class="clear"></div> | |||
</div> | |||
<div class="clear"></div> | |||
</div> | |||
</div> | |||
<div class="topTab"> | |||
<ul class="w-1200"> | |||
<li class="active"><a href="javascript:void(0);"><i></i>首页</a></li> | |||
<li><a href="view/workDynamics/workList.html">工作动态</a></li> | |||
<li><a href="view/noticeAnnouncement/noticeList.html">通知公告</a></li> | |||
<li><a href="view/schemeDisclosure/schemeList.html">方案公开</a></li> | |||
<li><a href="view/basis/basisList.html">执法依据</a></li> | |||
<li><a href="view/inventory/inventoryList.html">农用品库</a></li> | |||
<li><a href="view/complaint/complaintList.html">投诉建议</a></li> | |||
<div class="clear"></div> | |||
</ul> | |||
</div> | |||
<div class="w-1200 m-t-15"> | |||
<img src="static/images/index_banner.jpg" class="fl banner" alt=""/> | |||
<div class="fr bannerRight"> | |||
<div class="bannerRight_title"> | |||
<p class="fl">工作动态</p> | |||
<p class="fr">更多</p> | |||
<div class="clear"></div> | |||
</div> | |||
<ul> | |||
<li> | |||
<i></i> | |||
<p>农业农村部部署农业综合行政执法能力提升行动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>如东“菜篮子”供应充足 价格总体平稳</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>2020年起,这项兽药新规正式施行,农业农村部有关负责人答记者问</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>打好普法组合拳 助力抗疫保农安</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>我省举办农业种质资源安全保存技术培训班</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>农业农村局开展“端午节”保民生、农产品质量安全监测活动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>致全省水产养殖企业(户)的一封信,农业农村局开展保民生、农生农业农村局开展保民生、农生</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
</ul> | |||
</div> | |||
<div class="clear"></div> | |||
</div> | |||
<div class="w-1200 m-t-15"> | |||
<div class="fl bannerRight red"> | |||
<div class="bannerRight_title"> | |||
<p class="fl">通知公告</p> | |||
<p class="fr">更多</p> | |||
<div class="clear"></div> | |||
</div> | |||
<ul> | |||
<li> | |||
<i></i> | |||
<p>农业农村部部署农业综合行政执法能力提升行动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>如东“菜篮子”供应充足 价格总体平稳</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>2020年起,这项兽药新规正式施行,农业农村部有关负责人答记者问</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>打好普法组合拳 助力抗疫保农安</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>我省举办农业种质资源安全保存技术培训班</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>农业农村局开展“端午节”保民生、农产品质量安全监测活动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>致全省水产养殖企业(户)的一封信,农业农村局开展保民生、农生农业农村局开展保民生、农生</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
</ul> | |||
</div> | |||
<img src="static/images/index_banner2.jpg" class="fr banner" alt=""/> | |||
<div class="clear"></div> | |||
</div> | |||
<div class="w-1200 m-t-15"> | |||
<div style="width: 49%;" class="fl bannerRight"> | |||
<div class="bannerRight_title"> | |||
<p class="fl">方案公开</p> | |||
<p class="fr">更多</p> | |||
<div class="clear"></div> | |||
</div> | |||
<ul> | |||
<li> | |||
<i></i> | |||
<p>农业农村部部署农业综合行政执法能力提升行动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>如东“菜篮子”供应充足 价格总体平稳</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>2020年起,这项兽药新规正式施行,农业农村部有关负责人答记者问</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>打好普法组合拳 助力抗疫保农安</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>我省举办农业种质资源安全保存技术培训班</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>农业农村局开展“端午节”保民生、农产品质量安全监测活动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>致全省水产养殖企业(户)的一封信,农业农村局开展保民生、农生农业农村局开展保民生、农生</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
</ul> | |||
</div> | |||
<div style="width: 49%;" class="fr bannerRight"> | |||
<div class="bannerRight_title"> | |||
<p class="fl">执法依据</p> | |||
<p class="fr">更多</p> | |||
<div class="clear"></div> | |||
</div> | |||
<ul> | |||
<li> | |||
<i></i> | |||
<p>农业农村部部署农业综合行政执法能力提升行动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>如东“菜篮子”供应充足 价格总体平稳</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>2020年起,这项兽药新规正式施行,农业农村部有关负责人答记者问</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>打好普法组合拳 助力抗疫保农安</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>我省举办农业种质资源安全保存技术培训班</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>农业农村局开展“端午节”保民生、农产品质量安全监测活动</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
<li> | |||
<i></i> | |||
<p>致全省水产养殖企业(户)的一封信,农业农村局开展保民生、农生农业农村局开展保民生、农生</p> | |||
<span>2021-10-08</span> | |||
<div class="clear"></div> | |||
</li> | |||
</ul> | |||
</div> | |||
<div class="clear"></div> | |||
</div> | |||
<div style="height: 100px;"></div> | |||
<div class="bottomInformation"> | |||
<div class="w-1200"> | |||
<p>技术支持:北京农燊高科信息技术有限公司<i></i>400-879-1505</p> | |||
</div> | |||
</div> | |||
</div> | |||
</body> | |||
<!--<script src="../static/js/common/require.js" data-main="../static/js/common/main.js?t=101" id="require-page"--> | |||
<!-- target-module="../static/js/project/index.js" defer type="text/javascript"></script>--> | |||
</html> |
@@ -0,0 +1,64 @@ | |||
<!DOCTYPE html | |||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="zh-CN" xml:lang="zh-CN"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<title>综合执法</title> | |||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
<meta name="keywords" content="" /> | |||
<meta name="description" cxontent="" /> | |||
<link href="static/css/main.css" rel="stylesheet" type="text/css" /> | |||
<link href="static/css/index.css" rel="stylesheet" type="text/css" /> | |||
<link href="static/css/login.css" rel="stylesheet" type="text/css" /> | |||
</head> | |||
<body> | |||
<div class="main bg-f4" id="page"> | |||
<div class="registerBody"> | |||
<div class="topLogo"> | |||
<img src="static/images/logo.png" alt=""/> | |||
<p>农业综合执法公众平台</p> | |||
</div> | |||
<div class="loginView_bg"></div> | |||
<div class="loginView"> | |||
<table id="loginTab"> | |||
<tr> | |||
<td colspan="2" style="padding-top: 0;"> | |||
<i class="nameIcon"></i><input type="text" id="username" placeholder="请输入手机号"/> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td colspan="2"> | |||
<i class="passIcon"></i><input type="password" id="password" placeholder="请输入密码"/> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<i class="codeIcon"></i><input type="text" id="code" placeholder="请输入验证码"/> | |||
</td> | |||
<td width="30%"> | |||
<img src="../../static/images/banner.jpg" alt=""/> | |||
<!-- <img id="graphicImg" alt=""/>--> | |||
</td> | |||
</tr> | |||
</table> | |||
<div class="remberPsw"> | |||
<input type="checkbox"/>记住密码 | |||
</div> | |||
<input type="button" value="登录" id="login-submit" class="loginBtn"/> | |||
</div> | |||
<div class="bottomInformation_login"> | |||
<div class="w-1200"> | |||
<p>技术支持:北京农燊高科信息技术有限公司</p> | |||
<p class="m-t-15">咨询热线:400-879-1505</p> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</body> | |||
<!--<script src="../static/js/common/require.js" data-main="../static/js/common/main.js?t=101" id="require-page"--> | |||
<!-- target-module="../static/js/project/index.js" defer type="text/javascript"></script>--> | |||
</html> |
@@ -0,0 +1,153 @@ | |||
.dateTimeWrap{ | |||
display: none; | |||
-webkit-user-select:none; | |||
-moz-user-select:none; | |||
-ms-user-select:none; | |||
-o-user-select:none; | |||
user-select:none; | |||
background: #494a4a; | |||
padding:10px; | |||
position: fixed; | |||
left:0; | |||
top:0; | |||
z-index:999; | |||
font-size:14px; | |||
color:#e2e2e2; | |||
width:240px; | |||
} | |||
.dateTimeWrap .datePart li.curDay{ | |||
color:#1ea0fa; | |||
} | |||
.dateTimeWrap #dayDat li:hover{ | |||
border:2px double #fff; | |||
background: #1ea0fa; | |||
color:#fff; | |||
} | |||
.dateTimeWrap #dateTime{ | |||
*float:left | |||
} | |||
.dateTimeWrap .dateTimeHead{ | |||
*overflow:hidden; | |||
padding:8px 0px 4px; | |||
} | |||
.dateTimeWrap .datePart li{ | |||
border:2px double transparent; | |||
float: left; | |||
cursor: default; | |||
vertical-align: middle; | |||
width: 30px; | |||
height: 26px; | |||
text-align: center; | |||
line-height: 26px; | |||
} | |||
.dateTimeWrap .datePart ul{ | |||
overflow: hidden; | |||
} | |||
.dateTimeWrap .changeMonth{ | |||
float: right | |||
} | |||
.dateTimeWrap .changeMonth #pre,.changeMonth #next{ | |||
display: inline-block; | |||
width:20px; | |||
height:20px; | |||
cursor: default; | |||
color:#333; | |||
background: #fff; | |||
text-align: center; | |||
line-height:20px; | |||
} | |||
.dateTimeWrap .changeMonth #next{ | |||
margin-left: 10px; | |||
} | |||
.dateTimeWrap .dateTimeFoot span,.timeFooter span{ | |||
cursor: pointer; | |||
display: inline-block; | |||
background: #fff; | |||
color: #333; | |||
height:20px; | |||
line-height: 20px; | |||
width:50px; | |||
text-align: center; | |||
margin-left: 6px; | |||
float:right; | |||
} | |||
.dateTimeWrap .timePart{ | |||
text-align:center; | |||
color:#333; | |||
line-height: 22px; | |||
} | |||
.dateTimeWrap .timePart p,.timePart ul{ | |||
background: #fff; | |||
} | |||
.dateTimeWrap .timePart>ul>li{ | |||
float: left; | |||
width:119px; | |||
background: #fff; | |||
color:#333; | |||
border:1px solid #ccc; | |||
border-right:none; | |||
} | |||
.dateTimeWrap .timePart ul{ | |||
overflow: hidden; | |||
} | |||
.dateTimeWrap .timePart>ul>li p{ | |||
line-height: 30px; | |||
border-bottom:1px solid #ccc; | |||
} | |||
.dateTimeWrap .timePart ol{ | |||
height:180px; | |||
overflow-y: hidden; | |||
*overflow-y: auto; | |||
overflow-x: hidden; | |||
} | |||
.dateTimeWrap .timePart ol:hover{ | |||
overflow-y:auto; | |||
} | |||
.dateTimeWrap .timePart ol:hover li{ | |||
padding-left:17px; | |||
*padding-left:0; | |||
} | |||
.dateTimeWrap .timePart ol li{ | |||
line-height: 30px; | |||
} | |||
.dateTimeWrap .timePart ol li.cur{ | |||
background: #1ea0fa; | |||
color: #fff | |||
} | |||
.dateTimeWrap .dateTimeFoot,.timeFooter{ | |||
overflow:hidden; | |||
margin-top: 10px; | |||
height: 20px; | |||
} | |||
.dateTimeWrap .timeFooter span{ | |||
width:80px; | |||
} | |||
.dateTimeWrap .timeFooter #ensure{ | |||
width:50px; | |||
} | |||
.dateTimeWrap .dateTimeFoot .selTime,.timeFooter .selTime{ | |||
float:left; | |||
margin-left:0; | |||
display:none; | |||
} | |||
.dateTimeWrap .selTime{ | |||
width:80px!important; | |||
} | |||
.dateTimeWrap #yearSelect{ | |||
margin-right: 6px; | |||
width:auto; | |||
color: #FFF; | |||
} | |||
.dateTimeWrap #yearSelect option{ | |||
color: #000; | |||
} | |||
.dateTimeWrap #monthSelect option{ | |||
color: #000; | |||
} | |||
.dateTimeWrap #monthSelect{ | |||
width: auto; | |||
color: #FFF; | |||
} | |||
.dateTimeWrap .darkgrey{ | |||
color:#d0d0d0 !important; | |||
} |
@@ -0,0 +1,215 @@ | |||
/*公共主题参数*/ | |||
:root{ | |||
--color:''; | |||
--icon:''; | |||
--logo:''; | |||
/*--color:#e8041f;*/ | |||
} | |||
.topBox{ | |||
background: url("../images/head_bg.jpg"); | |||
height: 200px; | |||
} | |||
.logoBox{ | |||
color: #d60303; | |||
} | |||
.logoBox img{ | |||
vertical-align: middle; | |||
margin-right: 10px; | |||
} | |||
.logoBox i{ | |||
display: inline-block; | |||
margin-right: 10px; | |||
} | |||
.logoBox p{ | |||
line-height: 1; | |||
} | |||
.logoBox p:nth-child(1){ | |||
font-size: 60px; | |||
font-weight: bold; | |||
margin-bottom: 10px; | |||
} | |||
.logoBox p:nth-child(2){ | |||
font-size: 14px; | |||
font-weight: bold; | |||
} | |||
.boxMain{ | |||
position: relative; | |||
top: 50%; | |||
transform: translateY(-50%); | |||
} | |||
.loginBox{ | |||
position: absolute; | |||
top: 50%; | |||
right: 0; | |||
transform: translateY(-50%); | |||
} | |||
.loginBox div{ | |||
text-align: center; | |||
} | |||
.topTab{ | |||
background: #1269d3; | |||
} | |||
.topTab ul li{ | |||
float: left; | |||
padding: 10px 0px; | |||
font-size: 22px; | |||
width: 145px; | |||
text-align: center; | |||
} | |||
.topTab ul li a{ | |||
color: #FFFFFF; | |||
} | |||
.topTab ul .active{ | |||
background: #d60303; | |||
} | |||
.topTab ul li:hover{ | |||
background: #d60303; | |||
cursor: pointer; | |||
} | |||
.topTab ul li i{ | |||
width: 21px; | |||
height: 21px; | |||
display: inline-block; | |||
background: url("../images/icon_tapIndex.png"); | |||
position: relative; | |||
top: 3px; | |||
margin-right: 5px; | |||
} | |||
.banner{ | |||
width: 500px; | |||
height: 328px; | |||
} | |||
.bannerRight{ | |||
width: 670px; | |||
} | |||
.bannerRight_title{ | |||
border-bottom: 1px solid #c3d6ff; | |||
} | |||
.bannerRight_title input{ | |||
border: 1px solid #a0c3ed; | |||
line-height: 35px; | |||
padding-left: 10px; | |||
border-top-left-radius: 5px; | |||
border-bottom-left-radius: 5px; | |||
float: left; | |||
border-right: none; | |||
} | |||
.bannerRight_title .release{ | |||
background: #3976ff; | |||
line-height: 35px; | |||
display: block; | |||
border: 1px solid #3976ff; | |||
color: #FFFFFF; | |||
padding: 0 20px; | |||
border-radius: 5px; | |||
margin-left: 10%; | |||
} | |||
.bannerRight_title div a{ | |||
background: #3976ff; | |||
line-height: 35px; | |||
display: block; | |||
float: left; | |||
border: 1px solid #3976ff; | |||
color: #FFFFFF; | |||
border-left: none; | |||
padding: 0 10px; | |||
border-top-right-radius: 5px; | |||
border-bottom-right-radius: 5px; | |||
} | |||
.red .bannerRight_title{ | |||
border-bottom: 1px solid #f3b3b3; | |||
} | |||
.red .bannerRight_title p{ | |||
color: #d60303!important; | |||
} | |||
.red .bannerRight_title p:nth-child(1){ | |||
border-bottom: 4px solid #d60303!important; | |||
} | |||
.bannerRight_title p{ | |||
font-size: 18px; | |||
color: #3976ff; | |||
padding: 10px 0; | |||
line-height: 1; | |||
} | |||
.bannerRight_title p:nth-child(1){ | |||
font-size: 18px; | |||
font-weight: bold; | |||
border-bottom: 4px solid #3976ff; | |||
padding: 10px 5px; | |||
position: relative; | |||
top: 2px; | |||
} | |||
.bannerRight_title p:nth-child(2){ | |||
cursor: pointer; | |||
} | |||
.bannerRight ul li{ | |||
margin-top: 15px; | |||
} | |||
.bannerRight ul li i{ | |||
width: 8px; | |||
height: 8px; | |||
background: #3976ff; | |||
border-radius: 50%; | |||
display: inline-block; | |||
margin-right: 8px; | |||
float: left; | |||
margin-top: 8px; | |||
} | |||
.bannerRight ul li p{ | |||
width: 80%; | |||
display: -webkit-box; | |||
-webkit-box-orient: vertical; | |||
-webkit-line-clamp: 1; | |||
word-break: break-all; | |||
overflow: hidden; | |||
color: #3f3f3f; | |||
font-size: 16px; | |||
float: left; | |||
} | |||
.bannerRight ul li a{ | |||
color: #3976ff; | |||
float: right; | |||
margin-left: 5%; | |||
} | |||
.bannerRight ul li span{ | |||
float: right; | |||
font-size: 16px; | |||
color: #666666; | |||
} | |||
.bannerRight ul li:hover p{ | |||
color: #3976ff; | |||
cursor: pointer; | |||
} | |||
.bannerRight ul li:hover span{ | |||
color: #3976ff; | |||
cursor: pointer; | |||
} | |||
.red ul li i{ | |||
background: #d60303; | |||
} | |||
.red ul li:hover p{ | |||
color: #d60303; | |||
cursor: pointer; | |||
} | |||
.red ul li:hover span{ | |||
color: #d60303; | |||
cursor: pointer; | |||
} | |||
.bottomInformation{ | |||
background: #1269d3; | |||
padding: 10px 0; | |||
font-size: 14px; | |||
color: #ffffff; | |||
text-align: center; | |||
width: 100%; | |||
} | |||
.bottomInformation i{ | |||
display: inline-block; | |||
margin-right: 20px; | |||
} | |||
.breadcrumb{ | |||
font-size: 17px; | |||
color: #3f3f3f; | |||
margin-bottom: 25px; | |||
margin-top: 35px; | |||
} |
@@ -0,0 +1,177 @@ | |||
input:-webkit-autofill, | |||
input:-webkit-autofill:hover, | |||
input:-webkit-autofill:focus, | |||
input:-webkit-autofill:active { | |||
-webkit-transition-delay: 111111s; | |||
-webkit-transition: color 11111s ease-out, background-color 111111s ease-out; | |||
} | |||
.registerBody{ | |||
background: url("../images/login_bg.jpg"); | |||
width: 100%; | |||
height: 100%; | |||
background-size: 100% 100%; | |||
text-align: center; | |||
} | |||
.loginView_bg{ | |||
background: rgba(18,105,211,0.3); | |||
text-align: center; | |||
width: 440px; | |||
margin: 0 auto; | |||
padding: 50px; | |||
position: absolute; | |||
top: 50%; | |||
left: 50%; | |||
transform: translate(-50%,-50%); | |||
border-radius: 8px; | |||
height: 402px; | |||
} | |||
.loginView{ | |||
background: #FFFFFF; | |||
text-align: center; | |||
width: 420px; | |||
margin: 0 auto; | |||
padding: 50px; | |||
position: absolute; | |||
top: 50%; | |||
left: 50%; | |||
transform: translate(-50%,-50%); | |||
border-radius: 8px; | |||
height: 382px; | |||
} | |||
.loginView p{ | |||
text-align: left; | |||
} | |||
.loginView img{ | |||
width: 100%; | |||
height: 35px; | |||
} | |||
.loginView table{ | |||
width: 100%; | |||
margin: 0 auto; | |||
} | |||
.loginView table tr td:nth-child(2){ | |||
text-align: left; | |||
} | |||
.loginView table tr td{ | |||
padding-top: 20px; | |||
position: relative; | |||
} | |||
.nameIcon{ | |||
width: 23px; | |||
height: 23px; | |||
display: block; | |||
background: url('../images/login_01.png') no-repeat; | |||
position: absolute; | |||
bottom: 8px; | |||
} | |||
.passIcon{ | |||
width: 23px; | |||
height: 23px; | |||
display: block; | |||
background: url('../images/login_02.png') no-repeat; | |||
position: absolute; | |||
bottom: 8px; | |||
} | |||
.codeIcon{ | |||
width: 23px; | |||
height: 23px; | |||
display: block; | |||
background: url('../images/login_03.png') no-repeat; | |||
position: absolute; | |||
bottom: 8px; | |||
} | |||
.loginView table tr td input[type="text"],input[type="password"]{ | |||
height: 35px; | |||
border-bottom: 1px solid #cfcfcf; | |||
padding-left: 30px; | |||
width: 100%; | |||
} | |||
.titleTab{ | |||
background: var(--color); | |||
} | |||
.titleTab p{ | |||
float: left; | |||
display: block; | |||
line-height: 76px; | |||
width: 50%; | |||
text-align: center; | |||
color: #7fbdba; | |||
} | |||
.titleTab p:hover{ | |||
cursor: pointer; | |||
} | |||
.active{ | |||
color: #ffffff!important; | |||
} | |||
.remberPsw{ | |||
width: 100%; | |||
margin: 0 auto; | |||
text-align: left; | |||
margin-top: 50px; | |||
} | |||
.remberPsw input[type="checkbox"]{ | |||
position: relative; | |||
top: 2px; | |||
} | |||
.loginBtn{ | |||
width: 100%; | |||
padding: 10px 0; | |||
border: none; | |||
background: #1269d3; | |||
color: #ffffff; | |||
display: block; | |||
margin: 0 auto; | |||
margin-top: 20px; | |||
cursor: pointer; | |||
} | |||
.registerBtn{ | |||
border: none; | |||
padding: 10px 0; | |||
display: block; | |||
margin: 0 auto; | |||
margin-top: 10px; | |||
color: var(--color); | |||
cursor: pointer; | |||
} | |||
.fsYzm{ | |||
height: 35px; | |||
border: 1px solid #cfcfcf; | |||
width: 100%; | |||
} | |||
.topLogo{ | |||
margin: 0 auto; | |||
padding-top: 2%; | |||
} | |||
.topLogo p{ | |||
font-size: 60px; | |||
font-weight: bold; | |||
color: #1269d3; | |||
} | |||
.bottomInformation_login{ | |||
position: absolute; | |||
bottom: 3%; | |||
width: 100%; | |||
color: #010101; | |||
} |
@@ -0,0 +1,52 @@ | |||
.iconfont { | |||
font-size:16px; | |||
} | |||
.icon-you:before { | |||
content: ">"; | |||
} | |||
.icon-zuo:before { | |||
content: "<"; | |||
} | |||
.icon-most-left:before { | |||
content: "<<"; | |||
} | |||
.icon-most-right:before { | |||
content: ">>"; | |||
} | |||
.page_common_btn_style{ | |||
font-family: '微软雅黑'; | |||
display: inline-block; | |||
min-width: 28px; | |||
padding:0 2px; | |||
height: 30px; | |||
line-height: 30px; | |||
text-align: center; | |||
border-radius: 5px; | |||
background: #f4f4f5; | |||
color: #606266; | |||
margin: 0 3px; | |||
font-weight: 600; | |||
font-size:14px; | |||
cursor: pointer; | |||
-webkit-tap-highlight-color: transparent; | |||
-webkit-touch-callout: none; | |||
-webkit-user-select: none; | |||
} | |||
a.page_common_btn_style:active{ | |||
color:var(--color); | |||
background:#eee; | |||
} | |||
.page_btn_box { | |||
display: inline-block; | |||
margin: 0 10px; | |||
} | |||
.page_common_btn_active{ | |||
background:var(--color); | |||
color:#eee; | |||
} |
@@ -0,0 +1,425 @@ | |||
/*! | |||
* ui-dialog.css | |||
* Date: 2014-07-03 | |||
* https://github.com/aui/artDialog | |||
* (c) 2009-2014 TangBin, http://www.planeArt.cn | |||
* | |||
* This is licensed under the GNU LGPL, version 2.1 or later. | |||
* For details, see: http://www.gnu.org/licenses/lgpl-2.1.html | |||
*/ | |||
.ui-dialog { | |||
*zoom:1; | |||
_float: left; | |||
position: relative; | |||
background-color: #FFF; | |||
border: 1px solid #999; | |||
border-radius: 6px; | |||
outline: 0; | |||
background-clip: padding-box; | |||
font-family: Helvetica, arial, sans-serif; | |||
font-size: 14px; | |||
line-height: 1.428571429; | |||
color: #333; | |||
opacity: 0; | |||
-webkit-transform: scale(0); | |||
transform: scale(0); | |||
-webkit-transition: -webkit-transform .15s ease-in-out, opacity .15s ease-in-out; | |||
transition: transform .15s ease-in-out, opacity .15s ease-in-out; | |||
} | |||
.ui-popup-show .ui-dialog { | |||
opacity: 1; | |||
-webkit-transform: scale(1); | |||
transform: scale(1); | |||
} | |||
.ui-popup-focus .ui-dialog { | |||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); | |||
} | |||
.ui-popup-modal .ui-dialog { | |||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.1), 0 0 256px rgba(255, 255, 255, .3); | |||
} | |||
.ui-dialog-grid { | |||
width: auto; | |||
margin: 0; | |||
border: 0 none; | |||
border-collapse:collapse; | |||
border-spacing: 0; | |||
background: transparent; | |||
} | |||
.ui-dialog-header, | |||
.ui-dialog-body, | |||
.ui-dialog-footer { | |||
padding: 0; | |||
border: 0 none; | |||
text-align: left; | |||
background: transparent; | |||
} | |||
.ui-dialog-header { | |||
white-space: nowrap; | |||
border-bottom: 1px solid #E5E5E5; | |||
} | |||
.ui-dialog-close { | |||
position: relative; | |||
_position: absolute; | |||
float: right; | |||
top: 13px; | |||
right: 13px; | |||
_height: 26px; | |||
padding: 0 4px; | |||
font-size: 21px; | |||
font-weight: bold; | |||
line-height: 1; | |||
color: #000; | |||
text-shadow: 0 1px 0 #FFF; | |||
opacity: .2; | |||
filter: alpha(opacity=20); | |||
cursor: pointer; | |||
background: transparent; | |||
_background: #FFF; | |||
border: 0; | |||
-webkit-appearance: none; | |||
} | |||
.ui-dialog-close:hover, | |||
.ui-dialog-close:focus { | |||
color: #000000; | |||
text-decoration: none; | |||
cursor: pointer; | |||
outline: 0; | |||
opacity: 0.5; | |||
filter: alpha(opacity=50); | |||
} | |||
.ui-dialog-title { | |||
margin: 0; | |||
line-height: 1.428571429; | |||
min-height: 16.428571429px; | |||
padding: 15px; | |||
overflow:hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
font-weight: bold; | |||
cursor: default; | |||
} | |||
.ui-dialog-body { | |||
padding: 20px; | |||
text-align: center; | |||
} | |||
.ui-dialog-content { | |||
display: inline-block; | |||
position: relative; | |||
vertical-align: middle; | |||
*zoom: 1; | |||
*display: inline; | |||
text-align: left; | |||
} | |||
.ui-dialog-footer { | |||
padding: 0 20px 20px 20px; | |||
} | |||
.ui-dialog-statusbar { | |||
float: left; | |||
margin-right: 20px; | |||
padding: 6px 0; | |||
line-height: 1.428571429; | |||
font-size: 14px; | |||
color: #888; | |||
white-space: nowrap; | |||
} | |||
.ui-dialog-statusbar label:hover { | |||
color: #333; | |||
} | |||
.ui-dialog-statusbar input, | |||
.ui-dialog-statusbar .label { | |||
vertical-align: middle; | |||
} | |||
.ui-dialog-button { | |||
float: right; | |||
white-space: nowrap; | |||
} | |||
.ui-dialog-footer button+button { | |||
margin-bottom: 0; | |||
margin-left: 5px; | |||
} | |||
.ui-dialog-footer button { | |||
width:auto; | |||
overflow:visible; | |||
display: inline-block; | |||
padding: 6px 12px; | |||
_margin-left: 5px; | |||
margin-bottom: 0; | |||
font-size: 14px; | |||
font-weight: normal; | |||
line-height: 1.428571429; | |||
text-align: center; | |||
white-space: nowrap; | |||
vertical-align: middle; | |||
cursor: pointer; | |||
background-image: none; | |||
border: 1px solid transparent; | |||
border-radius: 4px; | |||
-webkit-user-select: none; | |||
-moz-user-select: none; | |||
-ms-user-select: none; | |||
-o-user-select: none; | |||
user-select: none; | |||
} | |||
.ui-dialog-footer button:focus { | |||
outline: thin dotted #333; | |||
outline: 5px auto -webkit-focus-ring-color; | |||
outline-offset: -2px; | |||
} | |||
.ui-dialog-footer button:hover, | |||
.ui-dialog-footer button:focus { | |||
color: #333333; | |||
text-decoration: none; | |||
} | |||
.ui-dialog-footer button:active { | |||
background-image: none; | |||
outline: 0; | |||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |||
} | |||
.ui-dialog-footer button[disabled] { | |||
pointer-events: none; | |||
cursor: not-allowed; | |||
opacity: 0.65; | |||
filter: alpha(opacity=65); | |||
-webkit-box-shadow: none; | |||
box-shadow: none; | |||
} | |||
.ui-dialog-footer button { | |||
color: #333333; | |||
background-color: #ffffff; | |||
border-color: #cccccc; | |||
} | |||
.ui-dialog-footer button:hover, | |||
.ui-dialog-footer button:focus, | |||
.ui-dialog-footer button:active { | |||
color: #333333; | |||
background-color: #ebebeb; | |||
border-color: #adadad; | |||
} | |||
.ui-dialog-footer button:active{ | |||
background-image: none; | |||
} | |||
.ui-dialog-footer button[disabled], | |||
.ui-dialog-footer button[disabled]:hover, | |||
.ui-dialog-footer button[disabled]:focus, | |||
.ui-dialog-footer button[disabled]:active { | |||
background-color: #ffffff; | |||
border-color: #cccccc; | |||
} | |||
.ui-dialog-footer button.ui-dialog-autofocus { | |||
color: #ffffff; | |||
background-color: #428bca; | |||
border-color: #357ebd; | |||
} | |||
.ui-dialog-footer button.ui-dialog-autofocus:hover, | |||
.ui-dialog-footer button.ui-dialog-autofocus:focus, | |||
.ui-dialog-footer button.ui-dialog-autofocus:active { | |||
color: #ffffff; | |||
background-color: #3276b1; | |||
border-color: #285e8e; | |||
} | |||
.ui-dialog-footer button.ui-dialog-autofocus:active { | |||
background-image: none; | |||
} | |||
.ui-popup-top-left .ui-dialog, | |||
.ui-popup-top .ui-dialog, | |||
.ui-popup-top-right .ui-dialog { | |||
top: -8px; | |||
} | |||
.ui-popup-bottom-left .ui-dialog, | |||
.ui-popup-bottom .ui-dialog, | |||
.ui-popup-bottom-right .ui-dialog { | |||
top: 8px; | |||
} | |||
.ui-popup-left-top .ui-dialog, | |||
.ui-popup-left .ui-dialog, | |||
.ui-popup-left-bottom .ui-dialog { | |||
left: -8px; | |||
} | |||
.ui-popup-right-top .ui-dialog, | |||
.ui-popup-right .ui-dialog, | |||
.ui-popup-right-bottom .ui-dialog { | |||
left: 8px; | |||
} | |||
.ui-dialog-arrow-a, | |||
.ui-dialog-arrow-b { | |||
position: absolute; | |||
display: none; | |||
width: 0; | |||
height: 0; | |||
overflow:hidden; | |||
_color:#FF3FFF; | |||
_filter:chroma(color=#FF3FFF); | |||
border:8px dashed transparent; | |||
} | |||
.ui-popup-follow .ui-dialog-arrow-a, | |||
.ui-popup-follow .ui-dialog-arrow-b{ | |||
display: block; | |||
} | |||
.ui-popup-top-left .ui-dialog-arrow-a, | |||
.ui-popup-top .ui-dialog-arrow-a, | |||
.ui-popup-top-right .ui-dialog-arrow-a { | |||
bottom: -16px; | |||
border-top:8px solid #7C7C7C; | |||
} | |||
.ui-popup-top-left .ui-dialog-arrow-b, | |||
.ui-popup-top .ui-dialog-arrow-b, | |||
.ui-popup-top-right .ui-dialog-arrow-b { | |||
bottom: -15px; | |||
border-top:8px solid #fff; | |||
} | |||
.ui-popup-top-left .ui-dialog-arrow-a, | |||
.ui-popup-top-left .ui-dialog-arrow-b { | |||
left: 15px; | |||
} | |||
.ui-popup-top .ui-dialog-arrow-a, | |||
.ui-popup-top .ui-dialog-arrow-b { | |||
left: 50%; | |||
margin-left: -8px; | |||
} | |||
.ui-popup-top-right .ui-dialog-arrow-a, | |||
.ui-popup-top-right .ui-dialog-arrow-b { | |||
right: 15px; | |||
} | |||
.ui-popup-bottom-left .ui-dialog-arrow-a, | |||
.ui-popup-bottom .ui-dialog-arrow-a, | |||
.ui-popup-bottom-right .ui-dialog-arrow-a { | |||
top: -16px; | |||
border-bottom:8px solid #7C7C7C; | |||
} | |||
.ui-popup-bottom-left .ui-dialog-arrow-b, | |||
.ui-popup-bottom .ui-dialog-arrow-b, | |||
.ui-popup-bottom-right .ui-dialog-arrow-b { | |||
top: -15px; | |||
border-bottom:8px solid #fff; | |||
} | |||
.ui-popup-bottom-left .ui-dialog-arrow-a, | |||
.ui-popup-bottom-left .ui-dialog-arrow-b { | |||
left: 15px; | |||
} | |||
.ui-popup-bottom .ui-dialog-arrow-a, | |||
.ui-popup-bottom .ui-dialog-arrow-b { | |||
margin-left: -8px; | |||
left: 50%; | |||
} | |||
.ui-popup-bottom-right .ui-dialog-arrow-a, | |||
.ui-popup-bottom-right .ui-dialog-arrow-b { | |||
right: 15px; | |||
} | |||
.ui-popup-left-top .ui-dialog-arrow-a, | |||
.ui-popup-left .ui-dialog-arrow-a, | |||
.ui-popup-left-bottom .ui-dialog-arrow-a { | |||
right: -16px; | |||
border-left:8px solid #7C7C7C; | |||
} | |||
.ui-popup-left-top .ui-dialog-arrow-b, | |||
.ui-popup-left .ui-dialog-arrow-b, | |||
.ui-popup-left-bottom .ui-dialog-arrow-b { | |||
right: -15px; | |||
border-left:8px solid #fff; | |||
} | |||
.ui-popup-left-top .ui-dialog-arrow-a, | |||
.ui-popup-left-top .ui-dialog-arrow-b { | |||
top: 15px; | |||
} | |||
.ui-popup-left .ui-dialog-arrow-a, | |||
.ui-popup-left .ui-dialog-arrow-b { | |||
margin-top: -8px; | |||
top: 50%; | |||
} | |||
.ui-popup-left-bottom .ui-dialog-arrow-a, | |||
.ui-popup-left-bottom .ui-dialog-arrow-b { | |||
bottom: 15px; | |||
} | |||
.ui-popup-right-top .ui-dialog-arrow-a, | |||
.ui-popup-right .ui-dialog-arrow-a, | |||
.ui-popup-right-bottom .ui-dialog-arrow-a { | |||
left: -16px; | |||
border-right:8px solid #7C7C7C; | |||
} | |||
.ui-popup-right-top .ui-dialog-arrow-b, | |||
.ui-popup-right .ui-dialog-arrow-b, | |||
.ui-popup-right-bottom .ui-dialog-arrow-b { | |||
left: -15px; | |||
border-right:8px solid #fff; | |||
} | |||
.ui-popup-right-top .ui-dialog-arrow-a, | |||
.ui-popup-right-top .ui-dialog-arrow-b { | |||
top: 15px; | |||
} | |||
.ui-popup-right .ui-dialog-arrow-a, | |||
.ui-popup-right .ui-dialog-arrow-b { | |||
margin-top: -8px; | |||
top: 50%; | |||
} | |||
.ui-popup-right-bottom .ui-dialog-arrow-a, | |||
.ui-popup-right-bottom .ui-dialog-arrow-b { | |||
bottom: 15px; | |||
} | |||
@-webkit-keyframes ui-dialog-loading { | |||
0% { | |||
-webkit-transform: rotate(0deg); | |||
} | |||
100% { | |||
-webkit-transform: rotate(360deg); | |||
} | |||
} | |||
@keyframes ui-dialog-loading { | |||
0% { | |||
transform: rotate(0deg); | |||
} | |||
100% { | |||
transform: rotate(360deg); | |||
} | |||
} | |||
.ui-dialog-loading { | |||
vertical-align: middle; | |||
position: relative; | |||
display: block; | |||
*zoom: 1; | |||
*display: inline; | |||
overflow: hidden; | |||
width: 32px; | |||
height: 32px; | |||
top: 50%; | |||
margin: -16px auto 0 auto; | |||
font-size: 0; | |||
text-indent: -999em; | |||
color: #666; | |||
} | |||
.ui-dialog-loading { | |||
width: 100%\9; | |||
text-indent: 0\9; | |||
line-height: 32px\9; | |||
text-align: center\9; | |||
font-size: 12px\9; | |||
} | |||
.ui-dialog-loading::after { | |||
position: absolute; | |||
content: ''; | |||
width: 3px; | |||
height: 3px; | |||
margin: 14.5px 0 0 14.5px; | |||
border-radius: 100%; | |||
box-shadow: 0 -10px 0 1px #ccc, 10px 0px #ccc, 0 10px #ccc, -10px 0 #ccc, -7px -7px 0 0.5px #ccc, 7px -7px 0 1.5px #ccc, 7px 7px #ccc, -7px 7px #ccc; | |||
-webkit-transform: rotate(360deg); | |||
-webkit-animation: ui-dialog-loading 1.5s infinite linear; | |||
transform: rotate(360deg); | |||
animation: ui-dialog-loading 1.5s infinite linear; | |||
display: none\9; | |||
} |
@@ -0,0 +1,127 @@ | |||
/*-------------- | |||
* 获取用户、登录、注册相关 | |||
-----------------*/ | |||
var captchaImage_get = '/captchaImage'; //图形验证码接口 | |||
var login_post = '/login'; //用户登录接口 | |||
var getInfo_get = '/getInfo' //获取用户信息 | |||
/*-------------- | |||
* 首页 | |||
-----------------*/ | |||
/* | |||
@purl /transaction/website/news/{number}/{limit} | |||
@param | |||
number:新闻类型字典编号 | |||
limit: 要查询的数据条数 | |||
*/ | |||
var websiteNew = '/transaction/website/news' //网站新闻类接口 | |||
/* | |||
@purl /transaction/website/news/{number} | |||
@param | |||
number:新闻类型字典编号 | |||
*/ | |||
var websiteNewPage = '/transaction/website/news'// | |||
/* | |||
@purl /transaction/website/deptList/{deptId} | |||
@param | |||
deptId:查询当前平台级别下一级的部门列表 传参 0 | |||
查询某一级别下一级的部门列表 传参网址url中的deptId | |||
*/ | |||
var webDept = '/transaction/website/deptList'//标的物所在地 | |||
/* | |||
@purl /system/dict/data/type/ + dictType | |||
@param | |||
dictType:project_type | |||
*/ | |||
var webDeptType = '/transaction/website/data/type'//标的物类型查询接口 | |||
/* | |||
@purl /transaction/website/config | |||
@param | |||
*/ | |||
var webConfig = '/transaction/website/config'//查询网站配置信息 | |||
/* | |||
@purl /transaction/website/links | |||
@param | |||
*/ | |||
var friendsLinks = '/transaction/website/links'//查询网站底部友情链接 | |||
/* | |||
@purl /transaction/website/links | |||
@param | |||
dictType:0 | |||
*/ | |||
var allViewCount = '/transaction/website/outproject/allViewCount'//查询挂牌项目浏览总次数 | |||
/* | |||
@purl /transaction/website/outproject/{projectNumberArr}/{deptId}/{limit} | |||
@param | |||
projectNumberArr:土地林地四荒地模块,传参 1,2,3 | |||
集体资产,传参 4 | |||
农业生产设备,传参 5 | |||
小型水利设施,传参 6 | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数(如获取3条,参数设置为 3) | |||
*/ | |||
var webListing = '/transaction/website/outproject'//查询挂牌项目信息列表 | |||
/* | |||
@purl /transaction/website/outproject/publicity/{deptId}/{limit} | |||
@param | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数 | |||
*/ | |||
var announcementList = '/transaction/website/outproject/publicity'//成交公示 | |||
/* | |||
@purl /transaction/website/biddinglist/{deptId}/{limit} | |||
@param | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数 | |||
*/ | |||
var biddingHallList = '/transaction/website/biddinglist'//竞价大厅列表 | |||
/* | |||
@purl /transaction/website/jzlist/{deptId}/{limit} | |||
@param | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数 | |||
*/ | |||
var attestationList = '/transaction/website/jzlist'//竞价大厅列表 | |||
/* | |||
@purl /transaction/website/supplyDemand | |||
@param | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数 | |||
*/ | |||
var supplyDemand = '/transaction/website/supplyDemand'//竞价大厅列表 | |||
/* | |||
@purl /transaction/website/communicateList | |||
@param | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数 | |||
*/ | |||
var communicateList = '/transaction/website/communicateList'//互动交流列表 | |||
/* | |||
@purl /transaction/website/outproject/statistics/{deptId} | |||
@param | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数 | |||
*/ | |||
var statistics = '/transaction/website/outproject/statistics'//土地挂牌价格走势统计图 | |||
/* | |||
@purl /supplyDemandRecommend/{deptId}/{limit} | |||
@param | |||
deptId:行政区划部门ID | |||
limit:需要获取的数据条数 | |||
*/ | |||
var supplyDemandRecommend = '/transaction/website/supplyDemandRecommend'//土地挂牌价格走势统计图 |
@@ -0,0 +1,155 @@ | |||
requirejs.config({ | |||
urlArgs: "ver=1.0_" + (new Date).getTime(), | |||
baseUrl: '/static/js/', | |||
paths: { | |||
//第三方库的路径配置 | |||
jquery: 'lib/jquery/jquery-1.9.1.min', //jquery | |||
bootstrap: 'lib/bootstrap/js/bootstrap.min', //bootstrap | |||
jqueryCookie: 'lib/jquery-cookie/jquery.cookie', //cookie插件 | |||
template: 'lib/template/template', //模板引擎 | |||
templaten: 'lib/template/template-native', //模板引擎-后端写法 | |||
jqueryLazyload: 'lib/jQuery-plugins/jquery.lazyload.min', //图片延迟加载 | |||
dialog: 'lib/dialog/dialog', //artDialog弹窗插件 | |||
dialogConf: 'lib/dialog/dialog-config', | |||
drag: 'lib/dialog/drag', | |||
popup: 'lib/dialog/popup', | |||
swiper: 'lib/swiper/swiper.min', //焦点图插件 | |||
nprogress: 'lib/nprogress/nprogress', //页面加载loading组件 | |||
echarts: 'lib/echarts/echarts.min', //echarts组件 | |||
laydata:'lib/laydata/laydata', | |||
paging:'lib/paging/page_common',//分页插件 | |||
cupload:'lib/cupload/cupload',//上传图片插件 | |||
dateTime:'lib/dateTime/dateTime.min',//时间选择器 | |||
//自己写的路径配置 | |||
Tools: 'common/tools', | |||
addressApi: 'api/index', //所有Ajax接口存放地 | |||
newApi: 'api/new', //新闻接口 | |||
itemsApi: 'api/items', //挂牌项目接口 | |||
biddingApi: 'api/bidding', //竞价大厅接口 | |||
announApi: 'api/announcementList', //项目公告接口 | |||
demandApi: 'api/demand', //个人供求接口 | |||
policyApi: 'api/policy',//政策法规接口 | |||
interactApi: 'api/interact',//互动交流接口 | |||
user: 'api/user',//用户信息接口 | |||
register:'api/register',//用户注册接口 | |||
ajaxUploadImage:'lib/ajaxUpload/ajaxupload',//上传图片 | |||
kindeditor:'lib/kindeditor/kindeditor-all', | |||
zhCN:'lib/kindeditor/lang/zh-CN', | |||
}, | |||
shim: { | |||
bootstrap: { | |||
deps: ['jquery'] | |||
}, | |||
jqueryLazyload: { | |||
deps: ['jquery'] | |||
}, | |||
dialog: { | |||
deps: ['jquery', 'dialogConf', 'drag', 'popup'], | |||
exports: 'dialog' | |||
}, | |||
swiper: { | |||
deps: ['jquery'], | |||
exports: 'swiper' | |||
}, | |||
nprogress: { | |||
deps: ['jquery'], | |||
exports: 'nprogress' | |||
}, | |||
paging: { | |||
deps: ['jquery'], | |||
exports: 'paging' | |||
}, | |||
dateTime: { | |||
deps: ['jquery'], | |||
exports: 'dateTime' | |||
}, | |||
ajaxUploadImage: { | |||
deps: ['jquery'], | |||
exports: 'ajaxUploadImage' | |||
}, | |||
kindeditor: { | |||
deps: ['zhCN'], | |||
exports: 'kindeditor' | |||
} | |||
} | |||
}); | |||
//所有页面都需要的js,先行加载 | |||
require(['jquery', 'addressApi']); | |||
require(["jquery", "nprogress"], function ($, nprogress) { | |||
//ajax加载页面跳转 | |||
$(document).ajaxStart(function () { | |||
// $('.loading').show(); | |||
nprogress.start(); | |||
}).ajaxStop(function () { | |||
// $('.loading').hide(); | |||
nprogress.done(); | |||
}); | |||
//根据条件加载不同js文件 | |||
var currentPage = $("#require-page").attr("current-page"); | |||
var targetModule = $("#require-page").attr("target-module"); | |||
if (targetModule) { | |||
// 页面加载完毕后再执行相关业务代码比较稳妥 | |||
$(function () { | |||
require([targetModule], function (targetModule) { | |||
//不要在这里写业务代码 | |||
//全部统一调用init方法 | |||
//也就是每个模块都暴露一个init方法用于事件监听,页面内容加载等 | |||
targetModule.init(currentPage); | |||
}); | |||
}); | |||
return; | |||
} | |||
}) | |||
require(["jquery", "Tools","addressApi"], function ($, Tools) { | |||
var tools = new Tools(); | |||
// document.getElementById('dress').onmouseover = function(){ | |||
// document.getElementById('dressList').style.display = 'block'; | |||
// }; | |||
// document.getElementById('dressList').onmouseover = function(){ | |||
// document.getElementById('dressList').style.display = 'block'; | |||
// }; | |||
// document.getElementById('dress').onmouseout = function(){ | |||
// document.getElementById('dressList').style.display = 'none'; | |||
// }; | |||
// document.getElementById('dressList').onmouseout = function(){ | |||
// document.getElementById('dressList').style.display = 'none'; | |||
// }; | |||
if(tools.getCookie('Admin-Token') != ''){ | |||
document.getElementById('userInfo').style.display = 'block'; | |||
document.getElementById('userLogin').style.display = 'none'; | |||
document.getElementById('userRealName').innerHTML = tools.getCookie('userName'); | |||
document.getElementById('userRealName2').innerHTML = tools.getCookie('userName'); | |||
document.getElementById('userInfo').onmouseover = function(){ | |||
document.getElementById('headHover').style.display = 'block'; | |||
}; | |||
document.getElementById('headHover').onmouseover = function(){ | |||
document.getElementById('headHover').style.display = 'block'; | |||
}; | |||
document.getElementById('userInfo').onmouseout = function(){ | |||
document.getElementById('headHover').style.display = 'none'; | |||
}; | |||
document.getElementById('headHover').onmouseout = function(){ | |||
document.getElementById('headHover').style.display = 'none'; | |||
}; | |||
}else{ | |||
document.getElementById('userLogin').style.display = 'block'; | |||
} | |||
outLogin = function(){ | |||
tools.removeAllCookie(); | |||
} | |||
goIndex = function(){ | |||
tools.skip('/'); | |||
} | |||
searchAllNew = function () { | |||
var searchAllTitle = $('#searchAllTitle').val(); | |||
tools.skip('view/new/newList.html?title='+searchAllTitle); | |||
} | |||
}) |
@@ -0,0 +1,481 @@ | |||
var serverApi = ''; | |||
var friendsLinksList = []; | |||
var themeColor = ''; | |||
var logo = ''; | |||
define(['jquery', 'dialog'], function ($, dialog) { | |||
// 工具类 | |||
function Tool() { | |||
this.version = "1.0.0"; | |||
this.description = "这是一个工具类"; | |||
} | |||
var ajaxJsUrl = "/api"; | |||
$.extend(Tool.prototype, { | |||
/** | |||
* ajax post | |||
* @param url (String) | |||
* @param data (Json) 需要提交的数据 | |||
* @param cb(Function) 回调函数 | |||
* @param Bearer(Boolean) 是否需要Bearer,不需要传true | |||
*/ | |||
doPost: function (url, data, cb, Bearer) { | |||
var _this = this; | |||
// data.deptId = 100 ; | |||
// console.log(data) | |||
var headAttribute = ''; | |||
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
} | |||
} else { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token')) | |||
} | |||
} | |||
$.ajax({ | |||
url: ajaxJsUrl + url + '?=' + Math.random(), | |||
type: 'POST', | |||
data: JSON.stringify(data), | |||
dataType: 'json', | |||
contentType: "application/json", | |||
beforeSend: headAttribute, | |||
success: function (data) { | |||
var code = data.code; | |||
var msg = data.msg; | |||
if (code === 401) { | |||
_this.removeAllCookie(); | |||
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () { | |||
_this.skip('/view/login/login.html') | |||
}, '重新登录', function () { }, "取消") | |||
} else if (code === 500) { | |||
_this.initError(msg) | |||
cb(data); | |||
} else if (code != 200) { | |||
_this.initError(msg) | |||
} else { | |||
cb(data); | |||
} | |||
} | |||
}); | |||
}, | |||
/** | |||
* ajax post | |||
* @param url (String) | |||
* @param data (Json) 需要提交的数据 | |||
* @param cb(Function) 回调函数 | |||
* @param Bearer(Boolean) 是否需要Bearer,不需要传true | |||
*/ | |||
doPostImg: function (url, data, cb, Bearer) { | |||
var _this = this; | |||
// data.deptId = 100 ; | |||
// console.log(data) | |||
var headAttribute = ''; | |||
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
} | |||
} else { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token')) | |||
} | |||
} | |||
$.ajax({ | |||
url: ajaxJsUrl + url + '?=' + Math.random(), | |||
type: 'POST', | |||
data: JSON.stringify(data), | |||
dataType: 'json', | |||
traditional:true, | |||
contentType: "application/json", | |||
beforeSend: headAttribute, | |||
success: function (data) { | |||
var code = data.code; | |||
var msg = data.msg; | |||
if (code === 401) { | |||
_this.removeAllCookie(); | |||
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () { | |||
_this.skip('/view/login/login.html') | |||
}, '重新登录', function () { }, "取消") | |||
} else if (code === 500) { | |||
_this.initError(msg) | |||
cb(data); | |||
} else if (code != 200) { | |||
_this.initError(msg) | |||
} else { | |||
cb(data); | |||
} | |||
} | |||
}); | |||
}, | |||
/** | |||
* ajax put | |||
* @param url (String) | |||
* @param data (Json) 需要提交的数据 | |||
* @param cb(Function) 回调函数 | |||
* @param Bearer(Boolean) 是否需要Bearer,不需要传true | |||
*/ | |||
doPut: function (url, data, cb, Bearer) { | |||
var _this = this; | |||
var headAttribute = ''; | |||
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
} | |||
} else { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token')) | |||
} | |||
} | |||
$.ajax({ | |||
url: ajaxJsUrl + url + '?=' + Math.random(), | |||
type: 'put', | |||
data: JSON.stringify(data), | |||
dataType: 'json', | |||
contentType: "application/json", | |||
beforeSend: headAttribute, | |||
success: function (data) { | |||
var code = data.code; | |||
var msg = data.msg; | |||
if (code === 401) { | |||
_this.removeAllCookie(); | |||
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () { | |||
_this.skip('/view/login/login.html') | |||
}, '重新登录', function () { }, "取消") | |||
} else if (code === 500) { | |||
_this.initError(msg) | |||
cb(data); | |||
} else if (code != 200) { | |||
_this.initError(msg) | |||
} else { | |||
cb(data); | |||
} | |||
} | |||
}); | |||
}, | |||
/** | |||
* ajax get | |||
* @param url(String) | |||
* @param data(Json) 需要提交的数据 | |||
* @param cb(Function) 回调函数 | |||
* @param noHead(Boolean) 是否需要Bearer,不需要传true | |||
*/ | |||
doGet: function (uri, data, cb, Bearer) { | |||
var _this = this; | |||
// deptId=100& | |||
var url = ajaxJsUrl + uri + '?'; | |||
var headAttribute = '' | |||
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
} | |||
} else { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token')) | |||
} | |||
} | |||
if (data) { | |||
url += $.map(data, function (n, i) { | |||
if (i == data.length - 1) { | |||
return i + '=' + n; | |||
} else { | |||
return i + '=' + n + '&'; | |||
} | |||
}).join(''); | |||
} | |||
$.ajax({ | |||
url: url, | |||
type: 'GET', | |||
beforeSend: headAttribute, | |||
success: function (data) { | |||
var code = data.code; | |||
var msg = data.msg; | |||
if (code === 401) { | |||
_this.removeAllCookie(); | |||
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () { | |||
_this.skip('/view/login/login.html') | |||
}, '重新登录', function () { }, "取消") | |||
} else if (code === 500) { | |||
_this.initError(msg) | |||
} else if (code != 200) { | |||
_this.initError(msg) | |||
} else { | |||
cb(data); | |||
} | |||
}, | |||
error: function (data) { | |||
console.log(data) | |||
} | |||
}); | |||
}, | |||
/** | |||
* ajax delete | |||
* @param url(String) | |||
* @param data(Json) 需要提交的数据 | |||
* @param cb(Function) 回调函数 | |||
* @param noHead(Boolean) 是否需要Bearer,不需要传true | |||
*/ | |||
doDelete: function (uri, data, cb, Bearer) { | |||
var _this = this; | |||
var url = ajaxJsUrl + uri + '?'; | |||
var headAttribute = '' | |||
if (Bearer && Bearer == true || _this.getCookie('Admin-Token') == '') { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
} | |||
} else { | |||
headAttribute = function (xhr) { | |||
xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8'); | |||
xhr.setRequestHeader('Authorization', 'Bearer ' + _this.getCookie('Admin-Token')) | |||
} | |||
} | |||
if (data) { | |||
url += $.map(data, function (n, i) { | |||
if (i == data.length - 1) { | |||
return i + '=' + n; | |||
} else { | |||
return i + '=' + n + '&'; | |||
} | |||
}).join(''); | |||
} | |||
$.ajax({ | |||
url: url, | |||
type: 'delete', | |||
beforeSend: headAttribute, | |||
success: function (data) { | |||
var code = data.code; | |||
var msg = data.msg; | |||
if (code === 401) { | |||
_this.removeAllCookie(); | |||
_this.initDialog('系统提示', '登录状态已过期,您可以继续留在该页面,或者重新登录', function () { | |||
_this.skip('/view/login/login.html') | |||
}, '重新登录', function () { }, "取消") | |||
} else if (code === 500) { | |||
_this.initError(msg) | |||
} else if (code != 200) { | |||
_this.initError(msg) | |||
} else { | |||
cb(data); | |||
} | |||
}, | |||
error: function (data) { | |||
console.log(data) | |||
} | |||
}); | |||
}, | |||
/** | |||
* 创建dialog | |||
* @param id(String) 创建的dialog的Id 用于分辨唯一的dialog | |||
* @param title (String) dialog的title | |||
* @param content(String || HTMLElement) dialog的内容 | |||
* @param ok (Function) 点击确定按钮的回调函数 | |||
* @param cancel(Function) 点击取消按钮的回调函数 | |||
* 可以通过showModal来实现modal显示 | |||
*/ | |||
initDialog: function (title, content, ok, okValue, cancel, cancelValue, id) { | |||
var initDialog = dialog({ | |||
id: id ? id : '', | |||
title: title, | |||
content: content, | |||
okValue: okValue ? okValue : '确定', | |||
ok: ok, | |||
cancelValue: cancelValue ? cancelValue : '取消', | |||
cancel: cancel, | |||
padding: 40, | |||
top: '150px' | |||
}); | |||
initDialog.show(); | |||
}, | |||
/** | |||
* 创建error dialog | |||
* @param errContent | |||
*/ | |||
initError: function (errContent) { | |||
var error = dialog({ | |||
content: errContent, | |||
padding: 20 | |||
}); | |||
error.show(); | |||
var time = setTimeout(function () { | |||
error.remove(); | |||
}, 1500); | |||
}, | |||
/** | |||
* 创建dialog tips | |||
* @param tips | |||
* @param align | |||
*/ | |||
initTips: function (tips, align, $target, times) { | |||
var tips = dialog({ | |||
content: tips, | |||
padding: 20, | |||
skin: 'min-dialog tips', | |||
quickClose: true, | |||
align: align | |||
}); | |||
tips.show($target); | |||
if (times == undefined || times == 'undefined' || times == '' || times == 'null' || times == null) { | |||
times = 2000 | |||
} else { | |||
times = times | |||
} | |||
setTimeout(function () { | |||
tips.close().remove(); | |||
}, times); | |||
}, | |||
/** | |||
* setCookie 设置cookie | |||
* @param cname 名称 | |||
* @param cvalue 值 | |||
* @param seconds 有效期 | |||
*/ | |||
setCookie: function (cname, cvalue, seconds) { | |||
var d = new Date(); | |||
d.setTime(d.getTime() + (seconds * 1000)); | |||
var expires = "expires=" + d.toGMTString(); | |||
document.cookie = cname + "=" + cvalue + "; " + expires + ";path=/"; | |||
}, | |||
/** | |||
* getCookie 获取cookie | |||
* @param cname 名称 | |||
*/ | |||
getCookie: function (cname) { | |||
var name = cname + "="; | |||
var ca = document.cookie.split(';'); | |||
for (var i = 0; i < ca.length; i++) { | |||
var c = ca[i]; | |||
while (c.charAt(0) == ' ') c = c.substring(1); | |||
if (c.indexOf(name) != -1) return c.substring(name.length, c.length); | |||
} | |||
return ""; | |||
}, | |||
/** | |||
* removeCookie 删除cookie | |||
* @param cname 名称 | |||
*/ | |||
removeCookie: function (cname) { | |||
var exp = new Date(); | |||
exp.setTime(exp.getTime() - 1); | |||
document.cookie = cname + "=; expires=" + exp.toGMTString(); | |||
}, | |||
/** | |||
* getParam 获取url参数 | |||
* @param key 当前url链接 | |||
*/ | |||
getParam: function (key) { | |||
var json = {}, data; | |||
$.each(location.search.substr(1).split("&"), function (i, n) { | |||
data = n.split("="); | |||
json[data[0]] = data[1]; | |||
}); | |||
return key != undefined ? json[key] : json; | |||
}, | |||
/** | |||
* getParam 判断对象是否有内容 | |||
* @param obj 传入对象 | |||
*/ | |||
isEmptyObject: function (obj) { | |||
for (var key in obj) { | |||
return false; | |||
} | |||
return true; | |||
}, | |||
/** | |||
* skip 页面跳转 | |||
* @param url 跳转页面链接 | |||
*/ | |||
skip: function (url) { | |||
if (url != '') { | |||
window.location = url | |||
} | |||
}, | |||
/** | |||
* getNowFormatDate 获取时间 | |||
* @param | |||
*/ | |||
getNowFormatDate: function () { | |||
var date = new Date(); | |||
var seperator1 = "-"; | |||
var seperator2 = ":"; | |||
var month = date.getMonth() + 1; | |||
var day = date.getDate(); | |||
var hours = date.getHours(); | |||
var minutes = date.getMinutes(); | |||
var seconds = date.getSeconds(); | |||
if (month >= 1 && month <= 9) { | |||
month = "0" + month; | |||
} | |||
if (day >= 0 && day <= 9) { | |||
day = "0" + day; | |||
} | |||
if (hours >= 0 && hours <= 9) { | |||
hours = "0" + hours; | |||
} | |||
if (minutes >= 0 && minutes <= 9) { | |||
minutes = "0" + minutes; | |||
} | |||
if (seconds >= 0 && seconds <= 9) { | |||
seconds = "0" + seconds; | |||
} | |||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + day + " " + hours + seperator2 + minutes + seperator2 + seconds; | |||
console.log(currentdate) | |||
return currentdate; | |||
}, | |||
/** | |||
* getWebConfig 网站配置信息 | |||
* @param | |||
*/ | |||
getWebConfig: function () { | |||
this.doGet(webConfig, {}, this.webConfigInformation, true) | |||
}, | |||
/** | |||
* webConfigInformation 网站配置信息 | |||
* @param | |||
*/ | |||
webConfigInformation: function (data) { | |||
if (data.code == 200) { | |||
var content = data.data; | |||
console.log(content) | |||
// content[13].configValue = 'red'; | |||
if (content[13].configValue == 'red'){ | |||
themeColor = 'red'; | |||
document.documentElement.style.setProperty('--color', '#e8041f'); | |||
document.documentElement.style.setProperty('--icon', "url('../images/icon3_red.png')"); | |||
document.documentElement.style.setProperty('--logo', "url('../images/logo_red.png')"); | |||
logo = '../images/logo_red.png'; | |||
} | |||
if (content[13].configValue == 'green'){ | |||
themeColor = 'green'; | |||
document.documentElement.style.setProperty('--color', '#007b76'); | |||
document.documentElement.style.setProperty('--icon', "url('../images/icon3.png')"); | |||
document.documentElement.style.setProperty('--logo', "url('../images/logo.png')"); | |||
logo = '../images/logo.png'; | |||
} | |||
$("#webConfigName").html(content[0].configValue); | |||
$("#webConfigRecord").html(content[1].configValue + '<span style="margin-left: 10px;"></span>' + content[2].configValue); | |||
$("#webConfigAddress").html(content[0].configValue + '<span style="margin-left: 10px;"></span>' + content[3].configValue); | |||
serverApi = content[11].configValue; | |||
} | |||
}, | |||
/** | |||
* removeAllCookie 清除所有Cookie | |||
* @param | |||
*/ | |||
removeAllCookie: function () { | |||
var keys = document.cookie.match(/[^ =;]+(?==)/g) | |||
if (keys) { | |||
for (var i = keys.length; i--;) { | |||
document.cookie = keys[i] + '=0;path=/;expires=' + new Date(0).toUTCString() // 清除当前域名下的,例如:m.ratingdog.cn | |||
} | |||
location.reload(); | |||
} | |||
}, | |||
}); | |||
return Tool; | |||
}); |
@@ -0,0 +1,682 @@ | |||
/** | |||
* AJAX Upload ( http://valums.com/ajax-upload/ ) | |||
* Copyright (c) Andrew Valums | |||
* Licensed under the MIT license | |||
*/ | |||
(function () { | |||
/** | |||
* Attaches event to a dom element. | |||
* @param {Element} el | |||
* @param type event name | |||
* @param fn callback This refers to the passed element | |||
*/ | |||
function addEvent(el, type, fn){ | |||
if (el.addEventListener) { | |||
el.addEventListener(type, fn, false); | |||
} else if (el.attachEvent) { | |||
el.attachEvent('on' + type, function(){ | |||
fn.call(el); | |||
}); | |||
} else { | |||
throw new Error('not supported or DOM not loaded'); | |||
} | |||
} | |||
/** | |||
* Attaches resize event to a window, limiting | |||
* number of event fired. Fires only when encounteres | |||
* delay of 100 after series of events. | |||
* | |||
* Some browsers fire event multiple times when resizing | |||
* http://www.quirksmode.org/dom/events/resize.html | |||
* | |||
* @param fn callback This refers to the passed element | |||
*/ | |||
function addResizeEvent(fn){ | |||
var timeout; | |||
addEvent(window, 'resize', function(){ | |||
if (timeout){ | |||
clearTimeout(timeout); | |||
} | |||
timeout = setTimeout(fn, 100); | |||
}); | |||
} | |||
// Needs more testing, will be rewriten for next version | |||
// getOffset function copied from jQuery lib (http://jquery.com/) | |||
if (document.documentElement.getBoundingClientRect){ | |||
// Get Offset using getBoundingClientRect | |||
// http://ejohn.org/blog/getboundingclientrect-is-awesome/ | |||
var getOffset = function(el){ | |||
var box = el.getBoundingClientRect(); | |||
var doc = el.ownerDocument; | |||
var body = doc.body; | |||
var docElem = doc.documentElement; // for ie | |||
var clientTop = docElem.clientTop || body.clientTop || 0; | |||
var clientLeft = docElem.clientLeft || body.clientLeft || 0; | |||
// In Internet Explorer 7 getBoundingClientRect property is treated as physical, | |||
// while others are logical. Make all logical, like in IE8. | |||
var zoom = 1; | |||
if (body.getBoundingClientRect) { | |||
var bound = body.getBoundingClientRect(); | |||
zoom = (bound.right - bound.left) / body.clientWidth; | |||
} | |||
if (zoom > 1) { | |||
clientTop = 0; | |||
clientLeft = 0; | |||
} | |||
var top = box.top / zoom + (window.pageYOffset || docElem && docElem.scrollTop / zoom || body.scrollTop / zoom) - clientTop, left = box.left / zoom + (window.pageXOffset || docElem && docElem.scrollLeft / zoom || body.scrollLeft / zoom) - clientLeft; | |||
return { | |||
top: top, | |||
left: left | |||
}; | |||
}; | |||
} else { | |||
// Get offset adding all offsets | |||
var getOffset = function(el){ | |||
var top = 0, left = 0; | |||
do { | |||
top += el.offsetTop || 0; | |||
left += el.offsetLeft || 0; | |||
el = el.offsetParent; | |||
} while (el); | |||
return { | |||
left: left, | |||
top: top | |||
}; | |||
}; | |||
} | |||
/** | |||
* Returns left, top, right and bottom properties describing the border-box, | |||
* in pixels, with the top-left relative to the body | |||
* @param {Element} el | |||
* @return {Object} Contains left, top, right,bottom | |||
*/ | |||
function getBox(el){ | |||
var left, right, top, bottom; | |||
var offset = getOffset(el); | |||
left = offset.left; | |||
top = offset.top; | |||
right = left + el.offsetWidth; | |||
bottom = top + el.offsetHeight; | |||
return { | |||
left: left, | |||
right: right, | |||
top: top, | |||
bottom: bottom | |||
}; | |||
} | |||
/** | |||
* Helper that takes object literal | |||
* and add all properties to element.style | |||
* @param {Element} el | |||
* @param {Object} styles | |||
*/ | |||
function addStyles(el, styles){ | |||
for (var name in styles) { | |||
if (styles.hasOwnProperty(name)) { | |||
el.style[name] = styles[name]; | |||
} | |||
} | |||
} | |||
/** | |||
* Function places an absolutely positioned | |||
* element on top of the specified element | |||
* copying position and dimentions. | |||
* @param {Element} from | |||
* @param {Element} to | |||
*/ | |||
function copyLayout(from, to){ | |||
var box = getBox(from); | |||
addStyles(to, { | |||
position: 'absolute', | |||
left : box.left + 'px', | |||
top : box.top + 'px', | |||
width : from.offsetWidth + 'px', | |||
height : from.offsetHeight + 'px' | |||
}); | |||
} | |||
/** | |||
* Creates and returns element from html chunk | |||
* Uses innerHTML to create an element | |||
*/ | |||
var toElement = (function(){ | |||
var div = document.createElement('div'); | |||
return function(html){ | |||
div.innerHTML = html; | |||
var el = div.firstChild; | |||
return div.removeChild(el); | |||
}; | |||
})(); | |||
/** | |||
* Function generates unique id | |||
* @return unique id | |||
*/ | |||
var getUID = (function(){ | |||
var id = 0; | |||
return function(){ | |||
return 'ValumsAjaxUpload' + id++; | |||
}; | |||
})(); | |||
/** | |||
* Get file name from path | |||
* @param {String} file path to file | |||
* @return filename | |||
*/ | |||
function fileFromPath(file){ | |||
return file.replace(/.*(\/|\\)/, ""); | |||
} | |||
/** | |||
* Get file extension lowercase | |||
* @param {String} file name | |||
* @return file extenstion | |||
*/ | |||
function getExt(file){ | |||
return (-1 !== file.indexOf('.')) ? file.replace(/.*[.]/, '') : ''; | |||
} | |||
function hasClass(el, name){ | |||
var re = new RegExp('\\b' + name + '\\b'); | |||
return re.test(el.className); | |||
} | |||
function addClass(el, name){ | |||
if ( ! hasClass(el, name)){ | |||
el.className += ' ' + name; | |||
} | |||
} | |||
function removeClass(el, name){ | |||
var re = new RegExp('\\b' + name + '\\b'); | |||
el.className = el.className.replace(re, ''); | |||
} | |||
function removeNode(el){ | |||
el.parentNode.removeChild(el); | |||
} | |||
/** | |||
* Easy styling and uploading | |||
* @constructor | |||
* @param button An element you want convert to | |||
* upload button. Tested dimentions up to 500x500px | |||
* @param {Object} options See defaults below. | |||
*/ | |||
window.AjaxUpload = function(button, options){ | |||
this._settings = { | |||
// Location of the server-side upload script | |||
action: 'upload.php', | |||
// File upload name | |||
name: 'userfile', | |||
// Select & upload multiple files at once FF3.6+, Chrome 4+ | |||
multiple: false, | |||
// Additional data to send | |||
data: {}, | |||
// Submit file as soon as it's selected | |||
autoSubmit: true, | |||
// The type of data that you're expecting back from the server. | |||
// html and xml are detected automatically. | |||
// Only useful when you are using json data as a response. | |||
// Set to "json" in that case. | |||
responseType: false, | |||
// Class applied to button when mouse is hovered | |||
hoverClass: 'hover', | |||
// Class applied to button when button is focused | |||
focusClass: 'focus', | |||
// Class applied to button when AU is disabled | |||
disabledClass: 'disabled', | |||
// When user selects a file, useful with autoSubmit disabled | |||
// You can return false to cancel upload | |||
onChange: function(file, extension){ | |||
}, | |||
// Callback to fire before file is uploaded | |||
// You can return false to cancel upload | |||
onSubmit: function(file, extension){ | |||
}, | |||
// Fired when file upload is completed | |||
// WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE! | |||
onComplete: function(file, response){ | |||
} | |||
}; | |||
// Merge the users options with our defaults | |||
for (var i in options) { | |||
if (options.hasOwnProperty(i)){ | |||
this._settings[i] = options[i]; | |||
} | |||
} | |||
// button isn't necessary a dom element | |||
if (button.jquery){ | |||
// jQuery object was passed | |||
button = button[0]; | |||
} else if (typeof button == "string") { | |||
if (/^#.*/.test(button)){ | |||
// If jQuery user passes #elementId don't break it | |||
button = button.slice(1); | |||
} | |||
button = document.getElementById(button); | |||
} | |||
if ( ! button || button.nodeType !== 1){ | |||
throw new Error("Please make sure that you're passing a valid element"); | |||
} | |||
if ( button.nodeName.toUpperCase() == 'A'){ | |||
// disable link | |||
addEvent(button, 'click', function(e){ | |||
if (e && e.preventDefault){ | |||
e.preventDefault(); | |||
} else if (window.event){ | |||
window.event.returnValue = false; | |||
} | |||
}); | |||
} | |||
// DOM element | |||
this._button = button; | |||
// DOM element | |||
this._input = null; | |||
// If disabled clicking on button won't do anything | |||
this._disabled = false; | |||
// if the button was disabled before refresh if will remain | |||
// disabled in FireFox, let's fix it | |||
this.enable(); | |||
this._rerouteClicks(); | |||
}; | |||
// assigning methods to our class | |||
AjaxUpload.prototype = { | |||
setData: function(data){ | |||
this._settings.data = data; | |||
}, | |||
disable: function(){ | |||
addClass(this._button, this._settings.disabledClass); | |||
this._disabled = true; | |||
var nodeName = this._button.nodeName.toUpperCase(); | |||
if (nodeName == 'INPUT' || nodeName == 'BUTTON'){ | |||
this._button.setAttribute('disabled', 'disabled'); | |||
} | |||
// hide input | |||
if (this._input){ | |||
if (this._input.parentNode) { | |||
// We use visibility instead of display to fix problem with Safari 4 | |||
// The problem is that the value of input doesn't change if it | |||
// has display none when user selects a file | |||
this._input.parentNode.style.visibility = 'hidden'; | |||
} | |||
} | |||
}, | |||
enable: function(){ | |||
removeClass(this._button, this._settings.disabledClass); | |||
this._button.removeAttribute('disabled'); | |||
this._disabled = false; | |||
}, | |||
/** | |||
* Creates invisible file input | |||
* that will hover above the button | |||
* <div><input type='file' /></div> | |||
*/ | |||
_createInput: function(){ | |||
var self = this; | |||
var input = document.createElement("input"); | |||
input.setAttribute('type', 'file'); | |||
input.setAttribute('name', this._settings.name); | |||
if(this._settings.multiple) input.setAttribute('multiple', 'multiple'); | |||
addStyles(input, { | |||
'position' : 'absolute', | |||
// in Opera only 'browse' button | |||
// is clickable and it is located at | |||
// the right side of the input | |||
'right' : 0, | |||
'margin' : 0, | |||
'padding' : 0, | |||
'fontSize' : '480px', | |||
// in Firefox if font-family is set to | |||
// 'inherit' the input doesn't work | |||
'fontFamily' : 'sans-serif', | |||
'cursor' : 'pointer' | |||
}); | |||
var div = document.createElement("div"); | |||
addStyles(div, { | |||
'display' : 'block', | |||
'position' : 'absolute', | |||
'overflow' : 'hidden', | |||
'margin' : 0, | |||
'padding' : 0, | |||
'opacity' : 0, | |||
// Make sure browse button is in the right side | |||
// in Internet Explorer | |||
'direction' : 'ltr', | |||
//Max zIndex supported by Opera 9.0-9.2 | |||
'zIndex': 2147483583 | |||
}); | |||
// Make sure that element opacity exists. | |||
// Otherwise use IE filter | |||
if ( div.style.opacity !== "0") { | |||
if (typeof(div.filters) == 'undefined'){ | |||
throw new Error('Opacity not supported by the browser'); | |||
} | |||
div.style.filter = "alpha(opacity=0)"; | |||
} | |||
addEvent(input, 'change', function(){ | |||
if ( ! input || input.value === ''){ | |||
return; | |||
} | |||
// Get filename from input, required | |||
// as some browsers have path instead of it | |||
var file = fileFromPath(input.value); | |||
if (false === self._settings.onChange.call(self, file, getExt(file))){ | |||
self._clearInput(); | |||
return; | |||
} | |||
// Submit form when value is changed | |||
if (self._settings.autoSubmit) { | |||
self.submit(); | |||
} | |||
}); | |||
addEvent(input, 'mouseover', function(){ | |||
addClass(self._button, self._settings.hoverClass); | |||
}); | |||
addEvent(input, 'mouseout', function(){ | |||
removeClass(self._button, self._settings.hoverClass); | |||
removeClass(self._button, self._settings.focusClass); | |||
if (input.parentNode) { | |||
// We use visibility instead of display to fix problem with Safari 4 | |||
// The problem is that the value of input doesn't change if it | |||
// has display none when user selects a file | |||
input.parentNode.style.visibility = 'hidden'; | |||
} | |||
}); | |||
addEvent(input, 'focus', function(){ | |||
addClass(self._button, self._settings.focusClass); | |||
}); | |||
addEvent(input, 'blur', function(){ | |||
removeClass(self._button, self._settings.focusClass); | |||
}); | |||
div.appendChild(input); | |||
document.body.appendChild(div); | |||
this._input = input; | |||
}, | |||
_clearInput : function(){ | |||
if (!this._input){ | |||
return; | |||
} | |||
// this._input.value = ''; Doesn't work in IE6 | |||
removeNode(this._input.parentNode); | |||
this._input = null; | |||
this._createInput(); | |||
removeClass(this._button, this._settings.hoverClass); | |||
removeClass(this._button, this._settings.focusClass); | |||
}, | |||
/** | |||
* Function makes sure that when user clicks upload button, | |||
* the this._input is clicked instead | |||
*/ | |||
_rerouteClicks: function(){ | |||
var self = this; | |||
// IE will later display 'access denied' error | |||
// if you use using self._input.click() | |||
// other browsers just ignore click() | |||
addEvent(self._button, 'mouseover', function(){ | |||
if (self._disabled){ | |||
return; | |||
} | |||
if ( ! self._input){ | |||
self._createInput(); | |||
} | |||
var div = self._input.parentNode; | |||
copyLayout(self._button, div); | |||
div.style.visibility = 'visible'; | |||
}); | |||
// commented because we now hide input on mouseleave | |||
/** | |||
* When the window is resized the elements | |||
* can be misaligned if button position depends | |||
* on window size | |||
*/ | |||
//addResizeEvent(function(){ | |||
// if (self._input){ | |||
// copyLayout(self._button, self._input.parentNode); | |||
// } | |||
//}); | |||
}, | |||
/** | |||
* Creates iframe with unique name | |||
* @return {Element} iframe | |||
*/ | |||
_createIframe: function(){ | |||
// We can't use getTime, because it sometimes return | |||
// same value in safari :( | |||
var id = getUID(); | |||
// We can't use following code as the name attribute | |||
// won't be properly registered in IE6, and new window | |||
// on form submit will open | |||
// var iframe = document.createElement('iframe'); | |||
// iframe.setAttribute('name', id); | |||
var iframe = toElement('<iframe src="javascript:false;" name="' + id + '" />'); | |||
// src="javascript:false; was added | |||
// because it possibly removes ie6 prompt | |||
// "This page contains both secure and nonsecure items" | |||
// Anyway, it doesn't do any harm. | |||
iframe.setAttribute('id', id); | |||
iframe.style.display = 'none'; | |||
document.body.appendChild(iframe); | |||
return iframe; | |||
}, | |||
/** | |||
* Creates form, that will be submitted to iframe | |||
* @param {Element} iframe Where to submit | |||
* @return {Element} form | |||
*/ | |||
_createForm: function(iframe){ | |||
var settings = this._settings; | |||
// We can't use the following code in IE6 | |||
// var form = document.createElement('form'); | |||
// form.setAttribute('method', 'post'); | |||
// form.setAttribute('enctype', 'multipart/form-data'); | |||
// Because in this case file won't be attached to request | |||
var form = toElement('<form method="post" enctype="multipart/form-data"></form>'); | |||
form.setAttribute('action', settings.action); | |||
form.setAttribute('target', iframe.name); | |||
form.style.display = 'none'; | |||
document.body.appendChild(form); | |||
// Create hidden input element for each data key | |||
for (var prop in settings.data) { | |||
if (settings.data.hasOwnProperty(prop)){ | |||
var el = document.createElement("input"); | |||
el.setAttribute('type', 'hidden'); | |||
el.setAttribute('name', prop); | |||
el.setAttribute('value', settings.data[prop]); | |||
form.appendChild(el); | |||
} | |||
} | |||
return form; | |||
}, | |||
/** | |||
* Gets response from iframe and fires onComplete event when ready | |||
* @param iframe | |||
* @param file Filename to use in onComplete callback | |||
*/ | |||
_getResponse : function(iframe, file){ | |||
// getting response | |||
var toDeleteFlag = false, self = this, settings = this._settings; | |||
addEvent(iframe, 'load', function(){ | |||
if (// For Safari | |||
iframe.src == "javascript:'%3Chtml%3E%3C/html%3E';" || | |||
// For FF, IE | |||
iframe.src == "javascript:'<html></html>';"){ | |||
// First time around, do not delete. | |||
// We reload to blank page, so that reloading main page | |||
// does not re-submit the post. | |||
if (toDeleteFlag) { | |||
// Fix busy state in FF3 | |||
setTimeout(function(){ | |||
removeNode(iframe); | |||
}, 0); | |||
} | |||
return; | |||
} | |||
var doc = iframe.contentDocument ? iframe.contentDocument : window.frames[iframe.id].document; | |||
// fixing Opera 9.26,10.00 | |||
if (doc.readyState && doc.readyState != 'complete') { | |||
// Opera fires load event multiple times | |||
// Even when the DOM is not ready yet | |||
// this fix should not affect other browsers | |||
return; | |||
} | |||
// fixing Opera 9.64 | |||
if (doc.body && doc.body.innerHTML == "false") { | |||
// In Opera 9.64 event was fired second time | |||
// when body.innerHTML changed from false | |||
// to server response approx. after 1 sec | |||
return; | |||
} | |||
var response; | |||
if (doc.XMLDocument) { | |||
// response is a xml document Internet Explorer property | |||
response = doc.XMLDocument; | |||
} else if (doc.body){ | |||
// response is html document or plain text | |||
response = doc.body.innerHTML; | |||
if (settings.responseType && settings.responseType.toLowerCase() == 'json') { | |||
// If the document was sent as 'application/javascript' or | |||
// 'text/javascript', then the browser wraps the text in a <pre> | |||
// tag and performs html encoding on the contents. In this case, | |||
// we need to pull the original text content from the text node's | |||
// nodeValue property to retrieve the unmangled content. | |||
// Note that IE6 only understands text/html | |||
if (doc.body.firstChild && doc.body.firstChild.nodeName.toUpperCase() == 'PRE') { | |||
doc.normalize(); | |||
response = doc.body.firstChild.firstChild.nodeValue; | |||
} | |||
if (response) { | |||
response = eval("(" + response + ")"); | |||
} else { | |||
response = {}; | |||
} | |||
} | |||
} else { | |||
// response is a xml document | |||
response = doc; | |||
} | |||
settings.onComplete.call(self, file, response); | |||
// Reload blank page, so that reloading main page | |||
// does not re-submit the post. Also, remember to | |||
// delete the frame | |||
toDeleteFlag = true; | |||
// Fix IE mixed content issue | |||
iframe.src = "javascript:'<html></html>';"; | |||
}); | |||
}, | |||
/** | |||
* Upload file contained in this._input | |||
*/ | |||
submit: function(){ | |||
var self = this, settings = this._settings; | |||
if ( ! this._input || this._input.value === ''){ | |||
return; | |||
} | |||
var file = fileFromPath(this._input.value); | |||
// user returned false to cancel upload | |||
if (false === settings.onSubmit.call(this, file, getExt(file))){ | |||
this._clearInput(); | |||
return; | |||
} | |||
// sending request | |||
var iframe = this._createIframe(); | |||
var form = this._createForm(iframe); | |||
// assuming following structure | |||
// div -> input type='file' | |||
removeNode(this._input.parentNode); | |||
removeClass(self._button, self._settings.hoverClass); | |||
removeClass(self._button, self._settings.focusClass); | |||
form.appendChild(this._input); | |||
form.submit(); | |||
// request set, clean up | |||
removeNode(form); form = null; | |||
removeNode(this._input); this._input = null; | |||
// Get response from iframe and fire onComplete event when ready | |||
this._getResponse(iframe, file); | |||
// get ready for next request | |||
this._createInput(); | |||
} | |||
}; | |||
})(); |
@@ -0,0 +1,587 @@ | |||
/*! | |||
* Bootstrap v3.3.7 (http://getbootstrap.com) | |||
* Copyright 2011-2016 Twitter, Inc. | |||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | |||
*/ | |||
.btn-default, | |||
.btn-primary, | |||
.btn-success, | |||
.btn-info, | |||
.btn-warning, | |||
.btn-danger { | |||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); | |||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); | |||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); | |||
} | |||
.btn-default:active, | |||
.btn-primary:active, | |||
.btn-success:active, | |||
.btn-info:active, | |||
.btn-warning:active, | |||
.btn-danger:active, | |||
.btn-default.active, | |||
.btn-primary.active, | |||
.btn-success.active, | |||
.btn-info.active, | |||
.btn-warning.active, | |||
.btn-danger.active { | |||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); | |||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); | |||
} | |||
.btn-default.disabled, | |||
.btn-primary.disabled, | |||
.btn-success.disabled, | |||
.btn-info.disabled, | |||
.btn-warning.disabled, | |||
.btn-danger.disabled, | |||
.btn-default[disabled], | |||
.btn-primary[disabled], | |||
.btn-success[disabled], | |||
.btn-info[disabled], | |||
.btn-warning[disabled], | |||
.btn-danger[disabled], | |||
fieldset[disabled] .btn-default, | |||
fieldset[disabled] .btn-primary, | |||
fieldset[disabled] .btn-success, | |||
fieldset[disabled] .btn-info, | |||
fieldset[disabled] .btn-warning, | |||
fieldset[disabled] .btn-danger { | |||
-webkit-box-shadow: none; | |||
box-shadow: none; | |||
} | |||
.btn-default .badge, | |||
.btn-primary .badge, | |||
.btn-success .badge, | |||
.btn-info .badge, | |||
.btn-warning .badge, | |||
.btn-danger .badge { | |||
text-shadow: none; | |||
} | |||
.btn:active, | |||
.btn.active { | |||
background-image: none; | |||
} | |||
.btn-default { | |||
text-shadow: 0 1px 0 #fff; | |||
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); | |||
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); | |||
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-color: #dbdbdb; | |||
border-color: #ccc; | |||
} | |||
.btn-default:hover, | |||
.btn-default:focus { | |||
background-color: #e0e0e0; | |||
background-position: 0 -15px; | |||
} | |||
.btn-default:active, | |||
.btn-default.active { | |||
background-color: #e0e0e0; | |||
border-color: #dbdbdb; | |||
} | |||
.btn-default.disabled, | |||
.btn-default[disabled], | |||
fieldset[disabled] .btn-default, | |||
.btn-default.disabled:hover, | |||
.btn-default[disabled]:hover, | |||
fieldset[disabled] .btn-default:hover, | |||
.btn-default.disabled:focus, | |||
.btn-default[disabled]:focus, | |||
fieldset[disabled] .btn-default:focus, | |||
.btn-default.disabled.focus, | |||
.btn-default[disabled].focus, | |||
fieldset[disabled] .btn-default.focus, | |||
.btn-default.disabled:active, | |||
.btn-default[disabled]:active, | |||
fieldset[disabled] .btn-default:active, | |||
.btn-default.disabled.active, | |||
.btn-default[disabled].active, | |||
fieldset[disabled] .btn-default.active { | |||
background-color: #e0e0e0; | |||
background-image: none; | |||
} | |||
.btn-primary { | |||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); | |||
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); | |||
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-color: #245580; | |||
} | |||
.btn-primary:hover, | |||
.btn-primary:focus { | |||
background-color: #265a88; | |||
background-position: 0 -15px; | |||
} | |||
.btn-primary:active, | |||
.btn-primary.active { | |||
background-color: #265a88; | |||
border-color: #245580; | |||
} | |||
.btn-primary.disabled, | |||
.btn-primary[disabled], | |||
fieldset[disabled] .btn-primary, | |||
.btn-primary.disabled:hover, | |||
.btn-primary[disabled]:hover, | |||
fieldset[disabled] .btn-primary:hover, | |||
.btn-primary.disabled:focus, | |||
.btn-primary[disabled]:focus, | |||
fieldset[disabled] .btn-primary:focus, | |||
.btn-primary.disabled.focus, | |||
.btn-primary[disabled].focus, | |||
fieldset[disabled] .btn-primary.focus, | |||
.btn-primary.disabled:active, | |||
.btn-primary[disabled]:active, | |||
fieldset[disabled] .btn-primary:active, | |||
.btn-primary.disabled.active, | |||
.btn-primary[disabled].active, | |||
fieldset[disabled] .btn-primary.active { | |||
background-color: #265a88; | |||
background-image: none; | |||
} | |||
.btn-success { | |||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); | |||
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); | |||
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-color: #3e8f3e; | |||
} | |||
.btn-success:hover, | |||
.btn-success:focus { | |||
background-color: #419641; | |||
background-position: 0 -15px; | |||
} | |||
.btn-success:active, | |||
.btn-success.active { | |||
background-color: #419641; | |||
border-color: #3e8f3e; | |||
} | |||
.btn-success.disabled, | |||
.btn-success[disabled], | |||
fieldset[disabled] .btn-success, | |||
.btn-success.disabled:hover, | |||
.btn-success[disabled]:hover, | |||
fieldset[disabled] .btn-success:hover, | |||
.btn-success.disabled:focus, | |||
.btn-success[disabled]:focus, | |||
fieldset[disabled] .btn-success:focus, | |||
.btn-success.disabled.focus, | |||
.btn-success[disabled].focus, | |||
fieldset[disabled] .btn-success.focus, | |||
.btn-success.disabled:active, | |||
.btn-success[disabled]:active, | |||
fieldset[disabled] .btn-success:active, | |||
.btn-success.disabled.active, | |||
.btn-success[disabled].active, | |||
fieldset[disabled] .btn-success.active { | |||
background-color: #419641; | |||
background-image: none; | |||
} | |||
.btn-info { | |||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); | |||
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); | |||
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-color: #28a4c9; | |||
} | |||
.btn-info:hover, | |||
.btn-info:focus { | |||
background-color: #2aabd2; | |||
background-position: 0 -15px; | |||
} | |||
.btn-info:active, | |||
.btn-info.active { | |||
background-color: #2aabd2; | |||
border-color: #28a4c9; | |||
} | |||
.btn-info.disabled, | |||
.btn-info[disabled], | |||
fieldset[disabled] .btn-info, | |||
.btn-info.disabled:hover, | |||
.btn-info[disabled]:hover, | |||
fieldset[disabled] .btn-info:hover, | |||
.btn-info.disabled:focus, | |||
.btn-info[disabled]:focus, | |||
fieldset[disabled] .btn-info:focus, | |||
.btn-info.disabled.focus, | |||
.btn-info[disabled].focus, | |||
fieldset[disabled] .btn-info.focus, | |||
.btn-info.disabled:active, | |||
.btn-info[disabled]:active, | |||
fieldset[disabled] .btn-info:active, | |||
.btn-info.disabled.active, | |||
.btn-info[disabled].active, | |||
fieldset[disabled] .btn-info.active { | |||
background-color: #2aabd2; | |||
background-image: none; | |||
} | |||
.btn-warning { | |||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); | |||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); | |||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-color: #e38d13; | |||
} | |||
.btn-warning:hover, | |||
.btn-warning:focus { | |||
background-color: #eb9316; | |||
background-position: 0 -15px; | |||
} | |||
.btn-warning:active, | |||
.btn-warning.active { | |||
background-color: #eb9316; | |||
border-color: #e38d13; | |||
} | |||
.btn-warning.disabled, | |||
.btn-warning[disabled], | |||
fieldset[disabled] .btn-warning, | |||
.btn-warning.disabled:hover, | |||
.btn-warning[disabled]:hover, | |||
fieldset[disabled] .btn-warning:hover, | |||
.btn-warning.disabled:focus, | |||
.btn-warning[disabled]:focus, | |||
fieldset[disabled] .btn-warning:focus, | |||
.btn-warning.disabled.focus, | |||
.btn-warning[disabled].focus, | |||
fieldset[disabled] .btn-warning.focus, | |||
.btn-warning.disabled:active, | |||
.btn-warning[disabled]:active, | |||
fieldset[disabled] .btn-warning:active, | |||
.btn-warning.disabled.active, | |||
.btn-warning[disabled].active, | |||
fieldset[disabled] .btn-warning.active { | |||
background-color: #eb9316; | |||
background-image: none; | |||
} | |||
.btn-danger { | |||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); | |||
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); | |||
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-color: #b92c28; | |||
} | |||
.btn-danger:hover, | |||
.btn-danger:focus { | |||
background-color: #c12e2a; | |||
background-position: 0 -15px; | |||
} | |||
.btn-danger:active, | |||
.btn-danger.active { | |||
background-color: #c12e2a; | |||
border-color: #b92c28; | |||
} | |||
.btn-danger.disabled, | |||
.btn-danger[disabled], | |||
fieldset[disabled] .btn-danger, | |||
.btn-danger.disabled:hover, | |||
.btn-danger[disabled]:hover, | |||
fieldset[disabled] .btn-danger:hover, | |||
.btn-danger.disabled:focus, | |||
.btn-danger[disabled]:focus, | |||
fieldset[disabled] .btn-danger:focus, | |||
.btn-danger.disabled.focus, | |||
.btn-danger[disabled].focus, | |||
fieldset[disabled] .btn-danger.focus, | |||
.btn-danger.disabled:active, | |||
.btn-danger[disabled]:active, | |||
fieldset[disabled] .btn-danger:active, | |||
.btn-danger.disabled.active, | |||
.btn-danger[disabled].active, | |||
fieldset[disabled] .btn-danger.active { | |||
background-color: #c12e2a; | |||
background-image: none; | |||
} | |||
.thumbnail, | |||
.img-thumbnail { | |||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); | |||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075); | |||
} | |||
.dropdown-menu > li > a:hover, | |||
.dropdown-menu > li > a:focus { | |||
background-color: #e8e8e8; | |||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); | |||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); | |||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.dropdown-menu > .active > a, | |||
.dropdown-menu > .active > a:hover, | |||
.dropdown-menu > .active > a:focus { | |||
background-color: #2e6da4; | |||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); | |||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); | |||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.navbar-default { | |||
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); | |||
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); | |||
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-radius: 4px; | |||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); | |||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); | |||
} | |||
.navbar-default .navbar-nav > .open > a, | |||
.navbar-default .navbar-nav > .active > a { | |||
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); | |||
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); | |||
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); | |||
background-repeat: repeat-x; | |||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); | |||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); | |||
} | |||
.navbar-brand, | |||
.navbar-nav > li > a { | |||
text-shadow: 0 1px 0 rgba(255, 255, 255, .25); | |||
} | |||
.navbar-inverse { | |||
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); | |||
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); | |||
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); | |||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |||
background-repeat: repeat-x; | |||
border-radius: 4px; | |||
} | |||
.navbar-inverse .navbar-nav > .open > a, | |||
.navbar-inverse .navbar-nav > .active > a { | |||
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); | |||
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); | |||
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); | |||
background-repeat: repeat-x; | |||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); | |||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); | |||
} | |||
.navbar-inverse .navbar-brand, | |||
.navbar-inverse .navbar-nav > li > a { | |||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); | |||
} | |||
.navbar-static-top, | |||
.navbar-fixed-top, | |||
.navbar-fixed-bottom { | |||
border-radius: 0; | |||
} | |||
@media (max-width: 767px) { | |||
.navbar .navbar-nav .open .dropdown-menu > .active > a, | |||
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover, | |||
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus { | |||
color: #fff; | |||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); | |||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); | |||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
} | |||
.alert { | |||
text-shadow: 0 1px 0 rgba(255, 255, 255, .2); | |||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); | |||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); | |||
} | |||
.alert-success { | |||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); | |||
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); | |||
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); | |||
background-repeat: repeat-x; | |||
border-color: #b2dba1; | |||
} | |||
.alert-info { | |||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); | |||
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); | |||
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); | |||
background-repeat: repeat-x; | |||
border-color: #9acfea; | |||
} | |||
.alert-warning { | |||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); | |||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); | |||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); | |||
background-repeat: repeat-x; | |||
border-color: #f5e79e; | |||
} | |||
.alert-danger { | |||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); | |||
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); | |||
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); | |||
background-repeat: repeat-x; | |||
border-color: #dca7a7; | |||
} | |||
.progress { | |||
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); | |||
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); | |||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.progress-bar { | |||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); | |||
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); | |||
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.progress-bar-success { | |||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); | |||
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); | |||
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.progress-bar-info { | |||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); | |||
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); | |||
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.progress-bar-warning { | |||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); | |||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); | |||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.progress-bar-danger { | |||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); | |||
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); | |||
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.progress-bar-striped { | |||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); | |||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); | |||
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); | |||
} | |||
.list-group { | |||
border-radius: 4px; | |||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); | |||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075); | |||
} | |||
.list-group-item.active, | |||
.list-group-item.active:hover, | |||
.list-group-item.active:focus { | |||
text-shadow: 0 -1px 0 #286090; | |||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); | |||
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); | |||
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); | |||
background-repeat: repeat-x; | |||
border-color: #2b669a; | |||
} | |||
.list-group-item.active .badge, | |||
.list-group-item.active:hover .badge, | |||
.list-group-item.active:focus .badge { | |||
text-shadow: none; | |||
} | |||
.panel { | |||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); | |||
box-shadow: 0 1px 2px rgba(0, 0, 0, .05); | |||
} | |||
.panel-default > .panel-heading { | |||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); | |||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); | |||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.panel-primary > .panel-heading { | |||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); | |||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); | |||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.panel-success > .panel-heading { | |||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); | |||
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); | |||
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.panel-info > .panel-heading { | |||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); | |||
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); | |||
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.panel-warning > .panel-heading { | |||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); | |||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); | |||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.panel-danger > .panel-heading { | |||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); | |||
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); | |||
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); | |||
background-repeat: repeat-x; | |||
} | |||
.well { | |||
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); | |||
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); | |||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); | |||
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); | |||
background-repeat: repeat-x; | |||
border-color: #dcdcdc; | |||
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); | |||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); | |||
} | |||
/*# sourceMappingURL=bootstrap-theme.css.map */ |
@@ -0,0 +1,288 @@ | |||
<?xml version="1.0" standalone="no"?> | |||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > | |||
<svg xmlns="http://www.w3.org/2000/svg"> | |||
<metadata></metadata> | |||
<defs> | |||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" > | |||
<font-face units-per-em="1200" ascent="960" descent="-240" /> | |||
<missing-glyph horiz-adv-x="500" /> | |||
<glyph horiz-adv-x="0" /> | |||
<glyph horiz-adv-x="400" /> | |||
<glyph unicode=" " /> | |||
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" /> | |||
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode=" " /> | |||
<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" /> | |||
<glyph unicode=" " horiz-adv-x="650" /> | |||
<glyph unicode=" " horiz-adv-x="1300" /> | |||
<glyph unicode=" " horiz-adv-x="650" /> | |||
<glyph unicode=" " horiz-adv-x="1300" /> | |||
<glyph unicode=" " horiz-adv-x="433" /> | |||
<glyph unicode=" " horiz-adv-x="325" /> | |||
<glyph unicode=" " horiz-adv-x="216" /> | |||
<glyph unicode=" " horiz-adv-x="216" /> | |||
<glyph unicode=" " horiz-adv-x="162" /> | |||
<glyph unicode=" " horiz-adv-x="260" /> | |||
<glyph unicode=" " horiz-adv-x="72" /> | |||
<glyph unicode=" " horiz-adv-x="260" /> | |||
<glyph unicode=" " horiz-adv-x="325" /> | |||
<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" /> | |||
<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" /> | |||
<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" /> | |||
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" /> | |||
<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" /> | |||
<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " /> | |||
<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" /> | |||
<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" /> | |||
<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" /> | |||
<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" /> | |||
<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" /> | |||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" /> | |||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" /> | |||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" /> | |||
<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" /> | |||
<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" /> | |||
<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" /> | |||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" /> | |||
<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" /> | |||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" /> | |||
<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" /> | |||
<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" /> | |||
<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" /> | |||
<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" /> | |||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" /> | |||
<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" /> | |||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" /> | |||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" /> | |||
<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" /> | |||
<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" /> | |||
<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" /> | |||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" /> | |||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" /> | |||
<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" /> | |||
<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" /> | |||
<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" /> | |||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" /> | |||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" /> | |||
<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" /> | |||
<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" /> | |||
<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" /> | |||
<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" /> | |||
<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" /> | |||
<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" /> | |||
<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" /> | |||
<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" /> | |||
<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" /> | |||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" /> | |||
<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" /> | |||
<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" /> | |||
<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" /> | |||
<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" /> | |||
<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" /> | |||
<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" /> | |||
<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" /> | |||
<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" /> | |||
<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" /> | |||
<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" /> | |||
<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" /> | |||
<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" /> | |||
<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" /> | |||
<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" /> | |||
<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" /> | |||
<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" /> | |||
<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" /> | |||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" /> | |||
<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" /> | |||
<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" /> | |||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" /> | |||
<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" /> | |||
<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" /> | |||
<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" /> | |||
<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" /> | |||
<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" /> | |||
<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" /> | |||
<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" /> | |||
<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" /> | |||
<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" /> | |||
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" /> | |||
<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" /> | |||
<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" /> | |||
<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" /> | |||
<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" /> | |||
<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" /> | |||
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" /> | |||
<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" /> | |||
<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" /> | |||
<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" /> | |||
<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" /> | |||
<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" /> | |||
<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" /> | |||
<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" /> | |||
<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" /> | |||
<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" /> | |||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" /> | |||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" /> | |||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" /> | |||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" /> | |||
<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" /> | |||
<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" /> | |||
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " /> | |||
<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" /> | |||
<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" /> | |||
<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" /> | |||
<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" /> | |||
<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" /> | |||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" /> | |||
<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" /> | |||
<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" /> | |||
<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" /> | |||
<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" /> | |||
<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" /> | |||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" /> | |||
<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " /> | |||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " /> | |||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" /> | |||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" /> | |||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" /> | |||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" /> | |||
<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" /> | |||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" /> | |||
<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" /> | |||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" /> | |||
<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" /> | |||
<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" /> | |||
<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" /> | |||
<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" /> | |||
<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" /> | |||
<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" /> | |||
<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" /> | |||
<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" /> | |||
<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" /> | |||
<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" /> | |||
<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" /> | |||
<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" /> | |||
<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" /> | |||
<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" /> | |||
<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" /> | |||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" /> | |||
<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" /> | |||
<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" /> | |||
<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" /> | |||
<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" /> | |||
<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" /> | |||
<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" /> | |||
<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" /> | |||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" /> | |||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" /> | |||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" /> | |||
<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" /> | |||
<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" /> | |||
<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" /> | |||
<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" /> | |||
<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" /> | |||
<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" /> | |||
<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" /> | |||
<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" /> | |||
<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" /> | |||
<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" /> | |||
<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" /> | |||
<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" /> | |||
<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" /> | |||
<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" /> | |||
<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " /> | |||
<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" /> | |||
<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" /> | |||
<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" /> | |||
<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" /> | |||
<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" /> | |||
<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" /> | |||
<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" /> | |||
<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" /> | |||
<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" /> | |||
<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" /> | |||
<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" /> | |||
<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" /> | |||
<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" /> | |||
<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" /> | |||
<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" /> | |||
<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" /> | |||
<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" /> | |||
<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" /> | |||
<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" /> | |||
<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" /> | |||
<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" /> | |||
<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" /> | |||
<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" /> | |||
<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" /> | |||
<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" /> | |||
<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" /> | |||
<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" /> | |||
<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" /> | |||
<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" /> | |||
<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" /> | |||
<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" /> | |||
<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" /> | |||
<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" /> | |||
<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" /> | |||
<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" /> | |||
</font> | |||
</defs></svg> |
@@ -0,0 +1,639 @@ | |||
var deleteNum = 0; | |||
(function(window, document) { | |||
//定义上传类 | |||
var Cupload = function(options) { | |||
//初始化 new对象 | |||
if (!(this instanceof Cupload)) { | |||
return new Cupload(options) | |||
} | |||
//设置默认参数 | |||
this.localValue = { | |||
ele: '#cupload', | |||
name: 'image', | |||
num: 1, | |||
width: 148, | |||
height: 148, | |||
} | |||
//参数覆盖 | |||
this.opt = this.extend(this.localValue, options, true) | |||
//所需变量 | |||
this.i = 0; | |||
this.imageArr = new Array();//图片 | |||
this.widthArr = new Array();//图片宽度 | |||
this.heightArr = new Array();//图片高度 | |||
this.imageBox = new Array();//图片盒子 | |||
this.imagePreview = new Array();//图片预览 | |||
this.imageInput = new Array();//图片input | |||
this.imageDelete = new Array();//图片删除遮罩 | |||
this.deleteBtn = new Array();//图片删除按钮 | |||
this.sortLeftBtn = new Array();//图片左排序按钮 | |||
this.sortRightBtn = new Array();//图片右排序按钮 | |||
if ((typeof options.ele) === "string") { | |||
this.opt.ele = document.querySelector(options.ele) | |||
} else { | |||
this.opt.ele = options.ele | |||
} | |||
this.initDom(); | |||
} | |||
Cupload.prototype = { | |||
constructor: this, | |||
//初始化 | |||
initDom: function() { | |||
this.cteateImageList() | |||
this.createUploadBox() | |||
this.createOverlay() | |||
if (this.opt.data) { | |||
this.showImagePreview() | |||
} | |||
}, | |||
//参数覆盖 | |||
extend: function(o, n, override) { | |||
for (var key in n) { | |||
if (n.hasOwnProperty(key) && (!o.hasOwnProperty(key) || override)) { | |||
o[key] = n[key] | |||
} | |||
} | |||
return o | |||
}, | |||
//创建图片列表 | |||
cteateImageList: function() { | |||
this.imageList = document.createElement('ul') | |||
this.imageList.className = 'cupload-image-list' | |||
this.imageList.style.margin = 0 | |||
this.imageList.style.padding = 0 | |||
this.imageList.style.display = 'inline-block' | |||
this.imageList.style.minHeight = this.opt.height | |||
this.opt.ele.appendChild(this.imageList) | |||
this.imageList.ondragstart = function(event) { | |||
console.log('start') | |||
} | |||
}, | |||
//创建上传框 | |||
createUploadBox: function() { | |||
this.uploadBox = document.createElement('div') | |||
this.uploadBox.className = 'cupload-upload-box' | |||
this.uploadBox.style.position = 'relative' | |||
this.uploadBox.style.display = 'inline-block' | |||
this.uploadBox.style.textAlign = 'center' | |||
this.uploadBox.style.backgroundColor = '#fbfdff' | |||
this.uploadBox.style.border = '1px dashed #c0ccda' | |||
this.uploadBox.style.borderRadius = '6px' | |||
this.uploadBox.style.WebkitBoxSizing = 'border-box' | |||
this.uploadBox.style.boxSizing = 'border-box' | |||
this.uploadBox.style.width = this.opt.width + 'px' | |||
this.uploadBox.style.height = this.opt.height + 'px' | |||
this.uploadBox.style.lineHeight = this.opt.height + 'px' | |||
this.opt.ele.appendChild(this.uploadBox) | |||
this.createUploadBtn() | |||
this.createUploadInput() | |||
var _this = this | |||
this.uploadBox.onmouseover = function() { | |||
_this.uploadBox.style.borderColor = '#007b76' | |||
} | |||
this.uploadBox.onmouseout = function() { | |||
_this.uploadBox.style.borderColor = '#c0ccda' | |||
} | |||
}, | |||
//创建遮罩 | |||
createOverlay: function() { | |||
this.overlay = document.createElement('div') | |||
this.overlay.className = 'cupload-overlay' | |||
this.overlay.style.display = "none" | |||
this.overlay.style.position = "fixed" | |||
this.overlay.style.textAlign = "center" | |||
this.overlay.style.top = 0 | |||
this.overlay.style.right = 0 | |||
this.overlay.style.bottom = 0 | |||
this.overlay.style.left = 0 | |||
this.overlay.style.zIndex = 9115 | |||
this.overlay.style.backgroundColor = "rgba(0,0,0,.3)" | |||
this.opt.ele.appendChild(this.overlay) | |||
var _this = this | |||
this.overlay.onclick = function() { | |||
_this.zoomOutImage() | |||
} | |||
}, | |||
//创建上传按钮 | |||
createUploadBtn: function() { | |||
this.uploadBtn = document.createElement('span') | |||
this.uploadBtn.className = 'cupload-upload-btn' | |||
this.uploadBtn.style.position = 'absolute' | |||
this.uploadBtn.style.left = this.opt.width/2 - 14 + 'px' | |||
this.uploadBtn.style.fontSize = '28px' | |||
this.uploadBtn.style.color = '#8c939d' | |||
this.uploadBtn.innerHTML = '+' | |||
this.uploadBox.appendChild(this.uploadBtn) | |||
}, | |||
//创建上传input | |||
createUploadInput: function() { | |||
this.uploadInput = document.createElement('input') | |||
this.uploadInput.className = 'cupload-upload-input' | |||
this.uploadInput.style.position = 'absolute' | |||
this.uploadInput.style.top = 0 | |||
this.uploadInput.style.right = 0 | |||
this.uploadInput.style.width = '100%' | |||
this.uploadInput.style.height = '100%' | |||
this.uploadInput.style.opacity = 0 | |||
this.uploadInput.style.cursor = 'pointer' | |||
this.uploadInput.type = 'file' | |||
this.uploadInput.multiple = 'multiple' | |||
this.uploadInput.accept = 'image/*' | |||
this.uploadInput.title = '' | |||
this.uploadBox.appendChild(this.uploadInput) | |||
var _this = this | |||
this.uploadInput.onchange = function() { | |||
_this.removeUploadBox() | |||
_this.uploadImage() | |||
} | |||
}, | |||
//上传图片 | |||
uploadImage: function() { | |||
if(this.uploadInput.files.length + this.imageList.children.length > this.opt.num) { | |||
this.createUploadBox() | |||
alert('图片数量超出限制,请重新选择') | |||
return | |||
} | |||
for(j = 0; j < this.uploadInput.files.length; j++){ | |||
var file = this.uploadInput.files[j] | |||
if (!file || this.limitedSize(file)) { | |||
this.createUploadBox() | |||
return false | |||
} | |||
var reader = new FileReader() | |||
var _this = this | |||
reader.filename = file.name; | |||
reader.onload = function(e) { | |||
_this.limitedWidthAndHeight(e.target.result, e.target.filename) | |||
} | |||
reader.readAsDataURL(file); | |||
} | |||
if (this.uploadInput.files.length + this.imageList.children.length < this.opt.num) { | |||
this.createUploadBox() | |||
} | |||
}, | |||
//检测图片大小限制 | |||
limitedSize: function(file) { | |||
if (this.opt.minSize && file.size < this.opt.minSize * 1024) { | |||
alert('图片' + file.name + '大小未到最小限制,请重新选择') | |||
return true | |||
} | |||
if (this.opt.maxSize && file.size > this.opt.maxSize * 1024) { | |||
alert('图片' + file.name + '大小超出最大限制,请重新选择') | |||
return true | |||
} | |||
if (this.opt.limitedSize && file.size > this.opt.limitedSize * 1024) { | |||
alert('图片' + file.name + '大小不符合要求,请重新选择') | |||
return true | |||
} | |||
return false | |||
}, | |||
//检测图片像素限制 | |||
limitedWidthAndHeight: function(src, name) { | |||
var tempImage = new Image() | |||
tempImage.src = src | |||
var _this = this | |||
tempImage.onload = function() { | |||
if (_this.opt.minWidth && this.width < _this.opt.minWidth) { | |||
alert('图片' + name + '宽度未到最小限制,请重新选择') | |||
_this.isCreateUploadBox() | |||
return false | |||
} | |||
if (_this.opt.minHeight && this.height < _this.opt.minHeight) { | |||
alert('图片' + name + '高度未到最小限制,请重新选择') | |||
_this.isCreateUploadBox() | |||
return false | |||
} | |||
if (_this.opt.maxWidth && this.width > _this.opt.maxWidth) { | |||
alert('图片' + name + '宽度超出最大限制,请重新选择') | |||
_this.isCreateUploadBox() | |||
return false | |||
} | |||
if (_this.opt.maxHeight && this.height > _this.opt.maxHeight) { | |||
alert('图片' + name + '高度超出最大限制,请重新选择') | |||
_this.isCreateUploadBox() | |||
return false | |||
} | |||
if (_this.opt.limitedWidth && this.width != _this.opt.limitedWidth) { | |||
alert('图片' + name + '宽度不符合要求,请重新选择') | |||
_this.isCreateUploadBox() | |||
return false | |||
} | |||
if (_this.opt.limitedHeight && this.height != _this.opt.limitedHeight) { | |||
alert('图片' + name + '高度不符合要求,请重新选择') | |||
_this.isCreateUploadBox() | |||
return false | |||
} | |||
_this.foreachNum(src, name, this.width, this.height) | |||
} | |||
}, | |||
//检测图片数量 | |||
foreachNum: function(src, name, width, height) { | |||
if(this.opt.url) { | |||
var key = this.opt.name | |||
var data = {} | |||
data[key] = src | |||
var _this = this | |||
this.ajaxUploadImage(data, function(res) { | |||
_this.createImageBox(res.responseText, res.responseText, width, height) | |||
}) | |||
} else { | |||
this.createImageBox(src, name, width, height) | |||
} | |||
}, | |||
//图片异步上传 | |||
ajaxUploadImage: function(data,success) { | |||
var xhr = null; | |||
if(window.XMLHttpRequest){ | |||
xhr = new XMLHttpRequest() | |||
} else { | |||
xhr = new ActiveXObject('Microsoft.XMLHTTP') | |||
} | |||
if(typeof data == 'object'){ | |||
var str = ''; | |||
for(var key in data){ | |||
str += key+'='+data[key]+'&'; | |||
} | |||
data = str.replace(/&$/, ''); | |||
} | |||
xhr.open('POST', this.opt.url, true); | |||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); | |||
xhr.send(data); | |||
xhr.onreadystatechange = function(){ | |||
if(xhr.readyState == 4){ | |||
if(xhr.status == 200){ | |||
success(xhr) | |||
} else { | |||
alert(((xhr.responseText).split("</p>")[0]).split("<p>")[1]) | |||
return false | |||
} | |||
} | |||
} | |||
}, | |||
//创建图片框 | |||
createImageBox: function(src, name, width, height, state = true) { | |||
this.imageArr[this.i] = src | |||
this.widthArr[this.i] = width | |||
this.heightArr[this.i] = height | |||
this.imageBox[this.i] = document.createElement('li') | |||
this.imageBox[this.i].className = 'cupload-image-box' | |||
this.imageBox[this.i].style.position = 'relative' | |||
this.imageBox[this.i].style.display = 'inline-block' | |||
this.imageBox[this.i].style.marginRight = 8 + 'px' | |||
this.imageBox[this.i].style.backgroundColor = '#fbfdff' | |||
this.imageBox[this.i].style.border = '1px solid #007b76' | |||
this.imageBox[this.i].style.borderRadius = '6px' | |||
this.imageBox[this.i].style.WebkitBoxSizing = 'border-box' | |||
this.imageBox[this.i].style.boxSizing = 'border-box' | |||
this.imageBox[this.i].style.width = this.opt.width + 'px' | |||
this.imageBox[this.i].style.height = this.opt.height + 'px' | |||
this.imageList.appendChild(this.imageBox[this.i]) | |||
this.createImagePreview(src, width, height) | |||
this.createImageInput(src) | |||
this.createImageDelete(name) | |||
if (!state) { | |||
this.setDefaultImage() | |||
} | |||
var _this = this | |||
for (var m = 0; m <= this.i; m++) { | |||
this.imageBox[m].index = m | |||
this.imageBox[m].onmouseover = function(n) { | |||
return function() { | |||
_this.showImageDelete(n) | |||
} | |||
}(m) | |||
this.imageBox[m].onmouseout = function(n) { | |||
return function() { | |||
_this.hideImageDelete(n) | |||
} | |||
}(m) | |||
} | |||
this.i++ | |||
}, | |||
//创建图片预览框 | |||
createImagePreview: function(src, width, height) { | |||
this.imagePreview[this.i] = document.createElement('img') | |||
this.imagePreview[this.i].className = 'cupload-image-preview' | |||
this.imagePreview[this.i].style.position = 'absolute' | |||
this.imagePreview[this.i].style.top = 0 | |||
this.imagePreview[this.i].style.left = 0 | |||
this.imagePreview[this.i].style.right = 0 | |||
this.imagePreview[this.i].style.bottom = 0 | |||
this.imagePreview[this.i].style.margin = 'auto' | |||
this.imagePreview[this.i].src = src | |||
this.setImageAttribute(width, height) | |||
this.imageBox[this.i].appendChild(this.imagePreview[this.i]) | |||
}, | |||
//创建图片input | |||
createImageInput: function(src) { | |||
this.imageInput[this.i] = document.createElement('input') | |||
this.imageInput[this.i].type = 'hidden' | |||
this.imageInput[this.i].name = this.opt.name + '[]' | |||
this.imageInput[this.i].value = src | |||
this.imageBox[this.i].appendChild(this.imageInput[this.i]) | |||
}, | |||
//创建删除 | |||
createImageDelete: function(name) { | |||
this.imageDelete[this.i] = document.createElement('div') | |||
this.imageDelete[this.i].className = 'cupload-image-delete' | |||
this.imageDelete[this.i].style.position = 'absolute' | |||
this.imageDelete[this.i].style.width = '100%' | |||
this.imageDelete[this.i].style.height = '100%' | |||
this.imageDelete[this.i].style.left = 0 | |||
this.imageDelete[this.i].style.top = 0 | |||
this.imageDelete[this.i].style.textAlign = 'center' | |||
this.imageDelete[this.i].style.color = '#fff' | |||
this.imageDelete[this.i].style.opacity = 0 | |||
this.imageDelete[this.i].style.cursor = 'zoom-in' | |||
this.imageDelete[this.i].style.backgroundColor = 'rgba(0,0,0,.5)' | |||
this.imageDelete[this.i].style.WebkitTransition = '.3s' | |||
this.imageDelete[this.i].style.transition = '.3s' | |||
this.imageDelete[this.i].title = name | |||
this.imageBox[this.i].appendChild(this.imageDelete[this.i]) | |||
this.createDeleteBtn() | |||
this.createSortBtn() | |||
var _this = this | |||
for (var m = 0; m <= this.i; m++) { | |||
this.imageDelete[m].onclick = function(n) { | |||
return function() { | |||
_this.zoomInImage(n) | |||
} | |||
}(m) | |||
} | |||
}, | |||
//创建删除按钮 | |||
createDeleteBtn: function() { | |||
this.deleteBtn[this.i] = document.createElement('span') | |||
this.deleteBtn[this.i].className = 'cupload-delete-btn' | |||
this.deleteBtn[this.i].style.position = 'absolute' | |||
this.deleteBtn[this.i].style.top = 0 | |||
this.deleteBtn[this.i].style.right = 0 | |||
this.deleteBtn[this.i].style.margin = 0 | |||
this.deleteBtn[this.i].style.padding = 0 | |||
this.deleteBtn[this.i].style.fontSize = '18px' | |||
this.deleteBtn[this.i].style.width = '24px' | |||
this.deleteBtn[this.i].style.height = '24px' | |||
this.deleteBtn[this.i].style.cursor = 'pointer' | |||
this.deleteBtn[this.i].style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAAwUlEQVRYhe2WwQ3CMAxFPxXqOjAAqGwHo3QNCIxSxuBzcaRStcRxcin4XSJHjv2aNkoBRwHJhmSgnhvJpqbAPqN5ZKeprbU8ydhvEgDoJ2uqCHQyXhW5Maf7mrUEyYdhu7WEab+5HXiZzJXPp88Uijsm6tQ7KkZcYF0CckSDNi5i7uudzqXipbkx63oFLuACPymwzcy/4/NKTcV2/Dp2AQBPACB5sBYneRzXyl18qfAXHDlbBFqRGAoaD1KjzRb4G96BvtfyCUSIygAAAABJRU5ErkJggg==')" | |||
this.deleteBtn[this.i].style.backgroundSize = '18px 18px' | |||
this.deleteBtn[this.i].style.backgroundRepeat = 'no-repeat' | |||
this.deleteBtn[this.i].style.backgroundPosition = 'right top' | |||
this.deleteBtn[this.i].innerHTML = '' | |||
this.deleteBtn[this.i].title = '删除' | |||
this.imageDelete[this.i].appendChild(this.deleteBtn[this.i]) | |||
var _this = this | |||
for (var m = 0; m <= this.i; m++) { | |||
this.deleteBtn[m].onclick = function(n) { | |||
return function() { | |||
_this.deleteImage(n) | |||
} | |||
}(m) | |||
} | |||
}, | |||
createSortBtn: function() { | |||
this.sortLeftBtn[this.i] = document.createElement('span') | |||
this.sortLeftBtn[this.i].className = 'cupload-sort-left' | |||
this.sortLeftBtn[this.i].style.position = 'absolute' | |||
this.sortLeftBtn[this.i].style.bottom = 0 | |||
this.sortLeftBtn[this.i].style.left = 0 | |||
this.sortLeftBtn[this.i].style.margin = 0 | |||
this.sortLeftBtn[this.i].style.padding = 0 | |||
this.sortLeftBtn[this.i].style.fontSize = '18px' | |||
this.sortLeftBtn[this.i].style.width = '24px' | |||
this.sortLeftBtn[this.i].style.height = '24px' | |||
this.sortLeftBtn[this.i].style.cursor = 'pointer' | |||
this.sortLeftBtn[this.i].style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAABP0lEQVRYhe2UIUsEURRGv7suGza4sCBoENYgGMwWs/4A/4AWwWRyMfgHRCyKGhWsYtegRYOCCGoUk1kwKLiws8dywRFGcXZ23yDMiW8e75z3YK5UUPBfAQbzlK8BEbCa9axySrFJ2pC0klWcGsCALb7Y8aAg8gHgICZfDyJ2eQU4dnEHCPf8QBU4dXkELIaU14BLl7eB+ZDyOnDt8g9gLqR8BHhw+Rsw00/ft98IaEg6lzTmS2eSbnroiyTtm9lT4ldgm/6z+9sLTPoLDPnSraTk2u5oSdo0s7sfdwATwLPXvgBTPQz4G0ADePSIV2A6j4hh4N4j3oHZPCLqwJVHtAg5D2IRNeDCI8JOxFhEFTjxiA6wnEdEBTiKRTTziCgDh7GhspT1zFKazWbWlrQgac+XRrMGdA0wDqS6QEFBEp/yS6NBq8E1tgAAAABJRU5ErkJggg==')" | |||
this.sortLeftBtn[this.i].style.backgroundSize = '18px 18px' | |||
this.sortLeftBtn[this.i].style.backgroundRepeat = 'no-repeat' | |||
this.sortLeftBtn[this.i].style.backgroundPosition = 'left bottom' | |||
this.sortLeftBtn[this.i].innerHTML = '' | |||
this.sortLeftBtn[this.i].title = '左移' | |||
this.imageDelete[this.i].appendChild(this.sortLeftBtn[this.i]) | |||
this.sortRightBtn[this.i] = document.createElement('span') | |||
this.sortRightBtn[this.i].className = 'cupload-sort-right' | |||
this.sortRightBtn[this.i].style.position = 'absolute' | |||
this.sortRightBtn[this.i].style.bottom = 0 | |||
this.sortRightBtn[this.i].style.right = 0 | |||
this.sortRightBtn[this.i].style.margin = 0 | |||
this.sortRightBtn[this.i].style.padding = 0 | |||
this.sortRightBtn[this.i].style.fontSize = '18px' | |||
this.sortRightBtn[this.i].style.width = '24px' | |||
this.sortRightBtn[this.i].style.height = '24px' | |||
this.sortRightBtn[this.i].style.cursor = 'pointer' | |||
this.sortRightBtn[this.i].style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAA4UlEQVRYhe3WMUpDQRCA4XkKWlhIqnQWwc4iKbyBTVohJ/AC2lh4gxxBA7lAqhwgvbWtpYWVnVgI4mfhghKeEPCFSeD93cIu8w+7OzMRLS3bDga4Qy9LYOqbZ5xkCBzjqUi84DRD4giPReIVZxkSXTwUiTcMMyQ6uC8S7xhlSBxgUSQ+cJEhsY95kfjEVYbEHmZ+GNftq2oOHkbETkMeuxExiYjzsh5XVXXz525cWz+Xv2MuZ6qhzFdms66gSVZ9hOsKnvcNZRYimaVYZjOS2Y5lDyQ2YCTr41bWUNrS8l++ABQQn/PCTE8cAAAAAElFTkSuQmCC')" | |||
this.sortRightBtn[this.i].style.backgroundSize = '18px 18px' | |||
this.sortRightBtn[this.i].style.backgroundRepeat = 'no-repeat' | |||
this.sortRightBtn[this.i].style.backgroundPosition = 'right bottom' | |||
this.sortRightBtn[this.i].innerHTML = '' | |||
this.sortRightBtn[this.i].title = '右移' | |||
this.imageDelete[this.i].appendChild(this.sortRightBtn[this.i]) | |||
var _this = this | |||
for (var m = 0; m <= this.i; m++) { | |||
this.sortLeftBtn[m].onclick = function(n) { | |||
return function() { | |||
_this.sortLeft(event, n) | |||
} | |||
}(m) | |||
this.sortRightBtn[m].onclick = function(n) { | |||
return function() { | |||
_this.sortRight(event, n) | |||
} | |||
}(m) | |||
} | |||
}, | |||
//设置默认图片 | |||
setDefaultImage: function() { | |||
this.imageBox[this.i].style.backgroundColor = "#B2B2B2" | |||
this.imageDelete[this.i].title = '图片不存在' | |||
this.imagePreview[this.i].src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAMAAABCfAldAAAAllBMVEUAAAB/f39XV1fKysrr6+vo6Oj+/v5DQ0OZmZl5eXni4uLGxsbe3t7b29u2trajo6Nubm5mZmbOzs6wsLCGhob8/Pzl5eXU1NS9vb2rq6tSUlJLS0vY2NiRkZFeXl7y8vLw8PBzc3P6+vr39/fBwcH09PTe3t7w8PDv7+/b29vt7e3j4+Pa2trq6urg4ODZ2dnm5ub4+PhWkjdOAAAAJnRSTlMAWCWy29fzDHdP0a7MyJuEQje4k2Dw1b+ijR8XxG0v5OFJ7uun5sxAWrkAAAUySURBVHja7ZsNV9owFIY7TUBBFBD5EEHcNM1N0hb+/59bmsQltSutbUdzdvqefbid5OXxvtzmamvQq1evXr169er1X+qqNQ0r+n0L7+YORy3poF5593EsWYfvbqrzPRygJSV4EUhtR0JAmQ4PVfmelwJIKxJ8rRzXvNwQBH6uCHgbtQQI5G6oDJGo8tlEtxUBf7CkHcAE6Zd8IVBlNftRGVC0EzB+1G9pLCotvzQgkBd9hcFAvARM0EzZjfk/BIzrC5C+bCwOcH5hE8CI1hYLX7QbChk9q6g2IPCQ0rCeKPulD6/HJ3bWQ74Ch/qAjNE6Cmk00CfX/qfkO1tpJgEvXUFK2WmuvVYy4JIKXh6QSqjXrbLaDSLp4BmgjJQNFspp+EplAX0DDEN2etdO6xOjoW8VTK8wSE+p04Gsn28Rq4DNWDIKZQF9q6As4NO9mXsHks+3iGUHhyMz9/6SfL5VMA34aaZtrk9pB3sGmB4hD8ZFXQI9A0w7eBI4Q4JngFTPCHZI8KyCcrGeEaRm6ZDgW8Q0NDOC1IsM2LcKUsroxzYwQ0IasGeAaQcvgj9DQki7BzSjqPzLDIFj4/B+YrTzChq2zw/SI+Qw1AZvKuCOAK2vpjN/mhnBDgm0S0D13/IXi3hMYs4jamYEZ0jotIJU+bIjAVDrSBzJf2Oz/UoNCR0B2nSpxCN/BPHxaWq2z1WHdANoyxfFQFwleGN2L9KAOwTU5eOQ5YN4FWSGhK4AVbeGzJTPSqCZ2XyvhoQuAG28R5LnewjcIaErQKoS1n7ZgOeB0SQNuCvAgngJAL4yW29eGe2igpYvMvG6StDO3h9QezppEsOXF/BxYLTmAFyGHBZfPtsHdPmO8Nd7DVuzcf9KBIHjXwhpRq0CWj5q+VxBZO9h7ecIAKKvhJTq3/bjtgEptUZ5rZwbgbsRF4qQ0i94NDpyHjFj1h5gOR/Eo73dvF0jArLZnZJpvJiAFOER1cStArp8eQFZztw7aRMMLN2TPbrBLAau4FsEtHzFhPjNNdhgzhSDKR/jAO7qyMbcHLCcTwoAZcxn81fKNAOl+WsncB1zK4CWr4Rwkb0lfjjphqDM7nUIVRfRNgDt9eW8BNplbzqPByGzR2OusXQfNQfU50cJnyG8+XLbGcnJy8abI5TebQBavjIlZuayevwZJaRAEKt0mgPKKKrf3tx8cZqtEADJyc2nKSCjLIbqhPe550eWPCkmZI0ryPT26oTr3AM448IiqiOxKaBu4OqEeJyzW4wKPVjIGgLaAbAq4fI65zd8LGplwihrWMEYvk04zz+IwwEKG6UZIIcaD/Oshl8MVzGQ4rdhE0AGtR43mmwzfmt8xqZZxGUBFw6Ibg1vUHJmLQ/rATYR8LXr9kHg3OLo0oBgntgy2mNSInrpCgp3NhxOCJTV+8KA4uied2Oeevn0aFQ24A1KytZfEtA+kme0QNLJrwpmAp4hIJ4BZgLejoh3gMINeM6BeAaYCfgeC+IZoAnYnnC+AboBv8kG9g0QnICfRwC+AcqArcdLDMQ3QIHsd5Del4J4BgjqqWmjB9kg3gGSiT3hJJ93gE7AewzgHaAO2I6AvgG6AV9zIN4BCjQNjB5xQnwDdDt4JxvEP0Ab8BQJ4h9ggqbOCOgfoMCbwGjFgVwCMIEaP9gidb9s8tVMZcApSmp0sBkB6wrsG6VcEyKgsuwDKbcogfoSchiqqik+8qqK+WfAexTHvL6OsoCV9bwZX1fUeDX7HLHmclNtjTdXQa9evXr16tWr17f1G41D8rN+B+2KAAAAAElFTkSuQmCC' | |||
if (130 / this.opt.width > 105 / this.opt.height) { | |||
this.imagePreview[this.i].style.width = this.opt.width - 2 + 'px' | |||
this.imagePreview[this.i].style.height = 105 / (130 / this.opt.width) - 2 + 'px' | |||
} else { | |||
this.imagePreview[this.i].style.width = 130 / (105 / this.opt.height) - 2 + 'px' | |||
this.imagePreview[this.i].style.height = this.opt.height - 2 + 'px' | |||
} | |||
}, | |||
//设置图片宽高 | |||
setImageAttribute: function(width, height) { | |||
if (width / this.opt.width > height / this.opt.height) { | |||
this.imagePreview[this.i].style.width = this.opt.width - 2 + 'px' | |||
this.imagePreview[this.i].style.height = height / (width / this.opt.width) - 2 + 'px' | |||
} else { | |||
this.imagePreview[this.i].style.width = width / (height / this.opt.height) - 2 + 'px' | |||
this.imagePreview[this.i].style.height = this.opt.height - 2 + 'px' | |||
} | |||
}, | |||
//data图片预览 | |||
showImagePreview: function() { | |||
var obj = this.opt.data | |||
if (obj.length >= this.opt.num) { | |||
this.removeUploadBox() | |||
} | |||
var _this = this | |||
var tempImage = new Image() | |||
tempImage.src = obj[this.i] | |||
tempImage.onload = function() { | |||
_this.createImageBox(obj[_this.i], obj[_this.i], this.width, this.height) | |||
setTimeout(function() { | |||
if (obj[_this.i]) { | |||
_this.showImagePreview() | |||
} | |||
}, 0); | |||
} | |||
tempImage.onerror = function() { | |||
_this.createImageBox(obj[_this.i], obj[_this.i], 0, 0, false) | |||
setTimeout(function() { | |||
if (obj[_this.i]) { | |||
_this.showImagePreview() | |||
} | |||
}, 0); | |||
} | |||
}, | |||
//图片放大预览 | |||
zoomInImage: function(n) { | |||
if(event.target.classList[0] === 'cupload-delete-btn' || event.target.classList[0] === 'cupload-sort-right' || event.target.classList[0] === 'cupload-sort-left') { | |||
return; | |||
} | |||
if(this.imagePreview[n].src == 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAMAAABCfAldAAAAllBMVEUAAAB/f39XV1fKysrr6+vo6Oj+/v5DQ0OZmZl5eXni4uLGxsbe3t7b29u2trajo6Nubm5mZmbOzs6wsLCGhob8/Pzl5eXU1NS9vb2rq6tSUlJLS0vY2NiRkZFeXl7y8vLw8PBzc3P6+vr39/fBwcH09PTe3t7w8PDv7+/b29vt7e3j4+Pa2trq6urg4ODZ2dnm5ub4+PhWkjdOAAAAJnRSTlMAWCWy29fzDHdP0a7MyJuEQje4k2Dw1b+ijR8XxG0v5OFJ7uun5sxAWrkAAAUySURBVHja7ZsNV9owFIY7TUBBFBD5EEHcNM1N0hb+/59bmsQltSutbUdzdvqefbid5OXxvtzmamvQq1evXr169er1X+qqNQ0r+n0L7+YORy3poF5593EsWYfvbqrzPRygJSV4EUhtR0JAmQ4PVfmelwJIKxJ8rRzXvNwQBH6uCHgbtQQI5G6oDJGo8tlEtxUBf7CkHcAE6Zd8IVBlNftRGVC0EzB+1G9pLCotvzQgkBd9hcFAvARM0EzZjfk/BIzrC5C+bCwOcH5hE8CI1hYLX7QbChk9q6g2IPCQ0rCeKPulD6/HJ3bWQ74Ch/qAjNE6Cmk00CfX/qfkO1tpJgEvXUFK2WmuvVYy4JIKXh6QSqjXrbLaDSLp4BmgjJQNFspp+EplAX0DDEN2etdO6xOjoW8VTK8wSE+p04Gsn28Rq4DNWDIKZQF9q6As4NO9mXsHks+3iGUHhyMz9/6SfL5VMA34aaZtrk9pB3sGmB4hD8ZFXQI9A0w7eBI4Q4JngFTPCHZI8KyCcrGeEaRm6ZDgW8Q0NDOC1IsM2LcKUsroxzYwQ0IasGeAaQcvgj9DQki7BzSjqPzLDIFj4/B+YrTzChq2zw/SI+Qw1AZvKuCOAK2vpjN/mhnBDgm0S0D13/IXi3hMYs4jamYEZ0jotIJU+bIjAVDrSBzJf2Oz/UoNCR0B2nSpxCN/BPHxaWq2z1WHdANoyxfFQFwleGN2L9KAOwTU5eOQ5YN4FWSGhK4AVbeGzJTPSqCZ2XyvhoQuAG28R5LnewjcIaErQKoS1n7ZgOeB0SQNuCvAgngJAL4yW29eGe2igpYvMvG6StDO3h9QezppEsOXF/BxYLTmAFyGHBZfPtsHdPmO8Nd7DVuzcf9KBIHjXwhpRq0CWj5q+VxBZO9h7ecIAKKvhJTq3/bjtgEptUZ5rZwbgbsRF4qQ0i94NDpyHjFj1h5gOR/Eo73dvF0jArLZnZJpvJiAFOER1cStArp8eQFZztw7aRMMLN2TPbrBLAau4FsEtHzFhPjNNdhgzhSDKR/jAO7qyMbcHLCcTwoAZcxn81fKNAOl+WsncB1zK4CWr4Rwkb0lfjjphqDM7nUIVRfRNgDt9eW8BNplbzqPByGzR2OusXQfNQfU50cJnyG8+XLbGcnJy8abI5TebQBavjIlZuayevwZJaRAEKt0mgPKKKrf3tx8cZqtEADJyc2nKSCjLIbqhPe550eWPCkmZI0ryPT26oTr3AM448IiqiOxKaBu4OqEeJyzW4wKPVjIGgLaAbAq4fI65zd8LGplwihrWMEYvk04zz+IwwEKG6UZIIcaD/Oshl8MVzGQ4rdhE0AGtR43mmwzfmt8xqZZxGUBFw6Ibg1vUHJmLQ/rATYR8LXr9kHg3OLo0oBgntgy2mNSInrpCgp3NhxOCJTV+8KA4uied2Oeevn0aFQ24A1KytZfEtA+kme0QNLJrwpmAp4hIJ4BZgLejoh3gMINeM6BeAaYCfgeC+IZoAnYnnC+AboBv8kG9g0QnICfRwC+AcqArcdLDMQ3QIHsd5Del4J4BgjqqWmjB9kg3gGSiT3hJJ93gE7AewzgHaAO2I6AvgG6AV9zIN4BCjQNjB5xQnwDdDt4JxvEP0Ab8BQJ4h9ggqbOCOgfoMCbwGjFgVwCMIEaP9gidb9s8tVMZcApSmp0sBkB6wrsG6VcEyKgsuwDKbcogfoSchiqqik+8qqK+WfAexTHvL6OsoCV9bwZX1fUeDX7HLHmclNtjTdXQa9evXr16tWr17f1G41D8rN+B+2KAAAAAElFTkSuQmCC') { | |||
alert('图片不存在') | |||
return; | |||
} | |||
this.zommImage = document.createElement('img') | |||
this.zommImage.style.display = "inline-block" | |||
this.zommImage.style.verticalAlign = "middle" | |||
this.zommImage.style.position= "absolute"; | |||
this.zommImage.style.top="50%"; | |||
this.zommImage.style.transform="translate(-50%,-50%)"; | |||
this.zommImage.src = this.imageArr[n] | |||
if (this.widthArr[n] / window.innerWidth > this.heightArr[n] / window.innerHeight) { | |||
this.zommImage.style.width = 0.8 * window.innerWidth + 'px' | |||
this.zommImage.style.height = 0.8 * this.heightArr[n] / (this.widthArr[n] / window.innerWidth) + 'px' | |||
} else { | |||
this.zommImage.style.width = 0.8 * this.widthArr[n] / (this.heightArr[n] / window.innerHeight) + 'px' | |||
this.zommImage.style.height = 0.8 * window.innerHeight + 'px' | |||
} | |||
this.overlay.appendChild(this.zommImage) | |||
this.overlay.style.lineHeight = window.innerHeight + 'px' | |||
this.overlay.style.cursor = "zoom-out" | |||
this.overlay.style.display = "block" | |||
}, | |||
//关闭图片放大预览 | |||
zoomOutImage: function() { | |||
this.overlay.style.display = "none" | |||
this.zommImage.remove() | |||
}, | |||
//检测当前图片数量,判断是否创建上传框 | |||
isCreateUploadBox: function() { | |||
this.removeUploadBox() | |||
if (this.imageList.children.length < this.opt.num) { | |||
this.createUploadBox() | |||
} | |||
}, | |||
//删除图片 | |||
deleteImage: function(n) { | |||
this.imageBox[n].remove() | |||
deleteNum = n ; | |||
this.removeUploadBox() | |||
if (this.imageList.children.length < this.opt.num) { | |||
this.createUploadBox() | |||
} | |||
deleteList() | |||
// if(this.opt.deleteUrl) { | |||
// var xhr = null; | |||
// var key = this.opt.name | |||
// var data = {} | |||
// data[key] = this.imageArr[n] | |||
// if(window.XMLHttpRequest){ | |||
// xhr = new XMLHttpRequest() | |||
// } else { | |||
// xhr = new ActiveXObject('Microsoft.XMLHTTP') | |||
// } | |||
// if(typeof data == 'object'){ | |||
// var str = ''; | |||
// for(var key in data){ | |||
// str += key+'='+data[key]+'&'; | |||
// } | |||
// data = str.replace(/&$/, ''); | |||
// } | |||
// xhr.open('POST', this.opt.deleteUrl, true); | |||
// xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); | |||
// xhr.send(data); | |||
// xhr.onreadystatechange = function(){ | |||
// if(xhr.readyState == 4){ | |||
// if(xhr.status == 200){ | |||
// console.log(xhr.response) | |||
// } else { | |||
// alert(((xhr.responseText).split("</p>")[0]).split("<p>")[1]) | |||
// return false | |||
// } | |||
// } | |||
// } | |||
// } | |||
}, | |||
sortLeft: function(event, n) { | |||
if(this.imageBox[n].previousSibling) { | |||
this.imageList.insertBefore(this.imageBox[n], this.imageBox[n].previousSibling) | |||
} | |||
}, | |||
sortRight: function(event, n) { | |||
if(this.imageBox[n].nextSibling) { | |||
this.imageList.insertBefore(this.imageBox[n].nextSibling, this.imageBox[n]) | |||
} | |||
}, | |||
//移除上传框 | |||
removeUploadBox: function() { | |||
this.uploadBox.remove() | |||
}, | |||
//显示图片删除 | |||
showImageDelete: function(m) { | |||
this.imageDelete[m].style.opacity = 1 | |||
}, | |||
//隐藏图片删除 | |||
hideImageDelete: function(m) { | |||
this.imageDelete[m].style.opacity = 0 | |||
}, | |||
} | |||
window.Cupload = Cupload; | |||
})(window, document) |
@@ -0,0 +1,93 @@ | |||
// artDialog - 默认配置 | |||
define({ | |||
/* -----已注释的配置继承自 popup.js,仍可以再这里重新定义它----- */ | |||
// 对齐方式 | |||
//align: 'bottom left', | |||
// 是否固定定位 | |||
//fixed: false, | |||
// 对话框叠加高度值(重要:此值不能超过浏览器最大限制) | |||
//zIndex: 1024, | |||
// 设置遮罩背景颜色 | |||
backdropBackground: '#000', | |||
// 设置遮罩透明度 | |||
backdropOpacity: 0.7, | |||
// 消息内容 | |||
content: '<span class="ui-dialog-loading">Loading..</span>', | |||
// 标题 | |||
title: '', | |||
// 对话框状态栏区域 HTML 代码 | |||
statusbar: '', | |||
// 自定义按钮 | |||
button: null, | |||
// 确定按钮回调函数 | |||
ok: null, | |||
// 取消按钮回调函数 | |||
cancel: null, | |||
// 确定按钮文本 | |||
okValue: 'ok', | |||
// 取消按钮文本 | |||
cancelValue: 'cancel', | |||
cancelDisplay: true, | |||
// 内容宽度 | |||
width: '', | |||
// 内容高度 | |||
height: '', | |||
// 内容与边界填充距离 | |||
padding: '', | |||
// 对话框自定义 className | |||
skin: '', | |||
// 是否支持快捷关闭(点击遮罩层自动关闭) | |||
quickClose: false, | |||
// css 文件路径,留空则不会使用 js 自动加载样式 | |||
// 注意:css 只允许加载一个 | |||
cssUri: '../css/ui-dialog.css', | |||
// 模板(使用 table 解决 IE7 宽度自适应的 BUG) | |||
// js 使用 i="***" 属性识别结构,其余的均可自定义 | |||
innerHTML: | |||
'<div i="dialog" class="ui-dialog">' | |||
+ '<div class="ui-dialog-arrow-a"></div>' | |||
+ '<div class="ui-dialog-arrow-b"></div>' | |||
+ '<table class="ui-dialog-grid">' | |||
+ '<tr>' | |||
+ '<td i="header" class="ui-dialog-header">' | |||
+ '<button i="close" class="ui-dialog-close">×</button>' | |||
+ '<div i="title" class="ui-dialog-title"></div>' | |||
+ '</td>' | |||
+ '</tr>' | |||
+ '<tr>' | |||
+ '<td i="body" class="ui-dialog-body">' | |||
+ '<div i="content" class="ui-dialog-content"></div>' | |||
+ '</td>' | |||
+ '</tr>' | |||
+ '<tr>' | |||
+ '<td i="footer" class="ui-dialog-footer">' | |||
+ '<div i="statusbar" class="ui-dialog-statusbar"></div>' | |||
+ '<div i="button" class="ui-dialog-button"></div>' | |||
+ '</td>' | |||
+ '</tr>' | |||
+ '</table>' | |||
+ '</div>' | |||
}); |
@@ -0,0 +1,143 @@ | |||
/*! | |||
* artDialog-plus | |||
* Date: 2013-11-09 | |||
* https://github.com/aui/artDialog | |||
* (c) 2009-2014 TangBin, http://www.planeArt.cn | |||
* | |||
* This is licensed under the GNU LGPL, version 2.1 or later. | |||
* For details, see: http://www.gnu.org/licenses/lgpl-2.1.html | |||
*/ | |||
define(function (require) { | |||
var $ = require('jquery'); | |||
var dialog = require('./dialog'); | |||
var drag = require('./drag'); | |||
dialog.oncreate = function (api) { | |||
var options = api.options; | |||
var originalOptions = options.original; | |||
// 页面地址 | |||
var url = options.url; | |||
// 页面加载完毕的事件 | |||
var oniframeload = options.oniframeload; | |||
var $iframe; | |||
if (url) { | |||
this.padding = options.padding = 0; | |||
$iframe = $('<iframe />'); | |||
$iframe.attr({ | |||
src: url, | |||
name: api.id, | |||
width: '100%', | |||
height: '100%', | |||
allowtransparency: 'yes', | |||
frameborder: 'no', | |||
scrolling: 'no' | |||
}) | |||
.on('load', function () { | |||
var test; | |||
try { | |||
// 跨域测试 | |||
test = $iframe[0].contentWindow.frameElement; | |||
} catch (e) {} | |||
if (test) { | |||
if (!options.width) { | |||
api.width($iframe.contents().width()); | |||
} | |||
if (!options.height) { | |||
api.height($iframe.contents().height()); | |||
} | |||
} | |||
if (oniframeload) { | |||
oniframeload.call(api); | |||
} | |||
}); | |||
api.addEventListener('beforeremove', function () { | |||
// 重要!需要重置iframe地址,否则下次出现的对话框在IE6、7无法聚焦input | |||
// IE删除iframe后,iframe仍然会留在内存中出现上述问题,置换src是最容易解决的方法 | |||
$iframe.attr('src', 'about:blank').remove(); | |||
}, false); | |||
api.content($iframe[0]); | |||
api.iframeNode = $iframe[0]; | |||
} | |||
// 对于子页面呼出的对话框特殊处理 | |||
// 如果对话框配置来自 iframe | |||
if (!(originalOptions instanceof Object)) { | |||
var un = function () { | |||
api.close().remove(); | |||
}; | |||
// 找到那个 iframe | |||
for (var i = 0; i < frames.length; i ++) { | |||
try { | |||
if (originalOptions instanceof frames[i].Object) { | |||
// 让 iframe 刷新的时候也关闭对话框, | |||
// 防止要执行的对象被强制收回导致 IE 报错:“不能执行已释放 Script 的代码” | |||
$(frames[i]).one('unload', un); | |||
break; | |||
} | |||
} catch (e) {} | |||
} | |||
} | |||
// 拖拽支持 | |||
$(api.node).on(drag.types.start, '[i=title]', function (event) { | |||
// 排除气泡类型的对话框 | |||
if (!api.follow) { | |||
api.focus(); | |||
drag.create(api.node, event); | |||
} | |||
}); | |||
}; | |||
dialog.get = function (id) { | |||
// 从 iframe 传入 window 对象 | |||
if (id && id.frameElement) { | |||
var iframe = id.frameElement; | |||
var list = dialog.list; | |||
var api; | |||
for (var i in list) { | |||
api = list[i]; | |||
if (api.node.getElementsByTagName('iframe')[0] === iframe) { | |||
return api; | |||
} | |||
} | |||
// 直接传入 id 的情况 | |||
} else if (id) { | |||
return dialog.list[id]; | |||
} | |||
}; | |||
return dialog; | |||
}); |
@@ -0,0 +1,502 @@ | |||
/*! | |||
* artDialog | |||
* Date: 2014-11-09 | |||
* https://github.com/aui/artDialog | |||
* (c) 2009-2014 TangBin, http://www.planeArt.cn | |||
* | |||
* This is licensed under the GNU LGPL, version 2.1 or later. | |||
* For details, see: http://www.gnu.org/licenses/lgpl-2.1.html | |||
*/ | |||
define(['jquery','popup','dialogConf'],function ($,Popup,defaults) { | |||
//var $ = require('jquery'); | |||
//var Popup = require('popup'); | |||
//var defaults = require('dialogConf'); | |||
var css = defaults.cssUri; | |||
// css loader: RequireJS & SeaJS | |||
if (css) { | |||
var fn = require[require.toUrl ? 'toUrl' : 'resolve']; | |||
if (fn) { | |||
css = fn(css); | |||
css = '<link rel="stylesheet" href="' + css + '" />'; | |||
if ($('base')[0]) { | |||
$('base').before(css); | |||
} else { | |||
$('head').append(css); | |||
} | |||
} | |||
} | |||
var _count = 0; | |||
var _expando = new Date() - 0; // Date.now() | |||
var _isIE6 = !('minWidth' in $('html')[0].style); | |||
var _isMobile = 'createTouch' in document && !('onmousemove' in document) | |||
|| /(iPhone|iPad|iPod)/i.test(navigator.userAgent); | |||
var _isFixed = !_isIE6 && !_isMobile; | |||
var artDialog = function (options, ok, cancel) { | |||
var originalOptions = options = options || {}; | |||
if (typeof options === 'string' || options.nodeType === 1) { | |||
options = {content: options, fixed: !_isMobile}; | |||
} | |||
options = $.extend(true, {}, artDialog.defaults, options); | |||
options.original = originalOptions; | |||
var id = options.id = options.id || _expando + _count; | |||
var api = artDialog.get(id); | |||
// 如果存在同名的对话框对象,则直接返回 | |||
if (api) { | |||
return api.focus(); | |||
} | |||
// 目前主流移动设备对fixed支持不好,禁用此特性 | |||
if (!_isFixed) { | |||
options.fixed = false; | |||
} | |||
// 快捷关闭支持:点击对话框外快速关闭对话框 | |||
if (options.quickClose) { | |||
options.modal = true; | |||
options.backdropOpacity = 0; | |||
} | |||
// 按钮组 | |||
if (!$.isArray(options.button)) { | |||
options.button = []; | |||
} | |||
// 取消按钮 | |||
if (cancel !== undefined) { | |||
options.cancel = cancel; | |||
} | |||
if (options.cancel) { | |||
options.button.push({ | |||
id: 'cancel', | |||
value: options.cancelValue, | |||
callback: options.cancel, | |||
display: options.cancelDisplay | |||
}); | |||
} | |||
// 确定按钮 | |||
if (ok !== undefined) { | |||
options.ok = ok; | |||
} | |||
if (options.ok) { | |||
options.button.push({ | |||
id: 'ok', | |||
value: options.okValue, | |||
callback: options.ok, | |||
autofocus: true | |||
}); | |||
} | |||
return artDialog.list[id] = new artDialog.create(options); | |||
}; | |||
var popup = function () {}; | |||
popup.prototype = Popup.prototype; | |||
var prototype = artDialog.prototype = new popup(); | |||
artDialog.create = function (options) { | |||
var that = this; | |||
$.extend(this, new Popup()); | |||
var originalOptions = options.original; | |||
var $popup = $(this.node).html(options.innerHTML); | |||
var $backdrop = $(this.backdrop); | |||
this.options = options; | |||
this._popup = $popup; | |||
$.each(options, function (name, value) { | |||
if (typeof that[name] === 'function') { | |||
that[name](value); | |||
} else { | |||
that[name] = value; | |||
} | |||
}); | |||
// 更新 zIndex 全局配置 | |||
if (options.zIndex) { | |||
Popup.zIndex = options.zIndex; | |||
} | |||
// 设置 ARIA 信息 | |||
$popup.attr({ | |||
'aria-labelledby': this._$('title') | |||
.attr('id', 'title:' + this.id).attr('id'), | |||
'aria-describedby': this._$('content') | |||
.attr('id', 'content:' + this.id).attr('id') | |||
}); | |||
// 关闭按钮 | |||
this._$('close') | |||
.css('display', this.cancel === false ? 'none' : '') | |||
.attr('title', this.cancelValue) | |||
.on('click', function (event) { | |||
that._trigger('cancel'); | |||
event.preventDefault(); | |||
}); | |||
// 添加视觉参数 | |||
this._$('dialog').addClass(this.skin); | |||
this._$('body').css('padding', this.padding); | |||
// 点击任意空白处关闭对话框 | |||
if (options.quickClose) { | |||
$backdrop | |||
.on( | |||
'onmousedown' in document ? 'mousedown' : 'click', | |||
function () { | |||
that._trigger('cancel'); | |||
return false;// 阻止抢夺焦点 | |||
}); | |||
} | |||
// 遮罩设置 | |||
this.addEventListener('show', function () { | |||
$backdrop.css({ | |||
opacity: 0, | |||
background: options.backdropBackground | |||
}).animate( | |||
{opacity: options.backdropOpacity} | |||
, 150); | |||
}); | |||
// ESC 快捷键关闭对话框 | |||
this._esc = function (event) { | |||
var target = event.target; | |||
var nodeName = target.nodeName; | |||
var rinput = /^input|textarea$/i; | |||
var isTop = Popup.current === that; | |||
var keyCode = event.keyCode; | |||
// 避免输入状态中 ESC 误操作关闭 | |||
if (!isTop || rinput.test(nodeName) && target.type !== 'button') { | |||
return; | |||
} | |||
if (keyCode === 27) { | |||
that._trigger('cancel'); | |||
} | |||
}; | |||
$(document).on('keydown', this._esc); | |||
this.addEventListener('remove', function () { | |||
$(document).off('keydown', this._esc); | |||
delete artDialog.list[this.id]; | |||
}); | |||
_count ++; | |||
artDialog.oncreate(this); | |||
return this; | |||
}; | |||
artDialog.create.prototype = prototype; | |||
$.extend(prototype, { | |||
/** | |||
* 显示对话框 | |||
* @name artDialog.prototype.show | |||
* @param {HTMLElement Object, Event Object} 指定位置(可选) | |||
*/ | |||
/** | |||
* 显示对话框(模态) | |||
* @name artDialog.prototype.showModal | |||
* @param {HTMLElement Object, Event Object} 指定位置(可选) | |||
*/ | |||
/** | |||
* 关闭对话框 | |||
* @name artDialog.prototype.close | |||
* @param {String, Number} 返回值,可被 onclose 事件收取(可选) | |||
*/ | |||
/** | |||
* 销毁对话框 | |||
* @name artDialog.prototype.remove | |||
*/ | |||
/** | |||
* 重置对话框位置 | |||
* @name artDialog.prototype.reset | |||
*/ | |||
/** | |||
* 让对话框聚焦(同时置顶) | |||
* @name artDialog.prototype.focus | |||
*/ | |||
/** | |||
* 让对话框失焦(同时置顶) | |||
* @name artDialog.prototype.blur | |||
*/ | |||
/** | |||
* 添加事件 | |||
* @param {String} 事件类型 | |||
* @param {Function} 监听函数 | |||
* @name artDialog.prototype.addEventListener | |||
*/ | |||
/** | |||
* 删除事件 | |||
* @param {String} 事件类型 | |||
* @param {Function} 监听函数 | |||
* @name artDialog.prototype.removeEventListener | |||
*/ | |||
/** | |||
* 对话框显示事件,在 show()、showModal() 执行 | |||
* @name artDialog.prototype.onshow | |||
* @event | |||
*/ | |||
/** | |||
* 关闭事件,在 close() 执行 | |||
* @name artDialog.prototype.onclose | |||
* @event | |||
*/ | |||
/** | |||
* 销毁前事件,在 remove() 前执行 | |||
* @name artDialog.prototype.onbeforeremove | |||
* @event | |||
*/ | |||
/** | |||
* 销毁事件,在 remove() 执行 | |||
* @name artDialog.prototype.onremove | |||
* @event | |||
*/ | |||
/** | |||
* 重置事件,在 reset() 执行 | |||
* @name artDialog.prototype.onreset | |||
* @event | |||
*/ | |||
/** | |||
* 焦点事件,在 foucs() 执行 | |||
* @name artDialog.prototype.onfocus | |||
* @event | |||
*/ | |||
/** | |||
* 失焦事件,在 blur() 执行 | |||
* @name artDialog.prototype.onblur | |||
* @event | |||
*/ | |||
/** | |||
* 设置内容 | |||
* @param {String, HTMLElement} 内容 | |||
*/ | |||
content: function (html) { | |||
var $content = this._$('content'); | |||
// HTMLElement | |||
if (typeof html === 'object') { | |||
html = $(html); | |||
$content.empty('').append(html.show()); | |||
this.addEventListener('beforeremove', function () { | |||
$('body').append(html.hide()); | |||
}); | |||
// String | |||
} else { | |||
$content.html(html); | |||
} | |||
return this.reset(); | |||
}, | |||
/** | |||
* 设置标题 | |||
* @param {String} 标题内容 | |||
*/ | |||
title: function (text) { | |||
this._$('title').text(text); | |||
this._$('header')[text ? 'show' : 'hide'](); | |||
return this; | |||
}, | |||
/** 设置宽度 */ | |||
width: function (value) { | |||
this._$('content').css('width', value); | |||
return this.reset(); | |||
}, | |||
/** 设置高度 */ | |||
height: function (value) { | |||
this._$('content').css('height', value); | |||
return this.reset(); | |||
}, | |||
/** | |||
* 设置按钮组 | |||
* @param {Array, String} | |||
* Options: value, callback, autofocus, disabled | |||
*/ | |||
button: function (args) { | |||
args = args || []; | |||
var that = this; | |||
var html = ''; | |||
var number = 0; | |||
this.callbacks = {}; | |||
if (typeof args === 'string') { | |||
html = args; | |||
number ++; | |||
} else { | |||
$.each(args, function (i, val) { | |||
var id = val.id = val.id || val.value; | |||
var style = ''; | |||
that.callbacks[id] = val.callback; | |||
if (val.display === false) { | |||
style = ' style="display:none"'; | |||
} else { | |||
number ++; | |||
} | |||
html += | |||
'<button' | |||
+ ' type="button"' | |||
+ ' i-id="' + id + '"' | |||
+ style | |||
+ (val.disabled ? ' disabled' : '') | |||
+ (val.autofocus ? ' autofocus class="ui-dialog-autofocus"' : '') | |||
+ '>' | |||
+ val.value | |||
+ '</button>'; | |||
that._$('button') | |||
.on('click', '[i-id=' + id +']', function (event) { | |||
var $this = $(this); | |||
if (!$this.attr('disabled')) {// IE BUG | |||
that._trigger(id); | |||
} | |||
event.preventDefault(); | |||
}); | |||
}); | |||
} | |||
this._$('button').html(html); | |||
this._$('footer')[number ? 'show' : 'hide'](); | |||
return this; | |||
}, | |||
statusbar: function (html) { | |||
this._$('statusbar') | |||
.html(html)[html ? 'show' : 'hide'](); | |||
return this; | |||
}, | |||
_$: function (i) { | |||
return this._popup.find('[i=' + i + ']'); | |||
}, | |||
// 触发按钮回调函数 | |||
_trigger: function (id) { | |||
var fn = this.callbacks[id]; | |||
return typeof fn !== 'function' || fn.call(this) !== false ? | |||
this.close().remove() : this; | |||
} | |||
}); | |||
artDialog.oncreate = $.noop; | |||
/** 获取最顶层的对话框API */ | |||
artDialog.getCurrent = function () { | |||
return Popup.current; | |||
}; | |||
/** | |||
* 根据 ID 获取某对话框 API | |||
* @param {String} 对话框 ID | |||
* @return {Object} 对话框 API (实例) | |||
*/ | |||
artDialog.get = function (id) { | |||
return id === undefined | |||
? artDialog.list | |||
: artDialog.list[id]; | |||
}; | |||
artDialog.list = {}; | |||
/** | |||
* 默认配置 | |||
*/ | |||
artDialog.defaults = defaults; | |||
return artDialog; | |||
}); | |||
@@ -0,0 +1,225 @@ | |||
/*! | |||
* drag.js | |||
* Date: 2013-12-06 | |||
* https://github.com/aui/artDialog | |||
* (c) 2009-2014 TangBin, http://www.planeArt.cn | |||
* | |||
* This is licensed under the GNU LGPL, version 2.1 or later. | |||
* For details, see: http://www.gnu.org/licenses/lgpl-2.1.html | |||
*/ | |||
define(function (require) { | |||
var $ = require('jquery'); | |||
var $window = $(window); | |||
var $document = $(document); | |||
var isTouch = 'createTouch' in document; | |||
var html = document.documentElement; | |||
var isIE6 = !('minWidth' in html.style); | |||
var isLosecapture = !isIE6 && 'onlosecapture' in html; | |||
var isSetCapture = 'setCapture' in html; | |||
var types = { | |||
start: isTouch ? 'touchstart' : 'mousedown', | |||
over: isTouch ? 'touchmove' : 'mousemove', | |||
end: isTouch ? 'touchend' : 'mouseup' | |||
}; | |||
var getEvent = isTouch ? function (event) { | |||
if (!event.touches) { | |||
event = event.originalEvent.touches.item(0); | |||
} | |||
return event; | |||
} : function (event) { | |||
return event; | |||
}; | |||
var DragEvent = function () { | |||
this.start = $.proxy(this.start, this); | |||
this.over = $.proxy(this.over, this); | |||
this.end = $.proxy(this.end, this); | |||
this.onstart = this.onover = this.onend = $.noop; | |||
}; | |||
DragEvent.types = types; | |||
DragEvent.prototype = { | |||
start: function (event) { | |||
event = this.startFix(event); | |||
$document | |||
.on(types.over, this.over) | |||
.on(types.end, this.end); | |||
this.onstart(event); | |||
return false; | |||
}, | |||
over: function (event) { | |||
event = this.overFix(event); | |||
this.onover(event); | |||
return false; | |||
}, | |||
end: function (event) { | |||
event = this.endFix(event); | |||
$document | |||
.off(types.over, this.over) | |||
.off(types.end, this.end); | |||
this.onend(event); | |||
return false; | |||
}, | |||
startFix: function (event) { | |||
event = getEvent(event); | |||
this.target = $(event.target); | |||
this.selectstart = function () { | |||
return false; | |||
}; | |||
$document | |||
.on('selectstart', this.selectstart) | |||
.on('dblclick', this.end); | |||
if (isLosecapture) { | |||
this.target.on('losecapture', this.end); | |||
} else { | |||
$window.on('blur', this.end); | |||
} | |||
if (isSetCapture) { | |||
this.target[0].setCapture(); | |||
} | |||
return event; | |||
}, | |||
overFix: function (event) { | |||
event = getEvent(event); | |||
return event; | |||
}, | |||
endFix: function (event) { | |||
event = getEvent(event); | |||
$document | |||
.off('selectstart', this.selectstart) | |||
.off('dblclick', this.end); | |||
if (isLosecapture) { | |||
this.target.off('losecapture', this.end); | |||
} else { | |||
$window.off('blur', this.end); | |||
} | |||
if (isSetCapture) { | |||
this.target[0].releaseCapture(); | |||
} | |||
return event; | |||
} | |||
}; | |||
/** | |||
* 启动拖拽 | |||
* @param {HTMLElement} 被拖拽的元素 | |||
* @param {Event} 触发拖拽的事件对象。可选,若无则监听 elem 的按下事件启动 | |||
*/ | |||
DragEvent.create = function (elem, event) { | |||
var $elem = $(elem); | |||
var dragEvent = new DragEvent(); | |||
var startType = DragEvent.types.start; | |||
var noop = function () {}; | |||
var className = elem.className | |||
.replace(/^\s|\s.*/g, '') + '-drag-start'; | |||
var minX; | |||
var minY; | |||
var maxX; | |||
var maxY; | |||
var api = { | |||
onstart: noop, | |||
onover: noop, | |||
onend: noop, | |||
off: function () { | |||
$elem.off(startType, dragEvent.start); | |||
} | |||
}; | |||
dragEvent.onstart = function (event) { | |||
var isFixed = $elem.css('position') === 'fixed'; | |||
var dl = $document.scrollLeft(); | |||
var dt = $document.scrollTop(); | |||
var w = $elem.width(); | |||
var h = $elem.height(); | |||
minX = 0; | |||
minY = 0; | |||
maxX = isFixed ? $window.width() - w + minX : $document.width() - w; | |||
maxY = isFixed ? $window.height() - h + minY : $document.height() - h; | |||
var offset = $elem.offset(); | |||
var left = this.startLeft = isFixed ? offset.left - dl : offset.left; | |||
var top = this.startTop = isFixed ? offset.top - dt : offset.top; | |||
this.clientX = event.clientX; | |||
this.clientY = event.clientY; | |||
$elem.addClass(className); | |||
api.onstart.call(elem, event, left, top); | |||
}; | |||
dragEvent.onover = function (event) { | |||
var left = event.clientX - this.clientX + this.startLeft; | |||
var top = event.clientY - this.clientY + this.startTop; | |||
var style = $elem[0].style; | |||
left = Math.max(minX, Math.min(maxX, left)); | |||
top = Math.max(minY, Math.min(maxY, top)); | |||
style.left = left + 'px'; | |||
style.top = top + 'px'; | |||
api.onover.call(elem, event, left, top); | |||
}; | |||
dragEvent.onend = function (event) { | |||
var position = $elem.position(); | |||
var left = position.left; | |||
var top = position.top; | |||
$elem.removeClass(className); | |||
api.onend.call(elem, event, left, top); | |||
}; | |||
dragEvent.off = function () { | |||
$elem.off(startType, dragEvent.start); | |||
}; | |||
if (event) { | |||
dragEvent.start(event); | |||
} else { | |||
$elem.on(startType, dragEvent.start); | |||
} | |||
return api; | |||
}; | |||
return DragEvent; | |||
}); |
@@ -0,0 +1,639 @@ | |||
/*! | |||
* PopupJS | |||
* Date: 2014-11-09 | |||
* https://github.com/aui/popupjs | |||
* (c) 2009-2014 TangBin, http://www.planeArt.cn | |||
* | |||
* This is licensed under the GNU LGPL, version 2.1 or later. | |||
* For details, see: http://www.gnu.org/licenses/lgpl-2.1.html | |||
*/ | |||
define(function (require) { | |||
var $ = require('jquery'); | |||
var _count = 0; | |||
var _isIE6 = !('minWidth' in $('html')[0].style); | |||
var _isFixed = !_isIE6; | |||
function Popup () { | |||
this.destroyed = false; | |||
this.__popup = $('<div />') | |||
/*使用 <dialog /> 元素可能导致 z-index 永远置顶的问题(chrome)*/ | |||
.css({ | |||
display: 'none', | |||
position: 'absolute', | |||
/* | |||
left: 0, | |||
top: 0, | |||
bottom: 'auto', | |||
right: 'auto', | |||
margin: 0, | |||
padding: 0, | |||
border: '0 none', | |||
background: 'transparent' | |||
*/ | |||
outline: 0 | |||
}) | |||
.attr('tabindex', '-1') | |||
.html(this.innerHTML) | |||
.appendTo('body'); | |||
this.__backdrop = this.__mask = $('<div />') | |||
.css({ | |||
opacity: .7, | |||
background: '#000' | |||
}); | |||
// 使用 HTMLElement 作为外部接口使用,而不是 jquery 对象 | |||
// 统一的接口利于未来 Popup 移植到其他 DOM 库中 | |||
this.node = this.__popup[0]; | |||
this.backdrop = this.__backdrop[0]; | |||
_count ++; | |||
} | |||
$.extend(Popup.prototype, { | |||
/** | |||
* 初始化完毕事件,在 show()、showModal() 执行 | |||
* @name Popup.prototype.onshow | |||
* @event | |||
*/ | |||
/** | |||
* 关闭事件,在 close() 执行 | |||
* @name Popup.prototype.onclose | |||
* @event | |||
*/ | |||
/** | |||
* 销毁前事件,在 remove() 前执行 | |||
* @name Popup.prototype.onbeforeremove | |||
* @event | |||
*/ | |||
/** | |||
* 销毁事件,在 remove() 执行 | |||
* @name Popup.prototype.onremove | |||
* @event | |||
*/ | |||
/** | |||
* 重置事件,在 reset() 执行 | |||
* @name Popup.prototype.onreset | |||
* @event | |||
*/ | |||
/** | |||
* 焦点事件,在 foucs() 执行 | |||
* @name Popup.prototype.onfocus | |||
* @event | |||
*/ | |||
/** | |||
* 失焦事件,在 blur() 执行 | |||
* @name Popup.prototype.onblur | |||
* @event | |||
*/ | |||
/** 浮层 DOM 素节点[*] */ | |||
node: null, | |||
/** 遮罩 DOM 节点[*] */ | |||
backdrop: null, | |||
/** 是否开启固定定位[*] */ | |||
fixed: false, | |||
/** 判断对话框是否删除[*] */ | |||
destroyed: true, | |||
/** 判断对话框是否显示 */ | |||
open: false, | |||
/** close 返回值 */ | |||
returnValue: '', | |||
/** 是否自动聚焦 */ | |||
autofocus: true, | |||
/** 对齐方式[*] */ | |||
align: 'bottom left', | |||
/** 内部的 HTML 字符串 */ | |||
innerHTML: '', | |||
/** CSS 类名 */ | |||
className: 'ui-popup', | |||
/** | |||
* 显示浮层 | |||
* @param {HTMLElement, Event} 指定位置(可选) | |||
*/ | |||
show: function (anchor) { | |||
if (this.destroyed) { | |||
return this; | |||
} | |||
var that = this; | |||
var popup = this.__popup; | |||
var backdrop = this.__backdrop; | |||
this.__activeElement = this.__getActive(); | |||
this.open = true; | |||
this.follow = anchor || this.follow; | |||
// 初始化 show 方法 | |||
if (!this.__ready) { | |||
popup | |||
.addClass(this.className) | |||
.attr('role', this.modal ? 'alertdialog' : 'dialog') | |||
.css('position', this.fixed ? 'fixed' : 'absolute'); | |||
if (!_isIE6) { | |||
$(window).on('resize', $.proxy(this.reset, this)); | |||
} | |||
// 模态浮层的遮罩 | |||
if (this.modal) { | |||
var backdropCss = { | |||
position: 'fixed', | |||
left: 0, | |||
top: 0, | |||
width: '100%', | |||
height: '100%', | |||
overflow: 'hidden', | |||
userSelect: 'none', | |||
zIndex: this.zIndex || Popup.zIndex | |||
}; | |||
popup.addClass(this.className + '-modal'); | |||
if (!_isFixed) { | |||
$.extend(backdropCss, { | |||
position: 'absolute', | |||
width: $(window).width() + 'px', | |||
height: $(document).height() + 'px' | |||
}); | |||
} | |||
backdrop | |||
.css(backdropCss) | |||
.attr({tabindex: '0'}) | |||
.on('focus', $.proxy(this.focus, this)); | |||
// 锁定 tab 的焦点操作 | |||
this.__mask = backdrop | |||
.clone(true) | |||
.attr('style', '') | |||
.insertAfter(popup); | |||
backdrop | |||
.addClass(this.className + '-backdrop') | |||
.insertBefore(popup); | |||
this.__ready = true; | |||
} | |||
if (!popup.html()) { | |||
popup.html(this.innerHTML); | |||
} | |||
} | |||
popup | |||
.addClass(this.className + '-show') | |||
.show(); | |||
backdrop.show(); | |||
this.reset().focus(); | |||
this.__dispatchEvent('show'); | |||
return this; | |||
}, | |||
/** 显示模态浮层。参数参见 show() */ | |||
showModal: function () { | |||
this.modal = true; | |||
return this.show.apply(this, arguments); | |||
}, | |||
/** 关闭浮层 */ | |||
close: function (result) { | |||
if (!this.destroyed && this.open) { | |||
if (result !== undefined) { | |||
this.returnValue = result; | |||
} | |||
this.__popup.hide().removeClass(this.className + '-show'); | |||
this.__backdrop.hide(); | |||
this.open = false; | |||
this.blur();// 恢复焦点,照顾键盘操作的用户 | |||
this.__dispatchEvent('close'); | |||
} | |||
return this; | |||
}, | |||
/** 销毁浮层 */ | |||
remove: function () { | |||
if (this.destroyed) { | |||
return this; | |||
} | |||
this.__dispatchEvent('beforeremove'); | |||
if (Popup.current === this) { | |||
Popup.current = null; | |||
} | |||
// 从 DOM 中移除节点 | |||
this.__popup.remove(); | |||
this.__backdrop.remove(); | |||
this.__mask.remove(); | |||
if (!_isIE6) { | |||
$(window).off('resize', this.reset); | |||
} | |||
this.__dispatchEvent('remove'); | |||
for (var i in this) { | |||
delete this[i]; | |||
} | |||
return this; | |||
}, | |||
/** 重置位置 */ | |||
reset: function () { | |||
var elem = this.follow; | |||
if (elem) { | |||
this.__follow(elem); | |||
} else { | |||
this.__center(); | |||
} | |||
this.__dispatchEvent('reset'); | |||
return this; | |||
}, | |||
/** 让浮层获取焦点 */ | |||
focus: function () { | |||
var node = this.node; | |||
var popup = this.__popup; | |||
var current = Popup.current; | |||
var index = this.zIndex = Popup.zIndex ++; | |||
if (current && current !== this) { | |||
current.blur(false); | |||
} | |||
// 检查焦点是否在浮层里面 | |||
if (!$.contains(node, this.__getActive())) { | |||
var autofocus = popup.find('[autofocus]')[0]; | |||
if (!this._autofocus && autofocus) { | |||
this._autofocus = true; | |||
} else { | |||
autofocus = node; | |||
} | |||
this.__focus(autofocus); | |||
} | |||
// 设置叠加高度 | |||
popup.css('zIndex', index); | |||
//this.__backdrop.css('zIndex', index); | |||
Popup.current = this; | |||
popup.addClass(this.className + '-focus'); | |||
this.__dispatchEvent('focus'); | |||
return this; | |||
}, | |||
/** 让浮层失去焦点。将焦点退还给之前的元素,照顾视力障碍用户 */ | |||
blur: function () { | |||
var activeElement = this.__activeElement; | |||
var isBlur = arguments[0]; | |||
if (isBlur !== false) { | |||
this.__focus(activeElement); | |||
} | |||
this._autofocus = false; | |||
this.__popup.removeClass(this.className + '-focus'); | |||
this.__dispatchEvent('blur'); | |||
return this; | |||
}, | |||
/** | |||
* 添加事件 | |||
* @param {String} 事件类型 | |||
* @param {Function} 监听函数 | |||
*/ | |||
addEventListener: function (type, callback) { | |||
this.__getEventListener(type).push(callback); | |||
return this; | |||
}, | |||
/** | |||
* 删除事件 | |||
* @param {String} 事件类型 | |||
* @param {Function} 监听函数 | |||
*/ | |||
removeEventListener: function (type, callback) { | |||
var listeners = this.__getEventListener(type); | |||
for (var i = 0; i < listeners.length; i ++) { | |||
if (callback === listeners[i]) { | |||
listeners.splice(i--, 1); | |||
} | |||
} | |||
return this; | |||
}, | |||
// 获取事件缓存 | |||
__getEventListener: function (type) { | |||
var listener = this.__listener; | |||
if (!listener) { | |||
listener = this.__listener = {}; | |||
} | |||
if (!listener[type]) { | |||
listener[type] = []; | |||
} | |||
return listener[type]; | |||
}, | |||
// 派发事件 | |||
__dispatchEvent: function (type) { | |||
var listeners = this.__getEventListener(type); | |||
if (this['on' + type]) { | |||
this['on' + type](); | |||
} | |||
for (var i = 0; i < listeners.length; i ++) { | |||
listeners[i].call(this); | |||
} | |||
}, | |||
// 对元素安全聚焦 | |||
__focus: function (elem) { | |||
// 防止 iframe 跨域无权限报错 | |||
// 防止 IE 不可见元素报错 | |||
try { | |||
// ie11 bug: iframe 页面点击会跳到顶部 | |||
if (this.autofocus && !/^iframe$/i.test(elem.nodeName)) { | |||
elem.focus(); | |||
} | |||
} catch (e) {} | |||
}, | |||
// 获取当前焦点的元素 | |||
__getActive: function () { | |||
try {// try: ie8~9, iframe #26 | |||
var activeElement = document.activeElement; | |||
var contentDocument = activeElement.contentDocument; | |||
var elem = contentDocument && contentDocument.activeElement || activeElement; | |||
return elem; | |||
} catch (e) {} | |||
}, | |||
// 居中浮层 | |||
__center: function () { | |||
var popup = this.__popup; | |||
var $window = $(window); | |||
var $document = $(document); | |||
var fixed = this.fixed; | |||
var dl = fixed ? 0 : $document.scrollLeft(); | |||
var dt = fixed ? 0 : $document.scrollTop(); | |||
var ww = $window.width(); | |||
var wh = $window.height(); | |||
var ow = popup.width(); | |||
var oh = popup.height(); | |||
var left = (ww - ow) / 2 + dl; | |||
var top = (wh - oh) * 382 / 1000 + dt;// 黄金比例 | |||
var style = popup[0].style; | |||
style.left = Math.max(parseInt(left), dl) + 'px'; | |||
style.top = Math.max(parseInt(top), dt) + 'px'; | |||
}, | |||
// 指定位置 @param {HTMLElement, Event} anchor | |||
__follow: function (anchor) { | |||
var $elem = anchor.parentNode && $(anchor); | |||
var popup = this.__popup; | |||
if (this.__followSkin) { | |||
popup.removeClass(this.__followSkin); | |||
} | |||
// 隐藏元素不可用 | |||
if ($elem) { | |||
var o = $elem.offset(); | |||
if (o.left * o.top < 0) { | |||
return this.__center(); | |||
} | |||
} | |||
var that = this; | |||
var fixed = this.fixed; | |||
var $window = $(window); | |||
var $document = $(document); | |||
var winWidth = $window.width(); | |||
var winHeight = $window.height(); | |||
var docLeft = $document.scrollLeft(); | |||
var docTop = $document.scrollTop(); | |||
var popupWidth = popup.width(); | |||
var popupHeight = popup.height(); | |||
var width = $elem ? $elem.outerWidth() : 0; | |||
var height = $elem ? $elem.outerHeight() : 0; | |||
var offset = this.__offset(anchor); | |||
var x = offset.left; | |||
var y = offset.top; | |||
var left = fixed ? x - docLeft : x; | |||
var top = fixed ? y - docTop : y; | |||
var minLeft = fixed ? 0 : docLeft; | |||
var minTop = fixed ? 0 : docTop; | |||
var maxLeft = minLeft + winWidth - popupWidth; | |||
var maxTop = minTop + winHeight - popupHeight; | |||
var css = {}; | |||
var align = this.align.split(' '); | |||
var className = this.className + '-'; | |||
var reverse = {top: 'bottom', bottom: 'top', left: 'right', right: 'left'}; | |||
var name = {top: 'top', bottom: 'top', left: 'left', right: 'left'}; | |||
var temp = [{ | |||
top: top - popupHeight, | |||
bottom: top + height, | |||
left: left - popupWidth, | |||
right: left + width | |||
}, { | |||
top: top, | |||
bottom: top - popupHeight + height, | |||
left: left, | |||
right: left - popupWidth + width | |||
}]; | |||
var center = { | |||
left: left + width / 2 - popupWidth / 2, | |||
top: top + height / 2 - popupHeight / 2 | |||
}; | |||
var range = { | |||
left: [minLeft, maxLeft], | |||
top: [minTop, maxTop] | |||
}; | |||
// 超出可视区域重新适应位置 | |||
$.each(align, function (i, val) { | |||
// 超出右或下边界:使用左或者上边对齐 | |||
if (temp[i][val] > range[name[val]][1]) { | |||
val = align[i] = reverse[val]; | |||
} | |||
// 超出左或右边界:使用右或者下边对齐 | |||
if (temp[i][val] < range[name[val]][0]) { | |||
align[i] = reverse[val]; | |||
} | |||
}); | |||
// 一个参数的情况 | |||
if (!align[1]) { | |||
name[align[1]] = name[align[0]] === 'left' ? 'top' : 'left'; | |||
temp[1][align[1]] = center[name[align[1]]]; | |||
} | |||
//添加follow的css, 为了给css使用 | |||
className += align.join('-') + ' '+ this.className+ '-follow'; | |||
that.__followSkin = className; | |||
if ($elem) { | |||
popup.addClass(className); | |||
} | |||
css[name[align[0]]] = parseInt(temp[0][align[0]]); | |||
css[name[align[1]]] = parseInt(temp[1][align[1]]); | |||
popup.css(css); | |||
}, | |||
// 获取元素相对于页面的位置(包括iframe内的元素) | |||
// 暂时不支持两层以上的 iframe 套嵌 | |||
__offset: function (anchor) { | |||
var isNode = anchor.parentNode; | |||
var offset = isNode ? $(anchor).offset() : { | |||
left: anchor.pageX, | |||
top: anchor.pageY | |||
}; | |||
anchor = isNode ? anchor : anchor.target; | |||
var ownerDocument = anchor.ownerDocument; | |||
var defaultView = ownerDocument.defaultView || ownerDocument.parentWindow; | |||
if (defaultView == window) {// IE <= 8 只能使用两个等于号 | |||
return offset; | |||
} | |||
// {Element: Ifarme} | |||
var frameElement = defaultView.frameElement; | |||
var $ownerDocument = $(ownerDocument); | |||
var docLeft = $ownerDocument.scrollLeft(); | |||
var docTop = $ownerDocument.scrollTop(); | |||
var frameOffset = $(frameElement).offset(); | |||
var frameLeft = frameOffset.left; | |||
var frameTop = frameOffset.top; | |||
return { | |||
left: offset.left + frameLeft - docLeft, | |||
top: offset.top + frameTop - docTop | |||
}; | |||
} | |||
}); | |||
/** 当前叠加高度 */ | |||
Popup.zIndex = 1024; | |||
/** 顶层浮层的实例 */ | |||
Popup.current = null; | |||
return Popup; | |||
}); |
@@ -0,0 +1,10 @@ | |||
/** | |||
* Created by Administrator on 2016/12/22. | |||
*/ | |||
$.fn.changeColor= function (color){ | |||
//只要是jQuery的插件,都要依赖于jQuery原有的方法来实现功能 | |||
// 在插件中,this表示jQuery对象 | |||
this.css({ | |||
backgroundColor:color | |||
}) | |||
} |
@@ -0,0 +1,663 @@ | |||
/*! | |||
* jQuery Color Animations v@VERSION | |||
* https://github.com/jquery/jquery-color | |||
* | |||
* Copyright jQuery Foundation and other contributors | |||
* Released under the MIT license. | |||
* http://jquery.org/license | |||
* | |||
* Date: @DATE | |||
*/ | |||
(function( jQuery, undefined ) { | |||
var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", | |||
// plusequals test for += 100 -= 100 | |||
rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, | |||
// a set of RE's that can match strings and generate color tuples. | |||
stringParsers = [{ | |||
re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, | |||
parse: function( execResult ) { | |||
return [ | |||
execResult[ 1 ], | |||
execResult[ 2 ], | |||
execResult[ 3 ], | |||
execResult[ 4 ] | |||
]; | |||
} | |||
}, { | |||
re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, | |||
parse: function( execResult ) { | |||
return [ | |||
execResult[ 1 ] * 2.55, | |||
execResult[ 2 ] * 2.55, | |||
execResult[ 3 ] * 2.55, | |||
execResult[ 4 ] | |||
]; | |||
} | |||
}, { | |||
// this regex ignores A-F because it's compared against an already lowercased string | |||
re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, | |||
parse: function( execResult ) { | |||
return [ | |||
parseInt( execResult[ 1 ], 16 ), | |||
parseInt( execResult[ 2 ], 16 ), | |||
parseInt( execResult[ 3 ], 16 ) | |||
]; | |||
} | |||
}, { | |||
// this regex ignores A-F because it's compared against an already lowercased string | |||
re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, | |||
parse: function( execResult ) { | |||
return [ | |||
parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), | |||
parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), | |||
parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) | |||
]; | |||
} | |||
}, { | |||
re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, | |||
space: "hsla", | |||
parse: function( execResult ) { | |||
return [ | |||
execResult[ 1 ], | |||
execResult[ 2 ] / 100, | |||
execResult[ 3 ] / 100, | |||
execResult[ 4 ] | |||
]; | |||
} | |||
}], | |||
// jQuery.Color( ) | |||
color = jQuery.Color = function( color, green, blue, alpha ) { | |||
return new jQuery.Color.fn.parse( color, green, blue, alpha ); | |||
}, | |||
spaces = { | |||
rgba: { | |||
props: { | |||
red: { | |||
idx: 0, | |||
type: "byte" | |||
}, | |||
green: { | |||
idx: 1, | |||
type: "byte" | |||
}, | |||
blue: { | |||
idx: 2, | |||
type: "byte" | |||
} | |||
} | |||
}, | |||
hsla: { | |||
props: { | |||
hue: { | |||
idx: 0, | |||
type: "degrees" | |||
}, | |||
saturation: { | |||
idx: 1, | |||
type: "percent" | |||
}, | |||
lightness: { | |||
idx: 2, | |||
type: "percent" | |||
} | |||
} | |||
} | |||
}, | |||
propTypes = { | |||
"byte": { | |||
floor: true, | |||
max: 255 | |||
}, | |||
"percent": { | |||
max: 1 | |||
}, | |||
"degrees": { | |||
mod: 360, | |||
floor: true | |||
} | |||
}, | |||
support = color.support = {}, | |||
// element for support tests | |||
supportElem = jQuery( "<p>" )[ 0 ], | |||
// colors = jQuery.Color.names | |||
colors, | |||
// local aliases of functions called often | |||
each = jQuery.each; | |||
// determine rgba support immediately | |||
supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; | |||
support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; | |||
// define cache name and alpha properties | |||
// for rgba and hsla spaces | |||
each( spaces, function( spaceName, space ) { | |||
space.cache = "_" + spaceName; | |||
space.props.alpha = { | |||
idx: 3, | |||
type: "percent", | |||
def: 1 | |||
}; | |||
}); | |||
function clamp( value, prop, allowEmpty ) { | |||
var type = propTypes[ prop.type ] || {}; | |||
if ( value == null ) { | |||
return (allowEmpty || !prop.def) ? null : prop.def; | |||
} | |||
// ~~ is an short way of doing floor for positive numbers | |||
value = type.floor ? ~~value : parseFloat( value ); | |||
// IE will pass in empty strings as value for alpha, | |||
// which will hit this case | |||
if ( isNaN( value ) ) { | |||
return prop.def; | |||
} | |||
if ( type.mod ) { | |||
// we add mod before modding to make sure that negatives values | |||
// get converted properly: -10 -> 350 | |||
return (value + type.mod) % type.mod; | |||
} | |||
// for now all property types without mod have min and max | |||
return 0 > value ? 0 : type.max < value ? type.max : value; | |||
} | |||
function stringParse( string ) { | |||
var inst = color(), | |||
rgba = inst._rgba = []; | |||
string = string.toLowerCase(); | |||
each( stringParsers, function( i, parser ) { | |||
var parsed, | |||
match = parser.re.exec( string ), | |||
values = match && parser.parse( match ), | |||
spaceName = parser.space || "rgba"; | |||
if ( values ) { | |||
parsed = inst[ spaceName ]( values ); | |||
// if this was an rgba parse the assignment might happen twice | |||
// oh well.... | |||
inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; | |||
rgba = inst._rgba = parsed._rgba; | |||
// exit each( stringParsers ) here because we matched | |||
return false; | |||
} | |||
}); | |||
// Found a stringParser that handled it | |||
if ( rgba.length ) { | |||
// if this came from a parsed string, force "transparent" when alpha is 0 | |||
// chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) | |||
if ( rgba.join() === "0,0,0,0" ) { | |||
jQuery.extend( rgba, colors.transparent ); | |||
} | |||
return inst; | |||
} | |||
// named colors | |||
return colors[ string ]; | |||
} | |||
color.fn = jQuery.extend( color.prototype, { | |||
parse: function( red, green, blue, alpha ) { | |||
if ( red === undefined ) { | |||
this._rgba = [ null, null, null, null ]; | |||
return this; | |||
} | |||
if ( red.jquery || red.nodeType ) { | |||
red = jQuery( red ).css( green ); | |||
green = undefined; | |||
} | |||
var inst = this, | |||
type = jQuery.type( red ), | |||
rgba = this._rgba = []; | |||
// more than 1 argument specified - assume ( red, green, blue, alpha ) | |||
if ( green !== undefined ) { | |||
red = [ red, green, blue, alpha ]; | |||
type = "array"; | |||
} | |||
if ( type === "string" ) { | |||
return this.parse( stringParse( red ) || colors._default ); | |||
} | |||
if ( type === "array" ) { | |||
each( spaces.rgba.props, function( key, prop ) { | |||
rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); | |||
}); | |||
return this; | |||
} | |||
if ( type === "object" ) { | |||
if ( red instanceof color ) { | |||
each( spaces, function( spaceName, space ) { | |||
if ( red[ space.cache ] ) { | |||
inst[ space.cache ] = red[ space.cache ].slice(); | |||
} | |||
}); | |||
} else { | |||
each( spaces, function( spaceName, space ) { | |||
var cache = space.cache; | |||
each( space.props, function( key, prop ) { | |||
// if the cache doesn't exist, and we know how to convert | |||
if ( !inst[ cache ] && space.to ) { | |||
// if the value was null, we don't need to copy it | |||
// if the key was alpha, we don't need to copy it either | |||
if ( key === "alpha" || red[ key ] == null ) { | |||
return; | |||
} | |||
inst[ cache ] = space.to( inst._rgba ); | |||
} | |||
// this is the only case where we allow nulls for ALL properties. | |||
// call clamp with alwaysAllowEmpty | |||
inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); | |||
}); | |||
// everything defined but alpha? | |||
if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { | |||
// use the default of 1 | |||
inst[ cache ][ 3 ] = 1; | |||
if ( space.from ) { | |||
inst._rgba = space.from( inst[ cache ] ); | |||
} | |||
} | |||
}); | |||
} | |||
return this; | |||
} | |||
}, | |||
is: function( compare ) { | |||
var is = color( compare ), | |||
same = true, | |||
inst = this; | |||
each( spaces, function( _, space ) { | |||
var localCache, | |||
isCache = is[ space.cache ]; | |||
if (isCache) { | |||
localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; | |||
each( space.props, function( _, prop ) { | |||
if ( isCache[ prop.idx ] != null ) { | |||
same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); | |||
return same; | |||
} | |||
}); | |||
} | |||
return same; | |||
}); | |||
return same; | |||
}, | |||
_space: function() { | |||
var used = [], | |||
inst = this; | |||
each( spaces, function( spaceName, space ) { | |||
if ( inst[ space.cache ] ) { | |||
used.push( spaceName ); | |||
} | |||
}); | |||
return used.pop(); | |||
}, | |||
transition: function( other, distance ) { | |||
var end = color( other ), | |||
spaceName = end._space(), | |||
space = spaces[ spaceName ], | |||
startColor = this.alpha() === 0 ? color( "transparent" ) : this, | |||
start = startColor[ space.cache ] || space.to( startColor._rgba ), | |||
result = start.slice(); | |||
end = end[ space.cache ]; | |||
each( space.props, function( key, prop ) { | |||
var index = prop.idx, | |||
startValue = start[ index ], | |||
endValue = end[ index ], | |||
type = propTypes[ prop.type ] || {}; | |||
// if null, don't override start value | |||
if ( endValue === null ) { | |||
return; | |||
} | |||
// if null - use end | |||
if ( startValue === null ) { | |||
result[ index ] = endValue; | |||
} else { | |||
if ( type.mod ) { | |||
if ( endValue - startValue > type.mod / 2 ) { | |||
startValue += type.mod; | |||
} else if ( startValue - endValue > type.mod / 2 ) { | |||
startValue -= type.mod; | |||
} | |||
} | |||
result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); | |||
} | |||
}); | |||
return this[ spaceName ]( result ); | |||
}, | |||
blend: function( opaque ) { | |||
// if we are already opaque - return ourself | |||
if ( this._rgba[ 3 ] === 1 ) { | |||
return this; | |||
} | |||
var rgb = this._rgba.slice(), | |||
a = rgb.pop(), | |||
blend = color( opaque )._rgba; | |||
return color( jQuery.map( rgb, function( v, i ) { | |||
return ( 1 - a ) * blend[ i ] + a * v; | |||
})); | |||
}, | |||
toRgbaString: function() { | |||
var prefix = "rgba(", | |||
rgba = jQuery.map( this._rgba, function( v, i ) { | |||
return v == null ? ( i > 2 ? 1 : 0 ) : v; | |||
}); | |||
if ( rgba[ 3 ] === 1 ) { | |||
rgba.pop(); | |||
prefix = "rgb("; | |||
} | |||
return prefix + rgba.join() + ")"; | |||
}, | |||
toHslaString: function() { | |||
var prefix = "hsla(", | |||
hsla = jQuery.map( this.hsla(), function( v, i ) { | |||
if ( v == null ) { | |||
v = i > 2 ? 1 : 0; | |||
} | |||
// catch 1 and 2 | |||
if ( i && i < 3 ) { | |||
v = Math.round( v * 100 ) + "%"; | |||
} | |||
return v; | |||
}); | |||
if ( hsla[ 3 ] === 1 ) { | |||
hsla.pop(); | |||
prefix = "hsl("; | |||
} | |||
return prefix + hsla.join() + ")"; | |||
}, | |||
toHexString: function( includeAlpha ) { | |||
var rgba = this._rgba.slice(), | |||
alpha = rgba.pop(); | |||
if ( includeAlpha ) { | |||
rgba.push( ~~( alpha * 255 ) ); | |||
} | |||
return "#" + jQuery.map( rgba, function( v ) { | |||
// default to 0 when nulls exist | |||
v = ( v || 0 ).toString( 16 ); | |||
return v.length === 1 ? "0" + v : v; | |||
}).join(""); | |||
}, | |||
toString: function() { | |||
return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); | |||
} | |||
}); | |||
color.fn.parse.prototype = color.fn; | |||
// hsla conversions adapted from: | |||
// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 | |||
function hue2rgb( p, q, h ) { | |||
h = ( h + 1 ) % 1; | |||
if ( h * 6 < 1 ) { | |||
return p + (q - p) * h * 6; | |||
} | |||
if ( h * 2 < 1) { | |||
return q; | |||
} | |||
if ( h * 3 < 2 ) { | |||
return p + (q - p) * ((2/3) - h) * 6; | |||
} | |||
return p; | |||
} | |||
spaces.hsla.to = function ( rgba ) { | |||
if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { | |||
return [ null, null, null, rgba[ 3 ] ]; | |||
} | |||
var r = rgba[ 0 ] / 255, | |||
g = rgba[ 1 ] / 255, | |||
b = rgba[ 2 ] / 255, | |||
a = rgba[ 3 ], | |||
max = Math.max( r, g, b ), | |||
min = Math.min( r, g, b ), | |||
diff = max - min, | |||
add = max + min, | |||
l = add * 0.5, | |||
h, s; | |||
if ( min === max ) { | |||
h = 0; | |||
} else if ( r === max ) { | |||
h = ( 60 * ( g - b ) / diff ) + 360; | |||
} else if ( g === max ) { | |||
h = ( 60 * ( b - r ) / diff ) + 120; | |||
} else { | |||
h = ( 60 * ( r - g ) / diff ) + 240; | |||
} | |||
// chroma (diff) == 0 means greyscale which, by definition, saturation = 0% | |||
// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) | |||
if ( diff === 0 ) { | |||
s = 0; | |||
} else if ( l <= 0.5 ) { | |||
s = diff / add; | |||
} else { | |||
s = diff / ( 2 - add ); | |||
} | |||
return [ Math.round(h) % 360, s, l, a == null ? 1 : a ]; | |||
}; | |||
spaces.hsla.from = function ( hsla ) { | |||
if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { | |||
return [ null, null, null, hsla[ 3 ] ]; | |||
} | |||
var h = hsla[ 0 ] / 360, | |||
s = hsla[ 1 ], | |||
l = hsla[ 2 ], | |||
a = hsla[ 3 ], | |||
q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, | |||
p = 2 * l - q; | |||
return [ | |||
Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), | |||
Math.round( hue2rgb( p, q, h ) * 255 ), | |||
Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), | |||
a | |||
]; | |||
}; | |||
each( spaces, function( spaceName, space ) { | |||
var props = space.props, | |||
cache = space.cache, | |||
to = space.to, | |||
from = space.from; | |||
// makes rgba() and hsla() | |||
color.fn[ spaceName ] = function( value ) { | |||
// generate a cache for this space if it doesn't exist | |||
if ( to && !this[ cache ] ) { | |||
this[ cache ] = to( this._rgba ); | |||
} | |||
if ( value === undefined ) { | |||
return this[ cache ].slice(); | |||
} | |||
var ret, | |||
type = jQuery.type( value ), | |||
arr = ( type === "array" || type === "object" ) ? value : arguments, | |||
local = this[ cache ].slice(); | |||
each( props, function( key, prop ) { | |||
var val = arr[ type === "object" ? key : prop.idx ]; | |||
if ( val == null ) { | |||
val = local[ prop.idx ]; | |||
} | |||
local[ prop.idx ] = clamp( val, prop ); | |||
}); | |||
if ( from ) { | |||
ret = color( from( local ) ); | |||
ret[ cache ] = local; | |||
return ret; | |||
} else { | |||
return color( local ); | |||
} | |||
}; | |||
// makes red() green() blue() alpha() hue() saturation() lightness() | |||
each( props, function( key, prop ) { | |||
// alpha is included in more than one space | |||
if ( color.fn[ key ] ) { | |||
return; | |||
} | |||
color.fn[ key ] = function( value ) { | |||
var vtype = jQuery.type( value ), | |||
fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ), | |||
local = this[ fn ](), | |||
cur = local[ prop.idx ], | |||
match; | |||
if ( vtype === "undefined" ) { | |||
return cur; | |||
} | |||
if ( vtype === "function" ) { | |||
value = value.call( this, cur ); | |||
vtype = jQuery.type( value ); | |||
} | |||
if ( value == null && prop.empty ) { | |||
return this; | |||
} | |||
if ( vtype === "string" ) { | |||
match = rplusequals.exec( value ); | |||
if ( match ) { | |||
value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); | |||
} | |||
} | |||
local[ prop.idx ] = value; | |||
return this[ fn ]( local ); | |||
}; | |||
}); | |||
}); | |||
// add cssHook and .fx.step function for each named hook. | |||
// accept a space separated string of properties | |||
color.hook = function( hook ) { | |||
var hooks = hook.split( " " ); | |||
each( hooks, function( i, hook ) { | |||
jQuery.cssHooks[ hook ] = { | |||
set: function( elem, value ) { | |||
var parsed, curElem, | |||
backgroundColor = ""; | |||
if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) { | |||
value = color( parsed || value ); | |||
if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { | |||
curElem = hook === "backgroundColor" ? elem.parentNode : elem; | |||
while ( | |||
(backgroundColor === "" || backgroundColor === "transparent") && | |||
curElem && curElem.style | |||
) { | |||
try { | |||
backgroundColor = jQuery.css( curElem, "backgroundColor" ); | |||
curElem = curElem.parentNode; | |||
} catch ( e ) { | |||
} | |||
} | |||
value = value.blend( backgroundColor && backgroundColor !== "transparent" ? | |||
backgroundColor : | |||
"_default" ); | |||
} | |||
value = value.toRgbaString(); | |||
} | |||
try { | |||
elem.style[ hook ] = value; | |||
} catch( e ) { | |||
// wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit' | |||
} | |||
} | |||
}; | |||
jQuery.fx.step[ hook ] = function( fx ) { | |||
if ( !fx.colorInit ) { | |||
fx.start = color( fx.elem, hook ); | |||
fx.end = color( fx.end ); | |||
fx.colorInit = true; | |||
} | |||
jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); | |||
}; | |||
}); | |||
}; | |||
color.hook( stepHooks ); | |||
jQuery.cssHooks.borderColor = { | |||
expand: function( value ) { | |||
var expanded = {}; | |||
each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) { | |||
expanded[ "border" + part + "Color" ] = value; | |||
}); | |||
return expanded; | |||
} | |||
}; | |||
// Basic color names only. | |||
// Usage of any of the other color names requires adding yourself or including | |||
// jquery.color.svg-names.js. | |||
colors = jQuery.Color.names = { | |||
// 4.1. Basic color keywords | |||
aqua: "#00ffff", | |||
black: "#000000", | |||
blue: "#0000ff", | |||
fuchsia: "#ff00ff", | |||
gray: "#808080", | |||
green: "#008000", | |||
lime: "#00ff00", | |||
maroon: "#800000", | |||
navy: "#000080", | |||
olive: "#808000", | |||
purple: "#800080", | |||
red: "#ff0000", | |||
silver: "#c0c0c0", | |||
teal: "#008080", | |||
white: "#ffffff", | |||
yellow: "#ffff00", | |||
// 4.2.3. "transparent" color keyword | |||
transparent: [ null, null, null, 0 ], | |||
_default: "#ffffff" | |||
}; | |||
}( jQuery )); |
@@ -0,0 +1,242 @@ | |||
/* | |||
* Lazy Load - jQuery plugin for lazy loading images | |||
* | |||
* Copyright (c) 2007-2015 Mika Tuupola | |||
* | |||
* Licensed under the MIT license: | |||
* http://www.opensource.org/licenses/mit-license.php | |||
* | |||
* Project home: | |||
* http://www.appelsiini.net/projects/lazyload | |||
* | |||
* Version: 1.9.5 | |||
* | |||
*/ | |||
(function($, window, document, undefined) { | |||
var $window = $(window); | |||
$.fn.lazyload = function(options) { | |||
var elements = this; | |||
var $container; | |||
var settings = { | |||
threshold : 0, | |||
failure_limit : 0, | |||
event : "scroll", | |||
effect : "show", | |||
container : window, | |||
data_attribute : "original", | |||
skip_invisible : false, | |||
appear : null, | |||
load : null, | |||
placeholder : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" | |||
}; | |||
function update() { | |||
var counter = 0; | |||
elements.each(function() { | |||
var $this = $(this); | |||
if (settings.skip_invisible && !$this.is(":visible")) { | |||
return; | |||
} | |||
if ($.abovethetop(this, settings) || | |||
$.leftofbegin(this, settings)) { | |||
/* Nothing. */ | |||
} else if (!$.belowthefold(this, settings) && | |||
!$.rightoffold(this, settings)) { | |||
$this.trigger("appear"); | |||
/* if we found an image we'll load, reset the counter */ | |||
counter = 0; | |||
} else { | |||
if (++counter > settings.failure_limit) { | |||
return false; | |||
} | |||
} | |||
}); | |||
} | |||
if(options) { | |||
/* Maintain BC for a couple of versions. */ | |||
if (undefined !== options.failurelimit) { | |||
options.failure_limit = options.failurelimit; | |||
delete options.failurelimit; | |||
} | |||
if (undefined !== options.effectspeed) { | |||
options.effect_speed = options.effectspeed; | |||
delete options.effectspeed; | |||
} | |||
$.extend(settings, options); | |||
} | |||
/* Cache container as jQuery as object. */ | |||
$container = (settings.container === undefined || | |||
settings.container === window) ? $window : $(settings.container); | |||
/* Fire one scroll event per scroll. Not one scroll event per image. */ | |||
if (0 === settings.event.indexOf("scroll")) { | |||
$container.bind(settings.event, function() { | |||
return update(); | |||
}); | |||
} | |||
this.each(function() { | |||
var self = this; | |||
var $self = $(self); | |||
self.loaded = false; | |||
/* If no src attribute given use data:uri. */ | |||
if ($self.attr("src") === undefined || $self.attr("src") === false) { | |||
if ($self.is("img")) { | |||
$self.attr("src", settings.placeholder); | |||
} | |||
} | |||
/* When appear is triggered load original image. */ | |||
$self.one("appear", function() { | |||
if (!this.loaded) { | |||
if (settings.appear) { | |||
var elements_left = elements.length; | |||
settings.appear.call(self, elements_left, settings); | |||
} | |||
$("<img />") | |||
.bind("load", function() { | |||
var original = $self.attr("data-" + settings.data_attribute); | |||
$self.hide(); | |||
if ($self.is("img")) { | |||
$self.attr("src", original); | |||
} else { | |||
$self.css("background-image", "url('" + original + "')"); | |||
} | |||
$self[settings.effect](settings.effect_speed); | |||
self.loaded = true; | |||
/* Remove image from array so it is not looped next time. */ | |||
var temp = $.grep(elements, function(element) { | |||
return !element.loaded; | |||
}); | |||
elements = $(temp); | |||
if (settings.load) { | |||
var elements_left = elements.length; | |||
settings.load.call(self, elements_left, settings); | |||
} | |||
}) | |||
.attr("src", $self.attr("data-" + settings.data_attribute)); | |||
} | |||
}); | |||
/* When wanted event is triggered load original image */ | |||
/* by triggering appear. */ | |||
if (0 !== settings.event.indexOf("scroll")) { | |||
$self.bind(settings.event, function() { | |||
if (!self.loaded) { | |||
$self.trigger("appear"); | |||
} | |||
}); | |||
} | |||
}); | |||
/* Check if something appears when window is resized. */ | |||
$window.bind("resize", function() { | |||
update(); | |||
}); | |||
/* With IOS5 force loading images when navigating with back button. */ | |||
/* Non optimal workaround. */ | |||
if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) { | |||
$window.bind("pageshow", function(event) { | |||
if (event.originalEvent && event.originalEvent.persisted) { | |||
elements.each(function() { | |||
$(this).trigger("appear"); | |||
}); | |||
} | |||
}); | |||
} | |||
/* Force initial check if images should appear. */ | |||
$(document).ready(function() { | |||
update(); | |||
}); | |||
return this; | |||
}; | |||
/* Convenience methods in jQuery namespace. */ | |||
/* Use as $.belowthefold(element, {threshold : 100, container : window}) */ | |||
$.belowthefold = function(element, settings) { | |||
var fold; | |||
if (settings.container === undefined || settings.container === window) { | |||
fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop(); | |||
} else { | |||
fold = $(settings.container).offset().top + $(settings.container).height(); | |||
} | |||
return fold <= $(element).offset().top - settings.threshold; | |||
}; | |||
$.rightoffold = function(element, settings) { | |||
var fold; | |||
if (settings.container === undefined || settings.container === window) { | |||
fold = $window.width() + $window.scrollLeft(); | |||
} else { | |||
fold = $(settings.container).offset().left + $(settings.container).width(); | |||
} | |||
return fold <= $(element).offset().left - settings.threshold; | |||
}; | |||
$.abovethetop = function(element, settings) { | |||
var fold; | |||
if (settings.container === undefined || settings.container === window) { | |||
fold = $window.scrollTop(); | |||
} else { | |||
fold = $(settings.container).offset().top; | |||
} | |||
return fold >= $(element).offset().top + settings.threshold + $(element).height(); | |||
}; | |||
$.leftofbegin = function(element, settings) { | |||
var fold; | |||
if (settings.container === undefined || settings.container === window) { | |||
fold = $window.scrollLeft(); | |||
} else { | |||
fold = $(settings.container).offset().left; | |||
} | |||
return fold >= $(element).offset().left + settings.threshold + $(element).width(); | |||
}; | |||
$.inviewport = function(element, settings) { | |||
return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) && | |||
!$.belowthefold(element, settings) && !$.abovethetop(element, settings); | |||
}; | |||
/* Custom selectors for your convenience. */ | |||
/* Use as $("img:below-the-fold").something() or */ | |||
/* $("img").filter(":below-the-fold").something() which is faster */ | |||
$.extend($.expr[":"], { | |||
"below-the-fold" : function(a) { return $.belowthefold(a, {threshold : 0}); }, | |||
"above-the-top" : function(a) { return !$.belowthefold(a, {threshold : 0}); }, | |||
"right-of-screen": function(a) { return $.rightoffold(a, {threshold : 0}); }, | |||
"left-of-screen" : function(a) { return !$.rightoffold(a, {threshold : 0}); }, | |||
"in-viewport" : function(a) { return $.inviewport(a, {threshold : 0}); }, | |||
/* Maintain BC for couple of versions. */ | |||
"above-the-fold" : function(a) { return !$.belowthefold(a, {threshold : 0}); }, | |||
"right-of-fold" : function(a) { return $.rightoffold(a, {threshold : 0}); }, | |||
"left-of-fold" : function(a) { return !$.rightoffold(a, {threshold : 0}); } | |||
}); | |||
})(jQuery, window, document); |
@@ -0,0 +1,2 @@ | |||
/*! Lazy Load 1.9.5 - MIT license - Copyright 2010-2015 Mika Tuupola */ | |||
!function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("<img />").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document); |
@@ -0,0 +1,117 @@ | |||
/*! | |||
* jQuery Cookie Plugin v1.4.1 | |||
* https://github.com/carhartl/jquery-cookie | |||
* | |||
* Copyright 2013 Klaus Hartl | |||
* Released under the MIT license | |||
*/ | |||
(function (factory) { | |||
if (typeof define === 'function' && define.amd) { | |||
// AMD | |||
define(['jquery'], factory); | |||
} else if (typeof exports === 'object') { | |||
// CommonJS | |||
factory(require('jquery')); | |||
} else { | |||
// Browser globals | |||
factory(jQuery); | |||
} | |||
}(function ($) { | |||
var pluses = /\+/g; | |||
function encode(s) { | |||
return config.raw ? s : encodeURIComponent(s); | |||
} | |||
function decode(s) { | |||
return config.raw ? s : decodeURIComponent(s); | |||
} | |||
function stringifyCookieValue(value) { | |||
return encode(config.json ? JSON.stringify(value) : String(value)); | |||
} | |||
function parseCookieValue(s) { | |||
if (s.indexOf('"') === 0) { | |||
// This is a quoted cookie as according to RFC2068, unescape... | |||
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); | |||
} | |||
try { | |||
// Replace server-side written pluses with spaces. | |||
// If we can't decode the cookie, ignore it, it's unusable. | |||
// If we can't parse the cookie, ignore it, it's unusable. | |||
s = decodeURIComponent(s.replace(pluses, ' ')); | |||
return config.json ? JSON.parse(s) : s; | |||
} catch(e) {} | |||
} | |||
function read(s, converter) { | |||
var value = config.raw ? s : parseCookieValue(s); | |||
return $.isFunction(converter) ? converter(value) : value; | |||
} | |||
var config = $.cookie = function (key, value, options) { | |||
// Write | |||
if (value !== undefined && !$.isFunction(value)) { | |||
options = $.extend({}, config.defaults, options); | |||
if (typeof options.expires === 'number') { | |||
var days = options.expires, t = options.expires = new Date(); | |||
t.setTime(+t + days * 864e+5); | |||
} | |||
return (document.cookie = [ | |||
encode(key), '=', stringifyCookieValue(value), | |||
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE | |||
options.path ? '; path=' + options.path : '', | |||
options.domain ? '; domain=' + options.domain : '', | |||
options.secure ? '; secure' : '' | |||
].join('')); | |||
} | |||
// Read | |||
var result = key ? undefined : {}; | |||
// To prevent the for loop in the first place assign an empty array | |||
// in case there are no cookies at all. Also prevents odd result when | |||
// calling $.cookie(). | |||
var cookies = document.cookie ? document.cookie.split('; ') : []; | |||
for (var i = 0, l = cookies.length; i < l; i++) { | |||
var parts = cookies[i].split('='); | |||
var name = decode(parts.shift()); | |||
var cookie = parts.join('='); | |||
if (key && key === name) { | |||
// If second argument (value) is a function it's a converter... | |||
result = read(cookie, value); | |||
break; | |||
} | |||
// Prevent storing a cookie that we couldn't decode. | |||
if (!key && (cookie = read(cookie)) !== undefined) { | |||
result[name] = cookie; | |||
} | |||
} | |||
return result; | |||
}; | |||
config.defaults = {}; | |||
$.removeCookie = function (key, options) { | |||
if ($.cookie(key) === undefined) { | |||
return false; | |||
} | |||
// Must not alter options, thus extending a fresh object... | |||
$.cookie(key, '', $.extend({}, options, { expires: -1 })); | |||
return !$.cookie(key); | |||
}; | |||
})); |
@@ -0,0 +1,182 @@ | |||
/* KindEditor 4.1.10 (2013-11-23), Copyright (C) kindsoft.net, Licence: http://www.kindsoft.net/license.php */(function(w,i){function Z(a){if(!a)return!1;return Object.prototype.toString.call(a)==="[object Array]"}function wa(a){if(!a)return!1;return Object.prototype.toString.call(a)==="[object Function]"}function J(a,b){for(var c=0,d=b.length;c<d;c++)if(a===b[c])return c;return-1}function m(a,b){if(Z(a))for(var c=0,d=a.length;c<d;c++){if(b.call(a[c],c,a[c])===!1)break}else for(c in a)if(a.hasOwnProperty(c)&&b.call(a[c],c,a[c])===!1)break}function B(a){return a.replace(/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g, | |||
"")}function xa(a,b,c){c=c===i?",":c;return(c+b+c).indexOf(c+a+c)>=0}function s(a,b){b=b||"px";return a&&/^\d+$/.test(a)?a+b:a}function t(a){var b;return a&&(b=/(\d+)/.exec(a))?parseInt(b[1],10):0}function C(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function fa(a){return a.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/&/g,"&")}function ga(a){var b=a.split("-"),a="";m(b,function(b,d){a+=b>0?d.charAt(0).toUpperCase()+ | |||
d.substr(1):d});return a}function ya(a){function b(a){a=parseInt(a,10).toString(16).toUpperCase();return a.length>1?a:"0"+a}return a.replace(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/ig,function(a,d,e,g){return"#"+b(d)+b(e)+b(g)})}function u(a,b){var b=b===i?",":b,c={},d=Z(a)?a:a.split(b),e;m(d,function(a,b){if(e=/^(\d+)\.\.(\d+)$/.exec(b))for(var d=parseInt(e[1],10);d<=parseInt(e[2],10);d++)c[d.toString()]=!0;else c[b]=!0});return c}function Ja(a,b){return Array.prototype.slice.call(a,b||0)} | |||
function l(a,b){return a===i?b:a}function E(a,b,c){c||(c=b,b=null);var d;if(b){var e=function(){};e.prototype=b.prototype;d=new e;m(c,function(a,b){d[a]=b})}else d=c;d.constructor=a;a.prototype=d;a.parent=b?b.prototype:null}function eb(a){var b;if(b=/\{[\s\S]*\}|\[[\s\S]*\]/.exec(a))a=b[0];b=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;b.lastIndex=0;b.test(a)&&(a=a.replace(b,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})); | |||
if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return eval("("+a+")");throw"JSON parse error";}function Rb(a,b,c){a.addEventListener?a.addEventListener(b,c,fb):a.attachEvent&&a.attachEvent("on"+b,c)}function za(a,b,c){a.removeEventListener?a.removeEventListener(b,c,fb):a.detachEvent&&a.detachEvent("on"+b,c)}function gb(a,b){this.init(a,b)}function hb(a){try{delete a[$]}catch(b){a.removeAttribute&& | |||
a.removeAttribute($)}}function aa(a,b,c){if(b.indexOf(",")>=0)m(b.split(","),function(){aa(a,this,c)});else{var d=a[$]||null;d||(a[$]=++ib,d=ib);v[d]===i&&(v[d]={});var e=v[d][b];e&&e.length>0?za(a,b,e[0]):(v[d][b]=[],v[d].el=a);e=v[d][b];e.length===0&&(e[0]=function(b){var c=b?new gb(a,b):i;m(e,function(b,d){b>0&&d&&d.call(a,c)})});J(c,e)<0&&e.push(c);Rb(a,b,e[0])}}function ha(a,b,c){if(b&&b.indexOf(",")>=0)m(b.split(","),function(){ha(a,this,c)});else{var d=a[$]||null;if(d)if(b===i)d in v&&(m(v[d], | |||
function(b,c){b!="el"&&c.length>0&&za(a,b,c[0])}),delete v[d],hb(a));else if(v[d]){var e=v[d][b];if(e&&e.length>0){c===i?(za(a,b,e[0]),delete v[d][b]):(m(e,function(a,b){a>0&&b===c&&e.splice(a,1)}),e.length==1&&(za(a,b,e[0]),delete v[d][b]));var g=0;m(v[d],function(){g++});g<2&&(delete v[d],hb(a))}}}}function jb(a,b){if(b.indexOf(",")>=0)m(b.split(","),function(){jb(a,this)});else{var c=a[$]||null;if(c){var d=v[c][b];if(v[c]&&d&&d.length>0)d[0]()}}}function Ka(a,b,c){b=/^\d{2,}$/.test(b)?b:b.toUpperCase().charCodeAt(0); | |||
aa(a,"keydown",function(d){d.ctrlKey&&d.which==b&&!d.shiftKey&&!d.altKey&&(c.call(a),d.stop())})}function ba(a){for(var b={},c=/\s*([\w\-]+)\s*:([^;]*)(;|$)/g,d;d=c.exec(a);){var e=B(d[1].toLowerCase());d=B(ya(d[2]));b[e]=d}return b}function I(a){for(var b={},c=/\s+(?:([\w\-:]+)|(?:([\w\-:]+)=([^\s"'<>]+))|(?:([\w\-:"]+)="([^"]*)")|(?:([\w\-:"]+)='([^']*)'))(?=(?:\s|\/|>)+)/g,d;d=c.exec(a);){var e=(d[1]||d[2]||d[4]||d[6]).toLowerCase();b[e]=(d[2]?d[3]:d[4]?d[5]:d[7])||""}return b}function Sb(a,b){return a= | |||
/\s+class\s*=/.test(a)?a.replace(/(\s+class=["']?)([^"']*)(["']?[\s>])/,function(a,d,e,g){return(" "+e+" ").indexOf(" "+b+" ")<0?e===""?d+b+g:d+e+" "+b+g:a}):a.substr(0,a.length-1)+' class="'+b+'">'}function Tb(a){var b="";m(ba(a),function(a,d){b+=a+":"+d+";"});return b}function ia(a,b,c,d){function e(a){for(var a=a.split("/"),b=[],c=0,d=a.length;c<d;c++){var e=a[c];e==".."?b.length>0&&b.pop():e!==""&&e!="."&&b.push(e)}return"/"+b.join("/")}function g(b,c){if(a.substr(0,b.length)===b){for(var e=[], | |||
h=0;h<c;h++)e.push("..");h=".";e.length>0&&(h+="/"+e.join("/"));d=="/"&&(h+="/");return h+a.substr(b.length)}else if(f=/^(.*)\//.exec(b))return g(f[1],++c)}b=l(b,"").toLowerCase();a.substr(0,5)!="data:"&&(a=a.replace(/([^:])\/\//g,"$1/"));if(J(b,["absolute","relative","domain"])<0)return a;c=c||location.protocol+"//"+location.host;if(d===i)var h=location.pathname.match(/^(\/.*)\//),d=h?h[1]:"";var f;if(f=/^(\w+:\/\/[^\/]*)/.exec(a)){if(f[1]!==c)return a}else if(/^\w+:/.test(a))return a;/^\//.test(a)? | |||
a=c+e(a.substr(1)):/^\w+:\/\//.test(a)||(a=c+e(d+"/"+a));b==="relative"?a=g(c+d,0).substr(2):b==="absolute"&&a.substr(0,c.length)===c&&(a=a.substr(c.length));return a}function U(a,b,c,d,e){a==null&&(a="");var c=c||"",d=l(d,!1),e=l(e,"\t"),g="xx-small,x-small,small,medium,large,x-large,xx-large".split(","),a=a.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig,function(a,b,c,d){return b+c.replace(/<(?:br|br\s[^>]*)>/ig,"\n")+d}),a=a.replace(/<(?:br|br\s[^>]*)\s*\/?>\s*<\/p>/ig,"</p>"),a=a.replace(/(<(?:p|p\s[^>]*)>)\s*(<\/p>)/ig, | |||
"$1<br />$2"),a=a.replace(/\u200B/g,""),a=a.replace(/\u00A9/g,"©"),a=a.replace(/\u00AE/g,"®"),a=a.replace(/<[^>]+/g,function(a){return a.replace(/\s+/g," ")}),h={};b&&(m(b,function(a,b){for(var c=a.split(","),d=0,e=c.length;d<e;d++)h[c[d]]=u(b)}),h.script||(a=a.replace(/(<(?:script|script\s[^>]*)>)([\s\S]*?)(<\/script>)/ig,"")),h.style||(a=a.replace(/(<(?:style|style\s[^>]*)>)([\s\S]*?)(<\/style>)/ig,"")));var f=[],a=a.replace(/(\s*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w\-:]+)|(?:\s+[\w\-:]+=[^\s"'<>]+)|(?:\s+[\w\-:"]+="[^"]*")|(?:\s+[\w\-:"]+='[^']*'))*)(\/)?>(\s*)/g, | |||
function(a,n,q,r,K,ja,i){var n=n||"",q=q||"",l=r.toLowerCase(),o=K||"",r=ja?" "+ja:"",i=i||"";if(b&&!h[l])return"";r===""&&kb[l]&&(r=" /");lb[l]&&(n&&(n=" "),i&&(i=" "));La[l]&&(q?i="\n":n="\n");d&&l=="br"&&(i="\n");if(mb[l]&&!La[l])if(d){q&&f.length>0&&f[f.length-1]===l?f.pop():f.push(l);i=n="\n";K=0;for(ja=q?f.length:f.length-1;K<ja;K++)n+=e,q||(i+=e);r?f.pop():q||(i+=e)}else n=i="";if(o!==""){var z=I(a);if(l==="font"){var L={},F="";m(z,function(a,b){if(a==="color")L.color=b,delete z[a];a==="size"&& | |||
(L["font-size"]=g[parseInt(b,10)-1]||"",delete z[a]);a==="face"&&(L["font-family"]=b,delete z[a]);a==="style"&&(F=b)});F&&!/;$/.test(F)&&(F+=";");m(L,function(a,b){b!==""&&(/\s/.test(b)&&(b="'"+b+"'"),F+=a+":"+b+";")});z.style=F}m(z,function(a,d){Ub[a]&&(z[a]=a);J(a,["src","href"])>=0&&(z[a]=ia(d,c));(b&&a!=="style"&&!h[l]["*"]&&!h[l][a]||l==="body"&&a==="contenteditable"||/^kindeditor_\d+$/.test(a))&&delete z[a];if(a==="style"&&d!==""){var e=ba(d);m(e,function(a){b&&!h[l].style&&!h[l]["."+a]&&delete e[a]}); | |||
var g="";m(e,function(a,b){g+=a+":"+b+";"});z.style=g}});o="";m(z,function(a,b){a==="style"&&b===""||(b=b.replace(/"/g,"""),o+=" "+a+'="'+b+'"')})}l==="font"&&(l="span");return n+"<"+q+l+o+r+">"+i}),a=a.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig,function(a,b,c,d){return b+c.replace(/\n/g,'<span id="__kindeditor_pre_newline__">\n')+d}),a=a.replace(/\n\s*\n/g,"\n"),a=a.replace(/<span id="__kindeditor_pre_newline__">\n/g,"\n");return B(a)}function nb(a,b){a=a.replace(/<meta[\s\S]*?>/ig, | |||
"").replace(/<![\s\S]*?>/ig,"").replace(/<style[^>]*>[\s\S]*?<\/style>/ig,"").replace(/<script[^>]*>[\s\S]*?<\/script>/ig,"").replace(/<w:[^>]+>[\s\S]*?<\/w:[^>]+>/ig,"").replace(/<o:[^>]+>[\s\S]*?<\/o:[^>]+>/ig,"").replace(/<xml>[\s\S]*?<\/xml>/ig,"").replace(/<(?:table|td)[^>]*>/ig,function(a){return a.replace(/border-bottom:([#\w\s]+)/ig,"border:$1")});return U(a,b)}function ob(a){if(/\.(rm|rmvb)(\?|$)/i.test(a))return"audio/x-pn-realaudio-plugin";if(/\.(swf|flv)(\?|$)/i.test(a))return"application/x-shockwave-flash"; | |||
return"video/x-ms-asf-plugin"}function pb(a){return I(unescape(a))}function Ma(a){var b="<embed ";m(a,function(a,d){b+=a+'="'+d+'" '});b+="/>";return b}function qb(a,b){var c=b.width,d=b.height,e=b.type||ob(b.src),g=Ma(b),h="";/\D/.test(c)?h+="width:"+c+";":c>0&&(h+="width:"+c+"px;");/\D/.test(d)?h+="height:"+d+";":d>0&&(h+="height:"+d+"px;");c=/realaudio/i.test(e)?"ke-rm":/flash/i.test(e)?"ke-flash":"ke-media";c='<img class="'+c+'" src="'+a+'" ';h!==""&&(c+='style="'+h+'" ');c+='data-ke-tag="'+escape(g)+ | |||
'" alt="" />';return c}function Aa(a,b){if(a.nodeType==9&&b.nodeType!=9)return!0;for(;b=b.parentNode;)if(b==a)return!0;return!1}function Ba(a,b){var b=b.toLowerCase(),c=null;if(!Vb&&a.nodeName.toLowerCase()!="script"){var d=a.ownerDocument.createElement("div");d.appendChild(a.cloneNode(!1));d=I(fa(d.innerHTML));b in d&&(c=d[b])}else try{c=a.getAttribute(b,2)}catch(e){c=a.getAttribute(b,1)}b==="style"&&c!==null&&(c=Tb(c));return c}function Ca(a,b){function c(a){if(typeof a!="string")return a;return a.replace(/([^\w\-])/g, | |||
"\\$1")}function d(a,b){return a==="*"||a.toLowerCase()===c(b.toLowerCase())}function e(a,b,c){var e=[];(a=(c.ownerDocument||c).getElementById(a.replace(/\\/g,"")))&&d(b,a.nodeName)&&Aa(c,a)&&e.push(a);return e}function g(a,b,c){var e=c.ownerDocument||c,g=[],h,f,j;if(c.getElementsByClassName){e=c.getElementsByClassName(a.replace(/\\/g,""));h=0;for(f=e.length;h<f;h++)j=e[h],d(b,j.nodeName)&&g.push(j)}else if(e.querySelectorAll){e=e.querySelectorAll((c.nodeName!=="#document"?c.nodeName+" ":"")+b+"."+ | |||
a);h=0;for(f=e.length;h<f;h++)j=e[h],Aa(c,j)&&g.push(j)}else{e=c.getElementsByTagName(b);a=" "+a+" ";h=0;for(f=e.length;h<f;h++)if(j=e[h],j.nodeType==1)(b=j.className)&&(" "+b+" ").indexOf(a)>-1&&g.push(j)}return g}function h(a,b,d,e){for(var g=[],d=e.getElementsByTagName(d),h=0,f=d.length;h<f;h++)e=d[h],e.nodeType==1&&(b===null?Ba(e,a)!==null&&g.push(e):b===c(Ba(e,a))&&g.push(e));return g}function f(a,b){var c=[],j,k=(j=/^((?:\\.|[^.#\s\[<>])+)/.exec(a))?j[1]:"*";if(j=/#((?:[\w\-]|\\.)+)$/.exec(a))c= | |||
e(j[1],k,b);else if(j=/\.((?:[\w\-]|\\.)+)$/.exec(a))c=g(j[1],k,b);else if(j=/\[((?:[\w\-]|\\.)+)\]/.exec(a))c=h(j[1].toLowerCase(),null,k,b);else if(j=/\[((?:[\w\-]|\\.)+)\s*=\s*['"]?((?:\\.|[^'"]+)+)['"]?\]/.exec(a)){c=j[1].toLowerCase();j=j[2];if(c==="id")k=e(j,k,b);else if(c==="class")k=g(j,k,b);else if(c==="name"){c=[];j=(b.ownerDocument||b).getElementsByName(j.replace(/\\/g,""));for(var n,r=0,q=j.length;r<q;r++)n=j[r],d(k,n.nodeName)&&Aa(b,n)&&n.getAttribute("name")!==null&&c.push(n);k=c}else k= | |||
h(c,j,k,b);c=k}else{k=b.getElementsByTagName(k);n=0;for(r=k.length;n<r;n++)j=k[n],j.nodeType==1&&c.push(j)}return c}var k=a.split(",");if(k.length>1){var n=[];m(k,function(){m(Ca(this,b),function(){J(this,n)<0&&n.push(this)})});return n}for(var b=b||document,k=[],q,r=/((?:\\.|[^\s>])+|[\s>])/g;q=r.exec(a);)q[1]!==" "&&k.push(q[1]);q=[];if(k.length==1)return f(k[0],b);var r=!1,K,l,i,o,p,z,L,F,s,t;z=0;for(lenth=k.length;z<lenth;z++)if(K=k[z],K===">")r=!0;else{if(z>0){l=[];L=0;for(s=q.length;L<s;L++){o= | |||
q[L];i=f(K,o);F=0;for(t=i.length;F<t;F++)p=i[F],r?o===p.parentNode&&l.push(p):l.push(p)}q=l}else q=f(K,b);if(q.length===0)return[]}return q}function V(a){if(!a)return document;return a.ownerDocument||a.document||a}function W(a){if(!a)return w;a=V(a);return a.parentWindow||a.defaultView}function Wb(a,b){if(a.nodeType==1){var c=V(a);try{a.innerHTML='<img id="__kindeditor_temp_tag__" width="0" height="0" style="display:none;" />'+b;var d=c.getElementById("__kindeditor_temp_tag__");d.parentNode.removeChild(d)}catch(e){f(a).empty(), | |||
f("@"+b,c).each(function(){a.appendChild(this)})}}}function Na(a,b,c){o&&A<8&&b.toLowerCase()=="class"&&(b="className");a.setAttribute(b,""+c)}function Oa(a){if(!a||!a.nodeName)return"";return a.nodeName.toLowerCase()}function Xb(a,b){var c=W(a),d=ga(b),e="";c.getComputedStyle?(c=c.getComputedStyle(a,null),e=c[d]||c.getPropertyValue(b)||a.style[d]):a.currentStyle&&(e=a.currentStyle[d]||a.style[d]);return e}function G(a){a=a||document;return P?a.body:a.documentElement}function ca(a){var a=a||document, | |||
b;o||Yb||Pa?(b=G(a).scrollLeft,a=G(a).scrollTop):(b=W(a).scrollX,a=W(a).scrollY);return{x:b,y:a}}function D(a){this.init(a)}function rb(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset;return a}function Qa(a,b,c){function d(d,e,g){var h=d.nodeValue.length,k;b&&(k=d.cloneNode(!0),k=e>0?k.splitText(e):k,g<h&&k.splitText(g-e));if(c){var n=d;e>0&&(n=d.splitText(e),a.setStart(d,e));g<h&&(d=n.splitText(g-e),a.setEnd(d,0));f.push(n)}return k}function e(){c&&a.up().collapse(!0); | |||
for(var b=0,d=f.length;b<d;b++){var e=f[b];e.parentNode&&e.parentNode.removeChild(e)}}function g(e,l){for(var i=e.firstChild,o;i;){o=(new M(h)).selectNode(i);n=o.compareBoundaryPoints(ka,a);n>=0&&q<=0&&(q=o.compareBoundaryPoints(la,a));q>=0&&r<=0&&(r=o.compareBoundaryPoints(da,a));r>=0&&m<=0&&(m=o.compareBoundaryPoints(ma,a));if(m>=0)return!1;o=i.nextSibling;if(n>0)if(i.nodeType==1)if(q>=0&&r<=0)b&&l.appendChild(i.cloneNode(!0)),c&&f.push(i);else{var p;b&&(p=i.cloneNode(!1),l.appendChild(p));if(g(i, | |||
p)===!1)return!1}else if(i.nodeType==3&&(i=i==k.startContainer?d(i,k.startOffset,i.nodeValue.length):i==k.endContainer?d(i,0,k.endOffset):d(i,0,i.nodeValue.length),b))try{l.appendChild(i)}catch(ja){}i=o}}var h=a.doc,f=[],k=a.cloneRange().down(),n=-1,q=-1,r=-1,m=-1,l=a.commonAncestor(),i=h.createDocumentFragment();if(l.nodeType==3)return l=d(l,a.startOffset,a.endOffset),b&&i.appendChild(l),e(),b?i:a;g(l,i);c&&a.up().collapse(!0);for(var l=0,o=f.length;l<o;l++){var p=f[l];p.parentNode&&p.parentNode.removeChild(p)}return b? | |||
i:a}function na(a,b){for(var c=b;c;){var d=f(c);if(d.name=="marquee"||d.name=="select")return;c=c.parentNode}try{a.moveToElementText(b)}catch(e){}}function sb(a,b){var c=a.parentElement().ownerDocument,d=a.duplicate();d.collapse(b);var e=d.parentElement(),g=e.childNodes;if(g.length===0)return{node:e.parentNode,offset:f(e).index()};var h=c,j=0,k=-1,n=a.duplicate();na(n,e);for(var q=0,r=g.length;q<r;q++){var i=g[q],k=n.compareEndPoints("StartToStart",d);if(k===0)return{node:i.parentNode,offset:q};if(i.nodeType== | |||
1){var l=a.duplicate(),m,o=f(i),p=i;o.isControl()&&(m=c.createElement("span"),o.after(m),p=m,j+=o.text().replace(/\r\n|\n|\r/g,"").length);na(l,p);n.setEndPoint("StartToEnd",l);k>0?j+=l.text.replace(/\r\n|\n|\r/g,"").length:j=0;m&&f(m).remove()}else i.nodeType==3&&(n.moveStart("character",i.nodeValue.length),j+=i.nodeValue.length);k<0&&(h=i)}if(k<0&&h.nodeType==1)return{node:e,offset:f(e.lastChild).index()+1};if(k>0)for(;h.nextSibling&&h.nodeType==1;)h=h.nextSibling;n=a.duplicate();na(n,e);n.setEndPoint("StartToEnd", | |||
d);j-=n.text.replace(/\r\n|\n|\r/g,"").length;if(k>0&&h.nodeType==3)for(c=h.previousSibling;c&&c.nodeType==3;)j-=c.nodeValue.length,c=c.previousSibling;return{node:h,offset:j}}function tb(a,b){var c=a.ownerDocument||a,d=c.body.createTextRange();if(c==a)return d.collapse(!0),d;if(a.nodeType==1&&a.childNodes.length>0){var e=a.childNodes,g;b===0?(g=e[0],e=!0):(g=e[b-1],e=!1);if(!g)return d;if(f(g).name==="head")return b===1&&(e=!0),b===2&&(e=!1),d.collapse(e),d;if(g.nodeType==1){var h=f(g),j;h.isControl()&& | |||
(j=c.createElement("span"),e?h.before(j):h.after(j),g=j);na(d,g);d.collapse(e);j&&f(j).remove();return d}a=g;b=e?0:g.nodeValue.length}c=c.createElement("span");f(a).before(c);na(d,c);d.moveStart("character",b);f(c).remove();return d}function ub(a){function b(a){if(f(a.node).name=="tr")a.node=a.node.cells[a.offset],a.offset=0}var c;if(H){if(a.item)return c=V(a.item(0)),c=new M(c),c.selectNode(a.item(0)),c;c=a.parentElement().ownerDocument;var d=sb(a,!0),a=sb(a,!1);b(d);b(a);c=new M(c);c.setStart(d.node, | |||
d.offset);c.setEnd(a.node,a.offset);return c}d=a.startContainer;c=d.ownerDocument||d;c=new M(c);c.setStart(d,a.startOffset);c.setEnd(a.endContainer,a.endOffset);return c}function M(a){this.init(a)}function Ra(a){if(!a.nodeName)return a.constructor===M?a:ub(a);return new M(a)}function Q(a,b,c){try{a.execCommand(b,!1,c)}catch(d){}}function vb(a,b){var c="";try{c=a.queryCommandValue(b)}catch(d){}typeof c!=="string"&&(c="");return c}function Sa(a){var b=W(a);return H?a.selection:b.getSelection()}function wb(a){var b= | |||
{},c,d;m(a,function(a,g){c=a.split(",");for(var h=0,f=c.length;h<f;h++)d=c[h],b[d]=g});return b}function Ta(a,b){return xb(a,b,"*")||xb(a,b)}function xb(a,b,c){c=c||a.name;if(a.type!==1)return!1;b=wb(b);if(!b[c])return!1;for(var c=b[c].split(","),b=0,d=c.length;b<d;b++){var e=c[b];if(e==="*")return!0;var g=/^(\.?)([^=]+)(?:=([^=]*))?$/.exec(e),h=g[1]?"css":"attr",e=g[2],g=g[3]||"";if(g===""&&a[h](e)!=="")return!0;if(g!==""&&a[h](e)===g)return!0}return!1}function Ua(a,b){a.type==1&&(yb(a,b,"*"),yb(a, | |||
b))}function yb(a,b,c){c=c||a.name;if(a.type===1&&(b=wb(b),b[c])){for(var c=b[c].split(","),b=!1,d=0,e=c.length;d<e;d++){var g=c[d];if(g==="*"){b=!0;break}var h=/^(\.?)([^=]+)(?:=([^=]*))?$/.exec(g),g=h[2];h[1]?(g=ga(g),a[0].style[g]&&(a[0].style[g]="")):a.removeAttr(g)}b&&a.remove(!0)}}function Va(a){for(;a.first();)a=a.first();return a}function ea(a){if(a.type!=1||a.isSingle())return!1;return a.html().replace(/<[^>]+>/g,"")===""}function Zb(a,b,c){m(b,function(b,c){b!=="style"&&a.attr(b,c)});m(c, | |||
function(b,c){a.css(b,c)})}function oa(a){this.init(a)}function zb(a){a.nodeName&&(a=V(a),a=Ra(a).selectNodeContents(a.body).collapse(!1));return new oa(a)}function Wa(a){var b=a.moveEl,c=a.moveFn,d=a.clickEl||b,e=a.beforeDrag,g=[document];(a.iframeFix===i||a.iframeFix)&&f("iframe").each(function(){if(!/^https?:\/\//.test(ia(this.src||"","absolute"))){var a;try{a=Xa(this)}catch(b){}if(a){var c=f(this).pos();f(a).data("pos-x",c.x);f(a).data("pos-y",c.y);g.push(a)}}});d.mousedown(function(a){function j(a){a.preventDefault(); | |||
var b=f(V(a.target)),e=R((b.data("pos-x")||0)+a.pageX-p),a=R((b.data("pos-y")||0)+a.pageY-s);c.call(d,r,l,m,o,e,a)}function k(a){a.preventDefault()}function n(a){a.preventDefault();f(g).unbind("mousemove",j).unbind("mouseup",n).unbind("selectstart",k);i.releaseCapture&&i.releaseCapture()}a.stopPropagation();var i=d.get(),r=t(b.css("left")),l=t(b.css("top")),m=b.width(),o=b.height(),p=a.pageX,s=a.pageY;e&&e();f(g).mousemove(j).mouseup(n).bind("selectstart",k);i.setCapture&&i.setCapture()})}function S(a){this.init(a)} | |||
function Ya(a){return new S(a)}function Xa(a){a=f(a)[0];return a.contentDocument||a.contentWindow.document}function $b(a,b,c,d){var e=[Za===""?"<html>":'<html dir="'+Za+'">','<head><meta charset="utf-8" /><title></title>',"<style>","html {margin:0;padding:0;}","body {margin:0;padding:5px;}",'body, td {font:12px/1.5 "sans serif",tahoma,verdana,helvetica;}',"body, p, div {word-wrap: break-word;}","p {margin:5px 0;}","table {border-collapse:collapse;}","img {border:0;}","noscript {display:none;}","table.ke-zeroborder td {border:1px dotted #AAA;}", | |||
"img.ke-flash {","\tborder:1px solid #AAA;","\tbackground-image:url("+a+"common/flash.gif);","\tbackground-position:center center;","\tbackground-repeat:no-repeat;","\twidth:100px;","\theight:100px;","}","img.ke-rm {","\tborder:1px solid #AAA;","\tbackground-image:url("+a+"common/rm.gif);","\tbackground-position:center center;","\tbackground-repeat:no-repeat;","\twidth:100px;","\theight:100px;","}","img.ke-media {","\tborder:1px solid #AAA;","\tbackground-image:url("+a+"common/media.gif);","\tbackground-position:center center;", | |||
"\tbackground-repeat:no-repeat;","\twidth:100px;","\theight:100px;","}","img.ke-anchor {","\tborder:1px dashed #666;","\twidth:16px;","\theight:16px;","}",".ke-script, .ke-noscript, .ke-display-none {","\tdisplay:none;","\tfont-size:0;","\twidth:0;","\theight:0;","}",".ke-pagebreak {","\tborder:1px dotted #AAA;","\tfont-size:0;","\theight:2px;","}","</style>"];Z(c)||(c=[c]);m(c,function(a,b){b&&e.push('<link href="'+b+'" rel="stylesheet" />')});d&&e.push("<style>"+d+"</style>");e.push("</head><body "+ | |||
(b?'class="'+b+'"':"")+"></body></html>");return e.join("\n")}function pa(a,b){if(a.hasVal()){if(b===i){var c=a.val();return c=c.replace(/(<(?:p|p\s[^>]*)>) *(<\/p>)/ig,"")}return a.val(b)}return a.html(b)}function qa(a){this.init(a)}function Ab(a){return new qa(a)}function Bb(a,b){var c=this.get(a);c&&!c.hasClass("ke-disabled")&&b(c)}function Da(a){this.init(a)}function Cb(a){return new Da(a)}function ra(a){this.init(a)}function $a(a){return new ra(a)}function sa(a){this.init(a)}function Db(a){return new sa(a)} | |||
function ab(a){this.init(a)}function ta(a){this.init(a)}function Eb(a){return new ta(a)}function bb(a,b){var c=document.getElementsByTagName("head")[0]||(P?document.body:document.documentElement),d=document.createElement("script");c.appendChild(d);d.src=a;d.charset="utf-8";d.onload=d.onreadystatechange=function(){if(!this.readyState||this.readyState==="loaded")b&&b(),d.onload=d.onreadystatechange=null,c.removeChild(d)}}function Fb(a){var b=a.indexOf("?");return b>0?a.substr(0,b):a}function cb(a){for(var b= | |||
document.getElementsByTagName("head")[0]||(P?document.body:document.documentElement),c=document.createElement("link"),d=Fb(ia(a,"absolute")),e=f('link[rel="stylesheet"]',b),g=0,h=e.length;g<h;g++)if(Fb(ia(e[g].href,"absolute"))===d)return;b.appendChild(c);c.href=a;c.rel="stylesheet"}function Gb(a,b){if(a===i)return N;if(!b)return N[a];N[a]=b}function Hb(a){var b,c="core";if(b=/^(\w+)\.(\w+)$/.exec(a))c=b[1],a=b[2];return{ns:c,key:a}}function Ib(a,b){b=b===i?f.options.langType:b;if(typeof a==="string"){if(!O[b])return"no language"; | |||
var c=a.length-1;if(a.substr(c)===".")return O[b][a.substr(0,c)];c=Hb(a);return O[b][c.ns][c.key]}m(a,function(a,c){var g=Hb(a);O[b]||(O[b]={});O[b][g.ns]||(O[b][g.ns]={});O[b][g.ns][g.key]=c})}function Ea(a,b){if(!a.collapsed){var a=a.cloneRange().up(),c=a.startContainer,d=a.startOffset;if(X||a.isControl())if((c=f(c.childNodes[d]))&&c.name=="img"&&b(c))return c}}function ac(){var a=this;f(a.edit.doc).contextmenu(function(b){a.menu&&a.hideMenu();if(a.useContextmenu){if(a._contextmenus.length!==0){var c= | |||
0,d=[];for(m(a._contextmenus,function(){if(this.title=="-")d.push(this);else if(this.cond&&this.cond()&&(d.push(this),this.width&&this.width>c))c=this.width});d.length>0&&d[0].title=="-";)d.shift();for(;d.length>0&&d[d.length-1].title=="-";)d.pop();var e=null;m(d,function(a){this.title=="-"&&e.title=="-"&&delete d[a];e=this});if(d.length>0){b.preventDefault();var g=f(a.edit.iframe).pos(),h=$a({x:g.x+b.clientX,y:g.y+b.clientY,width:c,css:{visibility:"hidden"},shadowMode:a.shadowMode});m(d,function(){this.title&& | |||
h.addItem(this)});var g=G(h.doc),j=h.div.height();b.clientY+j>=g.clientHeight-100&&h.pos(h.x,t(h.y)-j);h.div.css("visibility","visible");a.menu=h}}}else b.preventDefault()})}function bc(){function a(a){for(a=f(a.commonAncestor());a;){if(a.type==1&&!a.isStyle())break;a=a.parent()}return a.name}var b=this,c=b.edit.doc,d=b.newlineTag;if(!(o&&d!=="br")&&(!Y||!(A<3&&d!=="p"))&&!(Pa&&A<9)){var e=u("h1,h2,h3,h4,h5,h6,pre,li"),g=u("p,h1,h2,h3,h4,h5,h6,pre,li,blockquote");f(c).keydown(function(f){if(!(f.which!= | |||
13||f.shiftKey||f.ctrlKey||f.altKey)){b.cmd.selection();var j=a(b.cmd.range);j=="marquee"||j=="select"||(d==="br"&&!e[j]?(f.preventDefault(),b.insertHtml("<br />"+(o&&A<9?"":"\u200b"))):g[j]||Q(c,"formatblock","<p>"))}});f(c).keyup(function(e){if(!(e.which!=13||e.shiftKey||e.ctrlKey||e.altKey)&&d!="br")if(Y){var e=b.cmd.commonAncestor("p"),j=b.cmd.commonAncestor("a");j&&j.text()==""&&(j.remove(!0),b.cmd.range.selectNodeContents(e[0]).collapse(!0),b.cmd.select())}else if(b.cmd.selection(),e=a(b.cmd.range), | |||
!(e=="marquee"||e=="select"))if(g[e]||Q(c,"formatblock","<p>"),e=b.cmd.commonAncestor("div")){for(var j=f("<p></p>"),k=e[0].firstChild;k;){var n=k.nextSibling;j.append(k);k=n}e.before(j);e.remove();b.cmd.range.selectNodeContents(j[0]);b.cmd.select()}})}}function cc(){var a=this,b=a.edit.doc;f(b).keydown(function(c){if(c.which==9)if(c.preventDefault(),a.afterTab)a.afterTab.call(a,c);else{var c=a.cmd,d=c.range;d.shrink();d.collapsed&&d.startContainer.nodeType==1&&(d.insertNode(f("@ ",b)[0]),c.select()); | |||
a.insertHtml(" ")}})}function dc(){var a=this;f(a.edit.textarea[0],a.edit.win).focus(function(b){a.afterFocus&&a.afterFocus.call(a,b)}).blur(function(b){a.afterBlur&&a.afterBlur.call(a,b)})}function T(a){return B(a.replace(/<span [^>]*id="?__kindeditor_bookmark_\w+_\d+__"?[^>]*><\/span>/ig,""))}function Fa(a){return a.replace(/<div[^>]+class="?__kindeditor_paste__"?[^>]*>[\s\S]*?<\/div>/ig,"")}function Jb(a,b){if(a.length===0)a.push(b);else{var c=a[a.length-1];T(b.html)!==T(c.html)&& | |||
a.push(b)}}function Kb(a,b){var c=this.edit,d=c.doc.body,e,g;if(a.length===0)return this;c.designMode?(e=this.cmd.range,g=e.createBookmark(!0),g.html=d.innerHTML):g={html:d.innerHTML};Jb(b,g);var h=a.pop();T(g.html)===T(h.html)&&a.length>0&&(h=a.pop());c.designMode?(c.html(h.html),h.start&&(e.moveToBookmark(h),this.select())):f(d).html(T(h.html));return this}function ua(a){function b(a,b){ua.prototype[a]===i&&(c[a]=b);c.options[a]=b}var c=this;c.options={};m(a,function(c){b(c,a[c])});m(f.options, | |||
function(a,d){c[a]===i&&b(a,d)});var d=f(c.srcElement||"<textarea/>");if(!c.width)c.width=d[0].style.width||d.width();if(!c.height)c.height=d[0].style.height||d.height();b("width",l(c.width,c.minWidth));b("height",l(c.height,c.minHeight));b("width",s(c.width));b("height",s(c.height));if(ec&&(!fc||A<534))c.designMode=!1;c.srcElement=d;c.initContent="";c.plugin={};c.isCreated=!1;c._handlers={};c._contextmenus=[];c._undoStack=[];c._redoStack=[];c._firstAddBookmark=!0;c.menu=c.contextmenu=null;c.dialogs= | |||
[]}function Lb(a,b){function c(a){m(N,function(b,c){wa(c)&&c.call(a,KindEditor)});return a.create()}b=b||{};b.basePath=l(b.basePath,f.basePath);b.themesPath=l(b.themesPath,b.basePath+"themes/");b.langPath=l(b.langPath,b.basePath+"lang/");b.pluginsPath=l(b.pluginsPath,b.basePath+"plugins/");if(l(b.loadStyleMode,f.options.loadStyleMode)){var d=l(b.themeType,f.options.themeType);cb(b.themesPath+"default/default.css");cb(b.themesPath+d+"/"+d+".css")}if((d=f(a))&&d.length!==0){if(d.length>1)return d.each(function(){Lb(this, | |||
b)}),_instances[0];b.srcElement=d[0];var e=new ua(b);_instances.push(e);if(O[e.langType])return c(e);bb(e.langPath+e.langType+".js?ver="+encodeURIComponent(f.DEBUG?Ga:Ha),function(){c(e)});return e}}function va(a,b){f(a).each(function(a,d){f.each(_instances,function(a,c){if(c&&c.srcElement[0]==d)return b.call(c,a),!1})})}if(!w.KindEditor){if(!w.console)w.console={};if(!console.log)console.log=function(){};var Ha="4.1.10 (2013-11-23)",p=navigator.userAgent.toLowerCase(),o=p.indexOf("msie")>-1&&p.indexOf("opera")== | |||
-1,Yb=p.indexOf("msie")==-1&&p.indexOf("trident")>-1,Y=p.indexOf("gecko")>-1&&p.indexOf("khtml")==-1,X=p.indexOf("applewebkit")>-1,Pa=p.indexOf("opera")>-1,ec=p.indexOf("mobile")>-1,fc=/ipad|iphone|ipod/.test(p),P=document.compatMode!="CSS1Compat",H=!w.getSelection,A=(p=/(?:msie|firefox|webkit|opera)[\/:\s](\d+)/.exec(p))?p[1]:"0",Ga=(new Date).getTime(),R=Math.round,f={DEBUG:!1,VERSION:Ha,IE:o,GECKO:Y,WEBKIT:X,OPERA:Pa,V:A,TIME:Ga,each:m,isArray:Z,isFunction:wa,inArray:J,inString:xa,trim:B,addUnit:s, | |||
removeUnit:t,escape:C,unescape:fa,toCamel:ga,toHex:ya,toMap:u,toArray:Ja,undef:l,invalidUrl:function(a){return!a||/[<>"]/.test(a)},addParam:function(a,b){return a.indexOf("?")>=0?a+"&"+b:a+"?"+b},extend:E,json:eb},lb=u("a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),mb=u("address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul"), | |||
kb=u("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),Mb=u("b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u"),gc=u("img,table,input,textarea,button"),La=u("pre,style,script"),Ia=u("html,head,body,td,tr,table,ol,ul,li");u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");var Ub=u("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),Nb=u("input,button,textarea,select");f.basePath=function(){for(var a= | |||
document.getElementsByTagName("script"),b,c=0,d=a.length;c<d;c++)if(b=a[c].src||"",/kindeditor[\w\-\.]*\.js/.test(b))return b.substring(0,b.lastIndexOf("/")+1);return""}();f.options={designMode:!0,fullscreenMode:!1,filterMode:!0,wellFormatMode:!0,shadowMode:!0,loadStyleMode:!0,basePath:f.basePath,themesPath:f.basePath+"themes/",langPath:f.basePath+"lang/",pluginsPath:f.basePath+"plugins/",themeType:"default",langType:"zh_CN",urlType:"",newlineTag:"p",resizeType:2,syncType:"form",pasteType:2,dialogAlignType:"page", | |||
useContextmenu:!0,fullscreenShortcut:!1,bodyClass:"ke-content",indentChar:"\t",cssPath:"",cssData:"",minWidth:650,minHeight:100,minChangeSize:50,zIndex:811213,items:["source","|","undo","redo","|","preview","print","template","code","cut","copy","paste","plainpaste","wordpaste","|","justifyleft","justifycenter","justifyright","justifyfull","insertorderedlist","insertunorderedlist","indent","outdent","subscript","superscript","clearhtml","quickformat","selectall","|","fullscreen","/","formatblock", | |||
"fontname","fontsize","|","forecolor","hilitecolor","bold","italic","underline","strikethrough","lineheight","removeformat","|","image","multiimage","flash","media","insertfile","table","hr","emoticons","baidumap","pagebreak","anchor","link","unlink","|","about"],noDisableItems:["source","fullscreen"],colorTable:[["#E53333","#E56600","#FF9900","#64451D","#DFC5A4","#FFE500"],["#009900","#006600","#99BB00","#B8D100","#60D978","#00D5FF"],["#337FE5","#003399","#4C33E5","#9933E5","#CC33E5","#EE33EE"], | |||
["#FFFFFF","#CCCCCC","#999999","#666666","#333333","#000000"]],fontSizeTable:["9px","10px","12px","14px","16px","18px","24px","32px"],htmlTags:{font:["id","class","color","size","face",".background-color"],span:["id","class",".color",".background-color",".font-size",".font-family",".background",".font-weight",".font-style",".text-decoration",".vertical-align",".line-height"],div:["id","class","align",".border",".margin",".padding",".text-align",".color",".background-color",".font-size",".font-family", | |||
".font-weight",".background",".font-style",".text-decoration",".vertical-align",".margin-left"],table:["id","class","border","cellspacing","cellpadding","width","height","align","bordercolor",".padding",".margin",".border","bgcolor",".text-align",".color",".background-color",".font-size",".font-family",".font-weight",".font-style",".text-decoration",".background",".width",".height",".border-collapse"],"td,th":["id","class","align","valign","width","height","colspan","rowspan","bgcolor",".text-align", | |||
".color",".background-color",".font-size",".font-family",".font-weight",".font-style",".text-decoration",".vertical-align",".background",".border"],a:["id","class","href","target","name"],embed:["id","class","src","width","height","type","loop","autostart","quality",".width",".height","align","allowscriptaccess"],img:["id","class","src","width","height","border","alt","title","align",".width",".height",".border"],"p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6":["id","class","align",".text-align",".color", | |||
".background-color",".font-size",".font-family",".background",".font-weight",".font-style",".text-decoration",".vertical-align",".text-indent",".margin-left"],pre:["id","class"],hr:["id","class",".page-break-after"],"br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del":["id","class"],iframe:["id","class","src","frameborder","width","height",".width",".height"]},layout:'<div class="container"><div class="toolbar"></div><div class="edit"></div><div class="statusbar"></div></div>'};var fb=!1,Ob=u("8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222"), | |||
p=u("33..40"),db={};m(Ob,function(a,b){db[a]=b});m(p,function(a,b){db[a]=b});var hc="altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which".split(",");E(gb,{init:function(a,b){var c=this,d=a.ownerDocument||a.document||a;c.event=b;m(hc, | |||
function(a,d){c[d]=b[d]});if(!c.target)c.target=c.srcElement||d;if(c.target.nodeType===3)c.target=c.target.parentNode;if(!c.relatedTarget&&c.fromElement)c.relatedTarget=c.fromElement===c.target?c.toElement:c.fromElement;if(c.pageX==null&&c.clientX!=null){var e=d.documentElement,d=d.body;c.pageX=c.clientX+(e&&e.scrollLeft||d&&d.scrollLeft||0)-(e&&e.clientLeft||d&&d.clientLeft||0);c.pageY=c.clientY+(e&&e.scrollTop||d&&d.scrollTop||0)-(e&&e.clientTop||d&&d.clientTop||0)}if(!c.which&&(c.charCode||c.charCode=== | |||
0?c.charCode:c.keyCode))c.which=c.charCode||c.keyCode;if(!c.metaKey&&c.ctrlKey)c.metaKey=c.ctrlKey;if(!c.which&&c.button!==i)c.which=c.button&1?1:c.button&2?3:c.button&4?2:0;switch(c.which){case 186:c.which=59;break;case 187:case 107:case 43:c.which=61;break;case 189:case 45:c.which=109;break;case 42:c.which=106;break;case 47:c.which=111;break;case 78:c.which=110}c.which>=96&&c.which<=105&&(c.which-=48)},preventDefault:function(){var a=this.event;a.preventDefault?a.preventDefault():a.returnValue= | |||
!1},stopPropagation:function(){var a=this.event;a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},stop:function(){this.preventDefault();this.stopPropagation()}});var $="kindeditor_"+Ga,ib=0,v={},Pb=!1;o&&w.attachEvent("onunload",function(){m(v,function(a,b){b.el&&ha(b.el)})});f.ctrl=Ka;f.ready=function(a){function b(){e||(e=!0,a(KindEditor),Pb=!0)}function c(){if(!e){try{document.documentElement.doScroll("left")}catch(a){setTimeout(c,100);return}b()}}function d(){document.readyState==="complete"&& | |||
b()}if(Pb)a(KindEditor);else{var e=!1;if(document.addEventListener)aa(document,"DOMContentLoaded",b);else if(document.attachEvent){aa(document,"readystatechange",d);var g=!1;try{g=w.frameElement==null}catch(f){}document.documentElement.doScroll&&g&&c()}aa(w,"load",b)}};f.formatUrl=ia;f.formatHtml=U;f.getCssList=ba;f.getAttrList=I;f.mediaType=ob;f.mediaAttrs=pb;f.mediaEmbed=Ma;f.mediaImg=qb;f.clearMsWord=nb;f.tmpl=function(a,b){var c=new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+ | |||
a.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');");return b?c(b):c};p=document.createElement("div");p.setAttribute("className","t");var Vb=p.className!=="t";f.query=function(a,b){var c=Ca(a,b);return c.length>0?c[0]:null};f.queryAll=Ca;E(D,{init:function(a){for(var a=Z(a)?a:[a],b=0,c=0,d=a.length;c<d;c++)a[c]&&(this[c]=a[c].constructor=== | |||
D?a[c][0]:a[c],b++);this.length=b;this.doc=V(this[0]);this.name=Oa(this[0]);this.type=this.length>0?this[0].nodeType:null;this.win=W(this[0])},each:function(a){for(var b=0;b<this.length;b++)if(a.call(this[b],b,this[b])===!1)break;return this},bind:function(a,b){this.each(function(){aa(this,a,b)});return this},unbind:function(a,b){this.each(function(){ha(this,a,b)});return this},fire:function(a){if(this.length<1)return this;jb(this[0],a);return this},hasAttr:function(a){if(this.length<1)return!1;return!!Ba(this[0], | |||
a)},attr:function(a,b){var c=this;if(a===i)return I(c.outer());if(typeof a==="object")return m(a,function(a,b){c.attr(a,b)}),c;if(b===i)return b=c.length<1?null:Ba(c[0],a),b===null?"":b;c.each(function(){Na(this,a,b)});return c},removeAttr:function(a){this.each(function(){var b=a;o&&A<8&&b.toLowerCase()=="class"&&(b="className");Na(this,b,"");this.removeAttribute(b)});return this},get:function(a){if(this.length<1)return null;return this[a||0]},eq:function(a){if(this.length<1)return null;return this[a]? | |||
new D(this[a]):null},hasClass:function(a){if(this.length<1)return!1;return xa(a,this[0].className," ")},addClass:function(a){this.each(function(){if(!xa(a,this.className," "))this.className=B(this.className+" "+a)});return this},removeClass:function(a){this.each(function(){if(xa(a,this.className," "))this.className=B(this.className.replace(RegExp("(^|\\s)"+a+"(\\s|$)")," "))});return this},html:function(a){if(a===i){if(this.length<1||this.type!=1)return"";return U(this[0].innerHTML)}this.each(function(){Wb(this, | |||
a)});return this},text:function(){if(this.length<1)return"";return o?this[0].innerText:this[0].textContent},hasVal:function(){if(this.length<1)return!1;return!!Nb[Oa(this[0])]},val:function(a){if(a===i){if(this.length<1)return"";return this.hasVal()?this[0].value:this.attr("value")}else return this.each(function(){Nb[Oa(this)]?this.value=a:Na(this,"value",a)}),this},css:function(a,b){var c=this;if(a===i)return ba(c.attr("style"));if(typeof a==="object")return m(a,function(a,b){c.css(a,b)}),c;if(b=== | |||
i){if(c.length<1)return"";return c[0].style[ga(a)]||Xb(c[0],a)||""}c.each(function(){this.style[ga(a)]=b});return c},width:function(a){if(a===i){if(this.length<1)return 0;return this[0].offsetWidth}return this.css("width",s(a))},height:function(a){if(a===i){if(this.length<1)return 0;return this[0].offsetHeight}return this.css("height",s(a))},opacity:function(a){this.each(function(){this.style.opacity===i?this.style.filter=a==1?"":"alpha(opacity="+a*100+")":this.style.opacity=a==1?"":a});return this}, | |||
data:function(a,b){a="kindeditor_data_"+a;if(b===i){if(this.length<1)return null;return this[0][a]}this.each(function(){this[a]=b});return this},pos:function(){var a=this[0],b=0,c=0;if(a)if(a.getBoundingClientRect)a=a.getBoundingClientRect(),c=ca(this.doc),b=a.left+c.x,c=a.top+c.y;else for(;a;)b+=a.offsetLeft,c+=a.offsetTop,a=a.offsetParent;return{x:R(b),y:R(c)}},clone:function(a){if(this.length<1)return new D([]);return new D(this[0].cloneNode(a))},append:function(a){this.each(function(){this.appendChild&& | |||
this.appendChild(f(a)[0])});return this},appendTo:function(a){this.each(function(){f(a)[0].appendChild(this)});return this},before:function(a){this.each(function(){this.parentNode.insertBefore(f(a)[0],this)});return this},after:function(a){this.each(function(){this.nextSibling?this.parentNode.insertBefore(f(a)[0],this.nextSibling):this.parentNode.appendChild(f(a)[0])});return this},replaceWith:function(a){var b=[];this.each(function(c,d){ha(d);var e=f(a)[0];d.parentNode.replaceChild(e,d);b.push(e)}); | |||
return f(b)},empty:function(){this.each(function(a,b){for(var c=b.firstChild;c;){if(!b.parentNode)break;var d=c.nextSibling;c.parentNode.removeChild(c);c=d}});return this},remove:function(a){var b=this;b.each(function(c,d){if(d.parentNode){ha(d);if(a)for(var e=d.firstChild;e;){var g=e.nextSibling;d.parentNode.insertBefore(e,d);e=g}d.parentNode.removeChild(d);delete b[c]}});b.length=0;return b},show:function(a){a===i&&(a=this._originDisplay||"");if(this.css("display")!="none")return this;return this.css("display", | |||
a)},hide:function(){if(this.length<1)return this;this._originDisplay=this[0].style.display;return this.css("display","none")},outer:function(){if(this.length<1)return"";var a=this.doc.createElement("div");a.appendChild(this[0].cloneNode(!0));return U(a.innerHTML)},isSingle:function(){return!!kb[this.name]},isInline:function(){return!!lb[this.name]},isBlock:function(){return!!mb[this.name]},isStyle:function(){return!!Mb[this.name]},isControl:function(){return!!gc[this.name]},contains:function(a){if(this.length< | |||
1)return!1;return Aa(this[0],f(a)[0])},parent:function(){if(this.length<1)return null;var a=this[0].parentNode;return a?new D(a):null},children:function(){if(this.length<1)return new D([]);for(var a=[],b=this[0].firstChild;b;)(b.nodeType!=3||B(b.nodeValue)!=="")&&a.push(b),b=b.nextSibling;return new D(a)},first:function(){var a=this.children();return a.length>0?a.eq(0):null},last:function(){var a=this.children();return a.length>0?a.eq(a.length-1):null},index:function(){if(this.length<1)return-1;for(var a= | |||
-1,b=this[0];b;)a++,b=b.previousSibling;return a},prev:function(){if(this.length<1)return null;var a=this[0].previousSibling;return a?new D(a):null},next:function(){if(this.length<1)return null;var a=this[0].nextSibling;return a?new D(a):null},scan:function(a,b){function c(d){for(d=b?d.firstChild:d.lastChild;d;){var e=b?d.nextSibling:d.previousSibling;if(a(d)===!1)return!1;if(c(d)===!1)return!1;d=e}}if(!(this.length<1))return b=b===i?!0:b,c(this[0]),this}});m("blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error,contextmenu".split(","), | |||
function(a,b){D.prototype[b]=function(a){return a?this.bind(b,a):this.fire(b)}});p=f;f=function(a,b){function c(a){a[0]||(a=[]);return new D(a)}if(!(a===i||a===null)){if(typeof a==="string"){b&&(b=f(b)[0]);var d=a.length;a.charAt(0)==="@"&&(a=a.substr(1));if(a.length!==d||/<.+>/.test(a)){var d=(b?b.ownerDocument||b:document).createElement("div"),e=[];d.innerHTML='<img id="__kindeditor_temp_tag__" width="0" height="0" style="display:none;" />'+a;for(var g=0,h=d.childNodes.length;g<h;g++){var j=d.childNodes[g]; | |||
j.id!="__kindeditor_temp_tag__"&&e.push(j)}return c(e)}return c(Ca(a,b))}if(a&&a.constructor===D)return a;a.toArray&&(a=a.toArray());if(Z(a))return c(a);return c(Ja(arguments))}};m(p,function(a,b){f[a]=b});f.NodeClass=D;w.KindEditor=f;var la=0,ka=1,da=2,ma=3,Qb=0;E(M,{init:function(a){this.startContainer=a;this.startOffset=0;this.endContainer=a;this.endOffset=0;this.collapsed=!0;this.doc=a},commonAncestor:function(){function a(a){for(var b=[];a;)b.push(a),a=a.parentNode;return b}for(var b=a(this.startContainer), | |||
c=a(this.endContainer),d=0,e=b.length,g=c.length,f,j;++d;)if(f=b[e-d],j=c[g-d],!f||!j||f!==j)break;return b[e-d+1]},setStart:function(a,b){var c=this.doc;this.startContainer=a;this.startOffset=b;if(this.endContainer===c)this.endContainer=a,this.endOffset=b;return rb(this)},setEnd:function(a,b){var c=this.doc;this.endContainer=a;this.endOffset=b;if(this.startContainer===c)this.startContainer=a,this.startOffset=b;return rb(this)},setStartBefore:function(a){return this.setStart(a.parentNode||this.doc, | |||
f(a).index())},setStartAfter:function(a){return this.setStart(a.parentNode||this.doc,f(a).index()+1)},setEndBefore:function(a){return this.setEnd(a.parentNode||this.doc,f(a).index())},setEndAfter:function(a){return this.setEnd(a.parentNode||this.doc,f(a).index()+1)},selectNode:function(a){return this.setStartBefore(a).setEndAfter(a)},selectNodeContents:function(a){var b=f(a);if(b.type==3||b.isSingle())return this.selectNode(a);b=b.children();if(b.length>0)return this.setStartBefore(b[0]).setEndAfter(b[b.length- | |||
1]);return this.setStart(a,0).setEnd(a,0)},collapse:function(a){if(a)return this.setEnd(this.startContainer,this.startOffset);return this.setStart(this.endContainer,this.endOffset)},compareBoundaryPoints:function(a,b){var c=this.get(),d=b.get();if(H){var e={};e[la]="StartToStart";e[ka]="EndToStart";e[da]="EndToEnd";e[ma]="StartToEnd";c=c.compareEndPoints(e[a],d);if(c!==0)return c;var g,h,j,k;if(a===la||a===ma)g=this.startContainer,j=this.startOffset;if(a===ka||a===da)g=this.endContainer,j=this.endOffset; | |||
if(a===la||a===ka)h=b.startContainer,k=b.startOffset;if(a===da||a===ma)h=b.endContainer,k=b.endOffset;if(g===h)return g=j-k,g>0?1:g<0?-1:0;for(c=h;c&&c.parentNode!==g;)c=c.parentNode;if(c)return f(c).index()>=j?-1:1;for(c=g;c&&c.parentNode!==h;)c=c.parentNode;if(c)return f(c).index()>=k?1:-1;if((c=f(h).next())&&c.contains(g))return 1;if((c=f(g).next())&&c.contains(h))return-1}else return c.compareBoundaryPoints(a,d)},cloneRange:function(){return(new M(this.doc)).setStart(this.startContainer,this.startOffset).setEnd(this.endContainer, | |||
this.endOffset)},toString:function(){var a=this.get();return(H?a.text:a.toString()).replace(/\r\n|\n|\r/g,"")},cloneContents:function(){return Qa(this,!0,!1)},deleteContents:function(){return Qa(this,!1,!0)},extractContents:function(){return Qa(this,!0,!0)},insertNode:function(a){var b=this.startContainer,c=this.startOffset,d=this.endContainer,e=this.endOffset,g,f,j,k=1;if(a.nodeName.toLowerCase()==="#document-fragment")g=a.firstChild,f=a.lastChild,k=a.childNodes.length;b.nodeType==1?(j=b.childNodes[c])? | |||
(b.insertBefore(a,j),b===d&&(e+=k)):b.appendChild(a):b.nodeType==3&&(c===0?(b.parentNode.insertBefore(a,b),b.parentNode===d&&(e+=k)):c>=b.nodeValue.length?b.nextSibling?b.parentNode.insertBefore(a,b.nextSibling):b.parentNode.appendChild(a):(j=c>0?b.splitText(c):b,b.parentNode.insertBefore(a,j),b===d&&(d=j,e-=c)));g?this.setStartBefore(g).setEndAfter(f):this.selectNode(a);if(this.compareBoundaryPoints(da,this.cloneRange().setEnd(d,e))>=1)return this;return this.setEnd(d,e)},surroundContents:function(a){a.appendChild(this.extractContents()); | |||
return this.insertNode(a).selectNode(a)},isControl:function(){var a=this.startContainer,b=this.startOffset,c=this.endContainer,d=this.endOffset;return a.nodeType==1&&a===c&&b+1===d&&f(a.childNodes[b]).isControl()},get:function(a){var b=this.doc;if(!H){b=b.createRange();try{b.setStart(this.startContainer,this.startOffset),b.setEnd(this.endContainer,this.endOffset)}catch(c){}return b}if(a&&this.isControl())return b=b.body.createControlRange(),b.addElement(this.startContainer.childNodes[this.startOffset]), | |||
b;a=this.cloneRange().down();b=b.body.createTextRange();b.setEndPoint("StartToStart",tb(a.startContainer,a.startOffset));b.setEndPoint("EndToStart",tb(a.endContainer,a.endOffset));return b},html:function(){return f(this.cloneContents()).outer()},down:function(){function a(a,d,e){if(a.nodeType==1&&(a=f(a).children(),a.length!==0)){var g,h,j,k;d>0&&(g=a.eq(d-1));d<a.length&&(h=a.eq(d));if(g&&g.type==3)j=g[0],k=j.nodeValue.length;h&&h.type==3&&(j=h[0],k=0);j&&(e?b.setStart(j,k):b.setEnd(j,k))}}var b= | |||
this;a(b.startContainer,b.startOffset,!0);a(b.endContainer,b.endOffset,!1);return b},up:function(){function a(a,d,e){a.nodeType==3&&(d===0?e?b.setStartBefore(a):b.setEndBefore(a):d==a.nodeValue.length&&(e?b.setStartAfter(a):b.setEndAfter(a)))}var b=this;a(b.startContainer,b.startOffset,!0);a(b.endContainer,b.endOffset,!1);return b},enlarge:function(a){function b(b,e,g){b=f(b);if(!(b.type==3||Ia[b.name]||!a&&b.isBlock()))if(e===0){for(;!b.prev();){e=b.parent();if(!e||Ia[e.name]||!a&&e.isBlock())break; | |||
b=e}g?c.setStartBefore(b[0]):c.setEndBefore(b[0])}else if(e==b.children().length){for(;!b.next();){e=b.parent();if(!e||Ia[e.name]||!a&&e.isBlock())break;b=e}g?c.setStartAfter(b[0]):c.setEndAfter(b[0])}}var c=this;c.up();b(c.startContainer,c.startOffset,!0);b(c.endContainer,c.endOffset,!1);return c},shrink:function(){for(var a,b=this.collapsed;this.startContainer.nodeType==1&&(a=this.startContainer.childNodes[this.startOffset])&&a.nodeType==1&&!f(a).isSingle();)this.setStart(a,0);if(b)return this.collapse(b); | |||
for(;this.endContainer.nodeType==1&&this.endOffset>0&&(a=this.endContainer.childNodes[this.endOffset-1])&&a.nodeType==1&&!f(a).isSingle();)this.setEnd(a,a.childNodes.length);return this},createBookmark:function(a){var b,c=f('<span style="display:none;"></span>',this.doc)[0];c.id="__kindeditor_bookmark_start_"+Qb++ +"__";if(!this.collapsed)b=c.cloneNode(!0),b.id="__kindeditor_bookmark_end_"+Qb++ +"__";b&&this.cloneRange().collapse(!1).insertNode(b).setEndBefore(b);this.insertNode(c).setStartAfter(c); | |||
return{start:a?"#"+c.id:c,end:b?a?"#"+b.id:b:null}},moveToBookmark:function(a){var b=this.doc,c=f(a.start,b),a=a.end?f(a.end,b):null;if(!c||c.length<1)return this;this.setStartBefore(c[0]);c.remove();a&&a.length>0?(this.setEndBefore(a[0]),a.remove()):this.collapse(!0);return this},dump:function(){console.log("--------------------");console.log(this.startContainer.nodeType==3?this.startContainer.nodeValue:this.startContainer,this.startOffset);console.log(this.endContainer.nodeType==3?this.endContainer.nodeValue: | |||
this.endContainer,this.endOffset)}});f.RangeClass=M;f.range=Ra;f.START_TO_START=la;f.START_TO_END=ka;f.END_TO_END=da;f.END_TO_START=ma;E(oa,{init:function(a){var b=a.doc;this.doc=b;this.win=W(b);this.sel=Sa(b);this.range=a},selection:function(a){var b=this.doc,c;c=Sa(b);var d;try{d=c.rangeCount>0?c.getRangeAt(0):c.createRange()}catch(e){}c=H&&(!d||!d.item&&d.parentElement().ownerDocument!==b)?null:d;this.sel=Sa(b);if(c)return this.range=Ra(c),f(this.range.startContainer).name=="html"&&this.range.selectNodeContents(b.body).collapse(!1), | |||
this;a&&this.range.selectNodeContents(b.body).collapse(!1);return this},select:function(a){var a=l(a,!0),b=this.sel,c=this.range.cloneRange().shrink(),d=c.startContainer,e=c.startOffset,g=V(d),h=this.win,j,k=!1;if(a&&d.nodeType==1&&c.collapsed){if(H){b=f("<span> </span>",g);c.insertNode(b[0]);j=g.body.createTextRange();try{j.moveToElementText(b[0])}catch(n){}j.collapse(!1);j.select();b.remove();h.focus();return this}if(X&&(a=d.childNodes,f(d).isInline()||e>0&&f(a[e-1]).isInline()||a[e]&&f(a[e]).isInline()))c.insertNode(g.createTextNode("\u200b")), | |||
k=!0}if(H)try{j=c.get(!0),j.select()}catch(i){}else k&&c.collapse(!1),j=c.get(!0),b.removeAllRanges(),b.addRange(j),g!==document&&(c=f(j.endContainer).pos(),h.scrollTo(c.x,c.y));h.focus();return this},wrap:function(a){var b=this.range,c;c=f(a,this.doc);if(b.collapsed)return b.shrink(),b.insertNode(c[0]).selectNodeContents(c[0]),this;if(c.isBlock()){for(var d=a=c.clone(!0);d.first();)d=d.first();d.append(b.extractContents());b.insertNode(a[0]).selectNode(a[0]);return this}b.enlarge();var e=b.createBookmark(), | |||
a=b.commonAncestor(),g=!1;f(a).scan(function(a){if(!g&&a==e.start)g=!0;else if(g){if(a==e.end)return!1;var b=f(a),d;a:{for(d=b;d&&d.name!="body";){if(La[d.name]||d.name=="div"&&d.hasClass("ke-script")){d=!0;break a}d=d.parent()}d=!1}if(!d&&b.type==3&&B(a.nodeValue).length>0){for(var n;(n=b.parent())&&n.isStyle()&&n.children().length==1;)b=n;n=c;n=n.clone(!0);if(b.type==3)Va(n).append(b.clone(!1)),b.replaceWith(n);else{for(var a=b,i;(i=b.first())&&i.children().length==1;)b=i;i=b.first();for(b=b.doc.createDocumentFragment();i;)b.appendChild(i[0]), | |||
i=i.next();i=a.clone(!0);d=Va(i);for(var r=i,l=!1;n;){for(;r;)r.name===n.name&&(Zb(r,n.attr(),n.css()),l=!0),r=r.first();l||d.append(n.clone(!1));l=!1;n=n.first()}n=i;b.firstChild&&Va(n).append(b);a.replaceWith(n)}}}});b.moveToBookmark(e);return this},split:function(a,b){for(var c=this.range,d=c.doc,e=c.cloneRange().collapse(a),g=e.startContainer,h=e.startOffset,j=g.nodeType==3?g.parentNode:g,k=!1,n;j&&j.parentNode;){n=f(j);if(b){if(!n.isStyle())break;if(!Ta(n,b))break}else if(Ia[n.name])break;k= | |||
!0;j=j.parentNode}if(k)d=d.createElement("span"),c.cloneRange().collapse(!a).insertNode(d),a?e.setStartBefore(j.firstChild).setEnd(g,h):e.setStart(g,h).setEndAfter(j.lastChild),g=e.extractContents(),h=g.firstChild,k=g.lastChild,a?(e.insertNode(g),c.setStartAfter(k).setEndBefore(d)):(j.appendChild(g),c.setStartBefore(d).setEndBefore(h)),e=d.parentNode,e==c.endContainer&&(j=f(d).prev(),g=f(d).next(),j&&g&&j.type==3&&g.type==3?c.setEnd(j[0],j[0].nodeValue.length):a||c.setEnd(c.endContainer,c.endOffset- | |||
1)),e.removeChild(d);return this},remove:function(a){var b=this.doc,c=this.range;c.enlarge();if(c.startOffset===0){for(var d=f(c.startContainer),e;(e=d.parent())&&e.isStyle()&&e.children().length==1;)d=e;c.setStart(d[0],0);d=f(c.startContainer);d.isBlock()&&Ua(d,a);(d=d.parent())&&d.isBlock()&&Ua(d,a)}if(c.collapsed){this.split(!0,a);b=c.startContainer;d=c.startOffset;if(d>0&&(e=f(b.childNodes[d-1]))&&ea(e))e.remove(),c.setStart(b,d-1);(d=f(b.childNodes[d]))&&ea(d)&&d.remove();ea(b)&&(c.startBefore(b), | |||
b.remove());c.collapse(!0);return this}this.split(!0,a);this.split(!1,a);var g=b.createElement("span"),h=b.createElement("span");c.cloneRange().collapse(!1).insertNode(h);c.cloneRange().collapse(!0).insertNode(g);var j=[],k=!1;f(c.commonAncestor()).scan(function(a){if(!k&&a==g)k=!0;else{if(a==h)return!1;k&&j.push(a)}});f(g).remove();f(h).remove();b=c.startContainer;d=c.startOffset;e=c.endContainer;var n=c.endOffset;if(d>0){var i=f(b.childNodes[d-1]);i&&ea(i)&&(i.remove(),c.setStart(b,d-1),b==e&&c.setEnd(e, | |||
n-1));if((d=f(b.childNodes[d]))&&ea(d))d.remove(),b==e&&c.setEnd(e,n-1)}(b=f(e.childNodes[c.endOffset]))&&ea(b)&&b.remove();b=c.createBookmark(!0);m(j,function(b,c){Ua(f(c),a)});c.moveToBookmark(b);return this},commonNode:function(a){function b(b){for(var c=b;b;){if(Ta(f(b),a))return f(b);b=b.parentNode}for(;c&&(c=c.lastChild);)if(Ta(f(c),a))return f(c);return null}var c=this.range,d=c.endContainer,c=c.endOffset,e=d.nodeType==3||c===0?d:d.childNodes[c-1],g=b(e);if(g)return g;if(e.nodeType==1||d.nodeType== | |||
3&&c===0)if(d=f(e).prev())return b(d);return null},commonAncestor:function(a){function b(b){for(;b;){if(b.nodeType==1&&b.tagName.toLowerCase()===a)return b;b=b.parentNode}return null}var c=this.range,d=c.startContainer,e=c.startOffset,g=c.endContainer,c=c.endOffset,g=g.nodeType==3||c===0?g:g.childNodes[c-1],d=b(d.nodeType==3||e===0?d:d.childNodes[e-1]),e=b(g);if(d&&e&&d===e)return f(d);return null},state:function(a){var b=this.doc,c=!1;try{c=b.queryCommandState(a)}catch(d){}return c},val:function(a){var b= | |||
this.doc,a=a.toLowerCase(),c="";if(a==="fontfamily"||a==="fontname")return c=vb(b,"fontname"),c=c.replace(/['"]/g,""),c.toLowerCase();if(a==="formatblock"){c=vb(b,a);if(c===""&&(a=this.commonNode({"h1,h2,h3,h4,h5,h6,p,div,pre,address":"*"})))c=a.name;c==="Normal"&&(c="p");return c.toLowerCase()}if(a==="fontsize")return(a=this.commonNode({"*":".font-size"}))&&(c=a.css("font-size")),c.toLowerCase();if(a==="forecolor")return(a=this.commonNode({"*":".color"}))&&(c=a.css("color")),c=ya(c),c===""&&(c="default"), | |||
c.toLowerCase();if(a==="hilitecolor")return(a=this.commonNode({"*":".background-color"}))&&(c=a.css("background-color")),c=ya(c),c===""&&(c="default"),c.toLowerCase();return c},toggle:function(a,b){this.commonNode(b)?this.remove(b):this.wrap(a);return this.select()},bold:function(){return this.toggle("<strong></strong>",{span:".font-weight=bold",strong:"*",b:"*"})},italic:function(){return this.toggle("<em></em>",{span:".font-style=italic",em:"*",i:"*"})},underline:function(){return this.toggle("<u></u>", | |||
{span:".text-decoration=underline",u:"*"})},strikethrough:function(){return this.toggle("<s></s>",{span:".text-decoration=line-through",s:"*"})},forecolor:function(a){return this.wrap('<span style="color:'+a+';"></span>').select()},hilitecolor:function(a){return this.wrap('<span style="background-color:'+a+';"></span>').select()},fontsize:function(a){return this.wrap('<span style="font-size:'+a+';"></span>').select()},fontname:function(a){return this.fontfamily(a)},fontfamily:function(a){return this.wrap('<span style="font-family:'+ | |||
a+';"></span>').select()},removeformat:function(){var a={"*":".font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent"};m(Mb,function(b){a[b]="*"});this.remove(a);return this.select()},inserthtml:function(a,b){function c(a,b){var b='<img id="__kindeditor_temp_tag__" width="0" height="0" style="display:none;" />'+b,c=a.get();c.item?c.item(0).outerHTML=b:c.pasteHTML(b);var d=a.doc.getElementById("__kindeditor_temp_tag__");d.parentNode.removeChild(d);c= | |||
ub(c);a.setEnd(c.endContainer,c.endOffset);a.collapse(!1);e.select(!1)}function d(a,b){var c=a.doc,d=c.createDocumentFragment();f("@"+b,c).each(function(){d.appendChild(this)});a.deleteContents();a.insertNode(d);a.collapse(!1);e.select(!1)}var e=this,g=e.range;if(a==="")return e;if(H&&b){try{c(g,a)}catch(h){d(g,a)}return e}d(g,a);return e},hr:function(){return this.inserthtml("<hr />")},print:function(){this.win.print();return this},insertimage:function(a,b,c,d,e,g){b=l(b,"");l(e,0);a='<img src="'+ | |||
C(a)+'" data-ke-src="'+C(a)+'" ';c&&(a+='width="'+C(c)+'" ');d&&(a+='height="'+C(d)+'" ');b&&(a+='title="'+C(b)+'" ');g&&(a+='align="'+C(g)+'" ');a+='alt="'+C(b)+'" ';a+="/>";return this.inserthtml(a)},createlink:function(a,b){function c(a,b,c){f(a).attr("href",b).attr("data-ke-src",b);c?f(a).attr("target",c):f(a).removeAttr("target")}var d=this.doc,e=this.range;this.select();var g=this.commonNode({a:"*"});g&&!e.isControl()&&(e.selectNode(g.get()),this.select());g='<a href="'+C(a)+'" data-ke-src="'+ | |||
C(a)+'" ';b&&(g+=' target="'+C(b)+'"');if(e.collapsed)return g+=">"+C(a)+"</a>",this.inserthtml(g);if(e.isControl()){var h=f(e.startContainer.childNodes[e.startOffset]);g+="></a>";h.after(f(g,d));h.next().append(h);e.selectNode(h[0]);return this.select()}var g=e.startContainer,h=e.startOffset,j=e.endContainer,e=e.endOffset;if(g.nodeType==1&&g===j&&h+1===e&&(e=g.childNodes[h],e.nodeName.toLowerCase()=="a"))return c(e,a,b),this;Q(d,"createlink","__kindeditor_temp_url__");f('a[href="__kindeditor_temp_url__"]', | |||
d).each(function(){c(this,a,b)});return this},unlink:function(){var a=this.doc,b=this.range;this.select();if(b.collapsed){var c=this.commonNode({a:"*"});c&&(b.selectNode(c.get()),this.select());Q(a,"unlink",null);X&&f(b.startContainer).name==="img"&&(a=f(b.startContainer).parent(),a.name==="a"&&a.remove(!0))}else Q(a,"unlink",null);return this}});m("formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript".split(","), | |||
function(a,b){oa.prototype[b]=function(a){this.select();Q(this.doc,b,a);H&&J(b,"justifyleft,justifycenter,justifyright,justifyfull".split(","))>=0&&this.selection();(!H||J(b,"formatblock,selectall,insertorderedlist,insertunorderedlist".split(","))>=0)&&this.selection();return this}});m("cut,copy,paste".split(","),function(a,b){oa.prototype[b]=function(){if(!this.doc.queryCommandSupported(b))throw"not supported";this.select();Q(this.doc,b,null);return this}});f.CmdClass=oa;f.cmd=zb;E(S,{init:function(a){var b= | |||
this;b.name=a.name||"";b.doc=a.doc||document;b.win=W(b.doc);b.x=s(a.x);b.y=s(a.y);b.z=a.z;b.width=s(a.width);b.height=s(a.height);b.div=f('<div style="display:block;"></div>');b.options=a;b._alignEl=a.alignEl;b.width&&b.div.css("width",b.width);b.height&&b.div.css("height",b.height);b.z&&b.div.css({position:"absolute",left:b.x,top:b.y,"z-index":b.z});b.z&&(b.x===i||b.y===i)&&b.autoPos(b.width,b.height);a.cls&&b.div.addClass(a.cls);a.shadowMode&&b.div.addClass("ke-shadow");a.css&&b.div.css(a.css); | |||
a.src?f(a.src).replaceWith(b.div):f(b.doc.body).append(b.div);a.html&&b.div.html(a.html);if(a.autoScroll)if(o&&A<7||P){var c=ca();f(b.win).bind("scroll",function(){var a=ca(),e=a.x-c.x,a=a.y-c.y;b.pos(t(b.x)+e,t(b.y)+a,!1)})}else b.div.css("position","fixed")},pos:function(a,b,c){c=l(c,!0);if(a!==null&&(a=a<0?0:s(a),this.div.css("left",a),c))this.x=a;if(b!==null&&(b=b<0?0:s(b),this.div.css("top",b),c))this.y=b;return this},autoPos:function(a,b){var c=t(a)||0,d=t(b)||0,e=ca();if(this._alignEl){var g= | |||
f(this._alignEl),h=g.pos(),c=R(g[0].clientWidth/2-c/2),d=R(g[0].clientHeight/2-d/2);x=c<0?h.x:h.x+c;y=d<0?h.y:h.y+d}else h=G(this.doc),x=R(e.x+(h.clientWidth-c)/2),y=R(e.y+(h.clientHeight-d)/2);o&&A<7||P||(x-=e.x,y-=e.y);return this.pos(x,y)},remove:function(){var a=this;(o&&A<7||P)&&f(a.win).unbind("scroll");a.div.remove();m(a,function(b){a[b]=null});return this},show:function(){this.div.show();return this},hide:function(){this.div.hide();return this},draggable:function(a){var b=this,a=a||{};a.moveEl= | |||
b.div;a.moveFn=function(a,d,e,g,f,j){if((a+=f)<0)a=0;if((d+=j)<0)d=0;b.pos(a,d)};Wa(a);return b}});f.WidgetClass=S;f.widget=Ya;var Za="";if(p=document.getElementsByTagName("html"))Za=p[0].dir;E(qa,S,{init:function(a){function b(){var b=Xa(c.iframe);b.open();if(j)b.domain=document.domain;b.write($b(d,e,g,h));b.close();c.win=c.iframe[0].contentWindow;c.doc=b;var k=zb(b);c.afterChange(function(){k.selection()});X&&f(b).click(function(a){f(a.target).name==="img"&&(k.selection(!0),k.range.selectNode(a.target), | |||
k.select())});if(o)c._mousedownHandler=function(){var a=k.range.cloneRange();a.shrink();a.isControl()&&c.blur()},f(document).mousedown(c._mousedownHandler),f(b).keydown(function(a){if(a.which==8){k.selection();var b=k.range;b.isControl()&&(b.collapse(!0),f(b.startContainer.childNodes[b.startOffset]).remove(),a.preventDefault())}});c.cmd=k;c.html(pa(c.srcElement));o?(b.body.disabled=!0,b.body.contentEditable=!0,b.body.removeAttribute("disabled")):b.designMode="on";a.afterCreate&&a.afterCreate.call(c)} | |||
var c=this;qa.parent.init.call(c,a);c.srcElement=f(a.srcElement);c.div.addClass("ke-edit");c.designMode=l(a.designMode,!0);c.beforeGetHtml=a.beforeGetHtml;c.beforeSetHtml=a.beforeSetHtml;c.afterSetHtml=a.afterSetHtml;var d=l(a.themesPath,""),e=a.bodyClass,g=a.cssPath,h=a.cssData,j=location.protocol!="res:"&&location.host.replace(/:\d+/,"")!==document.domain,k="document.open();"+(j?'document.domain="'+document.domain+'";':"")+"document.close();",k=o?' src="javascript:void(function(){'+encodeURIComponent(k)+ | |||
'}())"':"";c.iframe=f('<iframe class="ke-edit-iframe" hidefocus="true" frameborder="0"'+k+"></iframe>").css("width","100%");c.textarea=f('<textarea class="ke-edit-textarea" hidefocus="true"></textarea>').css("width","100%");c.tabIndex=isNaN(parseInt(a.tabIndex,10))?c.srcElement.attr("tabindex"):parseInt(a.tabIndex,10);c.iframe.attr("tabindex",c.tabIndex);c.textarea.attr("tabindex",c.tabIndex);c.width&&c.setWidth(c.width);c.height&&c.setHeight(c.height);c.designMode?c.textarea.hide():c.iframe.hide(); | |||
j&&c.iframe.bind("load",function(){c.iframe.unbind("load");o?b():setTimeout(b,0)});c.div.append(c.iframe);c.div.append(c.textarea);c.srcElement.hide();!j&&b()},setWidth:function(a){this.width=a=s(a);this.div.css("width",a);return this},setHeight:function(a){this.height=a=s(a);this.div.css("height",a);this.iframe.css("height",a);if(o&&A<8||P)a=s(t(a)-2);this.textarea.css("height",a);return this},remove:function(){var a=this.doc;f(a.body).unbind();f(a).unbind();f(this.win).unbind();this._mousedownHandler&& | |||
f(document).unbind("mousedown",this._mousedownHandler);pa(this.srcElement,this.html());this.srcElement.show();a.write("");this.iframe.unbind();this.textarea.unbind();qa.parent.remove.call(this)},html:function(a,b){var c=this.doc;if(this.designMode){c=c.body;if(a===i)return a=b?"<!doctype html><html>"+c.parentNode.innerHTML+"</html>":c.innerHTML,this.beforeGetHtml&&(a=this.beforeGetHtml(a)),Y&&a=="<br />"&&(a=""),a;this.beforeSetHtml&&(a=this.beforeSetHtml(a));o&&A>=9&&(a=a.replace(/(<.*?checked=")checked(".*>)/ig, | |||
"$1$2"));f(c).html(a);this.afterSetHtml&&this.afterSetHtml();return this}if(a===i)return this.textarea.val();this.textarea.val(a);return this},design:function(a){if(a===i?!this.designMode:a){if(!this.designMode)a=this.html(),this.designMode=!0,this.html(a),this.textarea.hide(),this.iframe.show()}else if(this.designMode)a=this.html(),this.designMode=!1,this.html(a),this.iframe.hide(),this.textarea.show();return this.focus()},focus:function(){this.designMode?this.win.focus():this.textarea[0].focus(); | |||
return this},blur:function(){if(o){var a=f('<input type="text" style="float:left;width:0;height:0;padding:0;margin:0;border:0;" value="" />',this.div);this.div.append(a);a[0].focus();a.remove()}else this.designMode?this.win.blur():this.textarea[0].blur();return this},afterChange:function(a){function b(b){setTimeout(function(){a(b)},1)}var c=this.doc,d=c.body;f(c).keyup(function(b){!b.ctrlKey&&!b.altKey&&db[b.which]&&a(b)});f(c).mouseup(a).contextmenu(a);f(this.win).blur(a);f(d).bind("paste",b);f(d).bind("cut", | |||
b);return this}});f.EditClass=qa;f.edit=Ab;f.iframeDoc=Xa;E(Da,S,{init:function(a){function b(a){a=f(a);if(a.hasClass("ke-outline"))return a;if(a.hasClass("ke-toolbar-icon"))return a.parent()}function c(a,c){var d=b(a.target);if(d&&!d.hasClass("ke-disabled")&&!d.hasClass("ke-selected"))d[c]("ke-on")}var d=this;Da.parent.init.call(d,a);d.disableMode=l(a.disableMode,!1);d.noDisableItemMap=u(l(a.noDisableItems,[]));d._itemMap={};d.div.addClass("ke-toolbar").bind("contextmenu,mousedown,mousemove",function(a){a.preventDefault()}).attr("unselectable", | |||
"on");d.div.mouseover(function(a){c(a,"addClass")}).mouseout(function(a){c(a,"removeClass")}).click(function(a){var c=b(a.target);c&&!c.hasClass("ke-disabled")&&d.options.click.call(this,a,c.attr("data-name"))})},get:function(a){if(this._itemMap[a])return this._itemMap[a];return this._itemMap[a]=f("span.ke-icon-"+a,this.div).parent()},select:function(a){Bb.call(this,a,function(a){a.addClass("ke-selected")});return self},unselect:function(a){Bb.call(this,a,function(a){a.removeClass("ke-selected").removeClass("ke-on")}); | |||
return self},enable:function(a){if(a=a.get?a:this.get(a))a.removeClass("ke-disabled"),a.opacity(1);return this},disable:function(a){if(a=a.get?a:this.get(a))a.removeClass("ke-selected").addClass("ke-disabled"),a.opacity(0.5);return this},disableAll:function(a,b){var c=this,d=c.noDisableItemMap;b&&(d=u(b));(a===i?!c.disableMode:a)?(f("span.ke-outline",c.div).each(function(){var a=f(this),b=a[0].getAttribute("data-name",2);d[b]||c.disable(a)}),c.disableMode=!0):(f("span.ke-outline",c.div).each(function(){var a= | |||
f(this),b=a[0].getAttribute("data-name",2);d[b]||c.enable(a)}),c.disableMode=!1);return c}});f.ToolbarClass=Da;f.toolbar=Cb;E(ra,S,{init:function(a){a.z=a.z||811213;ra.parent.init.call(this,a);this.centerLineMode=l(a.centerLineMode,!0);this.div.addClass("ke-menu").bind("click,mousedown",function(a){a.stopPropagation()}).attr("unselectable","on")},addItem:function(a){if(a.title==="-")this.div.append(f('<div class="ke-menu-separator"></div>'));else{var b=f('<div class="ke-menu-item" unselectable="on"></div>'), | |||
c=f('<div class="ke-inline-block ke-menu-item-left"></div>'),d=f('<div class="ke-inline-block ke-menu-item-right"></div>'),e=s(a.height),g=l(a.iconClass,"");this.div.append(b);e&&(b.css("height",e),d.css("line-height",e));var h;this.centerLineMode&&(h=f('<div class="ke-inline-block ke-menu-item-center"></div>'),e&&h.css("height",e));b.mouseover(function(){f(this).addClass("ke-menu-item-on");h&&h.addClass("ke-menu-item-center-on")}).mouseout(function(){f(this).removeClass("ke-menu-item-on");h&&h.removeClass("ke-menu-item-center-on")}).click(function(b){a.click.call(f(this)); | |||
b.stopPropagation()}).append(c);h&&b.append(h);b.append(d);a.checked&&(g="ke-icon-checked");g!==""&&c.html('<span class="ke-inline-block ke-toolbar-icon ke-toolbar-icon-url '+g+'"></span>');d.html(a.title);return this}},remove:function(){this.options.beforeRemove&&this.options.beforeRemove.call(this);f(".ke-menu-item",this.div[0]).unbind();ra.parent.remove.call(this);return this}});f.MenuClass=ra;f.menu=$a;E(sa,S,{init:function(a){a.z=a.z||811213;sa.parent.init.call(this,a);var b=a.colors||[["#E53333", | |||
"#E56600","#FF9900","#64451D","#DFC5A4","#FFE500"],["#009900","#006600","#99BB00","#B8D100","#60D978","#00D5FF"],["#337FE5","#003399","#4C33E5","#9933E5","#CC33E5","#EE33EE"],["#FFFFFF","#CCCCCC","#999999","#666666","#333333","#000000"]];this.selectedColor=(a.selectedColor||"").toLowerCase();this._cells=[];this.div.addClass("ke-colorpicker").bind("click,mousedown",function(a){a.stopPropagation()}).attr("unselectable","on");a=this.doc.createElement("table");this.div.append(a);a.className="ke-colorpicker-table"; | |||
a.cellPadding=0;a.cellSpacing=0;a.border=0;var c=a.insertRow(0),d=c.insertCell(0);d.colSpan=b[0].length;this._addAttr(d,"","ke-colorpicker-cell-top");for(var e=0;e<b.length;e++)for(var c=a.insertRow(e+1),g=0;g<b[e].length;g++)d=c.insertCell(g),this._addAttr(d,b[e][g],"ke-colorpicker-cell")},_addAttr:function(a,b,c){var d=this,a=f(a).addClass(c);d.selectedColor===b.toLowerCase()&&a.addClass("ke-colorpicker-cell-selected");a.attr("title",b||d.options.noColor);a.mouseover(function(){f(this).addClass("ke-colorpicker-cell-on")}); | |||
a.mouseout(function(){f(this).removeClass("ke-colorpicker-cell-on")});a.click(function(a){a.stop();d.options.click.call(f(this),b)});b?a.append(f('<div class="ke-colorpicker-cell-color" unselectable="on"></div>').css("background-color",b)):a.html(d.options.noColor);f(a).attr("unselectable","on");d._cells.push(a)},remove:function(){m(this._cells,function(){this.unbind()});sa.parent.remove.call(this);return this}});f.ColorPickerClass=sa;f.colorpicker=Db;E(ab,{init:function(a){var b=f(a.button),c=a.fieldName|| | |||
"file",d=a.url||"",e=b.val(),g=a.extraParams||{},h=b[0].className||"",j=a.target||"kindeditor_upload_iframe_"+(new Date).getTime();a.afterError=a.afterError||function(a){alert(a)};var k=[],i;for(i in g)k.push('<input type="hidden" name="'+i+'" value="'+g[i]+'" />');c=['<div class="ke-inline-block '+h+'">',a.target?"":'<iframe name="'+j+'" style="display:none;"></iframe>',a.form?'<div class="ke-upload-area">':'<form class="ke-upload-area ke-form" method="post" enctype="multipart/form-data" target="'+ | |||
j+'" action="'+d+'">','<span class="ke-button-common">',k.join(""),'<input type="button" class="ke-button-common ke-button" value="'+e+'" />',"</span>",'<input type="file" class="ke-upload-file" name="'+c+'" tabindex="-1" />',a.form?"</div>":"</form>","</div>"].join("");c=f(c,b.doc);b.hide();b.before(c);this.div=c;this.button=b;this.iframe=a.target?f('iframe[name="'+j+'"]'):f("iframe",c);this.form=a.form?f(a.form):f("form",c);this.fileBox=f(".ke-upload-file",c);b=a.width||f(".ke-button-common",c).width(); | |||
f(".ke-upload-area",c).width(b);this.options=a},submit:function(){var a=this,b=a.iframe;b.bind("load",function(){b.unbind();var c=document.createElement("form");a.fileBox.before(c);f(c).append(a.fileBox);c.reset();f(c).remove(!0);var c=f.iframeDoc(b),d=c.getElementsByTagName("pre")[0],e="",g,e=d?d.innerHTML:c.body.innerHTML,e=fa(e);b[0].src="javascript:false";try{g=f.json(e)}catch(h){a.options.afterError.call(a,"<!doctype html><html>"+c.body.parentNode.innerHTML+"</html>")}g&&a.options.afterUpload.call(a, | |||
g)});a.form[0].submit();return a},remove:function(){this.fileBox&&this.fileBox.unbind();this.iframe.remove();this.div.remove();this.button.show();return this}});f.UploadButtonClass=ab;f.uploadbutton=function(a){return new ab(a)};E(ta,S,{init:function(a){var b=l(a.shadowMode,!0);a.z=a.z||811213;a.shadowMode=!1;a.autoScroll=l(a.autoScroll,!0);ta.parent.init.call(this,a);var c=a.title,d=f(a.body,this.doc),e=a.previewBtn,g=a.yesBtn,h=a.noBtn,j=a.closeBtn,k=l(a.showMask,!0);this.div.addClass("ke-dialog").bind("click,mousedown", | |||
function(a){a.stopPropagation()});var i=f('<div class="ke-dialog-content"></div>').appendTo(this.div);o&&A<7?this.iframeMask=f('<iframe src="about:blank" class="ke-dialog-shadow"></iframe>').appendTo(this.div):b&&f('<div class="ke-dialog-shadow"></div>').appendTo(this.div);b=f('<div class="ke-dialog-header"></div>');i.append(b);b.html(c);this.closeIcon=f('<span class="ke-dialog-icon-close" title="'+j.name+'"></span>').click(j.click);b.append(this.closeIcon);this.draggable({clickEl:b,beforeDrag:a.beforeDrag}); | |||
a=f('<div class="ke-dialog-body"></div>');i.append(a);a.append(d);var q=f('<div class="ke-dialog-footer"></div>');(e||g||h)&&i.append(q);m([{btn:e,name:"preview"},{btn:g,name:"yes"},{btn:h,name:"no"}],function(){if(this.btn){var a=this.btn,a=a||{},b=a.name||"",c=f('<span class="ke-button-common ke-button-outer" title="'+b+'"></span>'),b=f('<input class="ke-button-common ke-button" type="button" value="'+b+'" />');a.click&&b.click(a.click);c.append(b);c.addClass("ke-dialog-"+this.name);q.append(c)}}); | |||
this.height&&a.height(t(this.height)-b.height()-q.height());this.div.width(this.div.width());this.div.height(this.div.height());this.mask=null;if(k)d=G(this.doc),this.mask=Ya({x:0,y:0,z:this.z-1,cls:"ke-dialog-mask",width:Math.max(d.scrollWidth,d.clientWidth),height:Math.max(d.scrollHeight,d.clientHeight)});this.autoPos(this.div.width(),this.div.height());this.footerDiv=q;this.bodyDiv=a;this.headerDiv=b;this.isLoading=!1},setMaskIndex:function(a){this.mask.div.css("z-index",a)},showLoading:function(a){var a= | |||
l(a,""),b=this.bodyDiv;this.loading=f('<div class="ke-dialog-loading"><div class="ke-inline-block ke-dialog-loading-content" style="margin-top:'+Math.round(b.height()/3)+'px;">'+a+"</div></div>").width(b.width()).height(b.height()).css("top",this.headerDiv.height()+"px");b.css("visibility","hidden").after(this.loading);this.isLoading=!0;return this},hideLoading:function(){this.loading&&this.loading.remove();this.bodyDiv.css("visibility","visible");this.isLoading=!1;return this},remove:function(){this.options.beforeRemove&& | |||
this.options.beforeRemove.call(this);this.mask&&this.mask.remove();this.iframeMask&&this.iframeMask.remove();this.closeIcon.unbind();f("input",this.div).unbind();f("button",this.div).unbind();this.footerDiv.unbind();this.bodyDiv.unbind();this.headerDiv.unbind();f("iframe",this.div).each(function(){f(this).remove()});ta.parent.remove.call(this);return this}});f.DialogClass=ta;f.dialog=Eb;f.tabs=function(a){var b=Ya(a),c=b.remove,d=a.afterSelect,a=b.div,e=[];a.addClass("ke-tabs").bind("contextmenu,mousedown,mousemove", | |||
function(a){a.preventDefault()});var g=f('<ul class="ke-tabs-ul ke-clearfix"></ul>');a.append(g);b.add=function(a){var b=f('<li class="ke-tabs-li">'+a.title+"</li>");b.data("tab",a);e.push(b);g.append(b)};b.selectedIndex=0;b.select=function(a){b.selectedIndex=a;m(e,function(c,d){d.unbind();c===a?(d.addClass("ke-tabs-li-selected"),f(d.data("tab").panel).show("")):(d.removeClass("ke-tabs-li-selected").removeClass("ke-tabs-li-on").mouseover(function(){f(this).addClass("ke-tabs-li-on")}).mouseout(function(){f(this).removeClass("ke-tabs-li-on")}).click(function(){b.select(c)}), | |||
f(d.data("tab").panel).hide())});d&&d.call(b,a)};b.remove=function(){m(e,function(){this.remove()});g.remove();c.call(b)};return b};f.loadScript=bb;f.loadStyle=cb;f.ajax=function(a,b,c,d,e){var c=c||"GET",e=e||"json",g=w.XMLHttpRequest?new w.XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");g.open(c,a,!0);g.onreadystatechange=function(){if(g.readyState==4&&g.status==200&&b){var a=B(g.responseText);e=="json"&&(a=eb(a));b(a)}};if(c=="POST"){var f=[];m(d,function(a,b){f.push(encodeURIComponent(a)+ | |||
"="+encodeURIComponent(b))});try{g.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(j){}g.send(f.join("&"))}else g.send(null)};var N={},O={};ua.prototype={lang:function(a){return Ib(a,this.langType)},loadPlugin:function(a,b){var c=this;if(N[a]){if(!wa(N[a]))return setTimeout(function(){c.loadPlugin(a,b)},100),c;N[a].call(c,KindEditor);b&&b.call(c);return c}N[a]="loading";bb(c.pluginsPath+a+"/"+a+".js?ver="+encodeURIComponent(f.DEBUG?Ga:Ha),function(){setTimeout(function(){N[a]&& | |||
c.loadPlugin(a,b)},0)});return c},handler:function(a,b){var c=this;c._handlers[a]||(c._handlers[a]=[]);if(wa(b))return c._handlers[a].push(b),c;m(c._handlers[a],function(){b=this.call(c,b)});return b},clickToolbar:function(a,b){var c=this,d="clickToolbar"+a;if(b===i){if(c._handlers[d])return c.handler(d);c.loadPlugin(a,function(){c.handler(d)});return c}return c.handler(d,b)},updateState:function(){var a=this;m("justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,subscript,superscript,bold,italic,underline,strikethrough".split(","), | |||
function(b,c){a.cmd.state(c)?a.toolbar.select(c):a.toolbar.unselect(c)});return a},addContextmenu:function(a){this._contextmenus.push(a);return this},afterCreate:function(a){return this.handler("afterCreate",a)},beforeRemove:function(a){return this.handler("beforeRemove",a)},beforeGetHtml:function(a){return this.handler("beforeGetHtml",a)},beforeSetHtml:function(a){return this.handler("beforeSetHtml",a)},afterSetHtml:function(a){return this.handler("afterSetHtml",a)},create:function(){function a(){k.height()=== | |||
0?setTimeout(a,100):b.resize(d,e,!1)}var b=this,c=b.fullscreenMode;if(b.isCreated)return b;if(b.srcElement.data("kindeditor"))return b;b.srcElement.data("kindeditor","true");c?G().style.overflow="hidden":G().style.overflow="";var d=c?G().clientWidth+"px":b.width,e=c?G().clientHeight+"px":b.height;if(o&&A<8||P)e=s(t(e)+2);var g=b.container=f(b.layout);c?f(document.body).append(g):b.srcElement.before(g);var h=f(".toolbar",g),j=f(".edit",g),k=b.statusbar=f(".statusbar",g);g.removeClass("container").addClass("ke-container ke-container-"+ | |||
b.themeType).css("width",d);if(c){g.css({position:"absolute",left:0,top:0,"z-index":811211});if(!Y)b._scrollPos=ca();w.scrollTo(0,0);f(document.body).css({height:"1px",overflow:"hidden"});f(document.body.parentNode).css("overflow","hidden");b._fullscreenExecuted=!0}else b._fullscreenExecuted&&(f(document.body).css({height:"",overflow:""}),f(document.body.parentNode).css("overflow","")),b._scrollPos&&w.scrollTo(b._scrollPos.x,b._scrollPos.y);var i=[];f.each(b.items,function(a,c){c=="|"?i.push('<span class="ke-inline-block ke-separator"></span>'): | |||
c=="/"?i.push('<div class="ke-hr"></div>'):(i.push('<span class="ke-outline" data-name="'+c+'" title="'+b.lang(c)+'" unselectable="on">'),i.push('<span class="ke-toolbar-icon ke-toolbar-icon-url ke-icon-'+c+'" unselectable="on"></span></span>'))});var h=b.toolbar=Cb({src:h,html:i.join(""),noDisableItems:b.noDisableItems,click:function(a,c){a.stop();if(b.menu){var d=b.menu.name;b.hideMenu();if(d===c)return}b.clickToolbar(c)}}),l=t(e)-h.div.height(),m=b.edit=Ab({height:l>0&&t(e)>b.minHeight?l:b.minHeight, | |||
src:j,srcElement:b.srcElement,designMode:b.designMode,themesPath:b.themesPath,bodyClass:b.bodyClass,cssPath:b.cssPath,cssData:b.cssData,beforeGetHtml:function(a){a=b.beforeGetHtml(a);a=T(Fa(a));return U(a,b.filterMode?b.htmlTags:null,b.urlType,b.wellFormatMode,b.indentChar)},beforeSetHtml:function(a){a=U(a,b.filterMode?b.htmlTags:null,"",!1);return b.beforeSetHtml(a)},afterSetHtml:function(){b.edit=m=this;b.afterSetHtml()},afterCreate:function(){b.edit=m=this;b.cmd=m.cmd;b._docMousedownFn=function(){b.menu&& | |||
b.hideMenu()};f(m.doc,document).mousedown(b._docMousedownFn);ac.call(b);bc.call(b);cc.call(b);dc.call(b);m.afterChange(function(){m.designMode&&(b.updateState(),b.addBookmark(),b.options.afterChange&&b.options.afterChange.call(b))});m.textarea.keyup(function(a){!a.ctrlKey&&!a.altKey&&Ob[a.which]&&b.options.afterChange&&b.options.afterChange.call(b)});b.readonlyMode&&b.readonly();b.isCreated=!0;if(b.initContent==="")b.initContent=b.html();if(b._undoStack.length>0){var a=b._undoStack.pop();a.start&& | |||
(b.html(a.html),m.cmd.range.moveToBookmark(a),b.select())}b.afterCreate();b.options.afterCreate&&b.options.afterCreate.call(b)}});k.removeClass("statusbar").addClass("ke-statusbar").append('<span class="ke-inline-block ke-statusbar-center-icon"></span>').append('<span class="ke-inline-block ke-statusbar-right-icon"></span>');if(b._fullscreenResizeHandler)f(w).unbind("resize",b._fullscreenResizeHandler),b._fullscreenResizeHandler=null;a();c?(b._fullscreenResizeHandler=function(){b.isCreated&&b.resize(G().clientWidth, | |||
G().clientHeight,!1)},f(w).bind("resize",b._fullscreenResizeHandler),h.select("fullscreen"),k.first().css("visibility","hidden"),k.last().css("visibility","hidden")):(Y&&f(w).bind("scroll",function(){b._scrollPos=ca()}),b.resizeType>0?Wa({moveEl:g,clickEl:k,moveFn:function(a,c,d,e,g,f){e+=f;b.resize(null,e)}}):k.first().css("visibility","hidden"),b.resizeType===2?Wa({moveEl:g,clickEl:k.last(),moveFn:function(a,c,d,e,g,f){d+=g;e+=f;b.resize(d,e)}}):k.last().css("visibility","hidden"));return b},remove:function(){var a= | |||
this;if(!a.isCreated)return a;a.beforeRemove();a.srcElement.data("kindeditor","");a.menu&&a.hideMenu();m(a.dialogs,function(){a.hideDialog()});f(document).unbind("mousedown",a._docMousedownFn);a.toolbar.remove();a.edit.remove();a.statusbar.last().unbind();a.statusbar.unbind();a.container.remove();a.container=a.toolbar=a.edit=a.menu=null;a.dialogs=[];a.isCreated=!1;return a},resize:function(a,b,c){c=l(c,!0);if(a&&(/%/.test(a)||(a=t(a),a=a<this.minWidth?this.minWidth:a),this.container.css("width",s(a)), | |||
c))this.width=s(a);if(b&&(b=t(b),editHeight=t(b)-this.toolbar.div.height()-this.statusbar.height(),editHeight=editHeight<this.minHeight?this.minHeight:editHeight,this.edit.setHeight(editHeight),c))this.height=s(b);return this},select:function(){this.isCreated&&this.cmd.select();return this},html:function(a){if(a===i)return this.isCreated?this.edit.html():pa(this.srcElement);this.isCreated?this.edit.html(a):pa(this.srcElement,a);this.isCreated&&this.cmd.selection();return this},fullHtml:function(){return this.isCreated? | |||
this.edit.html(i,!0):""},text:function(a){return a===i?B(this.html().replace(/<(?!img|embed).*?>/ig,"").replace(/ /ig," ")):this.html(C(a))},isEmpty:function(){return B(this.text().replace(/\r\n|\n|\r/,""))===""},isDirty:function(){return B(this.initContent.replace(/\r\n|\n|\r|t/g,""))!==B(this.html().replace(/\r\n|\n|\r|t/g,""))},selectedHtml:function(){var a=this.isCreated?this.cmd.range.html():"";return a=T(Fa(a))},count:function(a){a=(a||"html").toLowerCase();if(a==="html")return this.html().length; | |||
if(a==="text")return this.text().replace(/<(?:img|embed).*?>/ig,"K").replace(/\r\n|\n|\r/g,"").length;return 0},exec:function(a){var a=a.toLowerCase(),b=this.cmd,c=J(a,"selectall,copy,paste,print".split(","))<0;c&&this.addBookmark(!1);b[a].apply(b,Ja(arguments,1));c&&(this.updateState(),this.addBookmark(!1),this.options.afterChange&&this.options.afterChange.call(this));return this},insertHtml:function(a,b){if(!this.isCreated)return this;a=this.beforeSetHtml(a);this.exec("inserthtml",a,b);return this}, | |||
appendHtml:function(a){this.html(this.html()+a);if(this.isCreated)a=this.cmd,a.range.selectNodeContents(a.doc.body).collapse(!1),a.select();return this},sync:function(){pa(this.srcElement,this.html());return this},focus:function(){this.isCreated?this.edit.focus():this.srcElement[0].focus();return this},blur:function(){this.isCreated?this.edit.blur():this.srcElement[0].blur();return this},addBookmark:function(a){var a=l(a,!0),b=this.edit,c=b.doc.body,d=Fa(c.innerHTML);if(a&&this._undoStack.length> | |||
0&&Math.abs(d.length-T(this._undoStack[this._undoStack.length-1].html).length)<this.minChangeSize)return this;b.designMode&&!this._firstAddBookmark?(b=this.cmd.range,a=b.createBookmark(!0),a.html=Fa(c.innerHTML),b.moveToBookmark(a)):a={html:d};this._firstAddBookmark=!1;Jb(this._undoStack,a);return this},undo:function(){return Kb.call(this,this._undoStack,this._redoStack)},redo:function(){return Kb.call(this,this._redoStack,this._undoStack)},fullscreen:function(a){this.fullscreenMode=a===i?!this.fullscreenMode: | |||
a;this.addBookmark(!1);return this.remove().create()},readonly:function(a){var a=l(a,!0),b=this,c=b.edit,d=c.doc;b.designMode?b.toolbar.disableAll(a,[]):m(b.noDisableItems,function(){b.toolbar[a?"disable":"enable"](this)});o?d.body.contentEditable=!a:d.designMode=a?"off":"on";c.textarea[0].disabled=a},createMenu:function(a){var b=this.toolbar.get(a.name),c=b.pos();a.x=c.x;a.y=c.y+b.height();a.z=this.options.zIndex;a.shadowMode=l(a.shadowMode,this.shadowMode);a.selectedColor!==i?(a.cls="ke-colorpicker-"+ | |||
this.themeType,a.noColor=this.lang("noColor"),this.menu=Db(a)):(a.cls="ke-menu-"+this.themeType,a.centerLineMode=!1,this.menu=$a(a));return this.menu},hideMenu:function(){this.menu.remove();this.menu=null;return this},hideContextmenu:function(){this.contextmenu.remove();this.contextmenu=null;return this},createDialog:function(a){var b=this;a.z=b.options.zIndex;a.shadowMode=l(a.shadowMode,b.shadowMode);a.closeBtn=l(a.closeBtn,{name:b.lang("close"),click:function(){b.hideDialog();o&&b.cmd&&b.cmd.select()}}); | |||
a.noBtn=l(a.noBtn,{name:b.lang(a.yesBtn?"no":"close"),click:function(){b.hideDialog();o&&b.cmd&&b.cmd.select()}});if(b.dialogAlignType!="page")a.alignEl=b.container;a.cls="ke-dialog-"+b.themeType;if(b.dialogs.length>0){var c=b.dialogs[b.dialogs.length-1];b.dialogs[0].setMaskIndex(c.z+2);a.z=c.z+3;a.showMask=!1}a=Eb(a);b.dialogs.push(a);return a},hideDialog:function(){this.dialogs.length>0&&this.dialogs.pop().remove();this.dialogs.length>0&&this.dialogs[0].setMaskIndex(this.dialogs[this.dialogs.length- | |||
1].z-1);return this},errorDialog:function(a){var b=this.createDialog({width:750,title:this.lang("uploadError"),body:'<div style="padding:10px 20px;"><iframe frameborder="0" style="width:708px;height:400px;"></iframe></div>'}),b=f("iframe",b.div),c=f.iframeDoc(b);c.open();c.write(a);c.close();f(c.body).css("background-color","#FFF");b[0].contentWindow.focus();return this}};_instances=[];f.remove=function(a){va(a,function(a){this.remove();_instances.splice(a,1)})};f.sync=function(a){va(a,function(){this.sync()})}; | |||
f.html=function(a,b){va(a,function(){this.html(b)})};f.insertHtml=function(a,b){va(a,function(){this.insertHtml(b)})};f.appendHtml=function(a,b){va(a,function(){this.appendHtml(b)})};o&&A<7&&Q(document,"BackgroundImageCache",!0);f.EditorClass=ua;f.editor=function(a){return new ua(a)};f.create=Lb;f.instances=_instances;f.plugin=Gb;f.lang=Ib;Gb("core",function(a){var b=this,c={undo:"Z",redo:"Y",bold:"B",italic:"I",underline:"U",print:"P",selectall:"A"};b.afterSetHtml(function(){b.options.afterChange&& | |||
b.options.afterChange.call(b)});b.afterCreate(function(){if(b.syncType=="form"){for(var c=a(b.srcElement),d=!1;c=c.parent();)if(c.name=="form"){d=!0;break}if(d){c.bind("submit",function(){b.sync();a(w).bind("unload",function(){b.edit.textarea.remove()})});var f=a('[type="reset"]',c);f.click(function(){b.html(b.initContent);b.cmd.selection()});b.beforeRemove(function(){c.unbind();f.unbind()})}}});b.clickToolbar("source",function(){b.edit.designMode?(b.toolbar.disableAll(!0),b.edit.design(!1),b.toolbar.select("source")): | |||
(b.toolbar.disableAll(!1),b.edit.design(!0),b.toolbar.unselect("source"),Y?setTimeout(function(){b.cmd.selection()},0):b.cmd.selection());b.designMode=b.edit.designMode});b.afterCreate(function(){b.designMode||b.toolbar.disableAll(!0).select("source")});b.clickToolbar("fullscreen",function(){b.fullscreen()});if(b.fullscreenShortcut){var d=!1;b.afterCreate(function(){a(b.edit.doc,b.edit.textarea).keyup(function(a){a.which==27&&setTimeout(function(){b.fullscreen()},0)});if(d){if(o&&!b.designMode)return; | |||
b.focus()}d||(d=!0)})}m("undo,redo".split(","),function(a,d){c[d]&&b.afterCreate(function(){Ka(this.edit.doc,c[d],function(){b.clickToolbar(d)})});b.clickToolbar(d,function(){b[d]()})});b.clickToolbar("formatblock",function(){var a=b.lang("formatblock.formatBlock"),c={h1:28,h2:24,h3:18,H4:14,p:12},d=b.cmd.val("formatblock"),f=b.createMenu({name:"formatblock",width:b.langType=="en"?200:150});m(a,function(a,e){var i="font-size:"+c[a]+"px;";a.charAt(0)==="h"&&(i+="font-weight:bold;");f.addItem({title:'<span style="'+ | |||
i+'" unselectable="on">'+e+"</span>",height:c[a]+12,checked:d===a||d===e,click:function(){b.select().exec("formatblock","<"+a+">").hideMenu()}})})});b.clickToolbar("fontname",function(){var a=b.cmd.val("fontname"),c=b.createMenu({name:"fontname",width:150});m(b.lang("fontname.fontName"),function(d,f){c.addItem({title:'<span style="font-family: '+d+';" unselectable="on">'+f+"</span>",checked:a===d.toLowerCase()||a===f.toLowerCase(),click:function(){b.exec("fontname",d).hideMenu()}})})});b.clickToolbar("fontsize", | |||
function(){var a=b.cmd.val("fontsize"),c=b.createMenu({name:"fontsize",width:150});m(b.fontSizeTable,function(d,f){c.addItem({title:'<span style="font-size:'+f+';" unselectable="on">'+f+"</span>",height:t(f)+12,checked:a===f,click:function(){b.exec("fontsize",f).hideMenu()}})})});m("forecolor,hilitecolor".split(","),function(a,c){b.clickToolbar(c,function(){b.createMenu({name:c,selectedColor:b.cmd.val(c)||"default",colors:b.colorTable,click:function(a){b.exec(c,a).hideMenu()}})})});m("cut,copy,paste".split(","), | |||
function(a,c){b.clickToolbar(c,function(){b.focus();try{b.exec(c,null)}catch(a){alert(b.lang(c+"Error"))}})});b.clickToolbar("about",function(){var a='<div style="margin:20px;"><div>KindEditor '+Ha+'</div><div>Copyright © <a href="http://www.kindsoft.net/" target="_blank">kindsoft.net</a> All rights reserved.</div></div>';b.createDialog({name:"about",width:350,title:b.lang("about"),body:a})});b.plugin.getSelectedLink=function(){return b.cmd.commonAncestor("a")};b.plugin.getSelectedImage=function(){return Ea(b.edit.cmd.range, | |||
function(a){return!/^ke-\w+$/i.test(a[0].className)})};b.plugin.getSelectedFlash=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className=="ke-flash"})};b.plugin.getSelectedMedia=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className=="ke-media"||a[0].className=="ke-rm"})};b.plugin.getSelectedAnchor=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className=="ke-anchor"})};m("link,image,flash,media,anchor".split(","),function(a,c){var d=c.charAt(0).toUpperCase()+ | |||
c.substr(1);m("edit,delete".split(","),function(a,e){b.addContextmenu({title:b.lang(e+d),click:function(){b.loadPlugin(c,function(){b.plugin[c][e]();b.hideMenu()})},cond:b.plugin["getSelected"+d],width:150,iconClass:e=="edit"?"ke-icon-"+c:i})});b.addContextmenu({title:"-"})});b.plugin.getSelectedTable=function(){return b.cmd.commonAncestor("table")};b.plugin.getSelectedRow=function(){return b.cmd.commonAncestor("tr")};b.plugin.getSelectedCell=function(){return b.cmd.commonAncestor("td")};m("prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,rowsplit,colsplit,coldelete,rowdelete,insert,delete".split(","), | |||
function(a,c){var d=J(c,["prop","delete"])<0?b.plugin.getSelectedCell:b.plugin.getSelectedTable;b.addContextmenu({title:b.lang("table"+c),click:function(){b.loadPlugin("table",function(){b.plugin.table[c]();b.hideMenu()})},cond:d,width:170,iconClass:"ke-icon-table"+c})});b.addContextmenu({title:"-"});m("selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript,hr,print,bold,italic,underline,strikethrough,removeformat,unlink".split(","), | |||
function(a,d){c[d]&&b.afterCreate(function(){Ka(this.edit.doc,c[d],function(){b.cmd.selection();b.clickToolbar(d)})});b.clickToolbar(d,function(){b.focus().exec(d,null)})});b.afterCreate(function(){function c(){f.range.moveToBookmark(j);f.select();X&&(a("div."+l,i).each(function(){a(this).after("<br />").remove(!0)}),a("span.Apple-style-span",i).remove(!0),a("span.Apple-tab-span",i).remove(!0),a("span[style]",i).each(function(){a(this).css("white-space")=="nowrap"&&a(this).remove(!0)}),a("meta",i).remove()); | |||
var d=i[0].innerHTML;i.remove();d!==""&&(X&&(d=d.replace(/(<br>)\1/ig,"$1")),b.pasteType===2&&(d=d.replace(/(<(?:p|p\s[^>]*)>) *(<\/p>)/ig,""),/schemas-microsoft-com|worddocument|mso-\w+/i.test(d)?d=nb(d,b.filterMode?b.htmlTags:a.options.htmlTags):(d=U(d,b.filterMode?b.htmlTags:null),d=b.beforeSetHtml(d))),b.pasteType===1&&(d=d.replace(/ /ig," "),d=d.replace(/\n\s*\n/g,"\n"),d=d.replace(/<br[^>]*>/ig,"\n"),d=d.replace(/<\/p><p[^>]*>/ig,"\n"),d=d.replace(/<[^>]+>/g,""),d=d.replace(/ {2}/g," "), | |||
b.newlineTag=="p"?/\n/.test(d)&&(d=d.replace(/^/,"<p>").replace(/$/,"<br /></p>").replace(/\n/g,"<br /></p><p>")):d=d.replace(/\n/g,"<br />$&")),b.insertHtml(d,!0))}var d=b.edit.doc,f,j,i,l="__kindeditor_paste__",m=!1;a(d.body).bind("paste",function(p){if(b.pasteType===0)p.stop();else if(!m){m=!0;a("div."+l,d).remove();f=b.cmd.selection();j=f.range.createBookmark();i=a('<div class="'+l+'"></div>',d).css({position:"absolute",width:"1px",height:"1px",overflow:"hidden",left:"-1981px",top:a(j.start).pos().y+ | |||
"px","white-space":"nowrap"});a(d.body).append(i);if(o){var s=f.range.get(!0);s.moveToElementText(i[0]);s.select();s.execCommand("paste");p.preventDefault()}else f.range.selectNodeContents(i[0]),f.select();setTimeout(function(){c();m=!1},0)}})});b.beforeGetHtml(function(a){o&&A<=8&&(a=a.replace(/<div\s+[^>]*data-ke-input-tag="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b){return unescape(b)}),a=a.replace(/(<input)((?:\s+[^>]*)?>)/ig,function(a,b,c){if(!/\s+type="[^"]+"/i.test(a))return b+' type="text"'+ | |||
c;return a}));return a.replace(/(<(?:noscript|noscript\s[^>]*)>)([\s\S]*?)(<\/noscript>)/ig,function(a,b,c,d){return b+fa(c).replace(/\s+/g," ")+d}).replace(/<img[^>]*class="?ke-(flash|rm|media)"?[^>]*>/ig,function(a){var a=I(a),b=ba(a.style||""),c=pb(a["data-ke-tag"]),d=l(b.width,""),b=l(b.height,"");/px/i.test(d)&&(d=t(d));/px/i.test(b)&&(b=t(b));c.width=l(a.width,d);c.height=l(a.height,b);return Ma(c)}).replace(/<img[^>]*class="?ke-anchor"?[^>]*>/ig,function(a){a=I(a);return'<a name="'+unescape(a["data-ke-name"])+ | |||
'"></a>'}).replace(/<div\s+[^>]*data-ke-script-attr="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b,c){return"<script"+unescape(b)+">"+unescape(c)+"<\/script>"}).replace(/<div\s+[^>]*data-ke-noscript-attr="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b,c){return"<noscript"+unescape(b)+">"+unescape(c)+"</noscript>"}).replace(/(<[^>]*)data-ke-src="([^"]*)"([^>]*>)/ig,function(a,b,c){a=a.replace(/(\s+(?:href|src)=")[^"]*(")/i,function(a,b,d){return b+fa(c)+d});return a=a.replace(/\s+data-ke-src="[^"]*"/i, | |||
"")}).replace(/(<[^>]+\s)data-ke-(on\w+="[^"]*"[^>]*>)/ig,function(a,b,c){return b+c})});b.beforeSetHtml(function(a){o&&A<=8&&(a=a.replace(/<input[^>]*>|<(select|button)[^>]*>[\s\S]*?<\/\1>/ig,function(a){var b=I(a);if(ba(b.style||"").display=="none")return'<div class="ke-display-none" data-ke-input-tag="'+escape(a)+'"></div>';return a}));return a.replace(/<embed[^>]*type="([^"]+)"[^>]*>(?:<\/embed>)?/ig,function(a){a=I(a);a.src=l(a.src,"");a.width=l(a.width,0);a.height=l(a.height,0);return qb(b.themesPath+ | |||
"common/blank.gif",a)}).replace(/<a[^>]*name="([^"]+)"[^>]*>(?:<\/a>)?/ig,function(a){var c=I(a);if(c.href!==i)return a;return'<img class="ke-anchor" src="'+b.themesPath+'common/anchor.gif" data-ke-name="'+escape(c.name)+'" />'}).replace(/<script([^>]*)>([\s\S]*?)<\/script>/ig,function(a,b,c){return'<div class="ke-script" data-ke-script-attr="'+escape(b)+'">'+escape(c)+"</div>"}).replace(/<noscript([^>]*)>([\s\S]*?)<\/noscript>/ig,function(a,b,c){return'<div class="ke-noscript" data-ke-noscript-attr="'+ | |||
escape(b)+'">'+escape(c)+"</div>"}).replace(/(<[^>]*)(href|src)="([^"]*)"([^>]*>)/ig,function(a,b,c,d,e){if(a.match(/\sdata-ke-src="[^"]*"/i))return a;return a=b+c+'="'+d+'" data-ke-src="'+C(d)+'"'+e}).replace(/(<[^>]+\s)(on\w+="[^"]*"[^>]*>)/ig,function(a,b,c){return b+"data-ke-"+c}).replace(/<table[^>]*\s+border="0"[^>]*>/ig,function(a){if(a.indexOf("ke-zeroborder")>=0)return a;return Sb(a,"ke-zeroborder")})})})}})(window); |
@@ -0,0 +1,242 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
* Arabic Translation By daif alotaibi (http://daif.net/) | |||
*******************************************************************************/ | |||
KindEditor.lang({ | |||
source : 'عرض المصدر', | |||
preview : 'معاينة الصفحة', | |||
undo : 'تراجع(Ctrl+Z)', | |||
redo : 'إعادة التراجع(Ctrl+Y)', | |||
cut : 'قص(Ctrl+X)', | |||
copy : 'نسخ(Ctrl+C)', | |||
paste : 'لصق(Ctrl+V)', | |||
plainpaste : 'لصق كنص عادي', | |||
wordpaste : 'لصق من مايكروسفت ورد', | |||
selectall : 'تحديد الكل', | |||
justifyleft : 'محاذاه لليسار', | |||
justifycenter : 'محاذاه للوسط', | |||
justifyright : 'محاذاه لليمين', | |||
justifyfull : 'محاذاه تلقائية', | |||
insertorderedlist : 'قائمة مرقمه', | |||
insertunorderedlist : 'قائمة نقطية', | |||
indent : 'إزاحه النص', | |||
outdent : 'إلغاء الازاحة', | |||
subscript : 'أسفل النص', | |||
superscript : 'أعلى النص', | |||
formatblock : 'Paragraph format', | |||
fontname : 'نوع الخط', | |||
fontsize : 'حجم الخط', | |||
forecolor : 'لون النص', | |||
hilitecolor : 'لون خلفية النص', | |||
bold : 'عريض(Ctrl+B)', | |||
italic : 'مائل(Ctrl+I)', | |||
underline : 'خط تحت النص(Ctrl+U)', | |||
strikethrough : 'خط على النص', | |||
removeformat : 'إزالة التنسيق', | |||
image : 'إدراج صورة', | |||
multiimage : 'Multi image', | |||
flash : 'إدراج فلاش', | |||
media : 'إدراج وسائط متعددة', | |||
table : 'إدراج جدول', | |||
tablecell : 'خلية', | |||
hr : 'إدراج خط أفقي', | |||
emoticons : 'إدراج وجه ضاحك', | |||
link : 'رابط', | |||
unlink : 'إزالة الرابط', | |||
fullscreen : 'محرر ملئ الشاشة', | |||
about : 'حول', | |||
print : 'طباعة', | |||
filemanager : 'مدير الملفات', | |||
code : 'إدراج نص برمجي', | |||
map : 'خرائط قووقل', | |||
baidumap : 'خرائط قووقل', | |||
lineheight : 'إرتفاع السطر', | |||
clearhtml : 'مسح كود HTML', | |||
pagebreak : 'إدراج فاصل صفحات', | |||
quickformat : 'تنسيق سريع', | |||
insertfile : 'إدراج ملف', | |||
template : 'إدراج قالب', | |||
anchor : 'رابط', | |||
yes : 'موافق', | |||
no : 'إلغاء', | |||
close : 'إغلاق', | |||
editImage : 'خصائص الصورة', | |||
deleteImage : 'حذفالصورة', | |||
editFlash : 'خصائص الفلاش', | |||
deleteFlash : 'حذف الفلاش', | |||
editMedia : 'خصائص الوسائط', | |||
deleteMedia : 'حذف الوسائط', | |||
editLink : 'خصائص الرابط', | |||
deleteLink : 'إزالة الرابط', | |||
editAnchor : 'Anchor properties', | |||
deleteAnchor : 'Delete Anchor', | |||
tableprop : 'خصائص الجدول', | |||
tablecellprop : 'خصائص الخلية', | |||
tableinsert : 'إدراج جدول', | |||
tabledelete : 'حذف جدول', | |||
tablecolinsertleft : 'إدراج عمود لليسار', | |||
tablecolinsertright : 'إدراج عمود لليسار', | |||
tablerowinsertabove : 'إدراج صف للأعلى', | |||
tablerowinsertbelow : 'إدراج صف للأسفل', | |||
tablerowmerge : 'دمج للأسفل', | |||
tablecolmerge : 'دمج لليمين', | |||
tablerowsplit : 'تقسم الصف', | |||
tablecolsplit : 'تقسيم العمود', | |||
tablecoldelete : 'حذف العمود', | |||
tablerowdelete : 'حذف الصف', | |||
noColor : 'إفتراضي', | |||
pleaseSelectFile : 'Please select file.', | |||
invalidImg : "الرجاء إدخال رابط صحيح.\nالملفات المسموح بها: jpg,gif,bmp,png", | |||
invalidMedia : "الرجاء إدخال رابط صحيح.\nالملفات المسموح بها: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb", | |||
invalidWidth : "العرض يجب أن يكون رقم.", | |||
invalidHeight : "الإرتفاع يجب أن يكون رقم.", | |||
invalidBorder : "عرض الحد يجب أن يكون رقم.", | |||
invalidUrl : "الرجاء إدخال رابط حيح.", | |||
invalidRows : 'صفوف غير صحيح.', | |||
invalidCols : 'أعمدة غير صحيحة.', | |||
invalidPadding : 'The padding must be number.', | |||
invalidSpacing : 'The spacing must be number.', | |||
invalidJson : 'Invalid JSON string.', | |||
uploadSuccess : 'تم رفع الملف بنجاح.', | |||
cutError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+X).', | |||
copyError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+C).', | |||
pasteError : 'حاليا غير مدعومة من المتصفح, إستخدم إختصار لوحة المفاتيح (Ctrl+V).', | |||
ajaxLoading : 'Loading ...', | |||
uploadLoading : 'Uploading ...', | |||
uploadError : 'Upload Error', | |||
'plainpaste.comment' : 'إستخدم إختصار لوحة المفاتيح (Ctrl+V) للصق داخل النافذة.', | |||
'wordpaste.comment' : 'إستخدم إختصار لوحة المفاتيح (Ctrl+V) للصق داخل النافذة.', | |||
'code.pleaseInput' : 'Please input code.', | |||
'link.url' : 'الرابط', | |||
'link.linkType' : 'الهدف', | |||
'link.newWindow' : 'نافذة جديدة', | |||
'link.selfWindow' : 'نفس النافذة', | |||
'flash.url' : 'الرابط', | |||
'flash.width' : 'العرض', | |||
'flash.height' : 'الإرتفاع', | |||
'flash.upload' : 'رفع', | |||
'flash.viewServer' : 'أستعراض', | |||
'media.url' : 'الرابط', | |||
'media.width' : 'العرض', | |||
'media.height' : 'الإرتفاع', | |||
'media.autostart' : 'تشغيل تلقائي', | |||
'media.upload' : 'رفع', | |||
'media.viewServer' : 'أستعراض', | |||
'image.remoteImage' : 'إدراج الرابط', | |||
'image.localImage' : 'رفع', | |||
'image.remoteUrl' : 'الرابط', | |||
'image.localUrl' : 'الملف', | |||
'image.size' : 'الحجم', | |||
'image.width' : 'العرض', | |||
'image.height' : 'الإرتفاع', | |||
'image.resetSize' : 'إستعادة الأبعاد', | |||
'image.align' : 'محاذاة', | |||
'image.defaultAlign' : 'الإفتراضي', | |||
'image.leftAlign' : 'اليسار', | |||
'image.rightAlign' : 'اليمين', | |||
'image.imgTitle' : 'العنوان', | |||
'image.upload' : 'أستعراض', | |||
'image.viewServer' : 'أستعراض', | |||
'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>', | |||
'multiimage.startUpload' : 'Start upload', | |||
'multiimage.clearAll' : 'Clear all', | |||
'multiimage.insertAll' : 'Insert all', | |||
'multiimage.queueLimitExceeded' : 'Queue limit exceeded.', | |||
'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.', | |||
'multiimage.zeroByteFile' : 'Zero byte file.', | |||
'multiimage.invalidFiletype' : 'Invalid file type.', | |||
'multiimage.unknownError' : 'Unknown upload error.', | |||
'multiimage.pending' : 'Pending ...', | |||
'multiimage.uploadError' : 'Upload error', | |||
'filemanager.emptyFolder' : 'فارغ', | |||
'filemanager.moveup' : 'المجلد الأب', | |||
'filemanager.viewType' : 'العرض: ', | |||
'filemanager.viewImage' : 'مصغرات', | |||
'filemanager.listImage' : 'قائمة', | |||
'filemanager.orderType' : 'الترتيب: ', | |||
'filemanager.fileName' : 'بالإسم', | |||
'filemanager.fileSize' : 'بالحجم', | |||
'filemanager.fileType' : 'بالنوع', | |||
'insertfile.url' : 'الرابط', | |||
'insertfile.title' : 'العنوان', | |||
'insertfile.upload' : 'رفع', | |||
'insertfile.viewServer' : 'أستعراض', | |||
'table.cells' : 'خلايا', | |||
'table.rows' : 'صفوف', | |||
'table.cols' : 'أعمدة', | |||
'table.size' : 'الأبعاد', | |||
'table.width' : 'العرض', | |||
'table.height' : 'الإرتفاع', | |||
'table.percent' : '%', | |||
'table.px' : 'px', | |||
'table.space' : 'الخارج', | |||
'table.padding' : 'الداخل', | |||
'table.spacing' : 'الفراغات', | |||
'table.align' : 'محاذاه', | |||
'table.textAlign' : 'افقى', | |||
'table.verticalAlign' : 'رأسي', | |||
'table.alignDefault' : 'إفتراضي', | |||
'table.alignLeft' : 'يسار', | |||
'table.alignCenter' : 'وسط', | |||
'table.alignRight' : 'يمين', | |||
'table.alignTop' : 'أعلى', | |||
'table.alignMiddle' : 'منتصف', | |||
'table.alignBottom' : 'أسفل', | |||
'table.alignBaseline' : 'Baseline', | |||
'table.border' : 'الحدود', | |||
'table.borderWidth' : 'العرض', | |||
'table.borderColor' : 'اللون', | |||
'table.backgroundColor' : 'الخلفية', | |||
'map.address' : 'العنوان: ', | |||
'map.search' : 'بحث', | |||
'baidumap.address' : 'العنوان: ', | |||
'baidumap.search' : 'بحث', | |||
'baidumap.insertDynamicMap' : 'Dynamic Map', | |||
'anchor.name' : 'إسم الرابط', | |||
'formatblock.formatBlock' : { | |||
h1 : 'عنوان 1', | |||
h2 : 'عنوان 2', | |||
h3 : 'عنوان 3', | |||
h4 : 'عنوان 4', | |||
p : 'عادي' | |||
}, | |||
'fontname.fontName' : { | |||
'Arial' : 'Arial', | |||
'Arial Black' : 'Arial Black', | |||
'Comic Sans MS' : 'Comic Sans MS', | |||
'Courier New' : 'Courier New', | |||
'Garamond' : 'Garamond', | |||
'Georgia' : 'Georgia', | |||
'Tahoma' : 'Tahoma', | |||
'Times New Roman' : 'Times New Roman', | |||
'Trebuchet MS' : 'Trebuchet MS', | |||
'Verdana' : 'Verdana' | |||
}, | |||
'lineheight.lineHeight' : [ | |||
{'1' : 'إرتفاع السطر 1'}, | |||
{'1.5' : 'إرتفاع السطر 1.5'}, | |||
{'2' : 'إرتفاع السطر 2'}, | |||
{'2.5' : 'إرتفاع السطر 2.5'}, | |||
{'3' : 'إرتفاع السطر 3'} | |||
], | |||
'template.selectTemplate' : 'قالب', | |||
'template.replaceContent' : 'إستبدال المحتوى الحالي', | |||
'template.fileList' : { | |||
'1.html' : 'صورة ونص', | |||
'2.html' : 'جدول', | |||
'3.html' : 'قائمة' | |||
} | |||
}, 'ar'); | |||
KindEditor.each(KindEditor.options.items, function(i, name) { | |||
if (name == 'baidumap') { | |||
KindEditor.options.items[i] = 'map'; | |||
} | |||
}); | |||
KindEditor.options.langType = 'ar'; |
@@ -0,0 +1,241 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.lang({ | |||
source : 'Source', | |||
preview : 'Preview', | |||
undo : 'Undo(Ctrl+Z)', | |||
redo : 'Redo(Ctrl+Y)', | |||
cut : 'Cut(Ctrl+X)', | |||
copy : 'Copy(Ctrl+C)', | |||
paste : 'Paste(Ctrl+V)', | |||
plainpaste : 'Paste as plain text', | |||
wordpaste : 'Paste from Word', | |||
selectall : 'Select all', | |||
justifyleft : 'Align left', | |||
justifycenter : 'Align center', | |||
justifyright : 'Align right', | |||
justifyfull : 'Align full', | |||
insertorderedlist : 'Ordered list', | |||
insertunorderedlist : 'Unordered list', | |||
indent : 'Increase indent', | |||
outdent : 'Decrease indent', | |||
subscript : 'Subscript', | |||
superscript : 'Superscript', | |||
formatblock : 'Paragraph format', | |||
fontname : 'Font family', | |||
fontsize : 'Font size', | |||
forecolor : 'Text color', | |||
hilitecolor : 'Highlight color', | |||
bold : 'Bold(Ctrl+B)', | |||
italic : 'Italic(Ctrl+I)', | |||
underline : 'Underline(Ctrl+U)', | |||
strikethrough : 'Strikethrough', | |||
removeformat : 'Remove format', | |||
image : 'Image', | |||
multiimage : 'Multi image', | |||
flash : 'Flash', | |||
media : 'Embeded media', | |||
table : 'Table', | |||
tablecell : 'Cell', | |||
hr : 'Insert horizontal line', | |||
emoticons : 'Insert emoticon', | |||
link : 'Link', | |||
unlink : 'Unlink', | |||
fullscreen : 'Toggle fullscreen mode', | |||
about : 'About', | |||
print : 'Print', | |||
filemanager : 'File Manager', | |||
code : 'Insert code', | |||
map : 'Google Maps', | |||
baidumap : 'Baidu Maps', | |||
lineheight : 'Line height', | |||
clearhtml : 'Clear HTML code', | |||
pagebreak : 'Insert Page Break', | |||
quickformat : 'Quick Format', | |||
insertfile : 'Insert file', | |||
template : 'Insert Template', | |||
anchor : 'Anchor', | |||
yes : 'OK', | |||
no : 'Cancel', | |||
close : 'Close', | |||
editImage : 'Image properties', | |||
deleteImage : 'Delete image', | |||
editFlash : 'Flash properties', | |||
deleteFlash : 'Delete flash', | |||
editMedia : 'Media properties', | |||
deleteMedia : 'Delete media', | |||
editLink : 'Link properties', | |||
deleteLink : 'Unlink', | |||
editAnchor : 'Anchor properties', | |||
deleteAnchor : 'Delete Anchor', | |||
tableprop : 'Table properties', | |||
tablecellprop : 'Cell properties', | |||
tableinsert : 'Insert table', | |||
tabledelete : 'Delete table', | |||
tablecolinsertleft : 'Insert column left', | |||
tablecolinsertright : 'Insert column right', | |||
tablerowinsertabove : 'Insert row above', | |||
tablerowinsertbelow : 'Insert row below', | |||
tablerowmerge : 'Merge down', | |||
tablecolmerge : 'Merge right', | |||
tablerowsplit : 'Split row', | |||
tablecolsplit : 'Split column', | |||
tablecoldelete : 'Delete column', | |||
tablerowdelete : 'Delete row', | |||
noColor : 'Default', | |||
pleaseSelectFile : 'Please select file.', | |||
invalidImg : "Please type valid URL.\nAllowed file extension: jpg,gif,bmp,png", | |||
invalidMedia : "Please type valid URL.\nAllowed file extension: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb", | |||
invalidWidth : "The width must be number.", | |||
invalidHeight : "The height must be number.", | |||
invalidBorder : "The border must be number.", | |||
invalidUrl : "Please type valid URL.", | |||
invalidRows : 'Invalid rows.', | |||
invalidCols : 'Invalid columns.', | |||
invalidPadding : 'The padding must be number.', | |||
invalidSpacing : 'The spacing must be number.', | |||
invalidJson : 'Invalid JSON string.', | |||
uploadSuccess : 'Upload success.', | |||
cutError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+X) instead.', | |||
copyError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+C) instead.', | |||
pasteError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+V) instead.', | |||
ajaxLoading : 'Loading ...', | |||
uploadLoading : 'Uploading ...', | |||
uploadError : 'Upload Error', | |||
'plainpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.', | |||
'wordpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.', | |||
'code.pleaseInput' : 'Please input code.', | |||
'link.url' : 'URL', | |||
'link.linkType' : 'Target', | |||
'link.newWindow' : 'New window', | |||
'link.selfWindow' : 'Same window', | |||
'flash.url' : 'URL', | |||
'flash.width' : 'Width', | |||
'flash.height' : 'Height', | |||
'flash.upload' : 'Upload', | |||
'flash.viewServer' : 'Browse', | |||
'media.url' : 'URL', | |||
'media.width' : 'Width', | |||
'media.height' : 'Height', | |||
'media.autostart' : 'Auto start', | |||
'media.upload' : 'Upload', | |||
'media.viewServer' : 'Browse', | |||
'image.remoteImage' : 'Insert URL', | |||
'image.localImage' : 'Upload', | |||
'image.remoteUrl' : 'URL', | |||
'image.localUrl' : 'File', | |||
'image.size' : 'Size', | |||
'image.width' : 'Width', | |||
'image.height' : 'Height', | |||
'image.resetSize' : 'Reset dimensions', | |||
'image.align' : 'Align', | |||
'image.defaultAlign' : 'Default', | |||
'image.leftAlign' : 'Left', | |||
'image.rightAlign' : 'Right', | |||
'image.imgTitle' : 'Title', | |||
'image.upload' : 'Browse', | |||
'image.viewServer' : 'Browse', | |||
'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>', | |||
'multiimage.startUpload' : 'Start upload', | |||
'multiimage.clearAll' : 'Clear all', | |||
'multiimage.insertAll' : 'Insert all', | |||
'multiimage.queueLimitExceeded' : 'Queue limit exceeded.', | |||
'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.', | |||
'multiimage.zeroByteFile' : 'Zero byte file.', | |||
'multiimage.invalidFiletype' : 'Invalid file type.', | |||
'multiimage.unknownError' : 'Unknown upload error.', | |||
'multiimage.pending' : 'Pending ...', | |||
'multiimage.uploadError' : 'Upload error', | |||
'filemanager.emptyFolder' : 'Blank', | |||
'filemanager.moveup' : 'Parent folder', | |||
'filemanager.viewType' : 'Display: ', | |||
'filemanager.viewImage' : 'Thumbnails', | |||
'filemanager.listImage' : 'List', | |||
'filemanager.orderType' : 'Sorting: ', | |||
'filemanager.fileName' : 'By name', | |||
'filemanager.fileSize' : 'By size', | |||
'filemanager.fileType' : 'By type', | |||
'insertfile.url' : 'URL', | |||
'insertfile.title' : 'Title', | |||
'insertfile.upload' : 'Upload', | |||
'insertfile.viewServer' : 'Browse', | |||
'table.cells' : 'Cells', | |||
'table.rows' : 'Rows', | |||
'table.cols' : 'Columns', | |||
'table.size' : 'Dimensions', | |||
'table.width' : 'Width', | |||
'table.height' : 'Height', | |||
'table.percent' : '%', | |||
'table.px' : 'px', | |||
'table.space' : 'Space', | |||
'table.padding' : 'Padding', | |||
'table.spacing' : 'Spacing', | |||
'table.align' : 'Align', | |||
'table.textAlign' : 'Horizontal', | |||
'table.verticalAlign' : 'Vertical', | |||
'table.alignDefault' : 'Default', | |||
'table.alignLeft' : 'Left', | |||
'table.alignCenter' : 'Center', | |||
'table.alignRight' : 'Right', | |||
'table.alignTop' : 'Top', | |||
'table.alignMiddle' : 'Middle', | |||
'table.alignBottom' : 'Bottom', | |||
'table.alignBaseline' : 'Baseline', | |||
'table.border' : 'Border', | |||
'table.borderWidth' : 'Width', | |||
'table.borderColor' : 'Color', | |||
'table.backgroundColor' : 'Background', | |||
'map.address' : 'Address: ', | |||
'map.search' : 'Search', | |||
'baidumap.address' : 'Address: ', | |||
'baidumap.search' : 'Search', | |||
'baidumap.insertDynamicMap' : 'Dynamic Map', | |||
'anchor.name' : 'Anchor name', | |||
'formatblock.formatBlock' : { | |||
h1 : 'Heading 1', | |||
h2 : 'Heading 2', | |||
h3 : 'Heading 3', | |||
h4 : 'Heading 4', | |||
p : 'Normal' | |||
}, | |||
'fontname.fontName' : { | |||
'Arial' : 'Arial', | |||
'Arial Black' : 'Arial Black', | |||
'Comic Sans MS' : 'Comic Sans MS', | |||
'Courier New' : 'Courier New', | |||
'Garamond' : 'Garamond', | |||
'Georgia' : 'Georgia', | |||
'Tahoma' : 'Tahoma', | |||
'Times New Roman' : 'Times New Roman', | |||
'Trebuchet MS' : 'Trebuchet MS', | |||
'Verdana' : 'Verdana' | |||
}, | |||
'lineheight.lineHeight' : [ | |||
{'1' : 'Line height 1'}, | |||
{'1.5' : 'Line height 1.5'}, | |||
{'2' : 'Line height 2'}, | |||
{'2.5' : 'Line height 2.5'}, | |||
{'3' : 'Line height 3'} | |||
], | |||
'template.selectTemplate' : 'Template', | |||
'template.replaceContent' : 'Replace current content', | |||
'template.fileList' : { | |||
'1.html' : 'Image and Text', | |||
'2.html' : 'Table', | |||
'3.html' : 'List' | |||
} | |||
}, 'en'); | |||
KindEditor.each(KindEditor.options.items, function(i, name) { | |||
if (name == 'baidumap') { | |||
KindEditor.options.items[i] = 'map'; | |||
} | |||
}); | |||
KindEditor.options.langType = 'en'; |
@@ -0,0 +1,246 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Composite <ukjinplant@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.lang({ | |||
source : '소스', | |||
preview : '미리보기', | |||
undo : '작업취소(Ctrl+Z)', | |||
redo : '작업재개(Ctrl+Y)', | |||
cut : '잘라내기(Ctrl+X)', | |||
copy : '복사(Ctrl+C)', | |||
paste : '붙여넣기(Ctrl+V)', | |||
plainpaste : '일반 텍스트로 붙여넣기', | |||
wordpaste : '워드 문서로 붙여넣기', | |||
selectall : '전체 선택', | |||
justifyleft : '왼쪽 정렬', | |||
justifycenter : '가운데 정렬', | |||
justifyright : '오른쪽 정렬', | |||
justifyfull : '양쪽 정렬', | |||
insertorderedlist : '순서 목록', | |||
insertunorderedlist : '비순서 목록', | |||
indent : '들여쓰기', | |||
outdent : '내어쓰기', | |||
subscript : '아랫첨자', | |||
superscript : '윗첨자', | |||
formatblock : '문단 형식', | |||
fontname : '글꼴', | |||
fontsize : '글자 크기', | |||
forecolor : '글자색', | |||
hilitecolor : '강조색', | |||
bold : '굵게(Ctrl+B)', | |||
italic : '이텔릭(Ctrl+I)', | |||
underline : '빝줄(Ctrl+U)', | |||
strikethrough : '취소선', | |||
removeformat : '형식 제거', | |||
image : '이미지 추가', | |||
multiimage : '여러 이미지 추가', | |||
flash : '플래시 추가', | |||
media : '미디어 추가', | |||
table : '표', | |||
tablecell : '열', | |||
hr : '구분선 추가', | |||
emoticons : '이모티콘 추가', | |||
link : '링크', | |||
unlink : '링크 제거', | |||
fullscreen : '전체 화면 모드', | |||
about : '이 에디터는...', | |||
print : '인쇄', | |||
filemanager : '파일 관리자', | |||
code : '코드 추가', | |||
map : '구글 맵 추가', | |||
baidumap : '바이두 맵 추가', | |||
lineheight : '행 간격', | |||
clearhtml : 'HTML 코드 정리', | |||
pagebreak : '페이지 구분 추가', | |||
quickformat : '빠른 형식', | |||
insertfile : '파일 추가', | |||
template : '템플릿 추가', | |||
anchor : '책갈피', | |||
yes : '확인', | |||
no : '취소', | |||
close : '닫기', | |||
editImage : '이미지 속성', | |||
deleteImage : '이미지 삭제', | |||
editFlash : '플래시 속성', | |||
deleteFlash : '플래시 삭제', | |||
editMedia : '미디어 속성', | |||
deleteMedia : '미디어 삭제', | |||
editLink : '링크 속성', | |||
deleteLink : '링크 삭제', | |||
editAnchor : 'Anchor properties', | |||
deleteAnchor : 'Delete Anchor', | |||
tableprop : '표 속성', | |||
tablecellprop : '열 속성', | |||
tableinsert : '표 추가', | |||
tabledelete : '표 삭제', | |||
tablecolinsertleft : '왼쪽으로 열 추가', | |||
tablecolinsertright : '오른쪽으로 열 추가', | |||
tablerowinsertabove : '위쪽으로 열 추가', | |||
tablerowinsertbelow : '아래쪽으로 열 추가', | |||
tablerowmerge : '아래로 병합', | |||
tablecolmerge : '오른쪽으로 병합', | |||
tablerowsplit : '행 나누기', | |||
tablecolsplit : '열 나누기', | |||
tablecoldelete : '열 삭제', | |||
tablerowdelete : '행 삭제', | |||
noColor : '기본색', | |||
pleaseSelectFile : '파일 선택', | |||
invalidImg : "올바른 주소를 입력하세요.\njpg,gif,bmp,png 형식이 가능합니다.", | |||
invalidMedia : "올바른 주소를 입력하세요.\nswf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb 형식이 가능합니다.", | |||
invalidWidth : "넓이 값은 숫자여야 합니다.", | |||
invalidHeight : "높이 값은 숫자여야 합니다.", | |||
invalidBorder : "굵기 값은 숫자여야 합니다.", | |||
invalidUrl : "올바른 주소를 입력하세요.", | |||
invalidRows : '올바른 행이 아닙니다.', | |||
invalidCols : '올바른 열이 아닙니다.', | |||
invalidPadding : '안쪽 여백 값은 숫자여야 합니다.', | |||
invalidSpacing : '간격 길이 값은 숫자여야 합니다.', | |||
invalidJson : '올바른 JSON 형식이 아닙니다.', | |||
uploadSuccess : '업로드가 완료되었습니다.', | |||
cutError : '브라우저가 잘라내기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)', | |||
copyError : '브라우저가 복사 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)', | |||
pasteError : '브라우저가 붙여넣기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)', | |||
ajaxLoading : '불러오는 중 ...', | |||
uploadLoading : '업로드 중 ...', | |||
uploadError : '업로드 오류', | |||
'plainpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 텍스트를 붙여넣으세요.', | |||
'wordpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 워드 텍스트를 붙여넣으세요.', | |||
'code.pleaseInput' : 'Please input code.', | |||
'link.url' : '주소', | |||
'link.linkType' : '창', | |||
'link.newWindow' : '새 창', | |||
'link.selfWindow' : '현재 창', | |||
'flash.url' : '주소', | |||
'flash.width' : '넓이', | |||
'flash.height' : '높이', | |||
'flash.upload' : '업로드', | |||
'flash.viewServer' : '찾아보기', | |||
'media.url' : '주소', | |||
'media.width' : '넓이', | |||
'media.height' : '높이', | |||
'media.autostart' : '자동 시작', | |||
'media.upload' : '업로드', | |||
'media.viewServer' : '찾아보기', | |||
'image.remoteImage' : '외부 이미지', | |||
'image.localImage' : '내부 이미지', | |||
'image.remoteUrl' : '주소', | |||
'image.localUrl' : '파일', | |||
'image.size' : '크기', | |||
'image.width' : '넓이', | |||
'image.height' : '높이', | |||
'image.resetSize' : '기본 크기로', | |||
'image.align' : '정렬', | |||
'image.defaultAlign' : '기본', | |||
'image.leftAlign' : '왼쪽', | |||
'image.rightAlign' : '오른쪽', | |||
'image.imgTitle' : '제목', | |||
'image.upload' : '찾아보기', | |||
'image.viewServer' : '찾아보기', | |||
'multiimage.uploadDesc' : '최대 이미지 개수: <%=uploadLimit%>개, 개당 이미지 크기: <%=sizeLimit%>', | |||
'multiimage.startUpload' : '업로드 시작', | |||
'multiimage.clearAll' : '모두 삭제', | |||
'multiimage.insertAll' : '모두 삽입', | |||
'multiimage.queueLimitExceeded' : '업로드 개수가 초과되었습니다.', | |||
'multiimage.fileExceedsSizeLimit' : '업로드 크기가 초과되었습니다.', | |||
'multiimage.zeroByteFile' : '파일 크기가 없습니다.', | |||
'multiimage.invalidFiletype' : '올바른 이미지가 아닙니다.', | |||
'multiimage.unknownError' : '알 수 없는 업로드 오류가 발생하였습니다.', | |||
'multiimage.pending' : '처리 중 ...', | |||
'multiimage.uploadError' : '업로드 오류', | |||
'filemanager.emptyFolder' : '빈 폴더', | |||
'filemanager.moveup' : '위로', | |||
'filemanager.viewType' : '보기 방식: ', | |||
'filemanager.viewImage' : '미리 보기', | |||
'filemanager.listImage' : '목록', | |||
'filemanager.orderType' : '정렬 방식: ', | |||
'filemanager.fileName' : '이름별', | |||
'filemanager.fileSize' : '크기별', | |||
'filemanager.fileType' : '종류별', | |||
'insertfile.url' : '주소', | |||
'insertfile.title' : '제목', | |||
'insertfile.upload' : '업로드', | |||
'insertfile.viewServer' : '찾아보기', | |||
'table.cells' : '열', | |||
'table.rows' : '행', | |||
'table.cols' : '열', | |||
'table.size' : '표 크기', | |||
'table.width' : '넓이', | |||
'table.height' : '높이', | |||
'table.percent' : '%', | |||
'table.px' : 'px', | |||
'table.space' : '간격', | |||
'table.padding' : '안쪽여백', | |||
'table.spacing' : '간격', | |||
'table.align' : '정렬', | |||
'table.textAlign' : '수직', | |||
'table.verticalAlign' : '수평', | |||
'table.alignDefault' : '기본', | |||
'table.alignLeft' : '왼쪽', | |||
'table.alignCenter' : '가운데', | |||
'table.alignRight' : '오른쪽', | |||
'table.alignTop' : '위쪽', | |||
'table.alignMiddle' : '중간', | |||
'table.alignBottom' : '아래쪽', | |||
'table.alignBaseline' : '글자기준', | |||
'table.border' : '테두리', | |||
'table.borderWidth' : '크기', | |||
'table.borderColor' : '색상', | |||
'table.backgroundColor' : '배경', | |||
'map.address' : '주소: ', | |||
'map.search' : '검색', | |||
'baidumap.address' : '주소: ', | |||
'baidumap.search' : '검색', | |||
'baidumap.insertDynamicMap' : '동적 지도', | |||
'anchor.name' : '책갈피명', | |||
'formatblock.formatBlock' : { | |||
h1 : '제목 1', | |||
h2 : '제목 2', | |||
h3 : '제목 3', | |||
h4 : '제목 4', | |||
p : '본문' | |||
}, | |||
'fontname.fontName' : { | |||
'Gulim' : '굴림', | |||
'Dotum' : '돋움', | |||
'Batang' : '바탕', | |||
'Gungsuh' : '궁서', | |||
'Malgun Gothic' : '맑은 고딕', | |||
'Arial' : 'Arial', | |||
'Arial Black' : 'Arial Black', | |||
'Comic Sans MS' : 'Comic Sans MS', | |||
'Courier New' : 'Courier New', | |||
'Garamond' : 'Garamond', | |||
'Georgia' : 'Georgia', | |||
'Tahoma' : 'Tahoma', | |||
'Times New Roman' : 'Times New Roman', | |||
'Trebuchet MS' : 'Trebuchet MS', | |||
'Verdana' : 'Verdana' | |||
}, | |||
'lineheight.lineHeight' : [ | |||
{'1' : '행간 1'}, | |||
{'1.5' : '행간 1.5'}, | |||
{'2' : '행간 2'}, | |||
{'2.5' : '행간 2.5'}, | |||
{'3' : '행간 3'} | |||
], | |||
'template.selectTemplate' : '템플릿', | |||
'template.replaceContent' : '내용 바꾸기', | |||
'template.fileList' : { | |||
'1.html' : '이미지와 텍스트', | |||
'2.html' : '표', | |||
'3.html' : '목록' | |||
} | |||
}, 'ko'); | |||
KindEditor.each(KindEditor.options.items, function(i, name) { | |||
if (name == 'baidumap') { | |||
KindEditor.options.items[i] = 'map'; | |||
} | |||
}); | |||
KindEditor.options.langType = 'ko'; |
@@ -0,0 +1,242 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
* Translated to Russian by Valery Votintsev (http://codersclub.org/) | |||
*******************************************************************************/ | |||
KindEditor.lang({ | |||
source : 'Source', | |||
preview : 'Preview', | |||
undo : 'Отмена(Ctrl+Z)', | |||
redo : 'Повтор(Ctrl+Y)', | |||
cut : 'Вырезать(Ctrl+X)', | |||
copy : 'Копировать(Ctrl+C)', | |||
paste : 'Вставить(Ctrl+V)', | |||
plainpaste : 'Вставить как простой текст', | |||
wordpaste : 'Вставить из Word', | |||
selectall : 'Выбрать все', | |||
justifyleft : 'Выравнивание влево', | |||
justifycenter : 'Выравнивание по центру', | |||
justifyright : 'Выравнивание вправо', | |||
justifyfull : 'Выравнивание по обеим сторонам', | |||
insertorderedlist : 'Нумерованый список', | |||
insertunorderedlist : 'Ненумерованый список', | |||
indent : 'Добавить отступ', | |||
outdent : 'Убрать отступ', | |||
subscript : 'Надстрочный', | |||
superscript : 'Подстрочный', | |||
formatblock : 'Формат параграфа', | |||
fontname : 'Шрифт', | |||
fontsize : 'Размер', | |||
forecolor : 'Цвет текста', | |||
hilitecolor : 'Цвет фона', | |||
bold : 'Жирный(Ctrl+B)', | |||
italic : 'Наклонный(Ctrl+I)', | |||
underline : 'Подчёркнутый(Ctrl+U)', | |||
strikethrough : 'Перечёркнутый', | |||
removeformat : 'Удалить формат', | |||
image : 'Изображение', | |||
multiimage : 'Мульти-загрузка', | |||
flash : 'Flash', | |||
media : 'Встроенные данные', | |||
table : 'Таблица', | |||
tablecell : 'Ячейка', | |||
hr : 'Горизонтальный разделитель', | |||
emoticons : 'Смайл', | |||
link : 'Ссылка', | |||
unlink : 'Убрать ссылку', | |||
fullscreen : 'На весь экран', | |||
about : 'О программе', | |||
print : 'Печать', | |||
filemanager : 'Файлы', | |||
code : 'Код', | |||
map : 'Карта Google', | |||
baidumap : 'Карта Baidu', | |||
lineheight : 'Межстрочный интервал', | |||
clearhtml : 'Очистить HTML код', | |||
pagebreak : 'Разрыв страницы', | |||
quickformat : 'Быстрый формат', | |||
insertfile : 'Вставить файл', | |||
template : 'Вставить шаблон', | |||
anchor : 'Якорь', | |||
yes : 'OK', | |||
no : 'Отмена', | |||
close : 'Закрыть', | |||
editImage : 'Свойства изображения', | |||
deleteImage : 'Удалить изображение', | |||
editFlash : 'Свойства Flash', | |||
deleteFlash : 'Удалить Flash', | |||
editMedia : 'Свойства Media', | |||
deleteMedia : 'Удалить Media', | |||
editLink : 'Свойства ссылки', | |||
deleteLink : 'Удалить ссылку', | |||
editAnchor : 'Anchor properties', | |||
deleteAnchor : 'Delete Anchor', | |||
tableprop : 'Свойства таблицы', | |||
tablecellprop : 'Свойства ячейки', | |||
tableinsert : 'Вставить таблицу', | |||
tabledelete : 'Удалить таблицу', | |||
tablecolinsertleft : 'Добавить столбец слева', | |||
tablecolinsertright : 'Добавить столбец справа', | |||
tablerowinsertabove : 'Добавить строку выше', | |||
tablerowinsertbelow : 'Добавить строку ниже', | |||
tablerowmerge : 'Объединить вниз', | |||
tablecolmerge : 'Объединить вправо', | |||
tablerowsplit : 'Разделить строку', | |||
tablecolsplit : 'Разделить столбец', | |||
tablecoldelete : 'Удалить столбец', | |||
tablerowdelete : 'Удалить строку', | |||
noColor : 'По умолчанию', | |||
pleaseSelectFile : 'Выберите файл.', | |||
invalidImg : "Укажите корректный URL изображения.\nРазрешённые форматы: jpg,gif,bmp,png", | |||
invalidMedia : "Укажите корректный тип медиа-объекта.\nРазрешённые типы: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb", | |||
invalidWidth : "Ширина должна быть числом.", | |||
invalidHeight : "Высота должна быть числом.", | |||
invalidBorder : "Ширина рамки должна быть числом.", | |||
invalidUrl : "Укажите корректный URL.", | |||
invalidRows : 'Неверные строки.', | |||
invalidCols : 'Неверные столбцы.', | |||
invalidPadding : 'padding должен быть числом.', | |||
invalidSpacing : 'spacing должен быть числом.', | |||
invalidJson : 'Неверная JSON строка.', | |||
uploadSuccess : 'Загрузка завершена.', | |||
cutError : 'Данная опция не поддерживается вашим браузером, воспользуйтесь комбинацией клавиш (Ctrl+X).', | |||
copyError : 'Данная опция не поддерживается вашим браузером, воспользуйтесь комбинацией клавиш (Ctrl+C).', | |||
pasteError : 'Данная опция не поддерживается вашим браузером, воспользуйтесь комбинацией клавиш (Ctrl+V).', | |||
ajaxLoading : 'Загрузка ...', | |||
uploadLoading : 'Загрузка ...', | |||
uploadError : 'Сбой загрузки', | |||
'plainpaste.comment' : 'Для вставки скопированного текста воспользуйтесь комбинацией клавиш (Ctrl+V).', | |||
'wordpaste.comment' : 'Для вставки скопированного текста воспользуйтесь комбинацией клавиш (Ctrl+V).', | |||
'code.pleaseInput' : 'Введите код.', | |||
'link.url' : 'URL', | |||
'link.linkType' : 'Открывать ссылку', | |||
'link.newWindow' : 'в новом окне', | |||
'link.selfWindow' : 'в том же окне', | |||
'flash.url' : 'URL', | |||
'flash.width' : 'Ширина', | |||
'flash.height' : 'Высота', | |||
'flash.upload' : 'Загрузить', | |||
'flash.viewServer' : 'Выбрать', | |||
'media.url' : 'URL', | |||
'media.width' : 'Ширина', | |||
'media.height' : 'Высота', | |||
'media.autostart' : 'Автостарт', | |||
'media.upload' : 'Загрузить', | |||
'media.viewServer' : 'Выбрать', | |||
'image.remoteImage' : 'Вставить URL изображения', | |||
'image.localImage' : 'Загрузить', | |||
'image.remoteUrl' : 'URL', | |||
'image.localUrl' : 'Файл', | |||
'image.size' : 'Размер', | |||
'image.width' : 'Ширина', | |||
'image.height' : 'Высота', | |||
'image.resetSize' : 'Сбросить размеры', | |||
'image.align' : 'Выравнивание', | |||
'image.defaultAlign' : 'По умолчанию', | |||
'image.leftAlign' : 'Влево', | |||
'image.rightAlign' : 'Вправо', | |||
'image.imgTitle' : 'Название', | |||
'image.upload' : 'Загрузить', | |||
'image.viewServer' : 'Выбрать', | |||
'multiimage.uploadDesc' : 'Максимальное кол-во изображений: <%=uploadLimit%>, Максимальный размер одного изображения: <%=sizeLimit%>', | |||
'multiimage.startUpload' : 'Начать загрузку', | |||
'multiimage.clearAll' : 'Очистить все', | |||
'multiimage.insertAll' : 'Вставить все', | |||
'multiimage.queueLimitExceeded' : 'Превышен лимит очереди.', | |||
'multiimage.fileExceedsSizeLimit' : 'Превышен максимальный размер файла.', | |||
'multiimage.zeroByteFile' : 'Файл нулевой длины.', | |||
'multiimage.invalidFiletype' : 'Недопустимый тип файла.', | |||
'multiimage.unknownError' : 'Непредвиденная ошибка загрузки.', | |||
'multiimage.pending' : 'Ожидает ...', | |||
'multiimage.uploadError' : 'Ошибка загрузки', | |||
'filemanager.emptyFolder' : 'Папка пуста', | |||
'filemanager.moveup' : 'Наверх', | |||
'filemanager.viewType' : 'Тип показа: ', | |||
'filemanager.viewImage' : 'Превьюшки', | |||
'filemanager.listImage' : 'Список', | |||
'filemanager.orderType' : 'Сортировка: ', | |||
'filemanager.fileName' : 'По имени', | |||
'filemanager.fileSize' : 'По размеру', | |||
'filemanager.fileType' : 'По типу', | |||
'insertfile.url' : 'URL', | |||
'insertfile.title' : 'Название', | |||
'insertfile.upload' : 'Загрузить', | |||
'insertfile.viewServer' : 'Выбрать', | |||
'table.cells' : 'Ячейки', | |||
'table.rows' : 'Строки', | |||
'table.cols' : 'Столбцы', | |||
'table.size' : 'Размеры', | |||
'table.width' : 'Ширина', | |||
'table.height' : 'Высота', | |||
'table.percent' : '%', | |||
'table.px' : 'px', | |||
'table.space' : 'Space', | |||
'table.padding' : 'Padding', | |||
'table.spacing' : 'Spacing', | |||
'table.align' : 'Выравнивание', | |||
'table.textAlign' : 'По горизонтали', | |||
'table.verticalAlign' : 'По вертикали', | |||
'table.alignDefault' : 'По умолчанию', | |||
'table.alignLeft' : 'Влево', | |||
'table.alignCenter' : 'По центру', | |||
'table.alignRight' : 'Вправо', | |||
'table.alignTop' : 'Вверх', | |||
'table.alignMiddle' : 'Посередине', | |||
'table.alignBottom' : 'Вниз', | |||
'table.alignBaseline' : 'По базовой линии', | |||
'table.border' : 'Рамка', | |||
'table.borderWidth' : 'Ширина', | |||
'table.borderColor' : 'Цвет', | |||
'table.backgroundColor' : 'Цвет фона', | |||
'map.address' : 'Адрес: ', | |||
'map.search' : 'Поиск', | |||
'baidumap.address' : 'Адрес: ', | |||
'baidumap.search' : 'Поиск', | |||
'baidumap.insertDynamicMap' : 'Динамическая карта', | |||
'anchor.name' : 'Имя якоря', | |||
'formatblock.formatBlock' : { | |||
h1 : 'Заголовок 1', | |||
h2 : 'Заголовок 2', | |||
h3 : 'Заголовок 3', | |||
h4 : 'Заголовок 4', | |||
p : 'Обычный текст' | |||
}, | |||
'fontname.fontName' : { | |||
'Arial' : 'Arial', | |||
'Arial Black' : 'Arial Black', | |||
'Comic Sans MS' : 'Comic Sans MS', | |||
'Courier New' : 'Courier New', | |||
'Garamond' : 'Garamond', | |||
'Georgia' : 'Georgia', | |||
'Tahoma' : 'Tahoma', | |||
'Times New Roman' : 'Times New Roman', | |||
'Trebuchet MS' : 'Trebuchet MS', | |||
'Verdana' : 'Verdana' | |||
}, | |||
'lineheight.lineHeight' : [ | |||
{'1' : '1'}, | |||
{'1.5' : '1.5'}, | |||
{'2' : '2'}, | |||
{'2.5' : '2.5'}, | |||
{'3' : '3'} | |||
], | |||
'template.selectTemplate' : 'Шаблон', | |||
'template.replaceContent' : 'Заменить текущий шаблон', | |||
'template.fileList' : { | |||
'1.html' : 'Текст и изображения', | |||
'2.html' : 'Таблица', | |||
'3.html' : 'Список' | |||
} | |||
}, 'en'); | |||
KindEditor.each(KindEditor.options.items, function(i, name) { | |||
if (name == 'baidumap') { | |||
KindEditor.options.items[i] = 'map'; | |||
} | |||
}); | |||
KindEditor.options.langType = 'ru'; |
@@ -0,0 +1,238 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.lang({ | |||
source : 'HTML代码', | |||
preview : '预览', | |||
undo : '后退(Ctrl+Z)', | |||
redo : '前进(Ctrl+Y)', | |||
cut : '剪切(Ctrl+X)', | |||
copy : '复制(Ctrl+C)', | |||
paste : '粘贴(Ctrl+V)', | |||
plainpaste : '粘贴为无格式文本', | |||
wordpaste : '从Word粘贴', | |||
selectall : '全选(Ctrl+A)', | |||
justifyleft : '左对齐', | |||
justifycenter : '居中', | |||
justifyright : '右对齐', | |||
justifyfull : '两端对齐', | |||
insertorderedlist : '编号', | |||
insertunorderedlist : '项目符号', | |||
indent : '增加缩进', | |||
outdent : '减少缩进', | |||
subscript : '下标', | |||
superscript : '上标', | |||
formatblock : '段落', | |||
fontname : '字体', | |||
fontsize : '文字大小', | |||
forecolor : '文字颜色', | |||
hilitecolor : '文字背景', | |||
bold : '粗体(Ctrl+B)', | |||
italic : '斜体(Ctrl+I)', | |||
underline : '下划线(Ctrl+U)', | |||
strikethrough : '删除线', | |||
removeformat : '删除格式', | |||
image : '图片', | |||
multiimage : '批量图片上传', | |||
flash : 'Flash', | |||
media : '视音频', | |||
table : '表格', | |||
tablecell : '单元格', | |||
hr : '插入横线', | |||
emoticons : '插入表情', | |||
link : '超级链接', | |||
unlink : '取消超级链接', | |||
fullscreen : '全屏显示', | |||
about : '关于', | |||
print : '打印(Ctrl+P)', | |||
filemanager : '文件空间', | |||
code : '插入程序代码', | |||
map : 'Google地图', | |||
baidumap : '百度地图', | |||
lineheight : '行距', | |||
clearhtml : '清理HTML代码', | |||
pagebreak : '插入分页符', | |||
quickformat : '一键排版', | |||
insertfile : '插入文件', | |||
template : '插入模板', | |||
anchor : '锚点', | |||
yes : '确定', | |||
no : '取消', | |||
close : '关闭', | |||
editImage : '图片属性', | |||
deleteImage : '删除图片', | |||
editFlash : 'Flash属性', | |||
deleteFlash : '删除Flash', | |||
editMedia : '视音频属性', | |||
deleteMedia : '删除视音频', | |||
editLink : '超级链接属性', | |||
deleteLink : '取消超级链接', | |||
editAnchor : '锚点属性', | |||
deleteAnchor : '删除锚点', | |||
tableprop : '表格属性', | |||
tablecellprop : '单元格属性', | |||
tableinsert : '插入表格', | |||
tabledelete : '删除表格', | |||
tablecolinsertleft : '左侧插入列', | |||
tablecolinsertright : '右侧插入列', | |||
tablerowinsertabove : '上方插入行', | |||
tablerowinsertbelow : '下方插入行', | |||
tablerowmerge : '向下合并单元格', | |||
tablecolmerge : '向右合并单元格', | |||
tablerowsplit : '拆分行', | |||
tablecolsplit : '拆分列', | |||
tablecoldelete : '删除列', | |||
tablerowdelete : '删除行', | |||
noColor : '无颜色', | |||
pleaseSelectFile : '请选择文件。', | |||
invalidImg : "请输入有效的URL地址。\n只允许jpg,gif,bmp,png格式。", | |||
invalidMedia : "请输入有效的URL地址。\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。", | |||
invalidWidth : "宽度必须为数字。", | |||
invalidHeight : "高度必须为数字。", | |||
invalidBorder : "边框必须为数字。", | |||
invalidUrl : "请输入有效的URL地址。", | |||
invalidRows : '行数为必选项,只允许输入大于0的数字。', | |||
invalidCols : '列数为必选项,只允许输入大于0的数字。', | |||
invalidPadding : '边距必须为数字。', | |||
invalidSpacing : '间距必须为数字。', | |||
invalidJson : '服务器发生故障。', | |||
uploadSuccess : '上传成功。', | |||
cutError : '您的浏览器安全设置不允许使用剪切操作,请使用快捷键(Ctrl+X)来完成。', | |||
copyError : '您的浏览器安全设置不允许使用复制操作,请使用快捷键(Ctrl+C)来完成。', | |||
pasteError : '您的浏览器安全设置不允许使用粘贴操作,请使用快捷键(Ctrl+V)来完成。', | |||
ajaxLoading : '加载中,请稍候 ...', | |||
uploadLoading : '上传中,请稍候 ...', | |||
uploadError : '上传错误', | |||
'plainpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。', | |||
'wordpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。', | |||
'code.pleaseInput' : '请输入程序代码。', | |||
'link.url' : 'URL', | |||
'link.linkType' : '打开类型', | |||
'link.newWindow' : '新窗口', | |||
'link.selfWindow' : '当前窗口', | |||
'flash.url' : 'URL', | |||
'flash.width' : '宽度', | |||
'flash.height' : '高度', | |||
'flash.upload' : '上传', | |||
'flash.viewServer' : '文件空间', | |||
'media.url' : 'URL', | |||
'media.width' : '宽度', | |||
'media.height' : '高度', | |||
'media.autostart' : '自动播放', | |||
'media.upload' : '上传', | |||
'media.viewServer' : '文件空间', | |||
'image.remoteImage' : '网络图片', | |||
'image.localImage' : '本地上传', | |||
'image.remoteUrl' : '图片地址', | |||
'image.localUrl' : '上传文件', | |||
'image.size' : '图片大小', | |||
'image.width' : '宽', | |||
'image.height' : '高', | |||
'image.resetSize' : '重置大小', | |||
'image.align' : '对齐方式', | |||
'image.defaultAlign' : '默认方式', | |||
'image.leftAlign' : '左对齐', | |||
'image.rightAlign' : '右对齐', | |||
'image.imgTitle' : '图片说明', | |||
'image.upload' : '浏览...', | |||
'image.viewServer' : '图片空间', | |||
'multiimage.uploadDesc' : '允许用户同时上传<%=uploadLimit%>张图片,单张图片容量不超过<%=sizeLimit%>', | |||
'multiimage.startUpload' : '开始上传', | |||
'multiimage.clearAll' : '全部清空', | |||
'multiimage.insertAll' : '全部插入', | |||
'multiimage.queueLimitExceeded' : '文件数量超过限制。', | |||
'multiimage.fileExceedsSizeLimit' : '文件大小超过限制。', | |||
'multiimage.zeroByteFile' : '无法上传空文件。', | |||
'multiimage.invalidFiletype' : '文件类型不正确。', | |||
'multiimage.unknownError' : '发生异常,无法上传。', | |||
'multiimage.pending' : '等待上传', | |||
'multiimage.uploadError' : '上传失败', | |||
'filemanager.emptyFolder' : '空文件夹', | |||
'filemanager.moveup' : '移到上一级文件夹', | |||
'filemanager.viewType' : '显示方式:', | |||
'filemanager.viewImage' : '缩略图', | |||
'filemanager.listImage' : '详细信息', | |||
'filemanager.orderType' : '排序方式:', | |||
'filemanager.fileName' : '名称', | |||
'filemanager.fileSize' : '大小', | |||
'filemanager.fileType' : '类型', | |||
'insertfile.url' : 'URL', | |||
'insertfile.title' : '文件说明', | |||
'insertfile.upload' : '上传', | |||
'insertfile.viewServer' : '文件空间', | |||
'table.cells' : '单元格数', | |||
'table.rows' : '行数', | |||
'table.cols' : '列数', | |||
'table.size' : '大小', | |||
'table.width' : '宽度', | |||
'table.height' : '高度', | |||
'table.percent' : '%', | |||
'table.px' : 'px', | |||
'table.space' : '边距间距', | |||
'table.padding' : '边距', | |||
'table.spacing' : '间距', | |||
'table.align' : '对齐方式', | |||
'table.textAlign' : '水平对齐', | |||
'table.verticalAlign' : '垂直对齐', | |||
'table.alignDefault' : '默认', | |||
'table.alignLeft' : '左对齐', | |||
'table.alignCenter' : '居中', | |||
'table.alignRight' : '右对齐', | |||
'table.alignTop' : '顶部', | |||
'table.alignMiddle' : '中部', | |||
'table.alignBottom' : '底部', | |||
'table.alignBaseline' : '基线', | |||
'table.border' : '边框', | |||
'table.borderWidth' : '边框', | |||
'table.borderColor' : '颜色', | |||
'table.backgroundColor' : '背景颜色', | |||
'map.address' : '地址: ', | |||
'map.search' : '搜索', | |||
'baidumap.address' : '地址: ', | |||
'baidumap.search' : '搜索', | |||
'baidumap.insertDynamicMap' : '插入动态地图', | |||
'anchor.name' : '锚点名称', | |||
'formatblock.formatBlock' : { | |||
h1 : '标题 1', | |||
h2 : '标题 2', | |||
h3 : '标题 3', | |||
h4 : '标题 4', | |||
p : '正 文' | |||
}, | |||
'fontname.fontName' : { | |||
'SimSun' : '宋体', | |||
'NSimSun' : '新宋体', | |||
'FangSong_GB2312' : '仿宋_GB2312', | |||
'KaiTi_GB2312' : '楷体_GB2312', | |||
'SimHei' : '黑体', | |||
'Microsoft YaHei' : '微软雅黑', | |||
'Arial' : 'Arial', | |||
'Arial Black' : 'Arial Black', | |||
'Times New Roman' : 'Times New Roman', | |||
'Courier New' : 'Courier New', | |||
'Tahoma' : 'Tahoma', | |||
'Verdana' : 'Verdana' | |||
}, | |||
'lineheight.lineHeight' : [ | |||
{'1' : '单倍行距'}, | |||
{'1.5' : '1.5倍行距'}, | |||
{'2' : '2倍行距'}, | |||
{'2.5' : '2.5倍行距'}, | |||
{'3' : '3倍行距'} | |||
], | |||
'template.selectTemplate' : '可选模板', | |||
'template.replaceContent' : '替换当前内容', | |||
'template.fileList' : { | |||
'1.html' : '图片和文字', | |||
'2.html' : '表格', | |||
'3.html' : '项目编号' | |||
} | |||
}, 'zh-CN'); | |||
KindEditor.options.langType = 'zh-CN'; |
@@ -0,0 +1,243 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.lang({ | |||
source : '原始碼', | |||
preview : '預覽', | |||
undo : '復原(Ctrl+Z)', | |||
redo : '重複(Ctrl+Y)', | |||
cut : '剪下(Ctrl+X)', | |||
copy : '複製(Ctrl+C)', | |||
paste : '貼上(Ctrl+V)', | |||
plainpaste : '貼為純文字格式', | |||
wordpaste : '自Word貼上', | |||
selectall : '全選(Ctrl+A)', | |||
justifyleft : '靠左對齊', | |||
justifycenter : '置中', | |||
justifyright : '靠右對齊', | |||
justifyfull : '左右對齊', | |||
insertorderedlist : '編號清單', | |||
insertunorderedlist : '項目清單', | |||
indent : '增加縮排', | |||
outdent : '減少縮排', | |||
subscript : '下標', | |||
superscript : '上標', | |||
formatblock : '標題', | |||
fontname : '字體', | |||
fontsize : '文字大小', | |||
forecolor : '文字顏色', | |||
hilitecolor : '背景顏色', | |||
bold : '粗體(Ctrl+B)', | |||
italic : '斜體(Ctrl+I)', | |||
underline : '底線(Ctrl+U)', | |||
strikethrough : '刪除線', | |||
removeformat : '清除格式', | |||
image : '影像', | |||
multiimage : '批量影像上傳', | |||
flash : 'Flash', | |||
media : '多媒體', | |||
table : '表格', | |||
tablecell : '儲存格', | |||
hr : '插入水平線', | |||
emoticons : '插入表情', | |||
link : '超連結', | |||
unlink : '移除超連結', | |||
fullscreen : '最大化', | |||
about : '關於', | |||
print : '列印(Ctrl+P)', | |||
filemanager : '瀏覽伺服器', | |||
code : '插入程式代碼', | |||
map : 'Google地圖', | |||
baidumap : 'Baidu地圖', | |||
lineheight : '行距', | |||
clearhtml : '清理HTML代碼', | |||
pagebreak : '插入分頁符號', | |||
quickformat : '快速排版', | |||
insertfile : '插入文件', | |||
template : '插入樣板', | |||
anchor : '錨點', | |||
yes : '確定', | |||
no : '取消', | |||
close : '關閉', | |||
editImage : '影像屬性', | |||
deleteImage : '刪除影像', | |||
editFlash : 'Flash屬性', | |||
deleteFlash : '删除Flash', | |||
editMedia : '多媒體屬性', | |||
deleteMedia : '删除多媒體', | |||
editLink : '超連結屬性', | |||
deleteLink : '移除超連結', | |||
editAnchor : '锚点属性', | |||
deleteAnchor : '删除锚点', | |||
tableprop : '表格屬性', | |||
tablecellprop : '儲存格屬性', | |||
tableinsert : '插入表格', | |||
tabledelete : '刪除表格', | |||
tablecolinsertleft : '向左插入列', | |||
tablecolinsertright : '向右插入列', | |||
tablerowinsertabove : '向上插入欄', | |||
tablerowinsertbelow : '下方插入欄', | |||
tablerowmerge : '向下合併單元格', | |||
tablecolmerge : '向右合併單元格', | |||
tablerowsplit : '分割欄', | |||
tablecolsplit : '分割列', | |||
tablecoldelete : '删除列', | |||
tablerowdelete : '删除欄', | |||
noColor : '自動', | |||
pleaseSelectFile : '請選擇文件。', | |||
invalidImg : "請輸入有效的URL。\n只允許jpg,gif,bmp,png格式。", | |||
invalidMedia : "請輸入有效的URL。\n只允許swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。", | |||
invalidWidth : "寬度必須是數字。", | |||
invalidHeight : "高度必須是數字。", | |||
invalidBorder : "邊框必須是數字。", | |||
invalidUrl : "請輸入有效的URL。", | |||
invalidRows : '欄數是必須輸入項目,只允許輸入大於0的數字。', | |||
invalidCols : '列數是必須輸入項目,只允許輸入大於0的數字。', | |||
invalidPadding : '內距必須是數字。', | |||
invalidSpacing : '間距必須是數字。', | |||
invalidJson : '伺服器發生故障。', | |||
uploadSuccess : '上傳成功。', | |||
cutError : '您的瀏覽器安全設置不允許使用剪下操作,請使用快捷鍵(Ctrl+X)完成。', | |||
copyError : '您的瀏覽器安全設置不允許使用剪下操作,請使用快捷鍵(Ctrl+C)完成。', | |||
pasteError : '您的瀏覽器安全設置不允許使用剪下操作,請使用快捷鍵(Ctrl+V)完成。', | |||
ajaxLoading : '加載中,請稍候 ...', | |||
uploadLoading : '上傳中,請稍候 ...', | |||
uploadError : '上傳錯誤', | |||
'plainpaste.comment' : '請使用快捷鍵(Ctrl+V)把內容貼到下方區域裡。', | |||
'wordpaste.comment' : '請使用快捷鍵(Ctrl+V)把內容貼到下方區域裡。', | |||
'code.pleaseInput' : 'Please input code.', | |||
'link.url' : 'URL', | |||
'link.linkType' : '打開類型', | |||
'link.newWindow' : '新窗口', | |||
'link.selfWindow' : '本頁窗口', | |||
'flash.url' : 'URL', | |||
'flash.width' : '寬度', | |||
'flash.height' : '高度', | |||
'flash.upload' : '上傳', | |||
'flash.viewServer' : '瀏覽', | |||
'media.url' : 'URL', | |||
'media.width' : '寬度', | |||
'media.height' : '高度', | |||
'media.autostart' : '自動播放', | |||
'media.upload' : '上傳', | |||
'media.viewServer' : '瀏覽', | |||
'image.remoteImage' : '網絡影像', | |||
'image.localImage' : '上傳影像', | |||
'image.remoteUrl' : '影像URL', | |||
'image.localUrl' : '影像URL', | |||
'image.size' : '影像大小', | |||
'image.width' : '寬度', | |||
'image.height' : '高度', | |||
'image.resetSize' : '原始大小', | |||
'image.align' : '對齊方式', | |||
'image.defaultAlign' : '未設定', | |||
'image.leftAlign' : '向左對齊', | |||
'image.rightAlign' : '向右對齊', | |||
'image.imgTitle' : '影像說明', | |||
'image.upload' : '瀏覽...', | |||
'image.viewServer' : '瀏覽...', | |||
'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>', | |||
'multiimage.startUpload' : 'Start upload', | |||
'multiimage.clearAll' : 'Clear all', | |||
'multiimage.insertAll' : 'Insert all', | |||
'multiimage.queueLimitExceeded' : 'Queue limit exceeded.', | |||
'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.', | |||
'multiimage.zeroByteFile' : 'Zero byte file.', | |||
'multiimage.invalidFiletype' : 'Invalid file type.', | |||
'multiimage.unknownError' : 'Unknown upload error.', | |||
'multiimage.pending' : 'Pending ...', | |||
'multiimage.uploadError' : 'Upload error', | |||
'filemanager.emptyFolder' : '空文件夾', | |||
'filemanager.moveup' : '至上一級文件夾', | |||
'filemanager.viewType' : '顯示方式:', | |||
'filemanager.viewImage' : '縮略圖', | |||
'filemanager.listImage' : '詳細信息', | |||
'filemanager.orderType' : '排序方式:', | |||
'filemanager.fileName' : '名稱', | |||
'filemanager.fileSize' : '大小', | |||
'filemanager.fileType' : '類型', | |||
'insertfile.url' : 'URL', | |||
'insertfile.title' : '文件說明', | |||
'insertfile.upload' : '上傳', | |||
'insertfile.viewServer' : '瀏覽', | |||
'table.cells' : '儲存格數', | |||
'table.rows' : '欄數', | |||
'table.cols' : '列數', | |||
'table.size' : '表格大小', | |||
'table.width' : '寬度', | |||
'table.height' : '高度', | |||
'table.percent' : '%', | |||
'table.px' : 'px', | |||
'table.space' : '內距間距', | |||
'table.padding' : '內距', | |||
'table.spacing' : '間距', | |||
'table.align' : '對齊方式', | |||
'table.textAlign' : '水平對齊', | |||
'table.verticalAlign' : '垂直對齊', | |||
'table.alignDefault' : '未設定', | |||
'table.alignLeft' : '向左對齊', | |||
'table.alignCenter' : '置中', | |||
'table.alignRight' : '向右對齊', | |||
'table.alignTop' : '靠上', | |||
'table.alignMiddle' : '置中', | |||
'table.alignBottom' : '靠下', | |||
'table.alignBaseline' : '基線', | |||
'table.border' : '表格邊框', | |||
'table.borderWidth' : '邊框', | |||
'table.borderColor' : '顏色', | |||
'table.backgroundColor' : '背景顏色', | |||
'map.address' : '住所: ', | |||
'map.search' : '尋找', | |||
'baidumap.address' : '住所: ', | |||
'baidumap.search' : '尋找', | |||
'baidumap.insertDynamicMap' : '插入動態地圖', | |||
'anchor.name' : '錨點名稱', | |||
'formatblock.formatBlock' : { | |||
h1 : '標題 1', | |||
h2 : '標題 2', | |||
h3 : '標題 3', | |||
h4 : '標題 4', | |||
p : '一般' | |||
}, | |||
'fontname.fontName' : { | |||
'MingLiU' : '細明體', | |||
'PMingLiU' : '新細明體', | |||
'DFKai-SB' : '標楷體', | |||
'SimSun' : '宋體', | |||
'NSimSun' : '新宋體', | |||
'FangSong' : '仿宋體', | |||
'Arial' : 'Arial', | |||
'Arial Black' : 'Arial Black', | |||
'Times New Roman' : 'Times New Roman', | |||
'Courier New' : 'Courier New', | |||
'Tahoma' : 'Tahoma', | |||
'Verdana' : 'Verdana' | |||
}, | |||
'lineheight.lineHeight' : [ | |||
{'1' : '单倍行距'}, | |||
{'1.5' : '1.5倍行距'}, | |||
{'2' : '2倍行距'}, | |||
{'2.5' : '2.5倍行距'}, | |||
{'3' : '3倍行距'} | |||
], | |||
'template.selectTemplate' : '可選樣板', | |||
'template.replaceContent' : '取代當前內容', | |||
'template.fileList' : { | |||
'1.html' : '影像和文字', | |||
'2.html' : '表格', | |||
'3.html' : '项目清單' | |||
} | |||
}, 'zh-TW'); | |||
KindEditor.each(KindEditor.options.items, function(i, name) { | |||
if (name == 'baidumap') { | |||
KindEditor.options.items[i] = 'map'; | |||
} | |||
}); | |||
KindEditor.options.langType = 'zh-TW'; |
@@ -0,0 +1,502 @@ | |||
GNU LESSER GENERAL PUBLIC LICENSE | |||
Version 2.1, February 1999 | |||
Copyright (C) 1991, 1999 Free Software Foundation, Inc. | |||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
Everyone is permitted to copy and distribute verbatim copies | |||
of this license document, but changing it is not allowed. | |||
[This is the first released version of the Lesser GPL. It also counts | |||
as the successor of the GNU Library Public License, version 2, hence | |||
the version number 2.1.] | |||
Preamble | |||
The licenses for most software are designed to take away your | |||
freedom to share and change it. By contrast, the GNU General Public | |||
Licenses are intended to guarantee your freedom to share and change | |||
free software--to make sure the software is free for all its users. | |||
This license, the Lesser General Public License, applies to some | |||
specially designated software packages--typically libraries--of the | |||
Free Software Foundation and other authors who decide to use it. You | |||
can use it too, but we suggest you first think carefully about whether | |||
this license or the ordinary General Public License is the better | |||
strategy to use in any particular case, based on the explanations below. | |||
When we speak of free software, we are referring to freedom of use, | |||
not price. Our General Public Licenses are designed to make sure that | |||
you have the freedom to distribute copies of free software (and charge | |||
for this service if you wish); that you receive source code or can get | |||
it if you want it; that you can change the software and use pieces of | |||
it in new free programs; and that you are informed that you can do | |||
these things. | |||
To protect your rights, we need to make restrictions that forbid | |||
distributors to deny you these rights or to ask you to surrender these | |||
rights. These restrictions translate to certain responsibilities for | |||
you if you distribute copies of the library or if you modify it. | |||
For example, if you distribute copies of the library, whether gratis | |||
or for a fee, you must give the recipients all the rights that we gave | |||
you. You must make sure that they, too, receive or can get the source | |||
code. If you link other code with the library, you must provide | |||
complete object files to the recipients, so that they can relink them | |||
with the library after making changes to the library and recompiling | |||
it. And you must show them these terms so they know their rights. | |||
We protect your rights with a two-step method: (1) we copyright the | |||
library, and (2) we offer you this license, which gives you legal | |||
permission to copy, distribute and/or modify the library. | |||
To protect each distributor, we want to make it very clear that | |||
there is no warranty for the free library. Also, if the library is | |||
modified by someone else and passed on, the recipients should know | |||
that what they have is not the original version, so that the original | |||
author's reputation will not be affected by problems that might be | |||
introduced by others. | |||
Finally, software patents pose a constant threat to the existence of | |||
any free program. We wish to make sure that a company cannot | |||
effectively restrict the users of a free program by obtaining a | |||
restrictive license from a patent holder. Therefore, we insist that | |||
any patent license obtained for a version of the library must be | |||
consistent with the full freedom of use specified in this license. | |||
Most GNU software, including some libraries, is covered by the | |||
ordinary GNU General Public License. This license, the GNU Lesser | |||
General Public License, applies to certain designated libraries, and | |||
is quite different from the ordinary General Public License. We use | |||
this license for certain libraries in order to permit linking those | |||
libraries into non-free programs. | |||
When a program is linked with a library, whether statically or using | |||
a shared library, the combination of the two is legally speaking a | |||
combined work, a derivative of the original library. The ordinary | |||
General Public License therefore permits such linking only if the | |||
entire combination fits its criteria of freedom. The Lesser General | |||
Public License permits more lax criteria for linking other code with | |||
the library. | |||
We call this license the "Lesser" General Public License because it | |||
does Less to protect the user's freedom than the ordinary General | |||
Public License. It also provides other free software developers Less | |||
of an advantage over competing non-free programs. These disadvantages | |||
are the reason we use the ordinary General Public License for many | |||
libraries. However, the Lesser license provides advantages in certain | |||
special circumstances. | |||
For example, on rare occasions, there may be a special need to | |||
encourage the widest possible use of a certain library, so that it becomes | |||
a de-facto standard. To achieve this, non-free programs must be | |||
allowed to use the library. A more frequent case is that a free | |||
library does the same job as widely used non-free libraries. In this | |||
case, there is little to gain by limiting the free library to free | |||
software only, so we use the Lesser General Public License. | |||
In other cases, permission to use a particular library in non-free | |||
programs enables a greater number of people to use a large body of | |||
free software. For example, permission to use the GNU C Library in | |||
non-free programs enables many more people to use the whole GNU | |||
operating system, as well as its variant, the GNU/Linux operating | |||
system. | |||
Although the Lesser General Public License is Less protective of the | |||
users' freedom, it does ensure that the user of a program that is | |||
linked with the Library has the freedom and the wherewithal to run | |||
that program using a modified version of the Library. | |||
The precise terms and conditions for copying, distribution and | |||
modification follow. Pay close attention to the difference between a | |||
"work based on the library" and a "work that uses the library". The | |||
former contains code derived from the library, whereas the latter must | |||
be combined with the library in order to run. | |||
GNU LESSER GENERAL PUBLIC LICENSE | |||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |||
0. This License Agreement applies to any software library or other | |||
program which contains a notice placed by the copyright holder or | |||
other authorized party saying it may be distributed under the terms of | |||
this Lesser General Public License (also called "this License"). | |||
Each licensee is addressed as "you". | |||
A "library" means a collection of software functions and/or data | |||
prepared so as to be conveniently linked with application programs | |||
(which use some of those functions and data) to form executables. | |||
The "Library", below, refers to any such software library or work | |||
which has been distributed under these terms. A "work based on the | |||
Library" means either the Library or any derivative work under | |||
copyright law: that is to say, a work containing the Library or a | |||
portion of it, either verbatim or with modifications and/or translated | |||
straightforwardly into another language. (Hereinafter, translation is | |||
included without limitation in the term "modification".) | |||
"Source code" for a work means the preferred form of the work for | |||
making modifications to it. For a library, complete source code means | |||
all the source code for all modules it contains, plus any associated | |||
interface definition files, plus the scripts used to control compilation | |||
and installation of the library. | |||
Activities other than copying, distribution and modification are not | |||
covered by this License; they are outside its scope. The act of | |||
running a program using the Library is not restricted, and output from | |||
such a program is covered only if its contents constitute a work based | |||
on the Library (independent of the use of the Library in a tool for | |||
writing it). Whether that is true depends on what the Library does | |||
and what the program that uses the Library does. | |||
1. You may copy and distribute verbatim copies of the Library's | |||
complete source code as you receive it, in any medium, provided that | |||
you conspicuously and appropriately publish on each copy an | |||
appropriate copyright notice and disclaimer of warranty; keep intact | |||
all the notices that refer to this License and to the absence of any | |||
warranty; and distribute a copy of this License along with the | |||
Library. | |||
You may charge a fee for the physical act of transferring a copy, | |||
and you may at your option offer warranty protection in exchange for a | |||
fee. | |||
2. You may modify your copy or copies of the Library or any portion | |||
of it, thus forming a work based on the Library, and copy and | |||
distribute such modifications or work under the terms of Section 1 | |||
above, provided that you also meet all of these conditions: | |||
a) The modified work must itself be a software library. | |||
b) You must cause the files modified to carry prominent notices | |||
stating that you changed the files and the date of any change. | |||
c) You must cause the whole of the work to be licensed at no | |||
charge to all third parties under the terms of this License. | |||
d) If a facility in the modified Library refers to a function or a | |||
table of data to be supplied by an application program that uses | |||
the facility, other than as an argument passed when the facility | |||
is invoked, then you must make a good faith effort to ensure that, | |||
in the event an application does not supply such function or | |||
table, the facility still operates, and performs whatever part of | |||
its purpose remains meaningful. | |||
(For example, a function in a library to compute square roots has | |||
a purpose that is entirely well-defined independent of the | |||
application. Therefore, Subsection 2d requires that any | |||
application-supplied function or table used by this function must | |||
be optional: if the application does not supply it, the square | |||
root function must still compute square roots.) | |||
These requirements apply to the modified work as a whole. If | |||
identifiable sections of that work are not derived from the Library, | |||
and can be reasonably considered independent and separate works in | |||
themselves, then this License, and its terms, do not apply to those | |||
sections when you distribute them as separate works. But when you | |||
distribute the same sections as part of a whole which is a work based | |||
on the Library, the distribution of the whole must be on the terms of | |||
this License, whose permissions for other licensees extend to the | |||
entire whole, and thus to each and every part regardless of who wrote | |||
it. | |||
Thus, it is not the intent of this section to claim rights or contest | |||
your rights to work written entirely by you; rather, the intent is to | |||
exercise the right to control the distribution of derivative or | |||
collective works based on the Library. | |||
In addition, mere aggregation of another work not based on the Library | |||
with the Library (or with a work based on the Library) on a volume of | |||
a storage or distribution medium does not bring the other work under | |||
the scope of this License. | |||
3. You may opt to apply the terms of the ordinary GNU General Public | |||
License instead of this License to a given copy of the Library. To do | |||
this, you must alter all the notices that refer to this License, so | |||
that they refer to the ordinary GNU General Public License, version 2, | |||
instead of to this License. (If a newer version than version 2 of the | |||
ordinary GNU General Public License has appeared, then you can specify | |||
that version instead if you wish.) Do not make any other change in | |||
these notices. | |||
Once this change is made in a given copy, it is irreversible for | |||
that copy, so the ordinary GNU General Public License applies to all | |||
subsequent copies and derivative works made from that copy. | |||
This option is useful when you wish to copy part of the code of | |||
the Library into a program that is not a library. | |||
4. You may copy and distribute the Library (or a portion or | |||
derivative of it, under Section 2) in object code or executable form | |||
under the terms of Sections 1 and 2 above provided that you accompany | |||
it with the complete corresponding machine-readable source code, which | |||
must be distributed under the terms of Sections 1 and 2 above on a | |||
medium customarily used for software interchange. | |||
If distribution of object code is made by offering access to copy | |||
from a designated place, then offering equivalent access to copy the | |||
source code from the same place satisfies the requirement to | |||
distribute the source code, even though third parties are not | |||
compelled to copy the source along with the object code. | |||
5. A program that contains no derivative of any portion of the | |||
Library, but is designed to work with the Library by being compiled or | |||
linked with it, is called a "work that uses the Library". Such a | |||
work, in isolation, is not a derivative work of the Library, and | |||
therefore falls outside the scope of this License. | |||
However, linking a "work that uses the Library" with the Library | |||
creates an executable that is a derivative of the Library (because it | |||
contains portions of the Library), rather than a "work that uses the | |||
library". The executable is therefore covered by this License. | |||
Section 6 states terms for distribution of such executables. | |||
When a "work that uses the Library" uses material from a header file | |||
that is part of the Library, the object code for the work may be a | |||
derivative work of the Library even though the source code is not. | |||
Whether this is true is especially significant if the work can be | |||
linked without the Library, or if the work is itself a library. The | |||
threshold for this to be true is not precisely defined by law. | |||
If such an object file uses only numerical parameters, data | |||
structure layouts and accessors, and small macros and small inline | |||
functions (ten lines or less in length), then the use of the object | |||
file is unrestricted, regardless of whether it is legally a derivative | |||
work. (Executables containing this object code plus portions of the | |||
Library will still fall under Section 6.) | |||
Otherwise, if the work is a derivative of the Library, you may | |||
distribute the object code for the work under the terms of Section 6. | |||
Any executables containing that work also fall under Section 6, | |||
whether or not they are linked directly with the Library itself. | |||
6. As an exception to the Sections above, you may also combine or | |||
link a "work that uses the Library" with the Library to produce a | |||
work containing portions of the Library, and distribute that work | |||
under terms of your choice, provided that the terms permit | |||
modification of the work for the customer's own use and reverse | |||
engineering for debugging such modifications. | |||
You must give prominent notice with each copy of the work that the | |||
Library is used in it and that the Library and its use are covered by | |||
this License. You must supply a copy of this License. If the work | |||
during execution displays copyright notices, you must include the | |||
copyright notice for the Library among them, as well as a reference | |||
directing the user to the copy of this License. Also, you must do one | |||
of these things: | |||
a) Accompany the work with the complete corresponding | |||
machine-readable source code for the Library including whatever | |||
changes were used in the work (which must be distributed under | |||
Sections 1 and 2 above); and, if the work is an executable linked | |||
with the Library, with the complete machine-readable "work that | |||
uses the Library", as object code and/or source code, so that the | |||
user can modify the Library and then relink to produce a modified | |||
executable containing the modified Library. (It is understood | |||
that the user who changes the contents of definitions files in the | |||
Library will not necessarily be able to recompile the application | |||
to use the modified definitions.) | |||
b) Use a suitable shared library mechanism for linking with the | |||
Library. A suitable mechanism is one that (1) uses at run time a | |||
copy of the library already present on the user's computer system, | |||
rather than copying library functions into the executable, and (2) | |||
will operate properly with a modified version of the library, if | |||
the user installs one, as long as the modified version is | |||
interface-compatible with the version that the work was made with. | |||
c) Accompany the work with a written offer, valid for at | |||
least three years, to give the same user the materials | |||
specified in Subsection 6a, above, for a charge no more | |||
than the cost of performing this distribution. | |||
d) If distribution of the work is made by offering access to copy | |||
from a designated place, offer equivalent access to copy the above | |||
specified materials from the same place. | |||
e) Verify that the user has already received a copy of these | |||
materials or that you have already sent this user a copy. | |||
For an executable, the required form of the "work that uses the | |||
Library" must include any data and utility programs needed for | |||
reproducing the executable from it. However, as a special exception, | |||
the materials to be distributed need not include anything that is | |||
normally distributed (in either source or binary form) with the major | |||
components (compiler, kernel, and so on) of the operating system on | |||
which the executable runs, unless that component itself accompanies | |||
the executable. | |||
It may happen that this requirement contradicts the license | |||
restrictions of other proprietary libraries that do not normally | |||
accompany the operating system. Such a contradiction means you cannot | |||
use both them and the Library together in an executable that you | |||
distribute. | |||
7. You may place library facilities that are a work based on the | |||
Library side-by-side in a single library together with other library | |||
facilities not covered by this License, and distribute such a combined | |||
library, provided that the separate distribution of the work based on | |||
the Library and of the other library facilities is otherwise | |||
permitted, and provided that you do these two things: | |||
a) Accompany the combined library with a copy of the same work | |||
based on the Library, uncombined with any other library | |||
facilities. This must be distributed under the terms of the | |||
Sections above. | |||
b) Give prominent notice with the combined library of the fact | |||
that part of it is a work based on the Library, and explaining | |||
where to find the accompanying uncombined form of the same work. | |||
8. You may not copy, modify, sublicense, link with, or distribute | |||
the Library except as expressly provided under this License. Any | |||
attempt otherwise to copy, modify, sublicense, link with, or | |||
distribute the Library is void, and will automatically terminate your | |||
rights under this License. However, parties who have received copies, | |||
or rights, from you under this License will not have their licenses | |||
terminated so long as such parties remain in full compliance. | |||
9. You are not required to accept this License, since you have not | |||
signed it. However, nothing else grants you permission to modify or | |||
distribute the Library or its derivative works. These actions are | |||
prohibited by law if you do not accept this License. Therefore, by | |||
modifying or distributing the Library (or any work based on the | |||
Library), you indicate your acceptance of this License to do so, and | |||
all its terms and conditions for copying, distributing or modifying | |||
the Library or works based on it. | |||
10. Each time you redistribute the Library (or any work based on the | |||
Library), the recipient automatically receives a license from the | |||
original licensor to copy, distribute, link with or modify the Library | |||
subject to these terms and conditions. You may not impose any further | |||
restrictions on the recipients' exercise of the rights granted herein. | |||
You are not responsible for enforcing compliance by third parties with | |||
this License. | |||
11. If, as a consequence of a court judgment or allegation of patent | |||
infringement or for any other reason (not limited to patent issues), | |||
conditions are imposed on you (whether by court order, agreement or | |||
otherwise) that contradict the conditions of this License, they do not | |||
excuse you from the conditions of this License. If you cannot | |||
distribute so as to satisfy simultaneously your obligations under this | |||
License and any other pertinent obligations, then as a consequence you | |||
may not distribute the Library at all. For example, if a patent | |||
license would not permit royalty-free redistribution of the Library by | |||
all those who receive copies directly or indirectly through you, then | |||
the only way you could satisfy both it and this License would be to | |||
refrain entirely from distribution of the Library. | |||
If any portion of this section is held invalid or unenforceable under any | |||
particular circumstance, the balance of the section is intended to apply, | |||
and the section as a whole is intended to apply in other circumstances. | |||
It is not the purpose of this section to induce you to infringe any | |||
patents or other property right claims or to contest validity of any | |||
such claims; this section has the sole purpose of protecting the | |||
integrity of the free software distribution system which is | |||
implemented by public license practices. Many people have made | |||
generous contributions to the wide range of software distributed | |||
through that system in reliance on consistent application of that | |||
system; it is up to the author/donor to decide if he or she is willing | |||
to distribute software through any other system and a licensee cannot | |||
impose that choice. | |||
This section is intended to make thoroughly clear what is believed to | |||
be a consequence of the rest of this License. | |||
12. If the distribution and/or use of the Library is restricted in | |||
certain countries either by patents or by copyrighted interfaces, the | |||
original copyright holder who places the Library under this License may add | |||
an explicit geographical distribution limitation excluding those countries, | |||
so that distribution is permitted only in or among countries not thus | |||
excluded. In such case, this License incorporates the limitation as if | |||
written in the body of this License. | |||
13. The Free Software Foundation may publish revised and/or new | |||
versions of the Lesser General Public License from time to time. | |||
Such new versions will be similar in spirit to the present version, | |||
but may differ in detail to address new problems or concerns. | |||
Each version is given a distinguishing version number. If the Library | |||
specifies a version number of this License which applies to it and | |||
"any later version", you have the option of following the terms and | |||
conditions either of that version or of any later version published by | |||
the Free Software Foundation. If the Library does not specify a | |||
license version number, you may choose any version ever published by | |||
the Free Software Foundation. | |||
14. If you wish to incorporate parts of the Library into other free | |||
programs whose distribution conditions are incompatible with these, | |||
write to the author to ask for permission. For software which is | |||
copyrighted by the Free Software Foundation, write to the Free | |||
Software Foundation; we sometimes make exceptions for this. Our | |||
decision will be guided by the two goals of preserving the free status | |||
of all derivatives of our free software and of promoting the sharing | |||
and reuse of software generally. | |||
NO WARRANTY | |||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO | |||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. | |||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR | |||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY | |||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE | |||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE | |||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME | |||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. | |||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN | |||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY | |||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU | |||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR | |||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE | |||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING | |||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A | |||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF | |||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | |||
DAMAGES. | |||
END OF TERMS AND CONDITIONS | |||
How to Apply These Terms to Your New Libraries | |||
If you develop a new library, and you want it to be of the greatest | |||
possible use to the public, we recommend making it free software that | |||
everyone can redistribute and change. You can do so by permitting | |||
redistribution under these terms (or, alternatively, under the terms of the | |||
ordinary General Public License). | |||
To apply these terms, attach the following notices to the library. It is | |||
safest to attach them to the start of each source file to most effectively | |||
convey the exclusion of warranty; and each file should have at least the | |||
"copyright" line and a pointer to where the full notice is found. | |||
<one line to give the library's name and a brief idea of what it does.> | |||
Copyright (C) <year> <name of author> | |||
This library is free software; you can redistribute it and/or | |||
modify it under the terms of the GNU Lesser General Public | |||
License as published by the Free Software Foundation; either | |||
version 2.1 of the License, or (at your option) any later version. | |||
This library is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public | |||
License along with this library; if not, write to the Free Software | |||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||
Also add information on how to contact you by electronic and paper mail. | |||
You should also get your employer (if you work as a programmer) or your | |||
school, if any, to sign a "copyright disclaimer" for the library, if | |||
necessary. Here is a sample; alter the names: | |||
Yoyodyne, Inc., hereby disclaims all copyright interest in the | |||
library `Frob' (a library for tweaking knobs) written by James Random Hacker. | |||
<signature of Ty Coon>, 1 April 1990 | |||
Ty Coon, President of Vice | |||
That's all there is to it! |
@@ -0,0 +1,46 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.plugin('anchor', function(K) { | |||
var self = this, name = 'anchor', lang = self.lang(name + '.'); | |||
self.plugin.anchor = { | |||
edit : function() { | |||
var html = ['<div style="padding:20px;">', | |||
'<div class="ke-dialog-row">', | |||
'<label for="keName">' + lang.name + '</label>', | |||
'<input class="ke-input-text" type="text" id="keName" name="name" value="" style="width:100px;" />', | |||
'</div>', | |||
'</div>'].join(''); | |||
var dialog = self.createDialog({ | |||
name : name, | |||
width : 300, | |||
title : self.lang(name), | |||
body : html, | |||
yesBtn : { | |||
name : self.lang('yes'), | |||
click : function(e) { | |||
self.insertHtml('<a name="' + nameBox.val() + '">').hideDialog().focus(); | |||
} | |||
} | |||
}); | |||
var div = dialog.div, | |||
nameBox = K('input[name="name"]', div); | |||
var img = self.plugin.getSelectedAnchor(); | |||
if (img) { | |||
nameBox.val(unescape(img.attr('data-ke-name'))); | |||
} | |||
nameBox[0].focus(); | |||
nameBox[0].select(); | |||
}, | |||
'delete' : function() { | |||
self.plugin.getSelectedAnchor().remove(); | |||
} | |||
}; | |||
self.clickToolbar(name, self.plugin.anchor.edit); | |||
}); |
@@ -0,0 +1,54 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.plugin('autoheight', function(K) { | |||
var self = this; | |||
if (!self.autoHeightMode) { | |||
return; | |||
} | |||
var minHeight; | |||
function hideScroll() { | |||
var edit = self.edit; | |||
var body = edit.doc.body; | |||
edit.iframe[0].scroll = 'no'; | |||
body.style.overflowY = 'hidden'; | |||
} | |||
function resetHeight() { | |||
var edit = self.edit; | |||
var body = edit.doc.body; | |||
edit.iframe.height(minHeight); | |||
self.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight)); | |||
} | |||
function init() { | |||
minHeight = K.removeUnit(self.height); | |||
self.edit.afterChange(resetHeight); | |||
hideScroll(); | |||
resetHeight(); | |||
} | |||
if (self.isCreated) { | |||
init(); | |||
} else { | |||
self.afterCreate(init); | |||
} | |||
}); | |||
/* | |||
* 如何实现真正的自动高度? | |||
* 修改编辑器高度之后,再次获取body内容高度时,最小值只会是当前iframe的设置高度,这样就导致高度只增不减。 | |||
* 所以每次获取body内容高度之前,先将iframe的高度重置为最小高度,这样就能获取body的实际高度。 | |||
* 由此就实现了真正的自动高度 | |||
* 测试:chrome、firefox、IE9、IE8 | |||
* */ |
@@ -0,0 +1,93 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
// Baidu Maps: http://dev.baidu.com/wiki/map/index.php?title=%E9%A6%96%E9%A1%B5 | |||
KindEditor.plugin('baidumap', function(K) { | |||
var self = this, name = 'baidumap', lang = self.lang(name + '.'); | |||
var mapWidth = K.undef(self.mapWidth, 558); | |||
var mapHeight = K.undef(self.mapHeight, 360); | |||
self.clickToolbar(name, function() { | |||
var html = ['<div style="padding:10px 20px;">', | |||
'<div class="ke-header">', | |||
// left start | |||
'<div class="ke-left">', | |||
lang.address + ' <input id="kindeditor_plugin_map_address" name="address" class="ke-input-text" value="" style="width:200px;" /> ', | |||
'<span class="ke-button-common ke-button-outer">', | |||
'<input type="button" name="searchBtn" class="ke-button-common ke-button" value="' + lang.search + '" />', | |||
'</span>', | |||
'</div>', | |||
// right start | |||
'<div class="ke-right">', | |||
'<input type="checkbox" id="keInsertDynamicMap" name="insertDynamicMap" value="1" /> <label for="keInsertDynamicMap">' + lang.insertDynamicMap + '</label>', | |||
'</div>', | |||
'<div class="ke-clearfix"></div>', | |||
'</div>', | |||
'<div class="ke-map" style="width:' + mapWidth + 'px;height:' + mapHeight + 'px;"></div>', | |||
'</div>'].join(''); | |||
var dialog = self.createDialog({ | |||
name : name, | |||
width : mapWidth + 42, | |||
title : self.lang(name), | |||
body : html, | |||
yesBtn : { | |||
name : self.lang('yes'), | |||
click : function(e) { | |||
var map = win.map; | |||
var centerObj = map.getCenter(); | |||
var center = centerObj.lng + ',' + centerObj.lat; | |||
var zoom = map.getZoom(); | |||
var url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage', | |||
'?center=' + encodeURIComponent(center), | |||
'&zoom=' + encodeURIComponent(zoom), | |||
'&width=' + mapWidth, | |||
'&height=' + mapHeight, | |||
'&markers=' + encodeURIComponent(center), | |||
'&markerStyles=' + encodeURIComponent('l,A')].join(''); | |||
if (checkbox[0].checked) { | |||
self.insertHtml('<iframe src="' + url + '" frameborder="0" style="width:' + (mapWidth + 2) + 'px;height:' + (mapHeight + 2) + 'px;"></iframe>'); | |||
} else { | |||
self.exec('insertimage', url); | |||
} | |||
self.hideDialog().focus(); | |||
} | |||
}, | |||
beforeRemove : function() { | |||
searchBtn.remove(); | |||
if (doc) { | |||
doc.write(''); | |||
} | |||
iframe.remove(); | |||
} | |||
}); | |||
var div = dialog.div, | |||
addressBox = K('[name="address"]', div), | |||
searchBtn = K('[name="searchBtn"]', div), | |||
checkbox = K('[name="insertDynamicMap"]', dialog.div), | |||
win, doc; | |||
var iframe = K('<iframe class="ke-textarea" frameborder="0" src="' + self.pluginsPath + 'baidumap/map.html" style="width:' + mapWidth + 'px;height:' + mapHeight + 'px;"></iframe>'); | |||
function ready() { | |||
win = iframe[0].contentWindow; | |||
doc = K.iframeDoc(iframe); | |||
} | |||
iframe.bind('load', function() { | |||
iframe.unbind('load'); | |||
if (K.IE) { | |||
ready(); | |||
} else { | |||
setTimeout(ready, 0); | |||
} | |||
}); | |||
K('.ke-map', div).replaceWith(iframe); | |||
// search map | |||
searchBtn.click(function() { | |||
win.search(addressBox.val()); | |||
}); | |||
}); | |||
}); |
@@ -0,0 +1,83 @@ | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml"> | |||
<head> | |||
<meta charset="utf-8" /> | |||
<meta name="keywords" content="百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" /> | |||
<meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" /> | |||
<title>百度地图API自定义地图</title> | |||
<!--引用百度地图API--> | |||
<style type="text/css"> | |||
html,body{margin:0;padding:0;} | |||
.iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap} | |||
.iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word} | |||
</style> | |||
<script type="text/javascript" src="http://api.map.baidu.com/api?key=&v=1.1&services=true"></script> | |||
</head> | |||
<body onload="initMap();"> | |||
<!--百度地图容器--> | |||
<div style="width:697px;height:550px;border:#ccc solid 1px;" id="dituContent"></div> | |||
</body> | |||
<script type="text/javascript"> | |||
function getParam(name) { | |||
return location.href.match(new RegExp('[?&]' + name + '=([^?&]+)', 'i')) ? decodeURIComponent(RegExp.$1) : ''; | |||
} | |||
var centerParam = getParam('center'); | |||
var zoomParam = getParam('zoom'); | |||
var widthParam = getParam('width'); | |||
var heightParam = getParam('height'); | |||
var markersParam = getParam('markers'); | |||
var markerStylesParam = getParam('markerStyles'); | |||
//创建和初始化地图函数: | |||
function initMap(){ | |||
// [FF]切换模式后报错 | |||
if (!window.BMap) { | |||
return; | |||
} | |||
var dituContent = document.getElementById('dituContent'); | |||
dituContent.style.width = widthParam + 'px'; | |||
dituContent.style.height = heightParam + 'px'; | |||
createMap();//创建地图 | |||
setMapEvent();//设置地图事件 | |||
addMapControl();//向地图添加控件 | |||
// 创建标注 | |||
var markersArr = markersParam.split(','); | |||
var point = new BMap.Point(markersArr[0], markersArr[1]); | |||
var marker = new BMap.Marker(point); | |||
map.addOverlay(marker); // 将标注添加到地图中 | |||
} | |||
//创建地图函数: | |||
function createMap(){ | |||
var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图 | |||
var centerArr = centerParam.split(','); | |||
var point = new BMap.Point(centerArr[0], centerArr[1]);//定义一个中心点坐标 | |||
map.centerAndZoom(point, zoomParam);//设定地图的中心点和坐标并将地图显示在地图容器中 | |||
window.map = map;//将map变量存储在全局 | |||
} | |||
//地图事件设置函数: | |||
function setMapEvent(){ | |||
map.enableDragging();//启用地图拖拽事件,默认启用(可不写) | |||
map.enableScrollWheelZoom();//启用地图滚轮放大缩小 | |||
map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写) | |||
map.enableKeyboard();//启用键盘上下左右键移动地图 | |||
} | |||
//地图控件添加函数: | |||
function addMapControl(){ | |||
//向地图中添加缩放控件 | |||
var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); | |||
map.addControl(ctrl_nav); | |||
//向地图中添加缩略图控件 | |||
var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1}); | |||
map.addControl(ctrl_ove); | |||
//向地图中添加比例尺控件 | |||
var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); | |||
map.addControl(ctrl_sca); | |||
} | |||
</script> | |||
</html> |
@@ -0,0 +1,43 @@ | |||
<!doctype html> | |||
<html> | |||
<head> | |||
<meta charset="utf-8" /> | |||
<title>Baidu Maps</title> | |||
<style> | |||
html { height: 100% } | |||
body { height: 100%; margin: 0; padding: 0; background-color: #FFF } | |||
</style> | |||
<script charset="utf-8" src="http://api.map.baidu.com/api?v=1.3"></script> | |||
<script> | |||
var map, geocoder; | |||
function initialize() { | |||
map = new BMap.Map('map_canvas'); | |||
var point = new BMap.Point(121.473704, 31.230393); | |||
map.centerAndZoom(point, 11); | |||
map.addControl(new BMap.NavigationControl()); | |||
map.enableScrollWheelZoom(); | |||
var gc = new BMap.Geocoder(); | |||
gc.getLocation(point, function(rs){ | |||
var addComp = rs.addressComponents; | |||
var address = [addComp.city].join(''); | |||
parent.document.getElementById("kindeditor_plugin_map_address").value = address; | |||
}); | |||
} | |||
function search(address) { | |||
if (!map) return; | |||
var local = new BMap.LocalSearch(map, { | |||
renderOptions: { | |||
map: map, | |||
autoViewport: true, | |||
selectFirstResult: false | |||
} | |||
}); | |||
local.search(address); | |||
} | |||
</script> | |||
</head> | |||
<body onload="initialize();"> | |||
<div id="map_canvas" style="width:100%; height:100%"></div> | |||
</body> | |||
</html> |
@@ -0,0 +1,29 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.plugin('clearhtml', function(K) { | |||
var self = this, name = 'clearhtml'; | |||
self.clickToolbar(name, function() { | |||
self.focus(); | |||
var html = self.html(); | |||
html = html.replace(/(<script[^>]*>)([\s\S]*?)(<\/script>)/ig, ''); | |||
html = html.replace(/(<style[^>]*>)([\s\S]*?)(<\/style>)/ig, ''); | |||
html = K.formatHtml(html, { | |||
a : ['href', 'target'], | |||
embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'], | |||
img : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'], | |||
table : ['border'], | |||
'td,th' : ['rowspan', 'colspan'], | |||
'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [] | |||
}); | |||
self.html(html); | |||
self.cmd.selection(true); | |||
self.addBookmark(); | |||
}); | |||
}); |
@@ -0,0 +1,62 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
// google code prettify: http://google-code-prettify.googlecode.com/ | |||
// http://google-code-prettify.googlecode.com/ | |||
KindEditor.plugin('code', function(K) { | |||
var self = this, name = 'code'; | |||
self.clickToolbar(name, function() { | |||
var lang = self.lang(name + '.'), | |||
html = ['<div style="padding:10px 20px;">', | |||
'<div class="ke-dialog-row">', | |||
'<select class="ke-code-type">', | |||
'<option value="js">JavaScript</option>', | |||
'<option value="html">HTML</option>', | |||
'<option value="css">CSS</option>', | |||
'<option value="php">PHP</option>', | |||
'<option value="pl">Perl</option>', | |||
'<option value="py">Python</option>', | |||
'<option value="rb">Ruby</option>', | |||
'<option value="java">Java</option>', | |||
'<option value="vb">ASP/VB</option>', | |||
'<option value="cpp">C/C++</option>', | |||
'<option value="cs">C#</option>', | |||
'<option value="xml">XML</option>', | |||
'<option value="bsh">Shell</option>', | |||
'<option value="">Other</option>', | |||
'</select>', | |||
'</div>', | |||
'<textarea class="ke-textarea" style="width:408px;height:260px;"></textarea>', | |||
'</div>'].join(''), | |||
dialog = self.createDialog({ | |||
name : name, | |||
width : 450, | |||
title : self.lang(name), | |||
body : html, | |||
yesBtn : { | |||
name : self.lang('yes'), | |||
click : function(e) { | |||
var type = K('.ke-code-type', dialog.div).val(), | |||
code = textarea.val(), | |||
cls = type === '' ? '' : ' lang-' + type, | |||
html = '<pre class="prettyprint' + cls + '">\n' + K.escape(code) + '</pre> '; | |||
if (K.trim(code) === '') { | |||
alert(lang.pleaseInput); | |||
textarea[0].focus(); | |||
return; | |||
} | |||
self.insertHtml(html).hideDialog().focus(); | |||
} | |||
} | |||
}), | |||
textarea = K('textarea', dialog.div); | |||
textarea[0].focus(); | |||
}); | |||
}); |
@@ -0,0 +1,13 @@ | |||
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} | |||
pre.prettyprint { | |||
border: 0; | |||
border-left: 3px solid rgb(204, 204, 204); | |||
margin-left: 2em; | |||
padding: 0.5em; | |||
font-size: 110%; | |||
display: block; | |||
font-family: "Consolas", "Monaco", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; | |||
margin: 1em 0px; | |||
white-space: pre; | |||
} |
@@ -0,0 +1,28 @@ | |||
var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; | |||
(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.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),a= | |||
[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c< | |||
f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&& | |||
(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r= | |||
{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length, | |||
t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b=== | |||
"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), | |||
l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, | |||
q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, | |||
q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, | |||
"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), | |||
a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} | |||
for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value", | |||
m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m= | |||
a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue= | |||
j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"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"],F=[w,"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"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], | |||
H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"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"], | |||
J=[v,"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"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"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"+ | |||
I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<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"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["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"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), | |||
["cv","py"]);k(u({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"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({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,true,try,unless,until,when,while,yes", | |||
hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b= | |||
!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m, | |||
250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,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"}})(); |
@@ -0,0 +1,129 @@ | |||
/******************************************************************************* | |||
* KindEditor - WYSIWYG HTML Editor for Internet | |||
* Copyright (C) 2006-2011 kindsoft.net | |||
* | |||
* @author Roddy <luolonghao@gmail.com> | |||
* @site http://www.kindsoft.net/ | |||
* @licence http://www.kindsoft.net/license.php | |||
*******************************************************************************/ | |||
KindEditor.plugin('emoticons', function(K) { | |||
var self = this, name = 'emoticons', | |||
path = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'), | |||
allowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons, | |||
currentPageNum = 1; | |||
self.clickToolbar(name, function() { | |||
var rows = 5, cols = 9, total = 135, startNum = 0, | |||
cells = rows * cols, pages = Math.ceil(total / cells), | |||
colsHalf = Math.floor(cols / 2), | |||
wrapperDiv = K('<div class="ke-plugin-emoticons"></div>'), | |||
elements = [], | |||
menu = self.createMenu({ | |||
name : name, | |||
beforeRemove : function() { | |||
removeEvent(); | |||
} | |||
}); | |||
menu.div.append(wrapperDiv); | |||
var previewDiv, previewImg; | |||
if (allowPreview) { | |||
previewDiv = K('<div class="ke-preview"></div>').css('right', 0); | |||
previewImg = K('<img class="ke-preview-img" src="' + path + startNum + '.gif" />'); | |||
wrapperDiv.append(previewDiv); | |||
previewDiv.append(previewImg); | |||
} | |||
function bindCellEvent(cell, j, num) { | |||
if (previewDiv) { | |||
cell.mouseover(function() { | |||
if (j > colsHalf) { | |||
previewDiv.css('left', 0); | |||
previewDiv.css('right', ''); | |||
} else { | |||
previewDiv.css('left', ''); | |||
previewDiv.css('right', 0); | |||
} | |||
previewImg.attr('src', path + num + '.gif'); | |||
K(this).addClass('ke-on'); | |||
}); | |||
} else { | |||
cell.mouseover(function() { | |||
K(this).addClass('ke-on'); | |||
}); | |||
} | |||
cell.mouseout(function() { | |||
K(this).removeClass('ke-on'); | |||
}); | |||
cell.click(function(e) { | |||
self.insertHtml('<img src="' + path + num + '.gif" border="0" alt="" />').hideMenu().focus(); | |||
e.stop(); | |||
}); | |||
} | |||
function createEmoticonsTable(pageNum, parentDiv) { | |||
var table = document.createElement('table'); | |||
parentDiv.append(table); | |||
if (previewDiv) { | |||
K(table).mouseover(function() { | |||
previewDiv.show('block'); | |||
}); | |||
K(table).mouseout(function() { | |||
previewDiv.hide(); | |||
}); | |||
elements.push(K(table)); | |||
} | |||
table.className = 'ke-table'; | |||
table.cellPadding = 0; | |||
table.cellSpacing = 0; | |||
table.border = 0; | |||
var num = (pageNum - 1) * cells + startNum; | |||
for (var i = 0; i < rows; i++) { | |||
var row = table.insertRow(i); | |||
for (var j = 0; j < cols; j++) { | |||
var cell = K(row.insertCell(j)); | |||
cell.addClass('ke-cell'); | |||
bindCellEvent(cell, j, num); | |||
var span = K('<span class="ke-img"></span>') | |||
.css('background-position', '-' + (24 * num) + 'px 0px') | |||
.css('background-image', 'url(' + path + 'static.gif)'); | |||
cell.append(span); | |||
elements.push(cell); | |||
num++; | |||
} | |||
} | |||
return table; | |||
} | |||
var table = createEmoticonsTable(currentPageNum, wrapperDiv); | |||
function removeEvent() { | |||
K.each(elements, function() { | |||
this.unbind(); | |||
}); | |||
} | |||
var pageDiv; | |||
function bindPageEvent(el, pageNum) { | |||
el.click(function(e) { | |||
removeEvent(); | |||
table.parentNode.removeChild(table); | |||
pageDiv.remove(); | |||
table = createEmoticonsTable(pageNum, wrapperDiv); | |||
createPageTable(pageNum); | |||
currentPageNum = pageNum; | |||
e.stop(); | |||
}); | |||
} | |||
function createPageTable(currentPageNum) { | |||
pageDiv = K('<div class="ke-page"></div>'); | |||
wrapperDiv.append(pageDiv); | |||
for (var pageNum = 1; pageNum <= pages; pageNum++) { | |||
if (currentPageNum !== pageNum) { | |||
var a = K('<a href="javascript:;">[' + pageNum + ']</a>'); | |||
bindPageEvent(a, pageNum); | |||
pageDiv.append(a); | |||
elements.push(a); | |||
} else { | |||
pageDiv.append(K('@[' + pageNum + ']')); | |||
} | |||
pageDiv.append(K('@ ')); | |||
} | |||
} | |||
createPageTable(currentPageNum); | |||
}); | |||
}); |