@ -0,0 +1,155 @@
|
||||
<!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">
|
||||
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="css/style.css"/>
|
||||
<link href="assets/css/codemirror.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/ace.min.css" />
|
||||
<link rel="stylesheet" href="Widget/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
|
||||
<link rel="stylesheet" href="assets/css/font-awesome.min.css" />
|
||||
|
||||
<!--[if IE 7]>
|
||||
<link rel="stylesheet" href="assets/css/font-awesome-ie7.min.css" />
|
||||
<![endif]-->
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" href="assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
|
||||
<![endif]-->
|
||||
<!--[if !IE]> -->
|
||||
<script type="text/javascript">
|
||||
window.jQuery || document.write("<script src='assets/js/jquery-2.0.3.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script type="text/javascript">
|
||||
window.jQuery || document.write("<script src='assets/js/jquery-1.10.2.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<![endif]-->
|
||||
<script src="assets/js/ace-elements.min.js"></script>
|
||||
<script src="assets/js/ace.min.js"></script>
|
||||
<script src="assets/js/bootstrap.min.js"></script>
|
||||
<script src="assets/js/typeahead-bs2.min.js"></script>
|
||||
<script type="text/javascript" src="Widget/zTree/js/jquery.ztree.all-3.5.min.js"></script>
|
||||
<script src="js/lrtk.js" type="text/javascript" ></script>
|
||||
<title>分类管理</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class=" clearfix">
|
||||
<div id="category">
|
||||
<div id="scrollsidebar" class="left_Treeview">
|
||||
<div class="show_btn" id="rightArrow"><span></span></div>
|
||||
<div class="widget-box side_content" >
|
||||
<div class="side_title"><a title="隐藏" class="close_btn"><span></span></a></div>
|
||||
<div class="side_list">
|
||||
<div class="widget-header header-color-green2">
|
||||
<h4 class="lighter smaller">产品类型列表</h4>
|
||||
</div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main padding-8">
|
||||
<div id="treeDemo" class="ztree"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!---->
|
||||
<iframe ID="testIframe" Name="testIframe" FRAMEBORDER=0 SCROLLING=AUTO SRC="product-category-add.html" class="page_right_style"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#category").fix({
|
||||
float : 'left',
|
||||
//minStatue : true,
|
||||
skin : 'green',
|
||||
durationTime :false
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
//初始化宽度、高度
|
||||
$(".widget-box").height($(window).height());
|
||||
$(".page_right_style").width($(window).width()-220);
|
||||
//当文档窗口发生改变时 触发
|
||||
$(window).resize(function(){
|
||||
$(".widget-box").height($(window).height());
|
||||
$(".page_right_style").width($(window).width()-220);
|
||||
})
|
||||
|
||||
/**************/
|
||||
var setting = {
|
||||
view: {
|
||||
dblClickExpand: false,
|
||||
showLine: false,
|
||||
selectedMulti: false
|
||||
},
|
||||
data: {
|
||||
simpleData: {
|
||||
enable:true,
|
||||
idKey: "id",
|
||||
pIdKey: "pId",
|
||||
rootPId: ""
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
beforeClick: function(treeId, treeNode) {
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
if (treeNode.isParent) {
|
||||
zTree.expandNode(treeNode);
|
||||
return false;
|
||||
} else {
|
||||
demoIframe.attr("src",treeNode.file + ".html");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var zNodes =[
|
||||
{ id:1, pId:0, name:"商城分类列表", open:true},
|
||||
{ id:11, pId:1, name:"男装"},
|
||||
{ id:111, pId:11, name:"上装"},
|
||||
{ id:112, pId:11, name:"下装"},
|
||||
{ id:113, pId:11, name:"套装"},
|
||||
{ id:12, pId:1, name:"女装"},
|
||||
{ id:121, pId:12, name:"下装"},
|
||||
{ id:122, pId:12, name:"上装"},
|
||||
{ id:123, pId:12, name:"裙装"},
|
||||
{ id:123, pId:12, name:"内衣"},
|
||||
{ id:13, pId:1, name:"包包"},
|
||||
{ id:131, pId:13, name:"女士包包"},
|
||||
{ id:132, pId:13, name:"男士包包"},
|
||||
{ id:14, pId:1, name:"童装"},
|
||||
{ id:141, pId:14, name:"男童装"},
|
||||
{ id:42, pId:14, name:"女童装"},
|
||||
{ id:42, pId:14, name:"男女童鞋"},
|
||||
{ id:15, pId:1, name:"鞋靴"},
|
||||
{ id:151, pId:15, name:"男鞋"},
|
||||
{ id:152, pId:15, name:"女鞋"},
|
||||
];
|
||||
|
||||
var code;
|
||||
|
||||
function showCode(str) {
|
||||
if (!code) code = $("#code");
|
||||
code.empty();
|
||||
code.append("<li>"+str+"</li>");
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
var t = $("#treeDemo");
|
||||
t = $.fn.zTree.init(t, setting, zNodes);
|
||||
demoIframe = $("#testIframe");
|
||||
demoIframe.bind("load", loadReady);
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
zTree.selectNode(zTree.getNodeByParam("id",'11'));
|
||||
});
|
||||
</script>
|
@ -0,0 +1,168 @@
|
||||
<!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="renderer" content="webkit|ie-comp|ie-stand">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="css/style.css"/>
|
||||
<link href="assets/css/codemirror.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/ace.min.css" />
|
||||
<link rel="stylesheet" href="font/css/font-awesome.min.css" />
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" href="assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<script src="js/jquery-1.9.1.min.js"></script>
|
||||
<script src="assets/js/bootstrap.min.js"></script>
|
||||
<script src="assets/js/typeahead-bs2.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.bootstrap.js"></script>
|
||||
<script src="assets/layer/layer.js" type="text/javascript" ></script>
|
||||
<script src="assets/laydate/laydate.js" type="text/javascript"></script>
|
||||
<script src="js/lrtk.js" type="text/javascript" ></script>
|
||||
<title>个人账户</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="margin clearfix">
|
||||
<div class="cover_style" id="cover_style">
|
||||
<div class="search_style">
|
||||
|
||||
<ul class="search_content clearfix">
|
||||
<li><label class="l_f">用户</label><input name="" type="text" class="text_add" placeholder="用户名称" style=" width:250px"></li>
|
||||
<li style="width:90px;"><button type="button" class="btn_search"><i class="fa fa-search"></i>查询</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--操作-->
|
||||
<div class="border clearfix">
|
||||
<span class="l_f">
|
||||
<a href="javascript:ovid()" class="btn btn-danger"><i class="fa fa-bar-chart"></i> 图表展示</a>
|
||||
</span>
|
||||
<span class="r_f">共:<b>2334</b>个账户</span>
|
||||
</div>
|
||||
<!--账户管理-->
|
||||
<div class="">
|
||||
<table class="table table-striped table-bordered table-hover" id="sample-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width=""><label><input type="checkbox" class="ace"><span class="lbl"></span></label></th>
|
||||
<th width="">ID</th>
|
||||
<th width="">用户名</th>
|
||||
<th width="">账户余额</th>
|
||||
<th width="">最新消费</th>
|
||||
<th width="">消费时间</th>
|
||||
<th width="">账户状态</th>
|
||||
<th width="">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td> <label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>1</td>
|
||||
<td><u style="cursor:pointer" class="text-primary" onclick="member_show('张小泉','member-show.html','1031','500','400')">张奶奶</u></td>
|
||||
<td>345.2</td>
|
||||
<td>购买商品消费122元</td>
|
||||
<td>2016-7-21 12:45</td>
|
||||
<td class="td-status"><span class="label label-success radius">启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="启用" class="btn btn-xs btn-success"><i class="fa fa-check bigger-120"></i></a>
|
||||
<a href="javascript:ovid()" name="Account_Details.html" class="btn btn-xs btn-warning Account_Details" onclick="generateOrders('511');" title="张奶奶账户详细" >
|
||||
<i class="fa fa-list-ul bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> <label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>12</td>
|
||||
<td><u style="cursor:pointer" class="text-primary" onclick="member_show('张小泉','member-show.html','1031','500','400')">张小泉</u></td>
|
||||
<td>345.2</td>
|
||||
<td>购买商品消费122元</td>
|
||||
<td>2016-7-21 12:45</td>
|
||||
<td class="td-status"><span class="label label-success radius">启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="启用" class="btn btn-xs btn-success"><i class="fa fa-check bigger-120"></i></a>
|
||||
<a href="javascript:ovid()" name="Account_Details.html" class="btn btn-xs btn-warning Account_Details" onclick="generateOrders('561');" title="张小泉账户详细" >
|
||||
<i class="fa fa-list-ul bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script type="text/javascript">
|
||||
/*用户-停用*/
|
||||
function member_stop(obj,id){
|
||||
layer.confirm('确认要停用该账户吗?',function(index){
|
||||
$(obj).parents("tr").find(".td-manage").prepend('<a style="text-decoration:none" class="btn btn-xs " onClick="member_start(this,id)" href="javascript:;" title="启用"><i class="fa fa-close bigger-120"></i></a>');
|
||||
$(obj).parents("tr").find(".td-status").html('<span class="label label-defaunt radius">停用</span>');
|
||||
$(obj).remove();
|
||||
layer.msg('停用!',{icon: 5,time:1000});
|
||||
});
|
||||
}
|
||||
|
||||
/*用户-启用*/
|
||||
function member_start(obj,id){
|
||||
layer.confirm('确认要启用该账户吗?',function(index){
|
||||
$(obj).parents("tr").find(".td-manage").prepend('<a style="text-decoration:none" class="btn btn-xs btn-success" onClick="member_stop(this,id)" href="javascript:;" title="停用"><i class="fa fa-check bigger-120"></i></a>');
|
||||
$(obj).parents("tr").find(".td-status").html('<span class="label label-success radius">启用</span>');
|
||||
$(obj).remove();
|
||||
layer.msg('启用!',{icon: 6,time:1000});
|
||||
});
|
||||
}
|
||||
jQuery(function($) {
|
||||
var oTable1 = $('#sample-table').dataTable( {
|
||||
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
|
||||
"bStateSave": true,//状态保存
|
||||
"bAutoWidth":true,
|
||||
"aoColumnDefs": [
|
||||
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
|
||||
{"orderable":false,"aTargets":[0,2,3,4,6,7,8,9]}// 制定列不参与排序
|
||||
] } );
|
||||
$('table th input:checkbox').on('click' , function(){
|
||||
var that = this;
|
||||
$(this).closest('table').find('tr > td:first-child input:checkbox')
|
||||
.each(function(){
|
||||
this.checked = that.checked;
|
||||
$(this).closest('tr').toggleClass('selected');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
//面包屑返回值
|
||||
//var index = parent.layer.getFrameIndex(window.name);
|
||||
//parent.layer.iframeAuto(index);
|
||||
//$('.Order_form ,.Account_Details').on('click', function(){
|
||||
// var cname = $(this).attr("title");
|
||||
// var chref = $(this).attr("href");
|
||||
// var cnames = parent.$('.Current_page').html();
|
||||
// var herf = parent.$("#iframe").attr("src");
|
||||
// parent.$('#parentIfour').html(cname);
|
||||
// parent.$('#iframe').attr("src",chref).ready();;
|
||||
// parent.$('#parentIfour').css("display","inline-block");
|
||||
// parent.$('.Current_page').attr({"name":herf,"href":"javascript:void(0)"}).css({"color":"#4c8fbd","cursor":"pointer"});
|
||||
// parent.$('.parentIframe').attr("name",herf).css({"color":"#4c8fbd","cursor":"pointer"});
|
||||
// parent.$('.Current_page').html("<a href='javascript:void(0)' name="+herf+" class='iframeurl'>" + cnames + "</a>");
|
||||
// parent.layer.close(index);
|
||||
//
|
||||
//});
|
||||
var index = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.iframeAuto(index);
|
||||
$('.Order_form ,.Account_Details').on('click', function(){
|
||||
var cname = $(this).attr("title");
|
||||
var cnames = parent.$('.Current_page').html();
|
||||
var herf = parent.$("#iframe").attr("src");
|
||||
parent.$('#parentIframe span').html(cname);
|
||||
parent.$('#parentIframe').css("display","inline-block");
|
||||
parent.$('.Current_page').attr("name",herf).css({"color":"#4c8fbd","cursor":"pointer"});
|
||||
//parent.$('.Current_page').html("<a href='javascript:void(0)' name="+herf+">" + cnames + "</a>");
|
||||
parent.layer.close(index);
|
||||
|
||||
});
|
||||
function generateOrders(id){
|
||||
window.location.href = "Account_Details.html?="+id;
|
||||
};
|
||||
</script>
|
@ -0,0 +1,249 @@
|
||||
<!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="renderer" content="webkit|ie-comp|ie-stand">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="css/style.css"/>
|
||||
<link href="assets/css/codemirror.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/ace.min.css" />
|
||||
<link rel="stylesheet" href="font/css/font-awesome.min.css" />
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" href="assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<script src="js/jquery-1.9.1.min.js"></script>
|
||||
<script src="assets/js/bootstrap.min.js"></script>
|
||||
<script src="assets/js/typeahead-bs2.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.bootstrap.js"></script>
|
||||
<script src="assets/layer/layer.js" type="text/javascript" ></script>
|
||||
<script src="assets/laydate/laydate.js" type="text/javascript"></script>
|
||||
<script src="js/lrtk.js" type="text/javascript" ></script>
|
||||
<title>订单处理</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="clearfix">
|
||||
<div class="handling_style" id="order_hand">
|
||||
<div id="scrollsidebar" class="left_Treeview">
|
||||
<div class="show_btn" id="rightArrow"><span></span></div>
|
||||
<div class="widget-box side_content" >
|
||||
<div class="side_title"><a title="隐藏" class="close_btn"><span></span></a></div>
|
||||
<div class="side_list"><div class="widget-header header-color-green2"><h4 class="lighter smaller">订单操作</h4></div>
|
||||
<div class="widget-body">
|
||||
<ul class="b_P_Sort_list">
|
||||
<li><i class="orange fa fa-reorder"></i><a href="#">全部订单(235)</a></li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">已完成(235)</a></li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">代付款(15)</a> </li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">代发货(56)</a></li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">代收货(32)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order_list_style" id="order_list_style">
|
||||
<div class="search_style">
|
||||
|
||||
<ul class="search_content clearfix">
|
||||
<li><label class="l_f">订单编号</label><input name="" type="text" class="text_add" placeholder="输入订单编号" style=" width:250px"/></li>
|
||||
<li><label class="l_f">交易时间</label><input class="inline laydate-icon" id="start" style=" margin-left:10px;"></li>
|
||||
<li style="width:90px;"><button type="button" class="btn_search"><i class="fa fa-search"></i>查询</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--交易订单列表-->
|
||||
<div class="Orderform_list">
|
||||
<table class="table table-striped table-bordered table-hover" id="sample-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="25px"><label><input type="checkbox" class="ace"><span class="lbl"></span></label></th>
|
||||
<th width="120px">订单编号</th>
|
||||
<th width="250px">产品名称</th>
|
||||
<th width="100px">交易金额</th>
|
||||
<th width="100px">交易时间</th>
|
||||
<th width="180px">所属分类</th>
|
||||
<th width="80px">数量</th>
|
||||
<th width="70px">状态</th>
|
||||
<th width="100px">说明</th>
|
||||
<th width="200px">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#" class="product_Display"><img src="products/p_1.jpg" title="产品名称"/></a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#" class="product_Display"><img src="products/p_2.jpg" title="产品名称"/></a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">代发货</span></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<a onClick="Delivery_stop(this,'10001')" href="javascript:;" title="发货" class="btn btn-xs btn-success"><i class="fa fa-cubes bigger-120"></i></a>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#" class="product_Display">
|
||||
<img src="products/p_1.jpg" title="产品名称"/>
|
||||
</a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#" class="product_Display">
|
||||
<img src="products/p_2.jpg" title="产品名称"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">已发货</span></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#" class="product_Display"><img src="products/p_1.jpg" title="产品名称"/>
|
||||
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">失败</span></td>
|
||||
<td>支付失败</td>
|
||||
<td>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--发货-->
|
||||
<div id="Delivery_stop" style=" display:none">
|
||||
<div class="">
|
||||
<div class="content_style">
|
||||
<div class="form-group"><label class="col-sm-2 control-label no-padding-right" for="form-field-1">快递公司 </label>
|
||||
<div class="col-sm-9"><select class="form-control" id="form-field-select-1">
|
||||
<option value="">--选择快递--</option>
|
||||
<option value="1">天天快递</option>
|
||||
<option value="2">圆通快递</option>
|
||||
<option value="3">中通快递</option>
|
||||
<option value="4">顺丰快递</option>
|
||||
<option value="5">申通快递</option>
|
||||
<option value="6">邮政EMS</option>
|
||||
<option value="7">邮政小包</option>
|
||||
<option value="8">韵达快递</option>
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group"><label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 快递号 </label>
|
||||
<div class="col-sm-9"><input type="text" id="form-field-1" placeholder="快递号" class="col-xs-10 col-sm-5" style="margin-left:0px;"></div>
|
||||
</div>
|
||||
<div class="form-group"><label class="col-sm-2 control-label no-padding-right" for="form-field-1">货到付款 </label>
|
||||
<div class="col-sm-9"><label><input name="checkbox" type="checkbox" class="ace" id="checkbox"><span class="lbl"></span></label></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script>
|
||||
$(function() {
|
||||
$("#order_hand").fix({
|
||||
float : 'left',
|
||||
//minStatue : true,
|
||||
skin : 'green',
|
||||
durationTime :false,
|
||||
spacingw:30,//设置隐藏时的距离
|
||||
spacingh:250,//设置显示时间距
|
||||
table_menu:'.order_list_style',
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//时间
|
||||
laydate({
|
||||
elem: '#start',
|
||||
event: 'focus'
|
||||
});
|
||||
//初始化宽度、高度
|
||||
$(".widget-box").height($(window).height());
|
||||
$(".order_list_style").width($(window).width()-220);
|
||||
$(".order_list_style").height($(window).height()-30);
|
||||
//当文档窗口发生改变时 触发
|
||||
$(window).resize(function(){
|
||||
$(".widget-box").height($(window).height());
|
||||
$(".order_list_style").width($(window).width()-234);
|
||||
$(".order_list_style").height($(window).height()-30);
|
||||
});
|
||||
/**发货**/
|
||||
function Delivery_stop(obj,id){
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: '发货',
|
||||
maxmin: true,
|
||||
shadeClose:false,
|
||||
area : ['500px' , ''],
|
||||
content:$('#Delivery_stop'),
|
||||
btn:['确定','取消'],
|
||||
yes: function(index, layero){
|
||||
if($('#form-field-1').val()==""){
|
||||
layer.alert('快递号不能为空!',{
|
||||
title: '提示框',
|
||||
icon:0,
|
||||
})
|
||||
|
||||
}else{
|
||||
layer.confirm('提交成功!',function(index){
|
||||
$(obj).parents("tr").find(".td-manage").prepend('<a style=" display:none" class="btn btn-xs btn-success" onClick="member_stop(this,id)" href="javascript:;" title="已发货"><i class="fa fa-cubes bigger-120"></i></a>');
|
||||
$(obj).parents("tr").find(".td-status").html('<span class="label label-success radius">已发货</span>');
|
||||
$(obj).remove();
|
||||
layer.msg('已发货!',{icon: 6,time:1000});
|
||||
});
|
||||
layer.close(index);
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
};
|
||||
//订单列表
|
||||
jQuery(function($) {
|
||||
var oTable1 = $('#sample-table').dataTable( {
|
||||
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
|
||||
"bStateSave": true,//状态保存
|
||||
"aoColumnDefs": [
|
||||
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
|
||||
{"orderable":false,"aTargets":[0,2,3,4,5,6,8,9]}// 制定列不参与排序
|
||||
] } );
|
||||
//全选操作
|
||||
$('table th input:checkbox').on('click' , function(){
|
||||
var that = this;
|
||||
$(this).closest('table').find('tr > td:first-child input:checkbox')
|
||||
.each(function(){
|
||||
this.checked = that.checked;
|
||||
$(this).closest('tr').toggleClass('selected');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
@ -0,0 +1,391 @@
|
||||
<!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="renderer" content="webkit|ie-comp|ie-stand">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="css/style.css"/>
|
||||
<link href="assets/css/codemirror.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/ace.min.css" />
|
||||
<link rel="stylesheet" href="font/css/font-awesome.min.css" />
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" href="assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<script src="js/jquery-1.9.1.min.js"></script>
|
||||
<script src="assets/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="js/H-ui.js"></script>
|
||||
<script src="assets/js/typeahead-bs2.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.bootstrap.js"></script>
|
||||
<script src="assets/layer/layer.js" type="text/javascript" ></script>
|
||||
<script src="assets/laydate/laydate.js" type="text/javascript"></script>
|
||||
<script src="assets/js/jquery.easy-pie-chart.min.js"></script>
|
||||
<script src="js/lrtk.js" type="text/javascript" ></script>
|
||||
<title>订单管理</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="margin clearfix">
|
||||
<div class="cover_style" id="cover_style">
|
||||
<!--内容-->
|
||||
<div class="centent_style" id="centent_style">
|
||||
<div id="covar_list" class="order_list">
|
||||
<div id="scrollsidebar" class="left_Treeview">
|
||||
<div class="show_btn" id="rightArrow"><span></span></div>
|
||||
<div class="widget-box side_content" >
|
||||
<div class="side_title"><a title="隐藏" class="close_btn"><span></span></a></div>
|
||||
<div class="side_list"><div class="widget-header header-color-green2"><h4 class="lighter smaller">订单类型分类</h4></div>
|
||||
<div class="widget-body">
|
||||
<ul class="b_P_Sort_list">
|
||||
<li><i class="orange fa fa-reorder"></i><a href="#">全部订单</a></li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">男装</a></li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">女装</a> </li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">童装</a></li>
|
||||
<li><i class="fa fa-sticky-note pink "></i> <a href="#">鞋靴</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--左侧样式-->
|
||||
<div class="list_right_style">
|
||||
<div class="search_style">
|
||||
|
||||
<ul class="search_content clearfix">
|
||||
<li><label class="l_f">订单编号</label><input name="" type="text" class="text_add" placeholder="订单订单编号" style=" width:250px"></li>
|
||||
<li><label class="l_f">时间</label><input class="inline laydate-icon" id="start" style=" margin-left:10px;"></li>
|
||||
<li style="width:90px;"><button type="button" class="btn_search"><i class="fa fa-search"></i>查询</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--订单列表展示-->
|
||||
<table class="table table-striped table-bordered table-hover" id="sample-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="25px"><label><input type="checkbox" class="ace"><span class="lbl"></span></label></th>
|
||||
<th width="120px">订单编号</th>
|
||||
<th width="250px">产品名称</th>
|
||||
<th width="100px">总价</th>
|
||||
<th width="100px">优惠</th>
|
||||
<th width="100px">订单时间</th>
|
||||
<th width="180px">所属类型</th>
|
||||
<th width="80px">数量</th>
|
||||
<th width="70px">状态</th>
|
||||
<th width="200px">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#"><img src="products/p_1.jpg" title="产品名称"/></a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#"><img src="products/p_2.jpg" title="产品名称"/></a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>14</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">代发货</span></td>
|
||||
<td>
|
||||
<a onClick="Delivery_stop(this,'10001')" href="javascript:;" title="发货" class="btn btn-xs btn-success"><i class="fa fa-cubes bigger-120"></i></a>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#"><img src="products/p_1.jpg" title="产品名称"/></a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#"><img src="products/p_2.jpg" title="产品名称"/></a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>14</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">代发货</span></td>
|
||||
<td>
|
||||
<a onClick="Delivery_stop(this,'10003')" href="javascript:;" title="发货" class="btn btn-xs btn-success"><i class="fa fa-cubes bigger-120"></i></a>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#"><img src="products/p_1.jpg" title="产品名称"/></a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#"><img src="products/p_2.jpg" title="产品名称"/></a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>14</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">代发货</span></td>
|
||||
<td>
|
||||
<a onClick="Delivery_stop(this,'10005')" href="javascript:;" title="发货" class="btn btn-xs btn-success"><i class="fa fa-cubes bigger-120"></i></a>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#"><img src="products/p_1.jpg" title="产品名称"/></a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#"><img src="products/p_2.jpg" title="产品名称"/></a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>14</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">代发货</span></td>
|
||||
<td>
|
||||
<a onClick="Delivery_stop(this,'10034')" href="javascript:;" title="发货" class="btn btn-xs btn-success"><i class="fa fa-cubes bigger-120"></i></a>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#"><img src="products/p_5.jpg" title="产品名称"/></a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#"><img src="products/p_4.jpg" title="产品名称"/></a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>14</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">代发货</span></td>
|
||||
<td>
|
||||
<a onClick="Delivery_stop(this,'10012')" href="javascript:;" title="发货" class="btn btn-xs btn-success"><i class="fa fa-cubes bigger-120"></i></a>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label><input type="checkbox" class="ace"><span class="lbl"></span></label></td>
|
||||
<td>20160705445622</td>
|
||||
<td class="order_product_name">
|
||||
<a href="#"><img src="products/p_3.jpg" title="产品名称"/></a>
|
||||
<i class="fa fa-plus"></i>
|
||||
<a href="#"><img src="products/p_7.jpg" title="产品名称"/></a>
|
||||
</td>
|
||||
<td>456.5</td>
|
||||
<td>14</td>
|
||||
<td>2016-7-5</td>
|
||||
<td>食品</td>
|
||||
<td>2</td>
|
||||
<td class="td-status"><span class="label label-success radius">代发货</span></td>
|
||||
<td>
|
||||
<a onClick="Delivery_stop(this,'10061')" href="javascript:;" title="发货" class="btn btn-xs btn-success"><i class="fa fa-cubes bigger-120"></i></a>
|
||||
<a title="订单详细" href="order_detailed.html" class="btn btn-xs btn-info order_detailed" ><i class="fa fa-list bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="Order_form_del(this,'1')" class="btn btn-xs btn-warning" ><i class="fa fa-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--发货-->
|
||||
<div id="Delivery_stop" style=" display:none">
|
||||
<div class="">
|
||||
<div class="content_style">
|
||||
<div class="form-group"><label class="col-sm-2 control-label no-padding-right" for="form-field-1">快递公司 </label>
|
||||
<div class="col-sm-9"><select class="form-control" id="form-field-select-1">
|
||||
<option value="">--选择快递--</option>
|
||||
<option value="1">天天快递</option>
|
||||
<option value="2">圆通快递</option>
|
||||
<option value="3">中通快递</option>
|
||||
<option value="4">顺丰快递</option>
|
||||
<option value="5">申通快递</option>
|
||||
<option value="6">邮政EMS</option>
|
||||
<option value="7">邮政小包</option>
|
||||
<option value="8">韵达快递</option>
|
||||
</select></div>
|
||||
</div>
|
||||
<div class="form-group"><label class="col-sm-2 control-label no-padding-right" for="form-field-1"> 快递号 </label>
|
||||
<div class="col-sm-9"><input type="text" id="form-field-1" placeholder="快递号" class="col-xs-10 col-sm-5" style="margin-left:0px;"></div>
|
||||
</div>
|
||||
<div class="form-group"><label class="col-sm-2 control-label no-padding-right" for="form-field-1">货到付款 </label>
|
||||
<div class="col-sm-9"><label><input name="checkbox" type="checkbox" class="ace" id="checkbox"><span class="lbl"></span></label></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script>
|
||||
$(function() {
|
||||
$("#cover_style").fix({
|
||||
float : 'top',
|
||||
minStatue : false,
|
||||
skin : 'green',
|
||||
durationTime :false,
|
||||
window_height:30,//设置浏览器与div的高度值差
|
||||
spacingw:0,//
|
||||
spacingh:0,//
|
||||
close_btn:'.yingchan_btn',
|
||||
show_btn:'.xianshi_btn',
|
||||
side_list:'.hide_style',
|
||||
widgetbox:'.top_style',
|
||||
close_btn_width:60,
|
||||
da_height:'#centent_style,.left_Treeview,.list_right_style',
|
||||
side_title:'.b_n_btn',
|
||||
content:null,
|
||||
left_css:'.left_Treeview,.list_right_style'
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
//左侧显示隐藏
|
||||
$(function() {
|
||||
$("#covar_list").fix({
|
||||
float : 'left',
|
||||
minStatue : false,
|
||||
skin:false,
|
||||
//durationTime :false,
|
||||
spacingw:50,//设置隐藏时的距离
|
||||
spacingh:270,//设置显示时间距
|
||||
stylewidth:'220',
|
||||
close_btn:'.close_btn',
|
||||
show_btn:'.show_btn',
|
||||
side_list:'.side_list',
|
||||
content:'.side_content',
|
||||
widgetbox:'.widget-box',
|
||||
da_height:null,
|
||||
table_menu:'.list_right_style'
|
||||
});
|
||||
});
|
||||
//时间选择
|
||||
laydate({
|
||||
elem: '#start',
|
||||
event: 'focus'
|
||||
});
|
||||
/*订单-删除*/
|
||||
function Order_form_del(obj,id){
|
||||
layer.confirm('确认要删除吗?',function(index){
|
||||
$(obj).parents("tr").remove();
|
||||
layer.msg('已删除!',{icon:1,time:1000});
|
||||
});
|
||||
}
|
||||
/**发货**/
|
||||
function Delivery_stop(obj,id){
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: '发货',
|
||||
maxmin: true,
|
||||
shadeClose:false,
|
||||
area : ['500px' , ''],
|
||||
content:$('#Delivery_stop'),
|
||||
btn:['确定','取消'],
|
||||
yes: function(index, layero){
|
||||
if($('#form-field-1').val()==""){
|
||||
layer.alert('快递号不能为空!',{
|
||||
title: '提示框',
|
||||
icon:0,
|
||||
})
|
||||
|
||||
}else{
|
||||
layer.confirm('提交成功!',function(index){
|
||||
$(obj).parents("tr").find(".td-manage").prepend('<a style=" display:none" class="btn btn-xs btn-success" onClick="member_stop(this,id)" href="javascript:;" title="已发货"><i class="fa fa-cubes bigger-120"></i></a>');
|
||||
$(obj).parents("tr").find(".td-status").html('<span class="label label-success radius">已发货</span>');
|
||||
$(obj).remove();
|
||||
layer.msg('已发货!',{icon: 6,time:1000});
|
||||
});
|
||||
layer.close(index);
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
};
|
||||
//面包屑返回值
|
||||
var index = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.iframeAuto(index);
|
||||
$('.Order_form,.order_detailed').on('click', function(){
|
||||
var cname = $(this).attr("title");
|
||||
var chref = $(this).attr("href");
|
||||
var cnames = parent.$('.Current_page').html();
|
||||
var herf = parent.$("#iframe").attr("src");
|
||||
parent.$('#parentIframe').html(cname);
|
||||
parent.$('#iframe').attr("src",chref).ready();;
|
||||
parent.$('#parentIframe').css("display","inline-block");
|
||||
parent.$('.Current_page').attr({"name":herf,"href":"javascript:void(0)"}).css({"color":"#4c8fbd","cursor":"pointer"});
|
||||
//parent.$('.Current_page').html("<a href='javascript:void(0)' name="+herf+" class='iframeurl'>" + cnames + "</a>");
|
||||
parent.layer.close(index);
|
||||
|
||||
});
|
||||
|
||||
//初始化宽度、高度
|
||||
var heights=$(".top_style").outerHeight()+47;
|
||||
$(".centent_style").height($(window).height()-heights);
|
||||
$(".page_right_style").width($(window).width()-220);
|
||||
$(".left_Treeview,.list_right_style").height($(window).height()-heights-2);
|
||||
$(".list_right_style").width($(window).width()-250);
|
||||
//当文档窗口发生改变时 触发
|
||||
$(window).resize(function(){
|
||||
$(".centent_style").height($(window).height()-heights);
|
||||
$(".page_right_style").width($(window).width()-220);
|
||||
$(".left_Treeview,.list_right_style").height($(window).height()-heights-2);
|
||||
$(".list_right_style").width($(window).width()-250);
|
||||
})
|
||||
//比例
|
||||
var oldie = /msie\s*(8|7|6)/.test(navigator.userAgent.toLowerCase());
|
||||
$('.easy-pie-chart.percentage').each(function(){
|
||||
$(this).easyPieChart({
|
||||
barColor: $(this).data('color'),
|
||||
trackColor: '#EEEEEE',
|
||||
scaleColor: false,
|
||||
lineCap: 'butt',
|
||||
lineWidth: 10,
|
||||
animate: oldie ? false : 1000,
|
||||
size:103
|
||||
}).css('color', $(this).data('color'));
|
||||
});
|
||||
|
||||
$('[data-rel=tooltip]').tooltip();
|
||||
$('[data-rel=popover]').popover({html:true});
|
||||
</script>
|
||||
<script>
|
||||
//订单列表
|
||||
jQuery(function($) {
|
||||
var oTable1 = $('#sample-table').dataTable( {
|
||||
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
|
||||
"bStateSave": true,//状态保存
|
||||
"aoColumnDefs": [
|
||||
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
|
||||
{"orderable":false,"aTargets":[0,1,2,3,4,5,6,7,8,9]}// 制定列不参与排序
|
||||
] } );
|
||||
|
||||
|
||||
$('table th input:checkbox').on('click' , function(){
|
||||
var that = this;
|
||||
$(this).closest('table').find('tr > td:first-child input:checkbox')
|
||||
.each(function(){
|
||||
this.checked = that.checked;
|
||||
$(this).closest('tr').toggleClass('selected');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
@ -0,0 +1,445 @@
|
||||
<!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="renderer" content="webkit|ie-comp|ie-stand">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="css/style.css"/>
|
||||
<link rel="stylesheet" href="assets/css/ace.min.css" />
|
||||
<link rel="stylesheet" href="assets/css/font-awesome.min.css" />
|
||||
<link rel="stylesheet" href="Widget/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
|
||||
<link href="Widget/icheck/icheck.css" rel="stylesheet" type="text/css" />
|
||||
<!--[if IE 7]>
|
||||
<link rel="stylesheet" href="assets/css/font-awesome-ie7.min.css" />
|
||||
<![endif]-->
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" href="assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<script src="js/jquery-1.9.1.min.js"></script>
|
||||
<script src="assets/js/bootstrap.min.js"></script>
|
||||
<script src="assets/js/typeahead-bs2.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.bootstrap.js"></script>
|
||||
<script type="text/javascript" src="js/H-ui.js"></script>
|
||||
<script type="text/javascript" src="js/H-ui.admin.js"></script>
|
||||
<script src="assets/layer/layer.js" type="text/javascript" ></script>
|
||||
<script src="assets/laydate/laydate.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="Widget/zTree/js/jquery.ztree.all-3.5.min.js"></script>
|
||||
<script src="js/lrtk.js" type="text/javascript" ></script>
|
||||
<title>产品列表</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class=" page-content clearfix">
|
||||
<div id="products_style">
|
||||
<div class="search_style">
|
||||
|
||||
<ul class="search_content clearfix">
|
||||
<li><label class="l_f">产品名称</label><input name="" type="text" class="text_add" placeholder="输入品牌名称" style=" width:250px"/></li>
|
||||
<li><label class="l_f">添加时间</label><input class="inline laydate-icon" id="start" style=" margin-left:10px;"></li>
|
||||
<li style="width:90px;"><button type="button" class="btn_search"><i class="icon-search"></i>查询</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="border clearfix">
|
||||
<span class="l_f">
|
||||
<a href="picture-add.html" title="添加商品" class="btn btn-warning Order_form"><i class="icon-plus"></i>添加商品</a>
|
||||
<a href="javascript:ovid()" class="btn btn-danger"><i class="icon-trash"></i>批量删除</a>
|
||||
</span>
|
||||
<span class="r_f">共:<b>2334</b>件商品</span>
|
||||
</div>
|
||||
<!--产品列表展示-->
|
||||
<div class="h_products_list clearfix" id="products_list">
|
||||
<div id="scrollsidebar" class="left_Treeview">
|
||||
<div class="show_btn" id="rightArrow"><span></span></div>
|
||||
<div class="widget-box side_content" >
|
||||
<div class="side_title"><a title="隐藏" class="close_btn"><span></span></a></div>
|
||||
<div class="side_list"><div class="widget-header header-color-green2"><h4 class="lighter smaller">产品类型列表</h4></div>
|
||||
<div class="widget-body">
|
||||
<div class="widget-main padding-8"><div id="treeDemo" class="ztree"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table_menu_list" id="testIframe">
|
||||
<table class="table table-striped table-bordered table-hover" id="sample-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="25px"><label><input type="checkbox" class="ace"><span class="lbl"></span></label></th>
|
||||
<th width="80px">文章id</th>
|
||||
<th width="250px">文章名称</th>
|
||||
<th width="100px">文章关键词</th>
|
||||
<th width="100px">作者</th>
|
||||
<th width="100px">文创产品分类</th>
|
||||
<th width="180px">发布时间</th>
|
||||
<th width="80px">审核状态</th>
|
||||
<th width="70px">状态</th>
|
||||
<th width="200px">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">00001</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">杨家将文创产品,关于历史的厚重</u></td>
|
||||
<td width="100px">杨家将</td>
|
||||
<td width="100px">杨家将文创产品官方</td>
|
||||
<td width="100px">实体画册</td>
|
||||
<td width="180px">2023-10-11 14:36</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">45631</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">45631</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">543346</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">987767</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">54343</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">786554</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">32122</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">767544</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">23466</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="25px"><label><input type="checkbox" class="ace" ><span class="lbl"></span></label></td>
|
||||
<td width="80px">54533</td>
|
||||
<td width="250px"><u style="cursor:pointer" class="text-primary" onclick="">小米 Max 全网通 高配版 3GB内存 64GB ROM 金色 移动联通电信4G手机Y</u></td>
|
||||
<td width="100px">5467</td>
|
||||
<td width="100px">4525</td>
|
||||
<td width="100px">法国</td>
|
||||
<td width="180px">2014-6-11 11:11:42</td>
|
||||
<td class="text-l">通过</td>
|
||||
<td class="td-status"><span class="label label-success radius">已启用</span></td>
|
||||
<td class="td-manage">
|
||||
<a onClick="member_stop(this,'10001')" href="javascript:;" title="停用" class="btn btn-xs btn-success"><i class="icon-ok bigger-120"></i></a>
|
||||
<a title="编辑" onclick="member_edit('编辑','member-add.html','4','','510')" href="javascript:;" class="btn btn-xs btn-info" ><i class="icon-edit bigger-120"></i></a>
|
||||
<a title="删除" href="javascript:;" onclick="member_del(this,'1')" class="btn btn-xs btn-warning" ><i class="icon-trash bigger-120"></i></a>
|
||||
</td>
|
||||
</tr> -->
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script>
|
||||
jQuery(function($) {
|
||||
var oTable1 = $('#sample-table').dataTable( {
|
||||
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
|
||||
"bStateSave": true,//状态保存
|
||||
"aoColumnDefs": [
|
||||
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
|
||||
{"orderable":false,"aTargets":[0,2,3,4,5,8,9]}// 制定列不参与排序
|
||||
] } );
|
||||
|
||||
|
||||
$('table th input:checkbox').on('click' , function(){
|
||||
var that = this;
|
||||
$(this).closest('table').find('tr > td:first-child input:checkbox')
|
||||
.each(function(){
|
||||
this.checked = that.checked;
|
||||
$(this).closest('tr').toggleClass('selected');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
|
||||
var off2 = $source.offset();
|
||||
var w2 = $source.width();
|
||||
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
});
|
||||
laydate({
|
||||
elem: '#start',
|
||||
event: 'focus'
|
||||
});
|
||||
$(function() {
|
||||
$("#products_style").fix({
|
||||
float : 'left',
|
||||
//minStatue : true,
|
||||
skin : 'green',
|
||||
durationTime :false,
|
||||
spacingw:30,//设置隐藏时的距离
|
||||
spacingh:260,//设置显示时间距
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
//初始化宽度、高度
|
||||
$(".widget-box").height($(window).height()-215);
|
||||
$(".table_menu_list").width($(window).width()-260);
|
||||
$(".table_menu_list").height($(window).height()-215);
|
||||
//当文档窗口发生改变时 触发
|
||||
$(window).resize(function(){
|
||||
$(".widget-box").height($(window).height()-215);
|
||||
$(".table_menu_list").width($(window).width()-260);
|
||||
$(".table_menu_list").height($(window).height()-215);
|
||||
})
|
||||
|
||||
/*******树状图*******/
|
||||
var setting = {
|
||||
view: {
|
||||
dblClickExpand: false,
|
||||
showLine: false,
|
||||
selectedMulti: false
|
||||
},
|
||||
data: {
|
||||
simpleData: {
|
||||
enable:true,
|
||||
idKey: "id",
|
||||
pIdKey: "pId",
|
||||
rootPId: ""
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
beforeClick: function(treeId, treeNode) {
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
if (treeNode.isParent) {
|
||||
zTree.expandNode(treeNode);
|
||||
return false;
|
||||
} else {
|
||||
demoIframe.attr("src",treeNode.file + ".html");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var zNodes =[
|
||||
{ id:1, pId:0, name:"商城分类列表", open:true},
|
||||
{ id:11, pId:1, name:"蔬菜水果"},
|
||||
{ id:111, pId:11, name:"蔬菜"},
|
||||
{ id:112, pId:11, name:"苹果"},
|
||||
{ id:113, pId:11, name:"大蒜"},
|
||||
{ id:114, pId:11, name:"白菜"},
|
||||
{ id:115, pId:11, name:"青菜"},
|
||||
{ id:12, pId:1, name:"手机数码"},
|
||||
{ id:121, pId:12, name:"手机 "},
|
||||
{ id:122, pId:12, name:"照相机 "},
|
||||
{ id:13, pId:1, name:"电脑配件"},
|
||||
{ id:131, pId:13, name:"手机 "},
|
||||
{ id:122, pId:13, name:"照相机 "},
|
||||
{ id:14, pId:1, name:"服装鞋帽"},
|
||||
{ id:141, pId:14, name:"手机 "},
|
||||
{ id:42, pId:14, name:"照相机 "},
|
||||
];
|
||||
|
||||
var code;
|
||||
|
||||
function showCode(str) {
|
||||
if (!code) code = $("#code");
|
||||
code.empty();
|
||||
code.append("<li>"+str+"</li>");
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
var t = $("#treeDemo");
|
||||
t = $.fn.zTree.init(t, setting, zNodes);
|
||||
demoIframe = $("#testIframe");
|
||||
demoIframe.bind("load", loadReady);
|
||||
var zTree = $.fn.zTree.getZTreeObj("tree");
|
||||
zTree.selectNode(zTree.getNodeByParam("id",'11'));
|
||||
});
|
||||
/*产品-停用*/
|
||||
function member_stop(obj,id){
|
||||
layer.confirm('确认要停用吗?',function(index){
|
||||
$(obj).parents("tr").find(".td-manage").prepend('<a style="text-decoration:none" class="btn btn-xs " onClick="member_start(this,id)" href="javascript:;" title="启用"><i class="icon-ok bigger-120"></i></a>');
|
||||
$(obj).parents("tr").find(".td-status").html('<span class="label label-defaunt radius">已停用</span>');
|
||||
$(obj).remove();
|
||||
layer.msg('已停用!',{icon: 5,time:1000});
|
||||
});
|
||||
}
|
||||
|
||||
/*产品-启用*/
|
||||
function member_start(obj,id){
|
||||
layer.confirm('确认要启用吗?',function(index){
|
||||
$(obj).parents("tr").find(".td-manage").prepend('<a style="text-decoration:none" class="btn btn-xs btn-success" onClick="member_stop(this,id)" href="javascript:;" title="停用"><i class="icon-ok bigger-120"></i></a>');
|
||||
$(obj).parents("tr").find(".td-status").html('<span class="label label-success radius">已启用</span>');
|
||||
$(obj).remove();
|
||||
layer.msg('已启用!',{icon: 6,time:1000});
|
||||
});
|
||||
}
|
||||
/*产品-编辑*/
|
||||
function member_edit(title,url,id,w,h){
|
||||
layer_show(title,url,w,h);
|
||||
}
|
||||
|
||||
/*产品-删除*/
|
||||
function member_del(obj,id){
|
||||
layer.confirm('确认要删除吗?',function(index){
|
||||
$(obj).parents("tr").remove();
|
||||
layer.msg('已删除!',{icon:1,time:1000});
|
||||
});
|
||||
}
|
||||
//面包屑返回值
|
||||
var index = parent.layer.getFrameIndex(window.name);
|
||||
parent.layer.iframeAuto(index);
|
||||
$('.Order_form').on('click', function(){
|
||||
var cname = $(this).attr("title");
|
||||
var chref = $(this).attr("href");
|
||||
var cnames = parent.$('.Current_page').html();
|
||||
var herf = parent.$("#iframe").attr("src");
|
||||
parent.$('#parentIframe').html(cname);
|
||||
parent.$('#iframe').attr("src",chref).ready();;
|
||||
parent.$('#parentIframe').css("display","inline-block");
|
||||
parent.$('.Current_page').attr({"name":herf,"href":"javascript:void(0)"}).css({"color":"#4c8fbd","cursor":"pointer"});
|
||||
//parent.$('.Current_page').html("<a href='javascript:void(0)' name="+herf+" class='iframeurl'>" + cnames + "</a>");
|
||||
parent.layer.close(index);
|
||||
|
||||
});
|
||||
</script>
|
@ -0,0 +1,123 @@
|
||||
<!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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||||
<link href="assets/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="css/style.css"/>
|
||||
<link href="assets/css/codemirror.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/ace.min.css" />
|
||||
<link rel="stylesheet" href="font/css/font-awesome.min.css" />
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" href="assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<script src="js/jquery-1.9.1.min.js"></script>
|
||||
<script src="assets/js/bootstrap.min.js"></script>
|
||||
<script src="assets/js/typeahead-bs2.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="assets/js/jquery.dataTables.bootstrap.js"></script>
|
||||
<script src="assets/layer/layer.js" type="text/javascript" ></script>
|
||||
<script src="js/H-ui.js" type="text/javascript"></script>
|
||||
<script src="js/displayPart.js" type="text/javascript"></script>
|
||||
<script src="assets/laydate/laydate.js" type="text/javascript"></script>
|
||||
<title>系统日志</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="margin clearfix">
|
||||
<div id="system_style">
|
||||
<div class="search_style">
|
||||
|
||||
<ul class="search_content clearfix">
|
||||
<li><label class="l_f">名称</label><input name="" type="text" class="text_add"style=" width:250px"></li>
|
||||
<li><label class="l_f">时间</label><input class="inline laydate-icon" id="start" style=" margin-left:10px;"></li>
|
||||
<li style="width:90px;"><button type="button" class="btn_search"><i class="fa fa-search"></i>查询</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--系统日志-->
|
||||
<div class="system_logs">
|
||||
<table class="table table-striped table-bordered table-hover" id="sample-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="80px">ID</th>
|
||||
<th width="120px">登录用户</th>
|
||||
<th width="120px">角色</th>
|
||||
<th width="">操作内容</th>
|
||||
<th width="150px">操作时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1233</td>
|
||||
<td>admin</td>
|
||||
<td>超级管理员</td>
|
||||
<td>添加商品名称我的用凤凰花刮大风</td>
|
||||
<td>2016-7-26 12:34</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3434</td>
|
||||
<td>admin</td>
|
||||
<td>超级管理员</td>
|
||||
<td>添加商品名称我的用凤凰花刮大风</td>
|
||||
<td>2016-7-26 11:23</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2423</td>
|
||||
<td>admin</td>
|
||||
<td>超级管理员</td>
|
||||
<td>添加商品名称我的用凤凰花刮大风</td>
|
||||
<td>2016-7-26 13:34</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>555</td>
|
||||
<td>admin</td>
|
||||
<td>超级管理员</td>
|
||||
<td>添加商品名称我的用凤凰花刮大风</td>
|
||||
<td>2016-7-16</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1233</td>
|
||||
<td>admin</td>
|
||||
<td>超级管理员</td>
|
||||
<td>添加商品名称我的用凤凰花刮大风</td>
|
||||
<td>2016-6-26</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1233</td>
|
||||
<td>admin</td>
|
||||
<td>超级管理员</td>
|
||||
<td>添加商品名称我的用凤凰花刮大风</td>
|
||||
<td>2016-4-26</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5345</td>
|
||||
<td>admin</td>
|
||||
<td>超级管理员</td>
|
||||
<td>添加商品名称我的用凤凰花刮大风</td>
|
||||
<td>2016-5-26</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script>
|
||||
laydate({
|
||||
elem: '#start',
|
||||
event: 'focus'
|
||||
});
|
||||
$(function() {
|
||||
var oTable1 = $('#sample-table').dataTable( {
|
||||
"aaSorting":false,//默认第几个排序
|
||||
"bStateSave": true,//状态保存
|
||||
"aoColumnDefs": [
|
||||
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
|
||||
{"orderable":false,"aTargets":[0,1,2,3]}// 制定列不参与排序
|
||||
]});
|
||||
})
|
||||
</script>
|
@ -0,0 +1,14 @@
|
||||
var $lang={
|
||||
errAlertMsg: "Invalid date or the date out of range,redo or not?",
|
||||
aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
||||
aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
|
||||
aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||
aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"],
|
||||
clearStr: "Clear",
|
||||
todayStr: "Today",
|
||||
okStr: "OK",
|
||||
updateStr: "OK",
|
||||
timeStr: "Time",
|
||||
quickStr: "Quick Selection",
|
||||
err_1: 'MinDate Cannot be bigger than MaxDate!'
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
var $lang={
|
||||
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
|
||||
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
|
||||
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
|
||||
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
|
||||
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
|
||||
clearStr: "\u6E05\u7A7A",
|
||||
todayStr: "\u4ECA\u5929",
|
||||
okStr: "\u786E\u5B9A",
|
||||
updateStr: "\u786E\u5B9A",
|
||||
timeStr: "\u65F6\u95F4",
|
||||
quickStr: "\u5FEB\u901F\u9009\u62E9",
|
||||
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
var $lang={
|
||||
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?",
|
||||
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
|
||||
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
|
||||
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
|
||||
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
|
||||
clearStr: "\u6E05\u7A7A",
|
||||
todayStr: "\u4ECA\u5929",
|
||||
okStr: "\u78BA\u5B9A",
|
||||
updateStr: "\u78BA\u5B9A",
|
||||
timeStr: "\u6642\u9593",
|
||||
quickStr: "\u5FEB\u901F\u9078\u64C7",
|
||||
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!'
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
.Wdate{
|
||||
background:#fff url(datePicker.gif) no-repeat right;
|
||||
}
|
||||
.Wdate::-ms-clear{display:none;}
|
||||
|
||||
.WdateFmtErr{
|
||||
font-weight:bold;
|
||||
color:red;
|
||||
}
|
After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1 @@
|
||||
body,th,td,button,input,select,textarea{font-family:"Microsoft Yahei","Hiragino Sans GB","Helvetica Neue",Helvetica,tahoma,arial,"WenQuanYi Micro Hei",Verdana,sans-serif,"\5B8B\4F53";font-size:12px;color: #333;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing:grayscale}.WdateDiv{width:180px;background-color:#fff;border:#bbb 1px solid;padding:2px}.WdateDiv2{width:360px}.WdateDiv *{font-size:9pt}.WdateDiv .NavImg a{display:block;cursor:pointer;height:16px;width:16px}.WdateDiv .NavImgll a{float:left;background:transparent url(img.gif) no-repeat scroll 0 0}.WdateDiv .NavImgl a{float:left;background:transparent url(img.gif) no-repeat scroll -16px 0}.WdateDiv .NavImgr a{float:right;background:transparent url(img.gif) no-repeat scroll -32px 0}.WdateDiv .NavImgrr a{float:right;background:transparent url(img.gif) no-repeat scroll -48px 0}.WdateDiv #dpTitle{height:24px;margin-bottom:2px;padding:1px}.WdateDiv .yminput{margin-top:2px;text-align:center;height:20px;border:0;width:50px;cursor:pointer}.WdateDiv .yminputfocus{margin-top:2px;text-align:center;font-weight:bold;height:20px;color:blue;border:#ccc 1px solid;width:50px}.WdateDiv .menuSel{z-index:1;position:absolute;background-color:#fff;border:#ddd 1px solid;display:none}.WdateDiv .menu{cursor:pointer;background-color:#fff}.WdateDiv .menuOn{cursor:pointer;background-color:#beebee}.WdateDiv .invalidMenu{color:#aaa}.WdateDiv .YMenu{margin-top:20px}.WdateDiv .MMenu{margin-top:20px;*width:62px}.WdateDiv .hhMenu{margin-top:-90px;margin-left:26px}.WdateDiv .mmMenu{margin-top:-46px;margin-left:26px}.WdateDiv .ssMenu{margin-top:-24px;margin-left:26px}.WdateDiv .Wweek{text-align:center;background:#daf3f5;border-right:#ddd 1px solid}.WdateDiv .MTitle{background-color:#5a98de;color:#fff}.WdateDiv .MTitle td{ color:#fff}.WdateDiv .WdayTable2{border-collapse:collapse;border:#c5d9e8 1px solid}.WdateDiv .WdayTable2 table{border:0}.WdateDiv .WdayTable{line-height:20px;border:#c5d9e8 1px solid}.WdateDiv .WdayTable td{text-align:center;}.WdateDiv .Wday{cursor:pointer}.WdateDiv .WdayOn{cursor:pointer;background-color:#5a98de;color:#fff}.WdateDiv .Wwday{cursor:pointer;color:#ff2f2f}.WdateDiv .WwdayOn{cursor:pointer;color:#fff;background-color:#5a98de}.WdateDiv .Wtoday{cursor:pointer;color:blue}.WdateDiv .Wselday{background-color:#5a98de;color:#fff}.WdateDiv .WspecialDay{background-color:#66f4df}.WdateDiv .WotherDay{cursor:pointer;color:#428bca}.WdateDiv .WotherDayOn{cursor:pointer;background-color:#5a98de;color:#fff}.WdateDiv .WinvalidDay{color:#aaa}.WdateDiv #dpTime{float:left;margin-top:3px;margin-right:30px}.WdateDiv #dpTime #dpTimeStr{margin-left:1px}.WdateDiv #dpTime input{width:18px;height:20px;text-align:center;border:#ccc 1px solid}.WdateDiv #dpTime .tB{border-right:0}.WdateDiv #dpTime .tE{border-left:0;border-right:0}.WdateDiv #dpTime .tm{width:7px;border-left:0;border-right:0}.WdateDiv #dpTime #dpTimeUp{height:10px;width:13px;border:0;background:url(img.gif) no-repeat -32px -16px}.WdateDiv #dpTime #dpTimeDown{height:10px;width:13px;border:0;background:url(img.gif) no-repeat -48px -16px}.WdateDiv #dpQS{float:left;margin-right:3px;margin-top:3px;background:url(img.gif) no-repeat 0 -16px;width:20px;height:20px;cursor:pointer}.WdateDiv #dpControl{text-align:right}.WdateDiv .dpButton{height:20px;width:45px;border:#ccc 1px solid;margin-top:2px;margin-right:1px}
|
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,339 @@
|
||||
/*
|
||||
* My97 DatePicker 4.8
|
||||
* auther : zhangkun , hejianting(design)
|
||||
* email : zhangkun_net@hotmail.com
|
||||
* date : 2012-05-25
|
||||
*/
|
||||
.WdateDiv
|
||||
{
|
||||
position:relative;
|
||||
padding:5px;
|
||||
width:180px;
|
||||
*width:190px;
|
||||
font-size:12px;
|
||||
color:#333;
|
||||
border:solid 1px #DEDEDE;
|
||||
background-color:#F2F0F1;
|
||||
}
|
||||
|
||||
.WdateDiv2
|
||||
{
|
||||
width:360px;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImg a,.WdateDiv .yminput,.WdateDiv .yminputfocus,.WdateDiv #dpQS
|
||||
{
|
||||
background:url(img.gif) no-repeat;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImg a
|
||||
{
|
||||
float:left;
|
||||
width:16px;
|
||||
height:16px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv .NavImgll a
|
||||
{
|
||||
background-position:0px 5px;
|
||||
}
|
||||
.WdateDiv .NavImgl a
|
||||
{
|
||||
background-position:0px -10px;
|
||||
}
|
||||
.WdateDiv .NavImgr a
|
||||
{
|
||||
background-position:0px -25px;
|
||||
float:right;
|
||||
}
|
||||
.WdateDiv .NavImgrr a
|
||||
{
|
||||
background-position:0px -40px;
|
||||
float:right;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTitle
|
||||
{
|
||||
padding:3px 0px 0px 0px;
|
||||
line-height:0px;
|
||||
height:20px;
|
||||
*height:23;
|
||||
}
|
||||
|
||||
.WdateDiv .yminput,.WdateDiv .yminputfocus
|
||||
{
|
||||
margin-left:3px;
|
||||
width:50px;
|
||||
height:20px;
|
||||
line-height:16px;
|
||||
border:solid 1px #F2F0F1;
|
||||
cursor:pointer;
|
||||
background-position:35px -68px;
|
||||
}
|
||||
|
||||
.WdateDiv .yminputfocus
|
||||
{
|
||||
background-color:#fff;
|
||||
border:solid 1px #D8D8D8;
|
||||
}
|
||||
|
||||
.WdateDiv .menuSel{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
background-color:#FFFFFF;
|
||||
border:#A3C6C8 1px solid;
|
||||
display:none;
|
||||
}
|
||||
|
||||
.WdateDiv .menu
|
||||
{
|
||||
background:#fff;
|
||||
}
|
||||
.WdateDiv .menuOn
|
||||
{
|
||||
color:#fff;
|
||||
background:#64A3F3;
|
||||
}
|
||||
|
||||
.WdateDiv .invalidMenu{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
.WdateDiv .MMenu,.WdateDiv .YMenu
|
||||
{
|
||||
padding:2px;
|
||||
margin-top:20px;
|
||||
margin-left:-1px;
|
||||
width:68px;
|
||||
border:solid 1px #D9D9D9;
|
||||
}
|
||||
.WdateDiv .MMenu table,.WdateDiv .YMenu table
|
||||
{
|
||||
width:100%;
|
||||
}
|
||||
.WdateDiv .MMenu table td,.WdateDiv .YMenu table td
|
||||
{
|
||||
padding:0px;
|
||||
line-height:20px;
|
||||
text-align:center;
|
||||
font-size:12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.WdateDiv .Wweek {
|
||||
text-align:center;
|
||||
background:#DAF3F5;
|
||||
border-right:#BDEBEE 1px solid;
|
||||
}
|
||||
|
||||
.WdateDiv td
|
||||
{
|
||||
padding:1px;
|
||||
line-height:20px;
|
||||
font-size:12px;
|
||||
color:#999999;
|
||||
background:#fff;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv .MTitle td
|
||||
{
|
||||
line-height:24px;
|
||||
color:#7D7D7D;
|
||||
background:#F2F0F1;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.WdateDiv .WdayTable2
|
||||
{
|
||||
border-collapse:collapse;
|
||||
border:#808080 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table
|
||||
{
|
||||
border:0;
|
||||
}
|
||||
|
||||
.WdateDiv .WdayTable{
|
||||
line-height:20px;
|
||||
color:#13777e;
|
||||
background-color:#edfbfb;
|
||||
}
|
||||
.WdateDiv .WdayTable td{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.WdateDiv .Wday
|
||||
{
|
||||
color:#323232;
|
||||
}
|
||||
|
||||
.WdateDiv .WdayOn
|
||||
{
|
||||
color:#fff;
|
||||
background-color:#65A2F3;
|
||||
}
|
||||
|
||||
.WdateDiv .Wwday
|
||||
{
|
||||
color:#65A4F3;
|
||||
}
|
||||
|
||||
.WdateDiv .WwdayOn
|
||||
{
|
||||
color:#fff;
|
||||
background-color:#65A2F3;
|
||||
}
|
||||
.WdateDiv .Wtoday
|
||||
{
|
||||
color:#FF6D10;
|
||||
background:#E0EDFE;
|
||||
}
|
||||
.WdateDiv .Wselday
|
||||
{
|
||||
color:#fff;
|
||||
background-color:#65A2F3;
|
||||
}
|
||||
.WdateDiv .WspecialDay{
|
||||
background-color:#66F4DF;
|
||||
}
|
||||
|
||||
.WdateDiv .WotherDay
|
||||
{
|
||||
color:#D4D4D4;
|
||||
}
|
||||
.WdateDiv .WotherDayOn
|
||||
{
|
||||
color:#fff;
|
||||
background-color:#65A2F3;
|
||||
}
|
||||
|
||||
.WdateDiv .WinvalidDay{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime
|
||||
{
|
||||
position:relative;
|
||||
margin-top:5px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeStr
|
||||
{
|
||||
display:inline-block;
|
||||
width:28px;
|
||||
*width:30px;
|
||||
color:#7d7d7d;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime input
|
||||
{
|
||||
padding:0px;
|
||||
margin:0px;
|
||||
width:25px;
|
||||
height:20px;
|
||||
line-height:20px;
|
||||
text-align:center;
|
||||
color:#333;
|
||||
border:#D9D9D9 1px solid;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .tm
|
||||
{
|
||||
width:7px;
|
||||
border:none;
|
||||
background:#F2F0F1;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeUp
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeDown
|
||||
{
|
||||
display:none;
|
||||
}
|
||||
|
||||
.WdateDiv #dpQS
|
||||
{
|
||||
float:left;
|
||||
margin-right:3px;
|
||||
margin-top:9px;
|
||||
*margin-top:6px;
|
||||
width:16px;
|
||||
height:16px;
|
||||
cursor:pointer;
|
||||
background-position:0px -90px;
|
||||
}
|
||||
.WdateDiv #dpControl
|
||||
{
|
||||
text-align:right;
|
||||
margin-top:3px;
|
||||
}
|
||||
.WdateDiv .dpButton
|
||||
{
|
||||
margin-left:2px;
|
||||
line-height:18px;
|
||||
*line-height:16px;
|
||||
width:45px;
|
||||
background-color:#C3C3C3;
|
||||
*background-color:#64A3F3;
|
||||
color:#fff;
|
||||
border:none;
|
||||
cursor: pointer;
|
||||
}
|
||||
.WdateDiv .dpButton:hover
|
||||
{
|
||||
background-color:#64A3F3;
|
||||
}
|
||||
|
||||
.WdateDiv .hhMenu,
|
||||
.WdateDiv .mmMenu,
|
||||
.WdateDiv .ssMenu
|
||||
{
|
||||
position:absolute;
|
||||
padding:3px;
|
||||
font-size:12px;
|
||||
color:#333;
|
||||
border:solid 1px #DEDEDE;
|
||||
background-color:#F2F0F1;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .menu,.WdateDiv #dpTime .menuOn
|
||||
{
|
||||
width:18px;
|
||||
height:18px;
|
||||
line-height:18px;
|
||||
text-align:center;
|
||||
background:#fff;
|
||||
}
|
||||
.WdateDiv #dpTime .menuOn
|
||||
{
|
||||
background:#65A2F3;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime td
|
||||
{
|
||||
background:#F2F0F1;
|
||||
}
|
||||
|
||||
.WdateDiv .hhMenu
|
||||
{
|
||||
top:-87px;
|
||||
left:35px;
|
||||
left:32px\9;
|
||||
}
|
||||
|
||||
.WdateDiv .mmMenu
|
||||
{
|
||||
top:-47px;
|
||||
left:35px;
|
||||
left:32px\9;
|
||||
}
|
||||
|
||||
.WdateDiv .ssMenu
|
||||
{
|
||||
top:-27px;
|
||||
left:35px;
|
||||
left:32px\9;
|
||||
}
|
@ -0,0 +1 @@
|
||||
.WdateDiv{position:relative;width:190px;font-size:12px;color:#333;border:solid 1px #DEDEDE;background-color:#F2F0F1;padding:5px;}.WdateDiv2{width:360px;}.WdateDiv .NavImg a,.WdateDiv .yminput,.WdateDiv .yminputfocus,.WdateDiv #dpQS{background:url(img.gif) no-repeat;}.WdateDiv .NavImg a{float:left;width:16px;height:16px;cursor:pointer;}.WdateDiv .NavImgll a{background-position:0 5px;}.WdateDiv .NavImgl a{background-position:0 -10px;}.WdateDiv .NavImgr a{background-position:0 -25px;float:right;}.WdateDiv .NavImgrr a{background-position:0 -40px;float:right;}.WdateDiv #dpTitle{line-height:0;height:23px;padding:3px 0 0;}.WdateDiv .yminput,.WdateDiv .yminputfocus{margin-left:3px;width:50px;height:20px;line-height:16px;border:solid 1px #F2F0F1;cursor:pointer;background-position:35px -68px;}.WdateDiv .yminputfocus{background-color:#fff;border:solid 1px #D8D8D8;}.WdateDiv .menuSel{z-index:1;position:absolute;background-color:#FFF;border:#A3C6C8 1px solid;display:none;}.WdateDiv .menu{background:#fff;}.WdateDiv .menuOn{color:#fff;background:#FFC600;}.WdateDiv .MMenu,.WdateDiv .YMenu{margin-top:20px;margin-left:-1px;width:68px;border:solid 1px #D9D9D9;padding:2px;}.WdateDiv .MMenu table,.WdateDiv .YMenu table{width:100%;}.WdateDiv .MMenu table td,.WdateDiv .YMenu table td{line-height:20px;text-align:center;font-size:14px;cursor:pointer;padding:0;}.WdateDiv .Wweek{text-align:center;background:#DAF3F5;border-right:#BDEBEE 1px solid;}.WdateDiv td{line-height:20px;font-size:12px;color:#999;background:#fff;cursor:pointer;padding:1px;}.WdateDiv .MTitle td{line-height:24px;color:#7D7D7D;background:#F2F0F1;cursor:default;}.WdateDiv .WdayTable2{border-collapse:collapse;border:gray 1px solid;}.WdateDiv .WdayTable2 table{border:0;}.WdateDiv .WdayTable{line-height:20px;color:#13777e;background-color:#edfbfb;}.WdateDiv .WdayTable td{text-align:center;}.WdateDiv .Wday{color:#323232;}.WdateDiv .Wwday{color:#FFC600;}.WdateDiv .Wtoday{color:#FF6D10;background:#E0EDFE;}.WdateDiv .WspecialDay{background-color:#66F4DF;}.WdateDiv .WotherDay{color:#D4D4D4;}.WdateDiv #dpTime{position:relative;margin-top:5px;}.WdateDiv #dpTime #dpTimeStr{display:inline-block;width:30px;color:#7d7d7d;}.WdateDiv #dpTime input{width:25px;height:20px;line-height:20px;text-align:center;color:#333;border:#D9D9D9 1px solid;margin:0;padding:0;}.WdateDiv #dpTime .tm{width:7px;border:none;background:#F2F0F1;}.WdateDiv #dpQS{float:left;margin-right:3px;margin-top:6px;width:16px;height:16px;cursor:pointer;background-position:0 -90px;}.WdateDiv #dpControl{text-align:right;margin-top:3px;}.WdateDiv .dpButton{margin-left:2px;line-height:16px;width:45px;background-color:#FFC600;color:#fff;border:none;cursor:pointer;}.WdateDiv .dpButton:hover{background-color:#FFC600;}.WdateDiv .hhMenu,.WdateDiv .mmMenu,.WdateDiv .ssMenu{position:absolute;font-size:12px;color:#333;border:solid 1px #DEDEDE;background-color:#F2F0F1;padding:3px;}.WdateDiv #dpTime .menu,.WdateDiv #dpTime .menuOn{width:18px;height:18px;line-height:18px;text-align:center;background:#fff;}.WdateDiv #dpTime .menuOn{background:#FFC600;}.WdateDiv #dpTime td{background:#F2F0F1;}.WdateDiv .hhMenu{top:-87px;left:32px;}.WdateDiv .mmMenu{top:-47px;left:32px;}.WdateDiv .ssMenu{top:-27px;left:32px;}.WdateDiv .invalidMenu,.WdateDiv .WinvalidDay{color:#aaa;}.WdateDiv .WdayOn,.WdateDiv .WwdayOn,.WdateDiv .Wselday,.WdateDiv .WotherDayOn{background-color:#FFC600;color:#fff;}.WdateDiv #dpTime #dpTimeUp,.WdateDiv #dpTime #dpTimeDown{display:none;}
|
After Width: | Height: | Size: 475 B |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 307 B |
@ -0,0 +1,256 @@
|
||||
/*
|
||||
* My97 DatePicker 4.8 Skin:whyGreen
|
||||
*/
|
||||
.WdateDiv{
|
||||
width:180px;
|
||||
background-color:#fff;
|
||||
border:#C5E1E4 1px solid;
|
||||
padding:2px;
|
||||
}
|
||||
|
||||
.WdateDiv2{
|
||||
width:360px;
|
||||
}
|
||||
.WdateDiv *{font-size:9pt;}
|
||||
|
||||
.WdateDiv .NavImg a{
|
||||
cursor:pointer;
|
||||
display:block;
|
||||
width:16px;
|
||||
height:16px;
|
||||
margin-top:1px;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImgll a{
|
||||
float:left;
|
||||
background:url(img.gif) no-repeat;
|
||||
}
|
||||
.WdateDiv .NavImgl a{
|
||||
float:left;
|
||||
background:url(img.gif) no-repeat -16px 0px;
|
||||
}
|
||||
.WdateDiv .NavImgr a{
|
||||
float:right;
|
||||
background:url(img.gif) no-repeat -32px 0px;
|
||||
}
|
||||
.WdateDiv .NavImgrr a{
|
||||
float:right;
|
||||
background:url(img.gif) no-repeat -48px 0px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTitle{
|
||||
height:24px;
|
||||
padding:1px;
|
||||
border:#c5d9e8 1px solid;
|
||||
background:url(bg.jpg);
|
||||
margin-bottom:2px;
|
||||
}
|
||||
|
||||
.WdateDiv .yminput{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
border:0px;
|
||||
height:20px;
|
||||
width:50px;
|
||||
color:#034c50;
|
||||
background-color:transparent;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.WdateDiv .yminputfocus{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
border:#939393 1px solid;
|
||||
font-weight:bold;
|
||||
color:#034c50;
|
||||
height:20px;
|
||||
width:50px;
|
||||
}
|
||||
|
||||
.WdateDiv .menuSel{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
background-color:#FFFFFF;
|
||||
border:#A3C6C8 1px solid;
|
||||
display:none;
|
||||
}
|
||||
|
||||
.WdateDiv .menu{
|
||||
cursor:pointer;
|
||||
background-color:#fff;
|
||||
color:#11777C;
|
||||
}
|
||||
|
||||
.WdateDiv .menuOn{
|
||||
cursor:pointer;
|
||||
background-color:#BEEBEE;
|
||||
}
|
||||
|
||||
.WdateDiv .invalidMenu{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
.WdateDiv .YMenu{
|
||||
margin-top:20px;
|
||||
}
|
||||
|
||||
.WdateDiv .MMenu{
|
||||
margin-top:20px;
|
||||
*width:62px;
|
||||
}
|
||||
|
||||
.WdateDiv .hhMenu{
|
||||
margin-top:-90px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
.WdateDiv .mmMenu{
|
||||
margin-top:-46px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
.WdateDiv .ssMenu{
|
||||
margin-top:-24px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
.WdateDiv .Wweek {
|
||||
text-align:center;
|
||||
background:#DAF3F5;
|
||||
border-right:#BDEBEE 1px solid;
|
||||
}
|
||||
|
||||
.WdateDiv .MTitle{
|
||||
color:#13777e;
|
||||
background-color:#bdebee;
|
||||
}
|
||||
.WdateDiv .WdayTable2{
|
||||
border-collapse:collapse;
|
||||
border:#BEE9F0 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table{
|
||||
border:0;
|
||||
}
|
||||
|
||||
.WdateDiv .WdayTable{
|
||||
line-height:20px;
|
||||
color:#13777e;
|
||||
background-color:#edfbfb;
|
||||
border:#BEE9F0 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable td{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.WdateDiv .Wday{
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.WdateDiv .WdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#74d2d9 ;
|
||||
}
|
||||
|
||||
.WdateDiv .Wwday{
|
||||
cursor:pointer;
|
||||
color:#ab1e1e;
|
||||
}
|
||||
|
||||
.WdateDiv .WwdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#74d2d9;
|
||||
}
|
||||
.WdateDiv .Wtoday{
|
||||
cursor:pointer;
|
||||
color:blue;
|
||||
}
|
||||
.WdateDiv .Wselday{
|
||||
background-color:#A7E2E7;
|
||||
}
|
||||
.WdateDiv .WspecialDay{
|
||||
background-color:#66F4DF;
|
||||
}
|
||||
|
||||
.WdateDiv .WotherDay{
|
||||
cursor:pointer;
|
||||
color:#0099CC;
|
||||
}
|
||||
|
||||
.WdateDiv .WotherDayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
|
||||
.WdateDiv .WinvalidDay{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime{
|
||||
float:left;
|
||||
margin-top:3px;
|
||||
margin-right:30px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeStr{
|
||||
margin-left:1px;
|
||||
color:#497F7F;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime input{
|
||||
height:20px;
|
||||
width:18px;
|
||||
text-align:center;
|
||||
color:#333;
|
||||
border:#61CAD0 1px solid;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .tB{
|
||||
border-right:0px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .tE{
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime .tm{
|
||||
width:7px;
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeUp{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -32px -16px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpTime #dpTimeDown{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -48px -16px;
|
||||
}
|
||||
|
||||
.WdateDiv #dpQS {
|
||||
float:left;
|
||||
margin-right:3px;
|
||||
margin-top:3px;
|
||||
background:url(img.gif) no-repeat 0px -16px;
|
||||
width:20px;
|
||||
height:20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv #dpControl {
|
||||
text-align:right;
|
||||
margin-top:3px;
|
||||
}
|
||||
.WdateDiv .dpButton{
|
||||
height:20px;
|
||||
width:45px;
|
||||
margin-top:2px;
|
||||
border:#38B1B9 1px solid;
|
||||
background-color:#CFEBEE;
|
||||
color:#08575B;
|
||||
}
|
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1 @@
|
||||
(function(a){a.fn.passwordStrength=function(b){b=a.extend({},a.fn.passwordStrength.defaults,b);this.each(function(){var d=a(this),e=0,c=false,f=a(this).parents("form").find(".passwordStrength");d.bind("keyup blur",function(){e=a.fn.passwordStrength.ratepasswd(d.val(),b);e>=0&&c==false&&(c=true);f.find("span").removeClass("bgStrength");if(e<35&&e>=0){f.find("span:first").addClass("bgStrength")}else{if(e<60&&e>=35){f.find("span:lt(2)").addClass("bgStrength")}else{if(e>=60){f.find("span:lt(3)").addClass("bgStrength")}}}if(c&&(d.val().length<b.minLen||d.val().length>b.maxLen)){b.showmsg(d,d.attr("errormsg"),3)}else{if(c){b.showmsg(d,"",2)}}b.trigger(d,!(e>=0))})})};a.fn.passwordStrength.ratepasswd=function(c,d){var b=c.length,e;if(b>=d.minLen&&b<=d.maxLen){e=a.fn.passwordStrength.checkStrong(c)}else{e=-1}return e/4*100};a.fn.passwordStrength.checkStrong=function(d){var e=0,b=d.length;for(var c=0;c<b;c++){e|=a.fn.passwordStrength.charMode(d.charCodeAt(c))}return a.fn.passwordStrength.bitTotal(e)};a.fn.passwordStrength.charMode=function(b){if(b>=48&&b<=57){return 1}else{if(b>=65&&b<=90){return 2}else{if(b>=97&&b<=122){return 4}else{return 8}}}};a.fn.passwordStrength.bitTotal=function(b){var d=0;for(var c=0;c<4;c++){if(b&1){d++}b>>>=1}return d};a.fn.passwordStrength.defaults={minLen:0,maxLen:30,trigger:a.noop}})(jQuery);
|
@ -0,0 +1,152 @@
|
||||
/*! DataTables 1.10.0
|
||||
* ©2008-2014 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
(function(za,N,l){var M=function(g){function S(a){var b,c,d={};g.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),d[c]=e,"o"===b[1]&&S(a[e])});a._hungarianMap=d}function G(a,b,c){a._hungarianMap||S(a);var d;g.each(b,function(e){d=a._hungarianMap[e];if(d!==l&&(c||b[d]===l))"o"===d.charAt(0)?(b[d]||(b[d]={}),g.extend(!0,b[d],b[e]),G(a[d],b[d],c)):b[d]=b[e]})}function M(a){var b=p.defaults.oLanguage,c=a.sZeroRecords;
|
||||
!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&D(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&D(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&bb(a)}function cb(a){w(a,"ordering","bSort");w(a,"orderMulti","bSortMulti");w(a,"orderClasses","bSortClasses");w(a,"orderCellsTop","bSortCellsTop");w(a,"order","aaSorting");w(a,"orderFixed","aaSortingFixed");w(a,"paging","bPaginate");
|
||||
w(a,"pagingType","sPaginationType");w(a,"pageLength","iDisplayLength");w(a,"searching","bFilter")}function db(a){w(a,"orderable","bSortable");w(a,"orderData","aDataSort");w(a,"orderSequence","asSorting");w(a,"orderDataType","sortDataType")}function eb(a){var a=a.oBrowser,b=g("<div/>").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(g("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(g('<div class="test"/>').css({width:"100%",height:10}))).appendTo("body"),
|
||||
c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function fb(a,b,c,d,e,f){var h,i=!1;c!==l&&(h=c,i=!0);for(;d!==e;)a.hasOwnProperty(d)&&(h=i?b(h,a[d],d,a):a[d],i=!0,d+=f);return h}function Aa(a,b){var c=p.defaults.column,d=a.aoColumns.length,c=g.extend({},p.models.oColumn,c,{nTh:b?b:N.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;
|
||||
c[d]=g.extend({},p.models.oSearch,c[d]);fa(a,d,null)}function fa(a,b,c){var d=a.aoColumns[b],b=a.oClasses,e=g(d.nTh);if(!d.sWidthOrig){d.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%])/);f&&(d.sWidthOrig=f[1])}c!==l&&null!==c&&(db(c),G(p.defaults.column,c),c.mDataProp!==l&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(d._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),g.extend(d,c),D(d,c,"sWidth","sWidthOrig"),"number"===typeof c.iDataSort&&
|
||||
(d.aDataSort=[c.iDataSort]),D(d,c,"aDataSort"));var c=d.mData,h=T(c),i=d.mRender?T(d.mRender):null,f=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};d._bAttrSrc=g.isPlainObject(c)&&(f(c.sort)||f(c.type)||f(c.filter));d.fnGetData=function(a,b){var c=h(a,b);return d.mRender&&b&&""!==b?i(c,b,a):c};d.fnSetData=Ba(c);a.oFeatures.bSort||(d.bSortable=!1,e.addClass(b.sSortableNone));a=-1!==g.inArray("asc",d.asSorting);e=-1!==g.inArray("desc",d.asSorting);!d.bSortable||!a&&!e?(d.sSortingClass=
|
||||
b.sSortableNone,d.sSortingClassJUI=""):a&&!e?(d.sSortingClass=b.sSortableAsc,d.sSortingClassJUI=b.sSortJUIAscAllowed):!a&&e?(d.sSortingClass=b.sSortableDesc,d.sSortingClassJUI=b.sSortJUIDescAllowed):(d.sSortingClass=b.sSortable,d.sSortingClassJUI=b.sSortJUI)}function U(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ca(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&V(a);t(a,null,"column-sizing",[a])}function ga(a,b){var c=W(a,"bVisible");
|
||||
return"number"===typeof c[b]?c[b]:null}function X(a,b){var c=W(a,"bVisible"),c=g.inArray(b,c);return-1!==c?c:null}function Y(a){return W(a,"bVisible").length}function W(a,b){var c=[];g.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Da(a){var b=a.aoColumns,c=a.aoData,d=p.ext.type.detect,e,f,h,i,j,g,m,o,k;e=0;for(f=b.length;e<f;e++)if(m=b[e],k=[],!m.sType&&m._sManualType)m.sType=m._sManualType;else if(!m.sType){h=0;for(i=d.length;h<i;h++){j=0;for(g=c.length;j<g&&!(k[j]===l&&(k[j]=
|
||||
A(a,j,e,"type")),o=d[h](k[j],a),!o||"html"===o);j++);if(o){m.sType=o;break}}m.sType||(m.sType="string")}}function gb(a,b,c,d){var e,f,h,i,j,n,m=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){n=b[e];var o=n.targets!==l?n.targets:n.aTargets;g.isArray(o)||(o=[o]);f=0;for(h=o.length;f<h;f++)if("number"===typeof o[f]&&0<=o[f]){for(;m.length<=o[f];)Aa(a);d(o[f],n)}else if("number"===typeof o[f]&&0>o[f])d(m.length+o[f],n);else if("string"===typeof o[f]){i=0;for(j=m.length;i<j;i++)("_all"==o[f]||g(m[i].nTh).hasClass(o[f]))&&
|
||||
d(i,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function H(a,b,c,d){var e=a.aoData.length,f=g.extend(!0,{},p.models.oRow,{src:c?"dom":"data"});f._aData=b;a.aoData.push(f);for(var b=a.aoColumns,f=0,h=b.length;f<h;f++)c&&Ea(a,e,f,A(a,e,f)),b[f].sType=null;a.aiDisplayMaster.push(e);a.oFeatures.bDeferRender||Fa(a,e,c,d);return e}function ha(a,b){var c;b instanceof g||(b=g(b));return b.map(function(b,e){c=ia(a,e);return H(a,c.data,e,c.cells)})}function A(a,b,c,d){var c=a.aoColumns[c],e=a.aoData[b]._aData,
|
||||
f=c.fnGetData(e,d);if(f===l)return a.iDrawError!=a.iDraw&&null===c.sDefaultContent&&(O(a,0,"Requested unknown parameter "+("function"==typeof c.mData?"{function}":"'"+c.mData+"'")+" for row "+b,4),a.iDrawError=a.iDraw),c.sDefaultContent;if((f===e||null===f)&&null!==c.sDefaultContent)f=c.sDefaultContent;else if("function"===typeof f)return f();return null===f&&"display"==d?"":f}function Ea(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function Ga(a){return g.map(a.match(/(\\.|[^\.])+/g),
|
||||
function(a){return a.replace("\\.",".")})}function T(a){if(g.isPlainObject(a)){var b={};g.each(a,function(a,c){c&&(b[a]=T(c))});return function(a,c,f){var h=b[c]||b._;return h!==l?h(a,c,f):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f){return a(b,c,f)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,f){var h,i;if(""!==f){i=Ga(f);for(var j=0,g=i.length;j<g;j++){f=i[j].match(Z);h=i[j].match(P);if(f){i[j]=
|
||||
i[j].replace(Z,"");""!==i[j]&&(a=a[i[j]]);h=[];i.splice(0,j+1);i=i.join(".");j=0;for(g=a.length;j<g;j++)h.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?h:h.join(a);break}else if(h){i[j]=i[j].replace(P,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===l)return l;a=a[i[j]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function Ba(a){if(g.isPlainObject(a))return Ba(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d){a(b,"set",
|
||||
d)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ga(e),f;f=e[e.length-1];for(var h,i,j=0,g=e.length-1;j<g;j++){h=e[j].match(Z);i=e[j].match(P);if(h){e[j]=e[j].replace(Z,"");a[e[j]]=[];f=e.slice();f.splice(0,j+1);h=f.join(".");i=0;for(g=d.length;i<g;i++)f={},b(f,d[i],h),a[e[j]].push(f);return}i&&(e[j]=e[j].replace(P,""),a=a[e[j]](d));if(null===a[e[j]]||a[e[j]]===l)a[e[j]]={};a=a[e[j]]}if(f.match(P))a[f.replace(P,"")](d);else a[f.replace(Z,
|
||||
"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ha(a){return B(a.aoData,"_aData")}function ja(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function ka(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===l&&a.splice(d,1)}function la(a,b,c,d){var e=a.aoData[b],f;if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=ia(a,e).data;else{var h=e.anCells;if(h){c=0;for(f=h.length;c<f;c++)h[c].innerHTML=A(a,b,c,"display")}}e._aSortData=
|
||||
null;e._aFilterData=null;a=a.aoColumns;if(d!==l)a[d].sType=null;else{c=0;for(f=a.length;c<f;c++)a[c].sType=null}Ia(e)}function ia(a,b){var c=[],d=[],e=b.firstChild,f,h,i,j=0,n,m=a.aoColumns,o=function(a,b,c){"string"===typeof a&&(b=a.indexOf("@"),-1!==b&&(a=a.substring(b+1),i["@"+a]=c.getAttribute(a)))},k=function(a){h=m[j];n=g.trim(a.innerHTML);h&&h._bAttrSrc?(i={display:n},o(h.mData.sort,i,a),o(h.mData.type,i,a),o(h.mData.filter,i,a),c.push(i)):c.push(n);d.push(a);j++};if(e)for(;e;)f=e.nodeName.toUpperCase(),
|
||||
("TD"==f||"TH"==f)&&k(e),e=e.nextSibling;else{d=b.anCells;e=0;for(f=d.length;e<f;e++)k(d[e])}return{data:c,cells:d}}function Fa(a,b,c,d){var e=a.aoData[b],f=e._aData,h=[],i,j,g,m,o;if(null===e.nTr){i=c||N.createElement("tr");e.nTr=i;e.anCells=h;i._DT_RowIndex=b;Ia(e);m=0;for(o=a.aoColumns.length;m<o;m++){g=a.aoColumns[m];j=c?d[m]:N.createElement(g.sCellType);h.push(j);if(!c||g.mRender||g.mData!==m)j.innerHTML=A(a,b,m,"display");g.sClass&&(j.className+=" "+g.sClass);g.bVisible&&!c?i.appendChild(j):
|
||||
!g.bVisible&&c&&j.parentNode.removeChild(j);g.fnCreatedCell&&g.fnCreatedCell.call(a.oInstance,j,A(a,b,m,"display"),f,b,m)}t(a,"aoRowCreatedCallback",null,[i,f,b])}e.nTr.setAttribute("role","row")}function Ia(a){var b=a.nTr,c=a._aData;if(b){c.DT_RowId&&(b.id=c.DT_RowId);if(c.DT_RowClass){var d=c.DT_RowClass.split(" ");a.__rowc=a.__rowc?Ja(a.__rowc.concat(d)):d;g(b).removeClass(a.__rowc.join(" ")).addClass(c.DT_RowClass)}c.DT_RowData&&g(b).data(c.DT_RowData)}}function hb(a){var b,c,d,e,f,h=a.nTHead,
|
||||
i=a.nTFoot,j=0===g("th, td",h).length,n=a.oClasses,m=a.aoColumns;j&&(e=g("<tr/>").appendTo(h));b=0;for(c=m.length;b<c;b++)f=m[b],d=g(f.nTh).addClass(f.sClass),j&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Ka(a,f.nTh,b))),f.sTitle!=d.html()&&d.html(f.sTitle),La(a,"header")(a,d,f,n);j&&$(a.aoHeader,h);g(h).find(">tr").attr("role","row");g(h).find(">tr>th, >tr>td").addClass(n.sHeaderTH);g(i).find(">tr>th, >tr>td").addClass(n.sFooterTH);
|
||||
if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=m[b],f.nTf=a[b].cell,f.sClass&&g(f.nTf).addClass(f.sClass)}}function I(a,b,c){var d,e,f,h=[],i=[],j=a.aoColumns.length,n;if(b){c===l&&(c=!1);d=0;for(e=b.length;d<e;d++){h[d]=b[d].slice();h[d].nTr=b[d].nTr;for(f=j-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&h[d].splice(f,1);i.push([])}d=0;for(e=h.length;d<e;d++){if(a=h[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=h[d].length;f<b;f++)if(n=j=1,i[d][f]===l){a.appendChild(h[d][f].cell);for(i[d][f]=
|
||||
1;h[d+j]!==l&&h[d][f].cell==h[d+j][f].cell;)i[d+j][f]=1,j++;for(;h[d][f+n]!==l&&h[d][f].cell==h[d][f+n].cell;){for(c=0;c<j;c++)i[d+c][f+n]=1;n++}g(h[d][f].cell).attr("rowspan",j).attr("colspan",n)}}}}function J(a){var b=t(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==g.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,h=a.iInitDisplayStart,i="ssp"==z(a),j=a.aiDisplay;a.bDrawing=!0;h!==l&&-1!==h&&(a._iDisplayStart=i?h:h>=a.fnRecordsDisplay()?0:h,a.iInitDisplayStart=
|
||||
-1);var h=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(i){if(!a.bDestroying&&!ib(a))return}else a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:h;i<f;i++){var m=j[i],o=a.aoData[m];null===o.nTr&&Fa(a,m);m=o.nTr;if(0!==e){var k=d[c%e];o._sRowStripe!=k&&(g(m).removeClass(o._sRowStripe).addClass(k),o._sRowStripe=k)}t(a,"aoRowCallback",null,[m,o._aData,c,i]);b.push(m);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==z(a)?c=f.sLoadingRecords:
|
||||
f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=g("<tr/>",{"class":e?d[0]:""}).append(g("<td />",{valign:"top",colSpan:Y(a),"class":a.oClasses.sRowEmpty}).html(c))[0];t(a,"aoHeaderCallback","header",[g(a.nTHead).children("tr")[0],Ha(a),h,n,j]);t(a,"aoFooterCallback","footer",[g(a.nTFoot).children("tr")[0],Ha(a),h,n,j]);d=g(a.nTBody);d.children().detach();d.append(g(b));t(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function K(a,b){var c=a.oFeatures,d=c.bFilter;
|
||||
c.bSort&&jb(a);d?aa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);J(a)}function kb(a){var b=a.oClasses,c=g(a.nTable),c=g("<div/>").insertBefore(c),d=a.oFeatures,e=g("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),h,i,j,n,m,o,k=0;k<f.length;k++){h=null;i=f[k];if("<"==i){j=g("<div/>")[0];n=f[k+1];if("'"==n||'"'==n){m=
|
||||
"";for(o=2;f[k+o]!=n;)m+=f[k+o],o++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==m.charAt(0)?j.id=m.substr(1,m.length-1):j.className=m;k+=o}e.append(j);e=g(j)}else if(">"==i)e=e.parent();else if("l"==i&&d.bPaginate&&d.bLengthChange)h=lb(a);else if("f"==i&&d.bFilter)h=mb(a);else if("r"==i&&d.bProcessing)h=nb(a);else if("t"==i)h=ob(a);else if("i"==i&&d.bInfo)h=pb(a);else if("p"==i&&d.bPaginate)h=qb(a);else if(0!==
|
||||
p.ext.feature.length){j=p.ext.feature;o=0;for(n=j.length;o<n;o++)if(i==j[o].cFeature){h=j[o].fnInit(a);break}}h&&(j=a.aanFeatures,j[i]||(j[i]=[]),j[i].push(h),e.append(h))}c.replaceWith(e)}function $(a,b){var c=g(b).children("tr"),d,e,f,h,i,j,n,m,o,k;a.splice(0,a.length);f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){m=1*e.getAttribute("colspan");o=1*e.getAttribute("rowspan");m=!m||
|
||||
0===m||1===m?1:m;o=!o||0===o||1===o?1:o;h=0;for(i=a[f];i[h];)h++;n=h;k=1===m?!0:!1;for(i=0;i<m;i++)for(h=0;h<o;h++)a[f+h][n+i]={cell:e,unique:k},a[f+h].nTr=d}e=e.nextSibling}}}function ma(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],$(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,h=c[b].length;f<h;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function na(a,b,c){t(a,"aoServerParams","serverParams",[b]);if(b&&g.isArray(b)){var d={},e=/(.*?)\[\]$/;g.each(b,function(a,b){var c=
|
||||
b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,h=a.ajax,i=a.oInstance;if(g.isPlainObject(h)&&h.data){f=h.data;var j=g.isFunction(f)?f(b):f,b=g.isFunction(f)&&j?j:g.extend(!0,b,j);delete h.data}j={data:b,success:function(b){var d=b.error||b.sError;d&&a.oApi._fnLog(a,0,d);a.json=b;t(a,null,"xhr",[a,b]);c(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=a.oApi._fnLog;"parsererror"==c?d(a,0,"Invalid JSON response",1):4===b.readyState&&
|
||||
d(a,0,"Ajax error",7);C(a,!1)}};a.oAjaxData=b;t(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(i,a.sAjaxSource,g.map(b,function(a,b){return{name:b,value:a}}),c,a):a.sAjaxSource||"string"===typeof h?a.jqXHR=g.ajax(g.extend(j,{url:h||a.sAjaxSource})):g.isFunction(h)?a.jqXHR=h.call(i,b,c,a):(a.jqXHR=g.ajax(g.extend(j,h)),h.data=f)}function ib(a){if(a.bAjaxDataGet){a.iDraw++;C(a,!0);var b=rb(a);na(a,b,function(b){sb(a,b)},a);return!1}return!0}function rb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,
|
||||
e=a.oPreviousSearch,f=a.aoPreSearchCols,h,i=[],j,n,m,o=Q(a);h=a._iDisplayStart;j=!1!==d.bPaginate?a._iDisplayLength:-1;var k=function(a,b){i.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",B(b,"sName").join(","));k("iDisplayStart",h);k("iDisplayLength",j);var l={draw:a.iDraw,columns:[],order:[],start:h,length:j,search:{value:e.sSearch,regex:e.bRegex}};for(h=0;h<c;h++)n=b[h],m=f[h],j="function"==typeof n.mData?"function":n.mData,l.columns.push({data:j,name:n.sName,searchable:n.bSearchable,
|
||||
orderable:n.bSortable,search:{value:m.sSearch,regex:m.bRegex}}),k("mDataProp_"+h,j),d.bFilter&&(k("sSearch_"+h,m.sSearch),k("bRegex_"+h,m.bRegex),k("bSearchable_"+h,n.bSearchable)),d.bSort&&k("bSortable_"+h,n.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(g.each(o,function(a,b){l.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+a,b.dir)}),k("iSortingCols",o.length));b=p.ext.legacy.ajax;return null===b?a.sAjaxSource?i:l:b?i:l}function sb(a,b){var c=
|
||||
b.sEcho!==l?b.sEcho:b.draw,d=b.iTotalRecords!==l?b.iTotalRecords:b.recordsTotal,e=b.iTotalDisplayRecords!==l?b.iTotalDisplayRecords:b.recordsFiltered;if(c){if(1*c<a.iDraw)return;a.iDraw=1*c}ja(a);a._iRecordsTotal=parseInt(d,10);a._iRecordsDisplay=parseInt(e,10);c=oa(a,b);d=0;for(e=c.length;d<e;d++)H(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;J(a);a._bInitComplete||pa(a,b);a.bAjaxDataGet=!0;C(a,!1)}function oa(a,b){var c=g.isPlainObject(a.ajax)&&a.ajax.dataSrc!==l?a.ajax.dataSrc:
|
||||
a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?T(c)(b):b}function mb(a){var b=a.oClasses,c=a.sTableId,d=a.oPreviousSearch,e=a.aanFeatures,f='<input type="search" class="input-text '+b.sFilterInput+'"/>',h=a.oLanguage.sSearch,h=h.match(/_INPUT_/)?h.replace("_INPUT_",f):h+f,b=g("<div/>",{id:!e.f?c+"_filter":null,"class":b.sFilter}).append(g("<label/>").append(h)),e=function(){var b=!this.value?"":this.value;b!=d.sSearch&&(aa(a,{sSearch:b,bRegex:d.bRegex,bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),
|
||||
a._iDisplayStart=0,J(a))},i=g("input",b).val(d.sSearch.replace('"',""")).bind("keyup.DT search.DT input.DT paste.DT cut.DT","ssp"===z(a)?Ma(e,400):e).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);g(a.nTable).on("filter.DT",function(){try{i[0]!==N.activeElement&&i.val(d.sSearch)}catch(a){}});return b[0]}function aa(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};
|
||||
Da(a);if("ssp"!=z(a)){tb(a,b.sSearch,c,b.bEscapeRegex!==l?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)ub(a,e[b].sSearch,b,e[b].bEscapeRegex!==l?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);vb(a)}else f(b);a.bFiltered=!0;t(a,null,"search",[a])}function vb(a){for(var b=p.ext.search,c=a.aiDisplay,d,e,f=0,h=b.length;f<h;f++)for(var i=c.length-1;0<=i;i--)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData)||c.splice(i,1)}function ub(a,b,c,d,
|
||||
e,f){if(""!==b)for(var h=a.aiDisplay,d=Na(b,d,e,f),e=h.length-1;0<=e;e--)b=a.aoData[h[e]]._aFilterData[c],d.test(b)||h.splice(e,1)}function tb(a,b,c,d,e,f){var d=Na(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,h;0!==p.ext.search.length&&(c=!0);h=wb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(h||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Na(a,b,c,d){a=b?a:
|
||||
Oa(a);c&&(a="^(?=.*?"+g.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){return'"'===a.charAt(0)?a.match(/^"(.*)"$/)[1]:a}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function Oa(a){return a.replace(Sb,"\\$1")}function wb(a){var b=a.aoColumns,c,d,e,f,h,i,j,g,m=p.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(g=a.aoData[d],!g._aFilterData){i=[];e=0;for(h=b.length;e<h;e++)c=b[e],c.bSearchable?(j=A(a,d,e,"filter"),j=m[c.sType]?m[c.sType](j):null!==j?j:""):j="",j.indexOf&&-1!==j.indexOf("&")&&
|
||||
(qa.innerHTML=j,j=Tb?qa.textContent:qa.innerText),j.replace&&(j=j.replace(/[\r\n]/g,"")),i.push(j);g._aFilterData=i;g._sFilterRow=i.join(" ");c=!0}return c}function pb(a){var b=a.sTableId,c=a.aanFeatures.i,d=g("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:xb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),g(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function xb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,
|
||||
d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),h=a.fnRecordsDisplay(),i=h?c.sInfo:c.sInfoEmpty;h!==f&&(i+=" "+c.sInfoFiltered);i+=c.sInfoPostFix;i=yb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,d,e,f,h,i));g(b).html(i)}}function yb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),h=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,
|
||||
c.call(a,f)).replace(/_PAGE_/g,c.call(a,h?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,h?1:Math.ceil(f/e)))}function ra(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){kb(a);hb(a);I(a,a.aoHeader);I(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ca(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=s(f.sWidth));K(a);e=z(a);"ssp"!=e&&("ajax"==e?na(a,[],function(c){var f=oa(a,c);for(b=0;b<f.length;b++)H(a,f[b]);a.iInitDisplayStart=d;K(a);C(a,!1);pa(a,c)},a):(C(a,
|
||||
!1),pa(a)))}else setTimeout(function(){ra(a)},200)}function pa(a,b){a._bInitComplete=!0;b&&U(a);t(a,"aoInitComplete","init",[a,b])}function Pa(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Qa(a);t(a,null,"length",[a,c])}function lb(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=g.isArray(d[0]),f=e?d[0]:d,e=e?d[1]:d,d=g("<select/>",{name:c+"_length","aria-controls":c,"class":"select" +b.sLengthSelect}),h=0,i=f.length;h<i;h++)d[0][h]=new Option(e[h],f[h]);var j=g("<div><label/></div>").addClass(b.sLength);
|
||||
a.aanFeatures.l||(j[0].id=c+"_length");b=a.oLanguage.sLengthMenu.split(/(_MENU_)/);j.children().append(1<b.length?[b[0],d,b[2]]:b[0]);g("select",j).val(a._iDisplayLength).bind("change.DT",function(){Pa(a,g(this).val());J(a)});g(a.nTable).bind("length.dt.DT",function(a,b,c){g("select",j).val(c)});return j[0]}function qb(a){var b=a.sPaginationType,c=p.ext.pager[b],d="function"===typeof c,e=function(a){J(a)},b=g("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=
|
||||
a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,j=a._iDisplayLength,g=a.fnRecordsDisplay(),m=-1===j,b=m?0:Math.ceil(b/j),j=m?1:Math.ceil(g/j),g=c(b,j),o,m=0;for(o=f.p.length;m<o;m++)La(a,"pageButton")(a,f.p[m],m,g,b,j)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ra(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>
|
||||
d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:O(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(t(a,null,"page",[a]),c&&J(a));return b}function nb(a){return g("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&g(a.aanFeatures.r).css("display",b?"block":"none");t(a,null,"processing",[a,b])}function ob(a){var b=
|
||||
g(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,h=b.children("caption"),i=h.length?h[0]._captionSide:null,j=g(b[0].cloneNode(!1)),n=g(b[0].cloneNode(!1)),m=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");m.length||(m=null);c=g("<div/>",{"class":f.sScrollWrapper}).append(g("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:s(d):"100%"}).append(g("<div/>",
|
||||
{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append(b.children("thead")))).append("top"===i?h:null)).append(g("<div/>",{"class":f.sScrollBody}).css({overflow:"auto",height:!e?null:s(e),width:!d?null:s(d)}).append(b));m&&c.append(g("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:s(d):"100%"}).append(g("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",
|
||||
0).append(b.children("tfoot")))).append("bottom"===i?h:null));var b=c.children(),o=b[0],f=b[1],k=m?b[2]:null;d&&g(f).scroll(function(){var a=this.scrollLeft;o.scrollLeft=a;m&&(k.scrollLeft=a)});a.nScrollHead=o;a.nScrollBody=f;a.nScrollFoot=k;a.aoDrawCallback.push({fn:V,sName:"scrolling"});return c[0]}function V(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,f=b.iBarWidth,h=g(a.nScrollHead),i=h[0].style,j=h.children("div"),n=j[0].style,m=j.children("table"),j=a.nScrollBody,o=g(j),k=j.style,l=g(a.nScrollFoot).children("div"),
|
||||
p=l.children("table"),r=g(a.nTHead),q=g(a.nTable),ba=q[0],L=ba.style,t=a.nTFoot?g(a.nTFoot):null,ca=a.oBrowser,v=ca.bScrollOversize,x,u,y,w,z,A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};q.children("thead, tfoot").remove();z=r.clone().prependTo(q);x=r.find("tr");y=z.find("tr");z.find("th, td").removeAttr("tabindex");t&&(w=t.clone().prependTo(q),u=t.find("tr"),w=w.find("tr"));c||(k.width="100%",h[0].style.width=
|
||||
"100%");g.each(ma(a,z),function(b,c){D=ga(a,b);c.style.width=a.aoColumns[D].sWidth});t&&F(function(a){a.style.width=""},w);b.bCollapse&&""!==e&&(k.height=o[0].offsetHeight+r[0].offsetHeight+"px");h=q.outerWidth();if(""===c){if(L.width="100%",v&&(q.find("tbody").height()>j.offsetHeight||"scroll"==o.css("overflow-y")))L.width=s(q.outerWidth()-f)}else""!==d?L.width=s(d):h==o.width()&&o.height()<q.height()?(L.width=s(h-f),q.outerWidth()>h-f&&(L.width=s(h))):L.width=s(h);h=q.outerWidth();F(E,y);F(function(a){C.push(a.innerHTML);
|
||||
A.push(s(g(a).css("width")))},y);F(function(a,b){a.style.width=A[b]},x);g(y).height(0);t&&(F(E,w),F(function(a){B.push(s(g(a).css("width")))},w),F(function(a,b){a.style.width=B[b]},u),g(w).height(0));F(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+C[b]+"</div>";a.style.width=A[b]},y);t&&F(function(a,b){a.innerHTML="";a.style.width=B[b]},w);if(q.outerWidth()<h){u=j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")?h+f:h;if(v&&(j.scrollHeight>
|
||||
j.offsetHeight||"scroll"==o.css("overflow-y")))L.width=s(u-f);(""===c||""!==d)&&O(a,1,"Possible column misalignment",6)}else u="100%";k.width=s(u);i.width=s(u);t&&(a.nScrollFoot.style.width=s(u));!e&&v&&(k.height=s(ba.offsetHeight+f));e&&b.bCollapse&&(k.height=s(e),b=c&&ba.offsetWidth>j.offsetWidth?f:0,ba.offsetHeight<j.offsetHeight&&(k.height=s(ba.offsetHeight+b)));b=q.outerWidth();m[0].style.width=s(b);n.width=s(b);m=q.height()>j.clientHeight||"scroll"==o.css("overflow-y");ca="padding"+(ca.bScrollbarLeft?
|
||||
"Left":"Right");n[ca]=m?f+"px":"0px";t&&(p[0].style.width=s(b),l[0].style.width=s(b),l[0].style[ca]=m?f+"px":"0px");o.scroll();if(a.bSorted||a.bFiltered)j.scrollTop=0}function F(a,b,c){for(var d=0,e=0,f=b.length,h,i;e<f;){h=b[e].firstChild;for(i=c?c[e].firstChild:null;h;)1===h.nodeType&&(c?a(h,i,d):a(h,d),d++),h=h.nextSibling,i=c?i.nextSibling:null;e++}}function Ca(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,h=d.sXInner,i=c.length,d=W(a,"bVisible"),j=g("th",a.nTHead),n=b.getAttribute("width"),
|
||||
m=b.parentNode,o=!1,k,l;for(k=0;k<d.length;k++)l=c[d[k]],null!==l.sWidth&&(l.sWidth=zb(l.sWidthOrig,m),o=!0);if(!o&&!f&&!e&&i==Y(a)&&i==j.length)for(k=0;k<i;k++)c[k].sWidth=s(j.eq(k).width());else{i=g(b.cloneNode(!1)).css("visibility","hidden").removeAttr("id").append(g(a.nTHead).clone(!1)).append(g(a.nTFoot).clone(!1)).append(g("<tbody><tr/></tbody>"));i.find("tfoot th, tfoot td").css("width","");var p=i.find("tbody tr"),j=ma(a,i.find("thead")[0]);for(k=0;k<d.length;k++)l=c[d[k]],j[k].style.width=
|
||||
null!==l.sWidthOrig&&""!==l.sWidthOrig?s(l.sWidthOrig):"";if(a.aoData.length)for(k=0;k<d.length;k++)o=d[k],l=c[o],g(Ab(a,o)).clone(!1).append(l.sContentPadding).appendTo(p);i.appendTo(m);f&&h?i.width(h):f?(i.css("width","auto"),i.width()<m.offsetWidth&&i.width(m.offsetWidth)):e?i.width(m.offsetWidth):n&&i.width(n);Bb(a,i[0]);if(f){for(k=h=0;k<d.length;k++)l=c[d[k]],e=g(j[k]).outerWidth(),h+=null===l.sWidthOrig?e:parseInt(l.sWidth,10)+e-g(j[k]).width();i.width(s(h));b.style.width=s(h)}for(k=0;k<d.length;k++)if(l=
|
||||
c[d[k]],e=g(j[k]).width())l.sWidth=s(e);b.style.width=s(i.css("width"));i.remove()}n&&(b.style.width=s(n));if((n||f)&&!a._reszEvt)g(za).bind("resize.DT-"+a.sInstance,Ma(function(){U(a)})),a._reszEvt=!0}function Ma(a,b){var c=b||200,d,e;return function(){var b=this,h=+new Date,i=arguments;d&&h<d+c?(clearTimeout(e),e=setTimeout(function(){d=l;a.apply(b,i)},c)):d?(d=h,a.apply(b,i)):d=h}}function zb(a,b){if(!a)return 0;var c=g("<div/>").css("width",s(a)).appendTo(b||N.body),d=c[0].offsetWidth;c.remove();
|
||||
return d}function Bb(a,b){var c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(g(b).outerWidth()-c)}function Ab(a,b){var c=Cb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?g("<td/>").html(A(a,c,b,"display"))[0]:d.anCells[b]}function Cb(a,b){for(var c,d=-1,e=-1,f=0,h=a.aoData.length;f<h;f++)c=A(a,f,b,"display")+"",c=c.replace(Ub,""),c.length>d&&(d=c.length,e=f);return e}function s(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Db(){if(!p.__scrollbarWidth){var a=
|
||||
g("<p/>").css({width:"100%",height:200,padding:0})[0],b=g("<div/>").css({position:"absolute",top:0,left:0,width:200,height:150,padding:0,overflow:"hidden",visibility:"hidden"}).append(a).appendTo("body"),c=a.offsetWidth;b.css("overflow","scroll");a=a.offsetWidth;c===a&&(a=b[0].clientWidth);b.remove();p.__scrollbarWidth=c-a}return p.__scrollbarWidth}function Q(a){var b,c,d=[],e=a.aoColumns,f,h,i,j;b=a.aaSortingFixed;c=g.isPlainObject(b);var n=[];f=function(a){a.length&&!g.isArray(a[0])?n.push(a):n.push.apply(n,
|
||||
a)};g.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){j=n[a][0];f=e[j].aDataSort;b=0;for(c=f.length;b<c;b++)h=f[b],i=e[h].sType||"string",d.push({src:j,col:h,dir:n[a][1],index:n[a][2],type:i,formatter:p.ext.type.order[i+"-pre"]})}return d}function jb(a){var b,c,d=[],e=p.ext.type.order,f=a.aoData,h=0,i,g=a.aiDisplayMaster,n;Da(a);n=Q(a);b=0;for(c=n.length;b<c;b++)i=n[b],i.formatter&&h++,Eb(a,i.col);if("ssp"!=z(a)&&0!==n.length){b=0;for(c=g.length;b<c;b++)d[g[b]]=
|
||||
b;h===n.length?g.sort(function(a,b){var c,e,h,g,i=n.length,j=f[a]._aSortData,l=f[b]._aSortData;for(h=0;h<i;h++)if(g=n[h],c=j[g.col],e=l[g.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===g.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):g.sort(function(a,b){var c,h,g,i,j=n.length,l=f[a]._aSortData,p=f[b]._aSortData;for(g=0;g<j;g++)if(i=n[g],c=l[i.col],h=p[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],c=i(c,h),0!==c)return c;c=d[a];h=d[b];return c<h?-1:c>h?1:0})}a.bSorted=!0}function Fb(a){for(var b,c,
|
||||
d=a.aoColumns,e=Q(a),a=a.oLanguage.oAria,f=0,h=d.length;f<h;f++){c=d[f];var i=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var g=c.nTh;g.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(g.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=i[e[0].index+1]||i[0]):c=i[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);g.setAttribute("aria-label",b)}}function Sa(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,h=function(a){var b=a._idx;b===l&&(b=g.inArray(a[1],
|
||||
f));return b+1>=f.length?0:b+1};c&&a.oFeatures.bSortMulti?(c=g.inArray(b,B(e,"0")),-1!==c?(b=h(e[c]),e[c][1]=f[b],e[c]._idx=b):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=h(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);K(a);"function"==typeof d&&d(a)}function Ka(a,b,c,d){var e=a.aoColumns[c];Ta(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Sa(a,c,b.shiftKey,d);"ssp"!==z(a)&&C(a,!1)},0)):Sa(a,
|
||||
c,b.shiftKey,d))})}function sa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=Q(a),e=a.oFeatures,f,h;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)h=b[e].src,g(B(a.aoData,"anCells",h)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)h=d[e].src,g(B(a.aoData,"anCells",h)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Eb(a,b){var c=a.aoColumns[b],d=p.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,X(a,b)));for(var f,h=p.ext.type.order[c.sType+"-pre"],g=0,j=a.aoData.length;g<
|
||||
j;g++)if(c=a.aoData[g],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[g]:A(a,g,b,"sort"),c._aSortData[b]=h?h(f):f}function ta(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={iCreate:+new Date,iStart:a._iDisplayStart,iLength:a._iDisplayLength,aaSorting:g.extend(!0,[],a.aaSorting),oSearch:g.extend(!0,{},a.oPreviousSearch),aoSearchCols:g.extend(!0,[],a.aoPreSearchCols),abVisCols:B(a.aoColumns,"bVisible")};t(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.fnStateSaveCallback.call(a.oInstance,
|
||||
a,b)}}function Gb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&(b=t(a,"aoStateLoadParams","stateLoadParams",[a,e]),-1===g.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.iCreate<+new Date-1E3*b)&&d.length===e.aoSearchCols.length))){a.oLoadedState=g.extend(!0,{},e);a._iDisplayStart=e.iStart;a.iInitDisplayStart=e.iStart;a._iDisplayLength=e.iLength;a.aaSorting=g.map(e.aaSorting,function(a){return a[0]>=d.length?[0,a[1]]:a});g.extend(a.oPreviousSearch,
|
||||
e.oSearch);g.extend(!0,a.aoPreSearchCols,e.aoSearchCols);var f=e.abVisCols;b=0;for(c=f.length;b<c;b++)d[b].bVisible=f[b];t(a,"aoStateLoaded","stateLoaded",[a,e])}}}function ua(a){var b=p.settings,a=g.inArray(a,B(b,"nTable"));return-1!==a?b[a]:null}function O(a,b,c,d){c="DataTables warning: "+(null!==a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)za.console&&console.log&&console.log(c);else if(a=p.ext,"alert"==(a.sErrMode||
|
||||
a.errMode))alert(c);else throw Error(c);}function D(a,b,c,d){g.isArray(c)?g.each(c,function(c,d){g.isArray(d)?D(a,b,d[0],d[1]):D(a,b,d)}):(d===l&&(d=c),b[c]!==l&&(a[d]=b[c]))}function Hb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],g.isPlainObject(d)?(g.isPlainObject(a[e])||(a[e]={}),g.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&g.isArray(d)?d.slice():d);return a}function Ta(a,b,c){g(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&
|
||||
(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function y(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function t(a,b,c,d){var e=[];b&&(e=g.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&g(a.nTable).trigger(c+".dt",d);return e}function Qa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;c===a.fnRecordsDisplay()&&(b=c-d);if(-1===d||0>b)b=0;a._iDisplayStart=b}function La(a,b){var c=a.renderer,d=p.ext.renderer[b];return g.isPlainObject(c)&&
|
||||
c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function z(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Ua(a,b){var c=[],c=Ib.numbers_length,d=Math.floor(c/2);b<=c?c=R(0,b):a<=d?(c=R(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=R(b-(c-2),b):(c=R(a-1,a+2),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function bb(a){g.each({num:function(b){return va(b,a)},"num-fmt":function(b){return va(b,a,Va)},"html-num":function(b){return va(b,
|
||||
a,wa)},"html-num-fmt":function(b){return va(b,a,wa,Va)}},function(b,c){u.type.order[b+a+"-pre"]=c})}function Jb(a){return function(){var b=[ua(this[p.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return p.ext.internal[a].apply(this,b)}}var p,u,q,r,x,Wa={},Kb=/[\r\n]/g,wa=/<.*?>/g,Vb=/^[\d\+\-a-zA-Z]/,Sb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Va=/[',$\u00a3\u20ac\u00a5%\u2009\u202F]/g,da=function(a){return!a||"-"===a?!0:!1},Lb=function(a){var b=
|
||||
parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Mb=function(a,b){Wa[b]||(Wa[b]=RegExp(Oa(b),"g"));return"string"===typeof a?a.replace(/\./g,"").replace(Wa[b],"."):a},Xa=function(a,b,c){var d="string"===typeof a;b&&d&&(a=Mb(a,b));c&&d&&(a=a.replace(Va,""));return!a||"-"===a||!isNaN(parseFloat(a))&&isFinite(a)},Nb=function(a,b,c){return da(a)?!0:a&&"string"!==typeof a?null:Xa(a.replace(wa,""),b,c)?!0:null},B=function(a,b,c){var d=[],e=0,f=a.length;if(c!==l)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);
|
||||
else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},xa=function(a,b,c,d){var e=[],f=0,h=b.length;if(d!==l)for(;f<h;f++)e.push(a[b[f]][c][d]);else for(;f<h;f++)e.push(a[b[f]][c]);return e},R=function(a,b){var c=[],d;b===l?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Ja=function(a){var b=[],c,d,e=a.length,f,h=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<h;f++)if(b[f]===c)continue a;b.push(c);h++}return b},w=function(a,b,c){a[b]!==l&&(a[c]=a[b])},Z=/\[.*?\]$/,P=/\(\)$/,qa=g("<div>")[0],Tb=qa.textContent!==
|
||||
l,Ub=/<.*?>/g;p=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new q(ua(this[u.iApiIndex])):new q(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=g.isArray(a)&&(g.isArray(a[0])||g.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===l||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===l||
|
||||
a?b.draw(!1):(""!==d.sX||""!==d.sY)&&V(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===l||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],g=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,g);(c===l||c)&&d.draw();return g};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(!a)};this.fnFilter=function(a,b,c,d,e,g){e=this.api(!0);null===
|
||||
b||b===l?e.search(a,c,d,g):e.column(b).search(a,c,d,g);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==l){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==l||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==l?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==
|
||||
c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===l||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===l||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ua(this[u.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};
|
||||
this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var g=this.api(!0);c===l||null===c?g.row(b).data(a):g.cell(b,c).data(a);(e===l||e)&&g.columns.adjust();(d===l||d)&&g.draw();return 0};this.fnVersionCheck=u.fnVersionCheck;var b=this,c=a===l,d=this.length;c&&(a={});this.oApi=this.internal=u.internal;for(var e in p.ext.internal)e&&(this[e]=Jb(e));this.each(function(){var e={},h=1<d?Hb(e,a,!0):a,i=0,j,n=this.getAttribute("id"),e=!1,m=p.defaults;
|
||||
if("table"!=this.nodeName.toLowerCase())O(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{cb(m);db(m.column);G(m,m,!0);G(m.column,m.column,!0);G(m,h);var o=p.settings,i=0;for(j=o.length;i<j;i++){if(o[i].nTable==this){j=h.bRetrieve!==l?h.bRetrieve:m.bRetrieve;if(c||j)return o[i].oInstance;if(h.bDestroy!==l?h.bDestroy:m.bDestroy){o[i].oInstance.fnDestroy();break}else{O(o[i],0,"Cannot reinitialise DataTable",3);return}}if(o[i].sTableId==this.id){o.splice(i,1);break}}if(null===n||""===
|
||||
n)this.id=n="DataTables_Table_"+p.ext._unique++;var k=g.extend(!0,{},p.models.oSettings,{nTable:this,oApi:b.internal,oInit:h,sDestroyWidth:g(this)[0].style.width,sInstance:n,sTableId:n});o.push(k);k.oInstance=1===b.length?b:g(this).dataTable();cb(h);h.oLanguage&&M(h.oLanguage);h.aLengthMenu&&!h.iDisplayLength&&(h.iDisplayLength=g.isArray(h.aLengthMenu[0])?h.aLengthMenu[0][0]:h.aLengthMenu[0]);h=Hb(g.extend(!0,{},m),h);D(k.oFeatures,h,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));
|
||||
D(k,h,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);D(k.oScroll,h,[["sScrollX","sX"],["sScrollXInner","sXInner"],
|
||||
["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);D(k.oLanguage,h,"fnInfoCallback");y(k,"aoDrawCallback",h.fnDrawCallback,"user");y(k,"aoServerParams",h.fnServerParams,"user");y(k,"aoStateSaveParams",h.fnStateSaveParams,"user");y(k,"aoStateLoadParams",h.fnStateLoadParams,"user");y(k,"aoStateLoaded",h.fnStateLoaded,"user");y(k,"aoRowCallback",h.fnRowCallback,"user");y(k,"aoRowCreatedCallback",h.fnCreatedRow,"user");y(k,"aoHeaderCallback",h.fnHeaderCallback,"user");y(k,"aoFooterCallback",h.fnFooterCallback,
|
||||
"user");y(k,"aoInitComplete",h.fnInitComplete,"user");y(k,"aoPreDrawCallback",h.fnPreDrawCallback,"user");n=k.oClasses;h.bJQueryUI?(g.extend(n,p.ext.oJUIClasses,h.oClasses),h.sDom===m.sDom&&"lfrtip"===m.sDom&&(k.sDom='<"H"lfr>t<"F"ip>'),k.renderer)?g.isPlainObject(k.renderer)&&!k.renderer.header&&(k.renderer.header="jqueryui"):k.renderer="jqueryui":g.extend(n,p.ext.classes,h.oClasses);g(this).addClass(n.sTable);if(""!==k.oScroll.sX||""!==k.oScroll.sY)k.oScroll.iBarWidth=Db();!0===k.oScroll.sX&&(k.oScroll.sX=
|
||||
"100%");k.iInitDisplayStart===l&&(k.iInitDisplayStart=h.iDisplayStart,k._iDisplayStart=h.iDisplayStart);null!==h.iDeferLoading&&(k.bDeferLoading=!0,i=g.isArray(h.iDeferLoading),k._iRecordsDisplay=i?h.iDeferLoading[0]:h.iDeferLoading,k._iRecordsTotal=i?h.iDeferLoading[1]:h.iDeferLoading);""!==h.oLanguage.sUrl?(k.oLanguage.sUrl=h.oLanguage.sUrl,g.getJSON(k.oLanguage.sUrl,null,function(a){M(a);G(m.oLanguage,a);g.extend(true,k.oLanguage,h.oLanguage,a);ra(k)}),e=!0):g.extend(!0,k.oLanguage,h.oLanguage);
|
||||
null===h.asStripeClasses&&(k.asStripeClasses=[n.sStripeOdd,n.sStripeEven]);var i=k.asStripeClasses,r=g("tbody tr:eq(0)",this);-1!==g.inArray(!0,g.map(i,function(a){return r.hasClass(a)}))&&(g("tbody tr",this).removeClass(i.join(" ")),k.asDestroyStripes=i.slice());var o=[],q,i=this.getElementsByTagName("thead");0!==i.length&&($(k.aoHeader,i[0]),o=ma(k));if(null===h.aoColumns){q=[];i=0;for(j=o.length;i<j;i++)q.push(null)}else q=h.aoColumns;i=0;for(j=q.length;i<j;i++)Aa(k,o?o[i]:null);gb(k,h.aoColumnDefs,
|
||||
q,function(a,b){fa(k,a,b)});if(r.length){var s=function(a,b){return a.getAttribute("data-"+b)?b:null};g.each(ia(k,r[0]).cells,function(a,b){var c=k.aoColumns[a];if(c.mData===a){var d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:l,type:d!==null?a+".@data-"+d:l,filter:e!==null?a+".@data-"+e:l};fa(k,a)}}})}var u=k.oFeatures;h.bStateSave&&(u.bStateSave=!0,Gb(k,h),y(k,"aoDrawCallback",ta,"state_save"));if(h.aaSorting===
|
||||
l){o=k.aaSorting;i=0;for(j=o.length;i<j;i++)o[i][1]=k.aoColumns[i].asSorting[0]}sa(k);u.bSort&&y(k,"aoDrawCallback",function(){if(k.bSorted){var a=Q(k),b={};g.each(a,function(a,c){b[c.src]=c.dir});t(k,null,"order",[k,a,b]);Fb(k)}});y(k,"aoDrawCallback",function(){(k.bSorted||z(k)==="ssp"||u.bDeferRender)&&sa(k)},"sc");eb(k);i=g(this).children("caption").each(function(){this._captionSide=g(this).css("caption-side")});j=g(this).children("thead");0===j.length&&(j=g("<thead/>").appendTo(this));k.nTHead=
|
||||
j[0];j=g(this).children("tbody");0===j.length&&(j=g("<tbody/>").appendTo(this));k.nTBody=j[0];j=g(this).children("tfoot");if(0===j.length&&0<i.length&&(""!==k.oScroll.sX||""!==k.oScroll.sY))j=g("<tfoot/>").appendTo(this);0===j.length||0===j.children().length?g(this).addClass(n.sNoFooter):0<j.length&&(k.nTFoot=j[0],$(k.aoFooter,k.nTFoot));if(h.aaData)for(i=0;i<h.aaData.length;i++)H(k,h.aaData[i]);else(k.bDeferLoading||"dom"==z(k))&&ha(k,g(k.nTBody).children("tr"));k.aiDisplay=k.aiDisplayMaster.slice();
|
||||
k.bInitialised=!0;!1===e&&ra(k)}});b=null;return this};var Ob=[],v=Array.prototype,Wb=function(a){var b,c,d=p.settings,e=g.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=g.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=g(a):a instanceof g&&(c=a)}else return[];if(c)return c.map(function(){b=g.inArray(this,e);return-1!==b?d[b]:null}).toArray()};
|
||||
p.Api=q=function(a,b){if(!this instanceof q)throw"DT API must be constructed as a new object";var c=[],d=function(a){(a=Wb(a))&&c.push.apply(c,a)};if(g.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=Ja(c);b&&this.push.apply(this,b.toArray?b.toArray():b);this.selector={rows:null,cols:null,opts:null};q.extend(this,this,Ob)};q.prototype={concat:v.concat,context:[],each:function(a){if(v.forEach)v.forEach.call(this,a,this);else for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],
|
||||
b,this);return this},eq:function(a){var b=this.context;return b.length>a?new q(b[a],this[a]):null},filter:function(a){var b=[];if(v.filter)b=v.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new q(this.context,b)},flatten:function(){var a=[];return new q(this.context,a.concat.apply(a,this.toArray()))},join:v.join,indexOf:v.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,
|
||||
b,c){var d=[],e,f,h,g,j,n=this.context,m,o,k=this.selector;"string"===typeof a&&(c=b,b=a,a=!1);f=0;for(h=n.length;f<h;f++)if("table"===b)e=c(n[f],f),e!==l&&d.push(e);else if("columns"===b||"rows"===b)e=c(n[f],this[f],f),e!==l&&d.push(e);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[f];"column-rows"===b&&(m=Ya(n[f],k.opts));g=0;for(j=o.length;g<j;g++)e=o[g],e="cell"===b?c(n[f],e.row,e.column,f,g):c(n[f],e,f,g,m),e!==l&&d.push(e)}return d.length?(a=new q(n,a?d.concat.apply([],
|
||||
d):d),b=a.selector,b.rows=k.rows,b.cols=k.cols,b.opts=k.opts,a):this},lastIndexOf:v.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(v.map)b=v.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new q(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:v.pop,push:v.push,reduce:v.reduce||function(a,b){return fb(this,a,b,0,this.length,1)},reduceRight:v.reduceRight||
|
||||
function(a,b){return fb(this,a,b,this.length-1,-1,-1)},reverse:v.reverse,selector:null,shift:v.shift,sort:v.sort,splice:v.splice,toArray:function(){return v.slice.call(this)},to$:function(){return g(this)},toJQuery:function(){return g(this)},unique:function(){return new q(this.context,Ja(this))},unshift:v.unshift};q.extend=function(a,b,c){if(b&&(b instanceof q||b.__dt_wrapper)){var d,e,f,h=function(b,c){return function(){var d=b.apply(a,arguments);q.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<
|
||||
e;d++)f=c[d],b[f.name]="function"===typeof f.val?h(f.val,f):g.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,q.extend(a,b[f.name],f.propExt)}};q.register=r=function(a,b){if(g.isArray(a))for(var c=0,d=a.length;c<d;c++)q.register(a[c],b);else{for(var e=a.split("."),f=Ob,h,i,c=0,d=e.length;c<d;c++){h=(i=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var j;a:{j=0;for(var n=f.length;j<n;j++)if(f[j].name===h){j=f[j];break a}j=null}j||(j={name:h,val:{},methodExt:[],propExt:[]},f.push(j));c===
|
||||
d-1?j.val=b:f=i?j.methodExt:j.propExt}q.ready&&p.api.build()}};q.registerPlural=x=function(a,b,c){q.register(a,c);q.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof q?a.length?g.isArray(a[0])?new q(a.context,a[0]):a[0]:l:a})};r("tables()",function(a){var b;if(a){b=q;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=g.map(c,function(a){return a.nTable}),a=g(d).filter(a).map(function(){var a=g.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=
|
||||
this;return b});r("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new q(b[0]):a});x("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable})});x("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody})});x("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead})});x("tables().footer()","table().footer()",function(){return this.iterator("table",
|
||||
function(a){return a.nTFoot})});r("draw()",function(a){return this.iterator("table",function(b){K(b,!1===a)})});r("page()",function(a){return a===l?this.page.info().page:this.iterator("table",function(b){Ra(b,a)})});r("page.info()",function(){if(0===this.context.length)return l;var a=this.context[0],b=a._iDisplayStart,c=a._iDisplayLength,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d}});
|
||||
r("page.len()",function(a){return a===l?0!==this.context.length?this.context[0]._iDisplayLength:l:this.iterator("table",function(b){Pa(b,a)})});var Pb=function(a,b,c){"ssp"==z(a)?K(a,b):(C(a,!0),na(a,[],function(c){ja(a);for(var c=oa(a,c),d=0,h=c.length;d<h;d++)H(a,c[d]);K(a,b);C(a,!1)}));if(c){var d=new q(a);d.one("draw",function(){c(d.ajax.json())})}};r("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});r("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});
|
||||
r("ajax.reload()",function(a,b){return this.iterator("table",function(c){Pb(c,!1===b,a)})});r("ajax.url()",function(a){var b=this.context;if(a===l){if(0===b.length)return l;b=b[0];return b.ajax?g.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){g.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});r("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Pb(c,!1===b,a)})});var Za=function(a,b){var c=[],d,e,f,h,i,j;if(!a||"string"===typeof a||
|
||||
a.length===l)a=[a];f=0;for(h=a.length;f<h;f++){e=a[f]&&a[f].split?a[f].split(","):[a[f]];i=0;for(j=e.length;i<j;i++)(d=b("string"===typeof e[i]?g.trim(e[i]):e[i]))&&d.length&&c.push.apply(c,d)}return c},$a=function(a){a||(a={});a.filter&&!a.search&&(a.search=a.filter);return{search:a.search||"none",order:a.order||"current",page:a.page||"all"}},ab=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ya=function(a,b){var c,
|
||||
d,e,f=[],h=a.aiDisplay;c=a.aiDisplayMaster;var i=b.search;d=b.order;e=b.page;if("ssp"==z(a))return"removed"===i?[]:R(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(h[c])}else if("current"==d||"applied"==d)f="none"==i?c.slice():"applied"==i?h.slice():g.map(c,function(a){return-1===g.inArray(a,h)?a:null});else if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==i?f.push(c):(e=g.inArray(c,h),(-1===e&&"removed"==i||1===e&&"applied"==i)&&f.push(c))}return f};
|
||||
r("rows()",function(a,b){a===l?a="":g.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table",function(c){var e=b;return Za(a,function(a){var b=Lb(a);if(b!==null&&!e)return[b];var i=Ya(c,e);if(b!==null&&g.inArray(b,i)!==-1)return[b];if(!a)return i;for(var b=[],j=0,n=i.length;j<n;j++)b.push(c.aoData[i[j]].nTr);return a.nodeName&&g.inArray(a,b)!==-1?[a._DT_RowIndex]:g(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()})});c.selector.rows=a;c.selector.opts=b;return c});r("rows().nodes()",
|
||||
function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||l})});r("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return xa(a.aoData,b,"_aData")})});x("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData})});x("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){la(b,c,a)})});x("rows().indexes()","row().index()",function(){return this.iterator("row",
|
||||
function(a,b){return b})});x("rows().remove()","row().remove()",function(){var a=this;return this.iterator("row",function(b,c,d){var e=b.aoData;e.splice(c,1);for(var f=0,h=e.length;f<h;f++)null!==e[f].nTr&&(e[f].nTr._DT_RowIndex=f);g.inArray(c,b.aiDisplay);ka(b.aiDisplayMaster,c);ka(b.aiDisplay,c);ka(a[d],c,!1);Qa(b)})});r("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,h,g=[];f=0;for(h=a.length;f<h;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?g.push(ha(b,c)[0]):
|
||||
g.push(H(b,c));return g}),c=this.rows(-1);c.pop();c.push.apply(c,b.toArray());return c});r("row()",function(a,b){return ab(this.rows(a,b))});r("row().data()",function(a){var b=this.context;if(a===l)return b.length&&this.length?b[0].aoData[this[0]]._aData:l;b[0].aoData[this[0]]._aData=a;la(b[0],this[0],"data");return this});r("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});r("row.add()",function(a){a instanceof g&&a.length&&(a=a[0]);var b=
|
||||
this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?ha(b,a)[0]:H(b,a)});return this.row(b[0])});var Qb=function(a){var b=this.context;if(b.length&&this.length){var c=b[0].aoData[this[0]];if(c._details){(c._detailsShow=a)?c._details.insertAfter(c.nTr):c._details.remove();var d=b[0],e=new q(d);e.off("draw.dt.DT_details column-visibility.dt.DT_details");0<B(d.aoData,"_details").length&&(e.on("draw.dt.DT_details",function(){e.rows({page:"current"}).eq(0).each(function(a){a=
|
||||
d.aoData[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),e.on("column-visibility.dt.DT_details",function(a,b){for(var c,d=Y(b),e=0,g=b.aoData.length;e<g;e++)c=b.aoData[e],c._details&&c._details.children("td[colspan]").attr("colspan",d)}))}}return this};r("row().child()",function(a,b){var c=this.context;if(a===l)return c.length&&this.length?c[0].aoData[this[0]]._details:l;if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(a.nodeName&&"tr"===a.nodeName.toLowerCase())e.push(a);
|
||||
else{var c=g("<tr><td/></tr>");g("td",c).addClass(b).html(a)[0].colSpan=Y(d);e.push(c[0])}};if(g.isArray(a)||a instanceof g)for(var h=0,i=a.length;h<i;h++)f(a[h],b);else f(a,b);c._details&&c._details.remove();c._details=g(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});r(["row().child.show()","row().child().show()"],function(){Qb.call(this,!0);return this});r(["row().child.hide()","row().child().hide()"],function(){Qb.call(this,!1);return this});r("row().child.isShown()",function(){var a=
|
||||
this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var Xb=/^(.*):(name|visIdx|visible)$/;r("columns()",function(a,b){a===l?a="":g.isPlainObject(a)&&(b=a,a="");var b=$a(b),c=this.iterator("table",function(b){var c=a,f=b.aoColumns,h=B(f,"sName"),i=B(f,"nTh");return Za(c,function(a){var c=Lb(a);if(a==="")return R(f.length);if(c!==null)return[c>=0?c:f.length+c];var e=typeof a==="string"?a.match(Xb):"";if(e)switch(e[2]){case "visIdx":case "visible":a=parseInt(e[1],10);
|
||||
if(a<0){c=g.map(f,function(a,b){return a.bVisible?b:null});return[c[c.length+a]]}return[ga(b,a)];case "name":return g.map(h,function(a,b){return a===e[1]?b:null})}else return g(i).filter(a).map(function(){return g.inArray(this,i)}).toArray()})});c.selector.cols=a;c.selector.opts=b;return c});x("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh})});x("columns().footer()","column().footer()",function(){return this.iterator("column",
|
||||
function(a,b){return a.aoColumns[b].nTf})});x("columns().data()","column().data()",function(){return this.iterator("column-rows",function(a,b,c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(A(a,e[d],b,""));return c})});x("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return xa(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)})});x("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,
|
||||
e){return xa(a.aoData,e,"anCells",b)})});x("columns().visible()","column().visible()",function(a){return this.iterator("column",function(b,c){var d;if(a===l)d=b.aoColumns[c].bVisible;else{var e=b.aoColumns;d=e[c];var f=b.aoData,h,i,j;if(a===l)d=d.bVisible;else{if(d.bVisible!==a){if(a){var n=g.inArray(!0,B(e,"bVisible"),c+1);h=0;for(i=f.length;h<i;h++)j=f[h].nTr,e=f[h].anCells,j&&j.insertBefore(e[c],e[n]||null)}else g(B(b.aoData,"anCells",c)).detach(),d.bVisible=!1,I(b,b.aoHeader),I(b,b.aoFooter),
|
||||
ta(b);d.bVisible=a;I(b,b.aoHeader);I(b,b.aoFooter);U(b);(b.oScroll.sX||b.oScroll.sY)&&V(b);t(b,null,"column-visibility",[b,c,a]);ta(b)}d=void 0}}return d})});x("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?X(b,c):c})});r("columns.adjust()",function(){return this.iterator("table",function(a){U(a)})});r("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return ga(c,
|
||||
b);if("fromData"===a||"toVisible"===a)return X(c,b)}});r("column()",function(a,b){return ab(this.columns(a,b))});r("cells()",function(a,b,c){g.isPlainObject(a)&&(a.row?(c=b,b=null):(c=a,a=null));g.isPlainObject(b)&&(c=b,b=null);if(null===b||b===l)return this.iterator("table",function(b){var d=a,e=$a(c),f=b.aoData,h=Ya(b,e),e=xa(f,h,"anCells"),i=g([].concat.apply([],e)),j,m=b.aoColumns.length,n,l,p,r;return Za(d,function(a){if(a){if(g.isPlainObject(a))return[a]}else{n=[];l=0;for(p=h.length;l<p;l++){j=
|
||||
h[l];for(r=0;r<m;r++)n.push({row:j,column:r})}return n}return i.filter(a).map(function(a,b){j=b.parentNode._DT_RowIndex;return{row:j,column:g.inArray(b,f[j].anCells)}}).toArray()})});var d=this.columns(b,c),e=this.rows(a,c),f,h,i,j,n,m=this.iterator("table",function(a,b){f=[];h=0;for(i=e[b].length;h<i;h++){j=0;for(n=d[b].length;j<n;j++)f.push({row:e[b][h],column:d[b][j]})}return f});g.extend(m.selector,{cols:b,rows:a,opts:c});return m});x("cells().nodes()","cell().node()",function(){return this.iterator("cell",
|
||||
function(a,b,c){return a.aoData[b].anCells[c]})});r("cells().data()",function(){return this.iterator("cell",function(a,b,c){return A(a,b,c)})});x("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]})});x("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:X(a,c)}})});r(["cells().invalidate()","cell().invalidate()"],function(a){var b=
|
||||
this.selector;this.rows(b.rows,b.opts).invalidate(a);return this});r("cell()",function(a,b,c){return ab(this.cells(a,b,c))});r("cell().data()",function(a){var b=this.context,c=this[0];if(a===l)return b.length&&c.length?A(b[0],c[0].row,c[0].column):l;Ea(b[0],c[0].row,c[0].column,a);la(b[0],c[0].row,"data",c[0].column);return this});r("order()",function(a,b){var c=this.context;if(a===l)return 0!==c.length?c[0].aaSorting:l;"number"===typeof a?a=[[a,b]]:g.isArray(a[0])||(a=Array.prototype.slice.call(arguments));
|
||||
return this.iterator("table",function(b){b.aaSorting=a.slice()})});r("order.listener()",function(a,b,c){return this.iterator("table",function(d){Ka(d,a,b,c)})});r(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];g.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});r("search()",function(a,b,c,d){var e=this.context;return a===l?0!==e.length?e[0].oPreviousSearch.sSearch:l:this.iterator("table",function(e){e.oFeatures.bFilter&&
|
||||
aa(e,g.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});r(["columns().search()","column().search()"],function(a,b,c,d){return this.iterator("column",function(e,f){var h=e.aoPreSearchCols;if(a===l)return h[f].sSearch;e.oFeatures.bFilter&&(g.extend(h[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),aa(e,e.oPreviousSearch,1))})});p.versionCheck=p.fnVersionCheck=function(a){for(var b=
|
||||
p.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};p.isDataTable=p.fnIsDataTable=function(a){var b=g(a).get(0),c=!1;g.each(p.settings,function(a,e){if(e.nTable===b||e.nScrollHead===b||e.nScrollFoot===b)c=!0});return c};p.tables=p.fnTables=function(a){return jQuery.map(p.settings,function(b){if(!a||a&&g(b.nTable).is(":visible"))return b.nTable})};p.camelToHungarian=G;r("$()",function(a,b){var c=this.rows(b).nodes(),
|
||||
c=g(c);return g([].concat(c.filter(a).toArray(),c.find(a).toArray()))});g.each(["on","one","off"],function(a,b){r(b+"()",function(){var a=Array.prototype.slice.call(arguments);-1===a[0].indexOf(".dt")&&(a[0]+=".dt");var d=g(this.tables().nodes());d[b].apply(d,a);return this})});r("clear()",function(){return this.iterator("table",function(a){ja(a)})});r("settings()",function(){return new q(this.context,this.context)});r("data()",function(){return this.iterator("table",function(a){return B(a.aoData,
|
||||
"_aData")}).flatten()});r("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,h=b.nTHead,i=b.nTFoot,j=g(e),f=g(f),n=g(b.nTableWrapper),m=g.map(b.aoData,function(a){return a.nTr}),l;b.bDestroying=!0;t(b,"aoDestroyCallback","destroy",[b]);a||(new q(b)).columns().visible(!0);n.unbind(".DT").find(":not(tbody *)").unbind(".DT");g(za).unbind(".DT-"+b.sInstance);e!=h.parentNode&&(j.children("thead").detach(),j.append(h));
|
||||
i&&e!=i.parentNode&&(j.children("tfoot").detach(),j.append(i));j.detach();n.detach();b.aaSorting=[];b.aaSortingFixed=[];sa(b);g(m).removeClass(b.asStripeClasses.join(" "));g("th, td",h).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&(g("th span."+d.sSortIcon+", td span."+d.sSortIcon,h).detach(),g("th, td",h).each(function(){var a=g("div."+d.sSortJUIWrapper,this);g(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(e,b.nTableReinsertBefore);
|
||||
f.children().detach();f.append(m);j.css("width",b.sDestroyWidth).removeClass(d.sTable);(l=b.asDestroyStripes.length)&&f.children().each(function(a){g(this).addClass(b.asDestroyStripes[a%l])});c=g.inArray(b,p.settings);-1!==c&&p.settings.splice(c,1)})});p.version="1.10.0";p.settings=[];p.models={};p.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};p.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null};p.models.oColumn=
|
||||
{idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};p.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,
|
||||
aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,
|
||||
fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,
|
||||
iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": 升序排列",sSortDescending:":降序排列"},oPaginate:{sFirst:"第一页",sLast:"最后一页",sNext:"下一页",sPrevious:"上一页"},sEmptyTable:"没有数据",sInfo:"显示 _START_ 到 _END_ ,共 _TOTAL_ 条",sInfoEmpty:"没有数据",sInfoFiltered:"(从 _MAX_ 条中过滤)",sInfoPostFix:"",sDecimal:"",
|
||||
sThousands:",",sLengthMenu:"显示 _MENU_ 条",sLoadingRecords:"加载中...",sProcessing:"处理中...",sSearch:"从当前数据中检索:",sUrl:"",sZeroRecords:"没有找到匹配的记录"},oSearch:g.extend({},p.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};S(p.defaults);p.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,
|
||||
mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};S(p.defaults.column);p.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,
|
||||
bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,
|
||||
nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:l,oAjaxData:l,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,
|
||||
oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==z(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==z(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,
|
||||
nScrollFoot:null,aLastSort:[],oPlugins:{}};p.ext=u={classes:{},errMode:"alert",feature:[],search:[],internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:p.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:p.version};g.extend(u,{afnFiltering:u.search,aTypes:u.type.detect,ofnSearch:u.type.search,oSort:u.type.order,afnSortData:u.order,aoFeatures:u.feature,oApi:u.internal,oStdClasses:u.classes,oPagination:u.pager});
|
||||
g.extend(p.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",
|
||||
sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
|
||||
sJUIHeader:"",sJUIFooter:""});var ya="",ya="",E=ya+"ui-state-default",ea=ya+"css_right ui-icon ui-icon-",Rb=ya+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";g.extend(p.ext.oJUIClasses,p.ext.classes,{sPageButton:"fg-button ui-button "+E,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:E+" sorting_asc",sSortDesc:E+" sorting_desc",sSortable:E+" sorting",
|
||||
sSortableAsc:E+" sorting_asc_disabled",sSortableDesc:E+" sorting_desc_disabled",sSortableNone:E+" sorting_disabled",sSortJUIAsc:ea+"triangle-1-n",sSortJUIDesc:ea+"triangle-1-s",sSortJUI:ea+"carat-2-n-s",sSortJUIAscAllowed:ea+"carat-1-n",sSortJUIDescAllowed:ea+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+E,sScrollFoot:"dataTables_scrollFoot "+E,sHeaderTH:E,sFooterTH:E,sJUIHeader:Rb+" ui-corner-tl ui-corner-tr",sJUIFooter:Rb+
|
||||
" ui-corner-bl ui-corner-br"});var Ib=p.ext.pager;g.extend(Ib,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous",Ua(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Ua(a,b),"next","last"]},_numbers:Ua,numbers_length:7});g.extend(!0,p.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var h=a.oClasses,i=a.oLanguage.oPaginate,j,l,m=0,o=function(b,d){var k,p,r,q,s=function(b){Ra(a,b.data.action,
|
||||
true)};k=0;for(p=d.length;k<p;k++){q=d[k];if(g.isArray(q)){r=g("<"+(q.DT_el||"div")+"/>").appendTo(b);o(r,q)}else{l=j="";switch(q){case "ellipsis":b.append("<span>…</span>");break;case "first":j=i.sFirst;l=q+(e>0?"":" "+h.sPageButtonDisabled);break;case "previous":j=i.sPrevious;l=q+(e>0?"":" "+h.sPageButtonDisabled);break;case "next":j=i.sNext;l=q+(e<f-1?"":" "+h.sPageButtonDisabled);break;case "last":j=i.sLast;l=q+(e<f-1?"":" "+h.sPageButtonDisabled);break;default:j=q+1;l=e===q?h.sPageButtonActive:
|
||||
""}if(j){r=g("<a>",{"class":h.sPageButton+" "+l,"aria-controls":a.sTableId,"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof q==="string"?a.sTableId+"_"+q:null}).html(j).appendTo(b);Ta(r,{action:q},s);m++}}}},k=g(N.activeElement).data("dt-idx");o(g(b).empty(),d);k!==null&&g(b).find("[data-dt-idx="+k+"]").focus()}}});var va=function(a,b,c,d){if(!a||"-"===a)return-Infinity;b&&(a=Mb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};g.extend(u.type.order,{"date-pre":function(a){return Date.parse(a)||
|
||||
0},"html-pre":function(a){return!a?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return"string"===typeof a?a.toLowerCase():!a||!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});bb("");g.extend(p.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Xa(a,c)?"num"+c:null},function(a){if(a&&!Vb.test(a))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||da(a)?"date":
|
||||
null},function(a,b){var c=b.oLanguage.sDecimal;return Xa(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Nb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Nb(a,c,!0)?"html-num-fmt"+c:null},function(a){return da(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);g.extend(p.ext.type.search,{html:function(a){return da(a)?"":"string"===typeof a?a.replace(Kb," ").replace(wa,""):""},string:function(a){return da(a)?"":"string"===typeof a?a.replace(Kb,
|
||||
" "):a}});g.extend(!0,p.ext.renderer,{header:{_:function(a,b,c,d){g(a.nTable).on("order.dt.DT",function(a,f,g,i){a=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(i[a]=="asc"?d.sSortAsc:i[a]=="desc"?d.sSortDesc:c.sSortingClass)})},jqueryui:function(a,b,c,d){var e=c.idx;g("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(g("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);g(a.nTable).on("order.dt.DT",function(a,g,i,j){b.removeClass(d.sSortAsc+
|
||||
" "+d.sSortDesc).addClass(j[e]=="asc"?d.sSortAsc:j[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(j[e]=="asc"?d.sSortJUIAsc:j[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)})}}});p.render={number:function(a,b,c,d){return{display:function(e){var e=parseFloat(e),f=parseInt(e,10),e=c?(b+(e-f).toFixed(c)).substring(2):"";return(d||"")+f.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
|
||||
a)+e}}}};g.extend(p.ext.internal,{_fnExternApiFunc:Jb,_fnBuildAjax:na,_fnAjaxUpdate:ib,_fnAjaxParameters:rb,_fnAjaxUpdateDraw:sb,_fnAjaxDataSrc:oa,_fnAddColumn:Aa,_fnColumnOptions:fa,_fnAdjustColumnSizing:U,_fnVisibleToColumnIndex:ga,_fnColumnIndexToVisible:X,_fnVisbleColumns:Y,_fnGetColumns:W,_fnColumnTypes:Da,_fnApplyColumnDefs:gb,_fnHungarianMap:S,_fnCamelToHungarian:G,_fnLanguageCompat:M,_fnBrowserDetect:eb,_fnAddData:H,_fnAddTr:ha,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==l?b._DT_RowIndex:
|
||||
null},_fnNodeToColumnIndex:function(a,b,c){return g.inArray(c,a.aoData[b].anCells)},_fnGetCellData:A,_fnSetCellData:Ea,_fnSplitObjNotation:Ga,_fnGetObjectDataFn:T,_fnSetObjectDataFn:Ba,_fnGetDataMaster:Ha,_fnClearTable:ja,_fnDeleteIndex:ka,_fnInvalidateRow:la,_fnGetRowElements:ia,_fnCreateTr:Fa,_fnBuildHead:hb,_fnDrawHead:I,_fnDraw:J,_fnReDraw:K,_fnAddOptionsHtml:kb,_fnDetectHeader:$,_fnGetUniqueThs:ma,_fnFeatureHtmlFilter:mb,_fnFilterComplete:aa,_fnFilterCustom:vb,_fnFilterColumn:ub,_fnFilter:tb,
|
||||
_fnFilterCreateSearch:Na,_fnEscapeRegex:Oa,_fnFilterData:wb,_fnFeatureHtmlInfo:pb,_fnUpdateInfo:xb,_fnInfoMacros:yb,_fnInitialise:ra,_fnInitComplete:pa,_fnLengthChange:Pa,_fnFeatureHtmlLength:lb,_fnFeatureHtmlPaginate:qb,_fnPageChange:Ra,_fnFeatureHtmlProcessing:nb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:ob,_fnScrollDraw:V,_fnApplyToChildren:F,_fnCalculateColumnWidths:Ca,_fnThrottle:Ma,_fnConvertToWidth:zb,_fnScrollingWidthAdjust:Bb,_fnGetWidestNode:Ab,_fnGetMaxLenString:Cb,_fnStringToCss:s,_fnScrollBarWidth:Db,
|
||||
_fnSortFlatten:Q,_fnSort:jb,_fnSortAria:Fb,_fnSortListener:Sa,_fnSortAttachListener:Ka,_fnSortingClasses:sa,_fnSortData:Eb,_fnSaveState:ta,_fnLoadState:Gb,_fnSettingsFromNode:ua,_fnLog:O,_fnMap:D,_fnBindAction:Ta,_fnCallbackReg:y,_fnCallbackFire:t,_fnLengthOverflow:Qa,_fnRenderer:La,_fnDataSource:z,_fnRowAttributes:Ia,_fnCalculateEnd:function(){}});g.fn.dataTable=p;g.fn.dataTableSettings=p.settings;g.fn.dataTableExt=p.ext;g.fn.DataTable=function(a){return g(this).dataTable(a).api()};g.each(p,function(a,
|
||||
b){g.fn.DataTable[a]=b});return g.fn.dataTable};"function"===typeof define&&define.amd?define("datatables",["jquery"],M):"object"===typeof exports?M(require("jquery")):jQuery&&!jQuery.fn.dataTable&&M(jQuery)})(window,document);
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,182 @@
|
||||
/* iCheck.js Minimal skin
|
||||
----------------------------------- */
|
||||
.icheckbox,.iradio{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(minimal.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox,.icheckbox.static:hover{background-position: 0 0}
|
||||
.icheckbox.hover,.icheckbox:hover{background-position: -20px 0}
|
||||
.icheckbox.checked{background-position: -40px 0}
|
||||
.icheckbox.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox.checked.disabled{background-position: -80px 0}
|
||||
.iradio,.iradio.static:hover{background-position: -100px 0}
|
||||
.iradio.hover,.iradio:hover{background-position: -120px 0}
|
||||
.iradio.checked{background-position: -140px 0}
|
||||
.iradio.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox,.iradio{background-image: url(minimal@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* red */
|
||||
.icheckbox-red,.iradio-red{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(red.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-red,.icheckbox-red.static:hover{background-position: 0 0}
|
||||
.icheckbox-red.hover,.icheckbox-red:hover{background-position: -20px 0}
|
||||
.icheckbox-red.checked{background-position: -40px 0}
|
||||
.icheckbox-red.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-red.checked.disabled{background-position: -80px 0}
|
||||
.iradio-red,.iradio-red.static:hover{background-position: -100px 0}
|
||||
.iradio-red.hover,.iradio-red:hover{background-position: -120px 0}
|
||||
.iradio-red.checked{background-position: -140px 0}
|
||||
.iradio-red.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-red.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-red,.iradio-red{background-image: url(red@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* green */
|
||||
.icheckbox-green,.iradio-green{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(green.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-green,.icheckbox-green.static:hover{background-position: 0 0}
|
||||
.icheckbox-green.hover,.icheckbox-green:hover{background-position: -20px 0}
|
||||
.icheckbox-green.checked{background-position: -40px 0}
|
||||
.icheckbox-green.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-green.checked.disabled{background-position: -80px 0}
|
||||
.iradio-green,.iradio-green.static:hover{background-position: -100px 0}
|
||||
.iradio-green.hover,.iradio-green:hover{background-position: -120px 0}
|
||||
.iradio-green.checked{background-position: -140px 0}
|
||||
.iradio-green.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-green.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-green,.iradio-green{background-image: url(green@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* blue */
|
||||
.icheckbox-blue,.iradio-blue{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(blue.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-blue,.icheckbox-blue.static:hover{background-position: 0 0}
|
||||
.icheckbox-blue.hover,.icheckbox-blue:hover{background-position: -20px 0}
|
||||
.icheckbox-blue.checked{background-position: -40px 0}
|
||||
.icheckbox-blue.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-blue.checked.disabled{background-position: -80px 0}
|
||||
.iradio-blue,.iradio-blue.static:hover{background-position: -100px 0}
|
||||
.iradio-blue.hover,.iradio-blue:hover{background-position: -120px 0}
|
||||
.iradio-blue.checked{background-position: -140px 0}
|
||||
.iradio-blue.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-blue.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-blue,.iradio-blue{background-image: url(blue@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* aero */
|
||||
.icheckbox-aero,.iradio-aero{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(aero.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-aero,.icheckbox-aero.static:hover{background-position: 0 0}
|
||||
.icheckbox-aero.hover,.icheckbox-aero:hover{background-position: -20px 0}
|
||||
.icheckbox-aero.checked{background-position: -40px 0}
|
||||
.icheckbox-aero.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-aero.checked.disabled{background-position: -80px 0}
|
||||
.iradio-aero,.iradio-aero.static:hover{background-position: -100px 0}
|
||||
.iradio-aero.hover,.iradio-aero:hover{background-position: -120px 0}
|
||||
.iradio-aero.checked{background-position: -140px 0}
|
||||
.iradio-aero.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-aero.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-aero,.iradio-aero{background-image: url(aero@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* grey */
|
||||
.icheckbox-grey,.iradio-grey{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(grey.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-grey,.icheckbox-grey.static:hover{background-position: 0 0}
|
||||
.icheckbox-grey.hover,.icheckbox-grey:hover{background-position: -20px 0}
|
||||
.icheckbox-grey.checked{background-position: -40px 0}
|
||||
.icheckbox-grey.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-grey.checked.disabled{background-position: -80px 0}
|
||||
.iradio-grey,.iradio-grey.static:hover{background-position: -100px 0}
|
||||
.iradio-grey.hover,.iradio-grey:hover{background-position: -120px 0}
|
||||
.iradio-grey.checked{background-position: -140px 0}
|
||||
.iradio-grey.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-grey.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-grey,.iradio-grey{background-image: url(grey@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* orange */
|
||||
.icheckbox-orange,.iradio-orange{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(orange.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-orange,.icheckbox-orange.static:hover{background-position: 0 0}
|
||||
.icheckbox-orange.hover,.icheckbox-orange:hover{background-position: -20px 0}
|
||||
.icheckbox-orange.checked{background-position: -40px 0}
|
||||
.icheckbox-orange.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-orange.checked.disabled{background-position: -80px 0}
|
||||
.iradio-orange,.iradio-orange.static:hover{background-position: -100px 0}
|
||||
.iradio-orange.hover,.iradio-orange:hover{background-position: -120px 0}
|
||||
.iradio-orange.checked{background-position: -140px 0}
|
||||
.iradio-orange.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-orange.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-orange,.iradio-orange{background-image: url(orange@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* yellow */
|
||||
.icheckbox-yellow,.iradio-yellow{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(yellow.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-yellow,.icheckbox-yellow.static:hover{background-position: 0 0}
|
||||
.icheckbox-yellow.hover,.icheckbox-yellow:hover{background-position: -20px 0}
|
||||
.icheckbox-yellow.checked{background-position: -40px 0}
|
||||
.icheckbox-yellow.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-yellow.checked.disabled{background-position: -80px 0}
|
||||
.iradio-yellow,.iradio-yellow.static:hover{background-position: -100px 0}
|
||||
.iradio-yellow.hover,.iradio-yellow:hover{background-position: -120px 0}
|
||||
.iradio-yellow.checked{background-position: -140px 0}
|
||||
.iradio-yellow.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-yellow.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-yellow,.iradio-yellow{background-image: url(yellow@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* pink */
|
||||
.icheckbox-pink,.iradio-pink{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(pink.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-pink,.icheckbox-pink.static:hover{background-position: 0 0}
|
||||
.icheckbox-pink.hover,.icheckbox-pink:hover{background-position: -20px 0}
|
||||
.icheckbox-pink.checked{background-position: -40px 0}
|
||||
.icheckbox-pink.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-pink.checked.disabled{background-position: -80px 0}
|
||||
.iradio-pink,.iradio-pink.static:hover{background-position: -100px 0}
|
||||
.iradio-pink.hover,.iradio-pink:hover{background-position: -120px 0}
|
||||
.iradio-pink.checked{background-position: -140px 0}
|
||||
.iradio-pink.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-pink.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-pink,.iradio-pink{background-image: url(pink@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
/* purple */
|
||||
.icheckbox-purple,.iradio-purple{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(purple.png) no-repeat;border: none;cursor: pointer}
|
||||
.icheckbox-purple,.icheckbox-purple.static:hover{background-position: 0 0}
|
||||
.icheckbox-purple.hover,.icheckbox-purple:hover{background-position: -20px 0}
|
||||
.icheckbox-purple.checked{background-position: -40px 0}
|
||||
.icheckbox-purple.disabled{background-position: -60px 0;cursor: default}
|
||||
.icheckbox-purple.checked.disabled{background-position: -80px 0}
|
||||
.iradio-purple,.iradio-purple.static:hover{background-position: -100px 0}
|
||||
.iradio-purple.hover,.iradio-purple:hover{background-position: -120px 0}
|
||||
.iradio-purple.checked{background-position: -140px 0}
|
||||
.iradio-purple.disabled{background-position: -160px 0;cursor: default}
|
||||
.iradio-purple.checked.disabled{background-position: -180px 0}
|
||||
|
||||
/* Retina support */
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5){.icheckbox-purple,.iradio-purple{background-image: url(purple@2x.png);
|
||||
-webkit-background-size: 200px 20px;
|
||||
background-size: 200px 20px}
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
// iCheck v0.7, http://git.io/uhUPMA
|
||||
(function(b){function m(a,b,d,c){var e=a[0],l=a.parent(),j=/disable|enable/.test(d)?"disabled":"checked",f="update"==d?{checked:e.checked,disabled:e.disabled}:e[j];if(/^check|disable/.test(d)&&!f)n(a,!0,l,j);else if(/uncheck|enable/.test(d)&&f)p(a,!0,l,j);else if("update"==d)for(j in f)f[j]?n(a,!1,l,j,c):p(a,!1,l,j,c);else b||(!0==d&&!e.disabled&&a.trigger("is.Clicked"),f?n(a,!0,l,j):p(a,!0,l,j))}function n(a,k,d,c,e){k&&(a[0][c]=!0);!0!==d.data(c)&&("checked"==c&&("radio"==a[0].type&&a[0].name)&&
|
||||
b("input[name="+a[0].name+"]").each(function(){this!==a[0]&&b(this).data("icheck")&&p(b(this),!0,b(this).parent(),c)}),(k||e)&&a.trigger("is.Changed"),k&&a.trigger("is."+c.replace("di","Di").replace("ch","Ch")),d.data(c,!0).addClass(r(a,c)))}function p(a,b,d,c,e){var l="disabled"==c?"Enabled":"Unchecked";b&&(a[0][c]=!1);!1!==d.data(c)&&((b||e)&&a.trigger("is.Changed"),b&&a.trigger("is."+l),d.data(c,!1).removeClass(r(a,c)))}function u(a,k){if(a.data("icheck")){var d=a[0].id,c=b("label[for="+d+"]");
|
||||
a.parent().html(a.attr("style",a.data("icheck").style||"").trigger(k||""));a.removeData("icheck").unbind(".df").unwrap();d&&c.length&&c.unbind(".df")}}function r(a,b){if(a.data("icheck"))return a.data("icheck").options[b+"Class"]}b.fn.iCheck=function(a){if(/^(check|uncheck|disable|enable|update|destroy)$/.test(a))return this.each(function(){/destroy/.test(a)?u(b(this),"is.Destroyed"):m(b(this),!0,a)});if("object"==typeof a||!a){var k=navigator.userAgent,d=b.extend({},{checkboxClass:"icheckbox",radioClass:"iradio",
|
||||
checkedClass:"checked",disabledClass:"disabled",hoverClass:"hover",focusClass:"focus",activeClass:"active",labelHover:!0,labelHoverClass:"hover"},a),c=/^(checkbox|radio)$/.test(d.handle)?":"+d.handle:":checkbox, :radio",e=(""+d.increaseArea).replace("%","")|0;-50>e&&(e=-50);return this.each(function(){(b(this).is(c)?b(this):b(this).find(c)).each(function(){u(b(this));var a=this,c=a.id,f={position:"absolute",top:-e+"%",left:-e+"%",display:"block",width:100+2*e+"%",height:100+2*e+"%",margin:0,padding:0,
|
||||
background:"#fff",border:0,opacity:0},r=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini/i.test(k)?{position:"absolute",visibility:"hidden"}:e|0?f:{position:"absolute",opacity:0},w="checkbox"==a.type?d.checkboxClass:d.radioClass,h=b(this).data("icheck",{style:b(this).attr("style"),options:d}).css(r),q=b("label[for="+c+"]"),g=h.wrap('<div class="'+w+'"/>').trigger("is.Created").parent().append(d.insert),f=b("<ins/>").css(f).appendTo(g).click(function(){h.click();m(h,!1,!0)}),s=d.hoverClass,
|
||||
t=d.labelHoverClass,v;!0==d.cursor&&f.css("cursor","pointer");!0==d.inheritClass&&g.addClass(a.className);!0==d.inheritID&&c&&g.attr("id","icheck-"+c);"static"==g.css("position")&&g.css("position","relative");m(h,!0,"update");c&&q.length&&q.bind("click.df mouseenter.df mouseleave.df touchbegin.df touchend.df",function(c){var e=c.type,f=b(this);"click"==e?(c.preventDefault(),h.click(),m(h,!1,!0)):!0==d.labelHover&&!a.disabled&&(/mouseenter|touchbegin/.test(e)?(g.addClass(s),f.addClass(t)):(g.removeClass(s),
|
||||
f.removeClass(t)))});h.bind("focus.df blur.df keyup.df keydown.df keypress.df",function(c){var b=c.type,e=c.keyCode||c.charCode||c.which;c=/MSIE [5-8]/.test(k)?"keyup"==b&&"keypress"!==v:"keyup"==b;e="keypress"==b&&32==e;/focus|blur/.test(b)?"focus"==b?g.addClass(d.focusClass):g.removeClass(d.focusClass):"radio"==a.type?(c?m(h,!0,"update",!0):e&&!a.checked&&n(h,!1,g,"checked",!0),v=b):"checkbox"==a.type&&e&&(a.checked?p(h,!1,g,"checked",!0):n(h,!1,g,"checked",!0))});f.bind("mousedown mouseup mouseout mouseenter mouseleave touchbegin touchend",
|
||||
function(b){b=b.type;var e=/mousedown|mouseup|mouseout/.test(b)?d.activeClass:s;a.disabled||(/mousedown|mouseenter|touchbegin/.test(b)?g.addClass(e):g.removeClass(e),c&&(q.length&&!0==d.labelHover&&e==s)&&(/mouseleave|touchend/.test(b)?q.removeClass(t):q.addClass(t)))})})})}return this}})(jQuery);
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,109 @@
|
||||
/* Demo Note: This demo uses a FileProgress class that handles the UI for displaying the file name and percent complete.
|
||||
The FileProgress class is not part of SWFUpload.
|
||||
*/
|
||||
|
||||
|
||||
/* **********************
|
||||
Event Handlers
|
||||
These are my custom event handlers to make my
|
||||
web application behave the way I went when SWFUpload
|
||||
completes different tasks. These aren't part of the SWFUpload
|
||||
package. They are part of my application. Without these none
|
||||
of the actions SWFUpload makes will show up in my application.
|
||||
********************** */
|
||||
function preLoad() {
|
||||
if (!this.support.loading) {
|
||||
alert("你需要安装Flash Player 9.028或者更高版本,才能使用上传功能。");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function loadFailed() {
|
||||
alert("装在上传组件失败,请重新刷新页面重试。");
|
||||
}
|
||||
|
||||
function fileQueued(file) {
|
||||
try {
|
||||
if(this.customSettings.tdFilesQueued != undefined) {
|
||||
this.customSettings.tdFilesQueued.innerHTML = this.getStats().files_queued;
|
||||
}
|
||||
} catch (ex) {
|
||||
this.debug(ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function fileDialogComplete() {
|
||||
this.startUpload();
|
||||
}
|
||||
|
||||
function uploadStart(file) {
|
||||
try {
|
||||
if(this.customSettings.progressCount != undefined) {
|
||||
this.customSettings.progressCount = 0;
|
||||
}
|
||||
updateDisplay.call(this, file);
|
||||
}
|
||||
catch (ex) {
|
||||
this.debug(ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function uploadProgress(file, bytesLoaded, bytesTotal) {
|
||||
try {
|
||||
if(this.customSettings.progressCount != undefined) {
|
||||
this.customSettings.progressCount++;
|
||||
}
|
||||
updateDisplay.call(this, file);
|
||||
} catch (ex) {
|
||||
this.debug(ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function uploadSuccess(file, serverData) {
|
||||
try {
|
||||
updateDisplay.call(this, file);
|
||||
} catch (ex) {
|
||||
this.debug(ex);
|
||||
}
|
||||
}
|
||||
|
||||
function uploadComplete(file) {
|
||||
if(this.customSettings.tdFilesQueued != undefined) {
|
||||
this.customSettings.tdFilesQueued.innerHTML = this.getStats().files_queued;
|
||||
}
|
||||
if(this.customSettings.tdFilesUploaded != undefined) {
|
||||
this.customSettings.tdFilesUploaded.innerHTML = this.getStats().successful_uploads;
|
||||
}
|
||||
if(this.customSettings.tdErrors != undefined) {
|
||||
this.customSettings.tdErrors.innerHTML = this.getStats().upload_errors;
|
||||
}
|
||||
}
|
||||
|
||||
function updateDisplay(file) {
|
||||
if(this.customSettings.tdCurrentSpeed != undefined) {
|
||||
this.customSettings.tdCurrentSpeed.innerHTML = SWFUpload.speed.formatBPS(file.currentSpeed);
|
||||
}
|
||||
if(this.customSettings.tdAverageSpeed != undefined) {
|
||||
this.customSettings.tdAverageSpeed.innerHTML = SWFUpload.speed.formatBPS(file.averageSpeed);
|
||||
}
|
||||
if(this.customSettings.tdMovingAverageSpeed != undefined) {
|
||||
this.customSettings.tdMovingAverageSpeed.innerHTML = SWFUpload.speed.formatBPS(file.movingAverageSpeed);
|
||||
}
|
||||
if(this.customSettings.tdTimeRemaining != undefined) {
|
||||
this.customSettings.tdTimeRemaining.innerHTML = SWFUpload.speed.formatTime(file.timeRemaining);
|
||||
}
|
||||
if(this.customSettings.tdTimeElapsed != undefined) {
|
||||
this.customSettings.tdTimeElapsed.innerHTML = SWFUpload.speed.formatTime(file.timeElapsed);
|
||||
}
|
||||
if(this.customSettings.tdPercentUploaded != undefined) {
|
||||
this.customSettings.tdPercentUploaded.innerHTML = SWFUpload.speed.formatPercent(file.percentUploaded);
|
||||
}
|
||||
if(this.customSettings.tdSizeUploaded != undefined) {
|
||||
this.customSettings.tdSizeUploaded.innerHTML = SWFUpload.speed.formatBytes(file.sizeUploaded);
|
||||
}
|
||||
if(this.customSettings.tdProgressEventCount != undefined) {
|
||||
this.customSettings.tdProgressEventCount.innerHTML = this.customSettings.progressCount;
|
||||
}
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
/*
|
||||
Cookie Plug-in
|
||||
|
||||
This plug in automatically gets all the cookies for this site and adds them to the post_params.
|
||||
Cookies are loaded only on initialization. The refreshCookies function can be called to update the post_params.
|
||||
The cookies will override any other post params with the same name.
|
||||
*/
|
||||
|
||||
var SWFUpload;
|
||||
if (typeof(SWFUpload) === "function") {
|
||||
SWFUpload.prototype.initSettings = function (oldInitSettings) {
|
||||
return function (userSettings) {
|
||||
if (typeof(oldInitSettings) === "function") {
|
||||
oldInitSettings.call(this, userSettings);
|
||||
}
|
||||
|
||||
this.refreshCookies(false); // The false parameter must be sent since SWFUpload has not initialzed at this point
|
||||
};
|
||||
}(SWFUpload.prototype.initSettings);
|
||||
|
||||
// refreshes the post_params and updates SWFUpload. The sendToFlash parameters is optional and defaults to True
|
||||
SWFUpload.prototype.refreshCookies = function (sendToFlash) {
|
||||
if (sendToFlash === undefined) {
|
||||
sendToFlash = true;
|
||||
}
|
||||
sendToFlash = !!sendToFlash;
|
||||
|
||||
// Get the post_params object
|
||||
var postParams = this.settings.post_params;
|
||||
|
||||
// Get the cookies
|
||||
var i, cookieArray = document.cookie.split(';'), caLength = cookieArray.length, c, eqIndex, name, value;
|
||||
for (i = 0; i < caLength; i++) {
|
||||
c = cookieArray[i];
|
||||
|
||||
// Left Trim spaces
|
||||
while (c.charAt(0) === " ") {
|
||||
c = c.substring(1, c.length);
|
||||
}
|
||||
eqIndex = c.indexOf("=");
|
||||
if (eqIndex > 0) {
|
||||
name = c.substring(0, eqIndex);
|
||||
value = c.substring(eqIndex + 1);
|
||||
postParams[name] = value;
|
||||
}
|
||||
}
|
||||
|
||||
if (sendToFlash) {
|
||||
this.setPostParams(postParams);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
/*
|
||||
Proxy Plug-in
|
||||
|
||||
Features:
|
||||
Times an upload to see if it appear suspiciously fast which might indicate a proxy server or anti-virus suite intercepting the upload.
|
||||
If the upload seems too fast an uploadError event is fired with PROXY error code after the final uploadProgress event.
|
||||
|
||||
Adds a SWFUpload setting allowing you to tweak the bytes/s for triggering the error:
|
||||
proxy_detect_threshold : 256000
|
||||
|
||||
Adds an UPLOAD_ERROR entry called PROXY:
|
||||
function uploadError(file, errorCode, message) {
|
||||
if (errorCode === SWFUpload.UPLOAD_ERROR.PROXY) {
|
||||
alert("You might have a proxy!");
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
var SWFUpload;
|
||||
if (typeof(SWFUpload) === "function") {
|
||||
SWFUpload.proxyDetect = {};
|
||||
SWFUpload.UPLOAD_ERROR.PROXY = -30300;
|
||||
|
||||
SWFUpload.prototype.initSettings = (function (oldInitSettings) {
|
||||
return function (userSettings) {
|
||||
if (typeof(oldInitSettings) === "function") {
|
||||
oldInitSettings.call(this, userSettings);
|
||||
}
|
||||
|
||||
this.ensureDefault = function (settingName, defaultValue) {
|
||||
this.settings[settingName] = (userSettings[settingName] == undefined) ? defaultValue : userSettings[settingName];
|
||||
};
|
||||
|
||||
// List used to keep the speed stats for the files we are tracking
|
||||
this.proxyDetectFileStartTimes = {};
|
||||
this.proxyDetectSettings = {};
|
||||
|
||||
this.ensureDefault("proxy_detect_threshold", 256000); // Default is 250 KB per second
|
||||
|
||||
this.proxyDetectSettings.user_upload_progress_handler = this.settings.upload_progress_handler;
|
||||
this.proxyDetectSettings.user_upload_complete_handler = this.settings.upload_complete_handler;
|
||||
|
||||
this.settings.upload_progress_handler = SWFUpload.proxyDetect.uploadProgressHandler;
|
||||
this.settings.upload_complete_handler = SWFUpload.proxyDetect.uploadCompleteHandler;
|
||||
|
||||
|
||||
delete this.ensureDefault;
|
||||
};
|
||||
}(SWFUpload.prototype.initSettings));
|
||||
|
||||
SWFUpload.proxyDetect.uploadProgressHandler = function (file, bytesComplete, bytesTotal) {
|
||||
var ex1 = null, time, differenceMS, bps;
|
||||
try {
|
||||
if (typeof this.proxyDetectSettings.user_upload_progress_handler === "function") {
|
||||
this.proxyDetectSettings.user_upload_progress_handler.call(this, file, bytesComplete, bytesTotal);
|
||||
}
|
||||
} catch (ex1) { }
|
||||
|
||||
|
||||
if (bytesComplete === 0) {
|
||||
this.proxyDetectFileStartTimes[file.ID] = new Date();
|
||||
|
||||
} else if (bytesComplete === bytesTotal) {
|
||||
try {
|
||||
// Calculate the Bps and decide if we should trigger the error
|
||||
time = new Date();
|
||||
differenceMS = time.getTime() - this.proxyDetectFileStartTimes[file.ID].getTime();
|
||||
|
||||
if (differenceMS === 0) {
|
||||
differenceMS = 1;
|
||||
}
|
||||
|
||||
bps = bytesTotal / (differenceMS * 1000);
|
||||
if (bps > parseInt(this.settings.proxy_detect_threshold, 10)) {
|
||||
this.queueEvent("upload_error_handler", [file, SWFUpload.UPLOAD_ERROR.PROXY, bps]);
|
||||
}
|
||||
} catch (ex) {
|
||||
}
|
||||
}
|
||||
|
||||
if (ex1 !== null) {
|
||||
throw(ex1);
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.proxyDetect.uploadCompleteHandler = function (file) {
|
||||
try {
|
||||
delete this.proxyDetectFileStartTimes[file.ID];
|
||||
} catch (ex) {
|
||||
}
|
||||
|
||||
if (typeof this.proxyDetectSettings.user_upload_progress_handler === "function") {
|
||||
return this.proxyDetectSettings.user_upload_progress_handler.call(this, file);
|
||||
}
|
||||
};
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
/*
|
||||
Queue Plug-in
|
||||
|
||||
Features:
|
||||
*Adds a cancelQueue() method for cancelling the entire queue.
|
||||
*All queued files are uploaded when startUpload() is called.
|
||||
*If false is returned from uploadComplete then the queue upload is stopped.
|
||||
If false is not returned (strict comparison) then the queue upload is continued.
|
||||
*Adds a QueueComplete event that is fired when all the queued files have finished uploading.
|
||||
Set the event handler with the queue_complete_handler setting.
|
||||
|
||||
*/
|
||||
|
||||
var SWFUpload;
|
||||
if (typeof(SWFUpload) === "function") {
|
||||
SWFUpload.queue = {};
|
||||
|
||||
SWFUpload.prototype.initSettings = (function (oldInitSettings) {
|
||||
return function (userSettings) {
|
||||
if (typeof(oldInitSettings) === "function") {
|
||||
oldInitSettings.call(this, userSettings);
|
||||
}
|
||||
|
||||
this.queueSettings = {};
|
||||
|
||||
this.queueSettings.queue_cancelled_flag = false;
|
||||
this.queueSettings.queue_upload_count = 0;
|
||||
|
||||
this.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler;
|
||||
this.queueSettings.user_upload_start_handler = this.settings.upload_start_handler;
|
||||
this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler;
|
||||
this.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler;
|
||||
|
||||
this.settings.queue_complete_handler = userSettings.queue_complete_handler || null;
|
||||
};
|
||||
})(SWFUpload.prototype.initSettings);
|
||||
|
||||
SWFUpload.prototype.startUpload = function (fileID) {
|
||||
this.queueSettings.queue_cancelled_flag = false;
|
||||
this.callFlash("StartUpload", [fileID]);
|
||||
};
|
||||
|
||||
SWFUpload.prototype.cancelQueue = function () {
|
||||
this.queueSettings.queue_cancelled_flag = true;
|
||||
this.stopUpload();
|
||||
|
||||
var stats = this.getStats();
|
||||
while (stats.files_queued > 0) {
|
||||
this.cancelUpload();
|
||||
stats = this.getStats();
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.queue.uploadStartHandler = function (file) {
|
||||
var returnValue;
|
||||
if (typeof(this.queueSettings.user_upload_start_handler) === "function") {
|
||||
returnValue = this.queueSettings.user_upload_start_handler.call(this, file);
|
||||
}
|
||||
|
||||
// To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value.
|
||||
returnValue = (returnValue === false) ? false : true;
|
||||
|
||||
this.queueSettings.queue_cancelled_flag = !returnValue;
|
||||
|
||||
return returnValue;
|
||||
};
|
||||
|
||||
SWFUpload.queue.uploadCompleteHandler = function (file) {
|
||||
var user_upload_complete_handler = this.queueSettings.user_upload_complete_handler;
|
||||
var continueUpload;
|
||||
|
||||
if (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {
|
||||
this.queueSettings.queue_upload_count++;
|
||||
}
|
||||
|
||||
if (typeof(user_upload_complete_handler) === "function") {
|
||||
continueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true;
|
||||
} else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {
|
||||
// If the file was stopped and re-queued don't restart the upload
|
||||
continueUpload = false;
|
||||
} else {
|
||||
continueUpload = true;
|
||||
}
|
||||
|
||||
if (continueUpload) {
|
||||
var stats = this.getStats();
|
||||
if (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) {
|
||||
this.startUpload();
|
||||
} else if (this.queueSettings.queue_cancelled_flag === false) {
|
||||
this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]);
|
||||
this.queueSettings.queue_upload_count = 0;
|
||||
} else {
|
||||
this.queueSettings.queue_cancelled_flag = false;
|
||||
this.queueSettings.queue_upload_count = 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
@ -0,0 +1,346 @@
|
||||
/*
|
||||
Speed Plug-in
|
||||
|
||||
Features:
|
||||
*Adds several properties to the 'file' object indicated upload speed, time left, upload time, etc.
|
||||
- currentSpeed -- String indicating the upload speed, bits per second
|
||||
- averageSpeed -- Overall average upload speed, bits per second
|
||||
- movingAverageSpeed -- Speed over averaged over the last several measurements, bits per second
|
||||
- timeRemaining -- Estimated remaining upload time in seconds
|
||||
- timeElapsed -- Number of seconds passed for this upload
|
||||
- percentUploaded -- Percentage of the file uploaded (0 to 100)
|
||||
- sizeUploaded -- Formatted size uploaded so far, bytes
|
||||
|
||||
*Adds setting 'moving_average_history_size' for defining the window size used to calculate the moving average speed.
|
||||
|
||||
*Adds several Formatting functions for formatting that values provided on the file object.
|
||||
- SWFUpload.speed.formatBPS(bps) -- outputs string formatted in the best units (Gbps, Mbps, Kbps, bps)
|
||||
- SWFUpload.speed.formatTime(seconds) -- outputs string formatted in the best units (x Hr y M z S)
|
||||
- SWFUpload.speed.formatSize(bytes) -- outputs string formatted in the best units (w GB x MB y KB z B )
|
||||
- SWFUpload.speed.formatPercent(percent) -- outputs string formatted with a percent sign (x.xx %)
|
||||
- SWFUpload.speed.formatUnits(baseNumber, divisionArray, unitLabelArray, fractionalBoolean)
|
||||
- Formats a number using the division array to determine how to apply the labels in the Label Array
|
||||
- factionalBoolean indicates whether the number should be returned as a single fractional number with a unit (speed)
|
||||
or as several numbers labeled with units (time)
|
||||
*/
|
||||
|
||||
var SWFUpload;
|
||||
if (typeof(SWFUpload) === "function") {
|
||||
SWFUpload.speed = {};
|
||||
|
||||
SWFUpload.prototype.initSettings = (function (oldInitSettings) {
|
||||
return function (userSettings) {
|
||||
if (typeof(oldInitSettings) === "function") {
|
||||
oldInitSettings.call(this, userSettings);
|
||||
}
|
||||
|
||||
this.ensureDefault = function (settingName, defaultValue) {
|
||||
this.settings[settingName] = (userSettings[settingName] == undefined) ? defaultValue : userSettings[settingName];
|
||||
};
|
||||
|
||||
// List used to keep the speed stats for the files we are tracking
|
||||
this.fileSpeedStats = {};
|
||||
this.speedSettings = {};
|
||||
|
||||
this.ensureDefault("moving_average_history_size", "10");
|
||||
|
||||
this.speedSettings.user_file_queued_handler = this.settings.file_queued_handler;
|
||||
this.speedSettings.user_file_queue_error_handler = this.settings.file_queue_error_handler;
|
||||
this.speedSettings.user_upload_start_handler = this.settings.upload_start_handler;
|
||||
this.speedSettings.user_upload_error_handler = this.settings.upload_error_handler;
|
||||
this.speedSettings.user_upload_progress_handler = this.settings.upload_progress_handler;
|
||||
this.speedSettings.user_upload_success_handler = this.settings.upload_success_handler;
|
||||
this.speedSettings.user_upload_complete_handler = this.settings.upload_complete_handler;
|
||||
|
||||
this.settings.file_queued_handler = SWFUpload.speed.fileQueuedHandler;
|
||||
this.settings.file_queue_error_handler = SWFUpload.speed.fileQueueErrorHandler;
|
||||
this.settings.upload_start_handler = SWFUpload.speed.uploadStartHandler;
|
||||
this.settings.upload_error_handler = SWFUpload.speed.uploadErrorHandler;
|
||||
this.settings.upload_progress_handler = SWFUpload.speed.uploadProgressHandler;
|
||||
this.settings.upload_success_handler = SWFUpload.speed.uploadSuccessHandler;
|
||||
this.settings.upload_complete_handler = SWFUpload.speed.uploadCompleteHandler;
|
||||
|
||||
delete this.ensureDefault;
|
||||
};
|
||||
})(SWFUpload.prototype.initSettings);
|
||||
|
||||
|
||||
SWFUpload.speed.fileQueuedHandler = function (file) {
|
||||
if (typeof this.speedSettings.user_file_queued_handler === "function") {
|
||||
file = SWFUpload.speed.extendFile(file);
|
||||
|
||||
return this.speedSettings.user_file_queued_handler.call(this, file);
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.speed.fileQueueErrorHandler = function (file, errorCode, message) {
|
||||
if (typeof this.speedSettings.user_file_queue_error_handler === "function") {
|
||||
file = SWFUpload.speed.extendFile(file);
|
||||
|
||||
return this.speedSettings.user_file_queue_error_handler.call(this, file, errorCode, message);
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.speed.uploadStartHandler = function (file) {
|
||||
if (typeof this.speedSettings.user_upload_start_handler === "function") {
|
||||
file = SWFUpload.speed.extendFile(file, this.fileSpeedStats);
|
||||
return this.speedSettings.user_upload_start_handler.call(this, file);
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.speed.uploadErrorHandler = function (file, errorCode, message) {
|
||||
file = SWFUpload.speed.extendFile(file, this.fileSpeedStats);
|
||||
SWFUpload.speed.removeTracking(file, this.fileSpeedStats);
|
||||
|
||||
if (typeof this.speedSettings.user_upload_error_handler === "function") {
|
||||
return this.speedSettings.user_upload_error_handler.call(this, file, errorCode, message);
|
||||
}
|
||||
};
|
||||
SWFUpload.speed.uploadProgressHandler = function (file, bytesComplete, bytesTotal) {
|
||||
this.updateTracking(file, bytesComplete);
|
||||
file = SWFUpload.speed.extendFile(file, this.fileSpeedStats);
|
||||
|
||||
if (typeof this.speedSettings.user_upload_progress_handler === "function") {
|
||||
return this.speedSettings.user_upload_progress_handler.call(this, file, bytesComplete, bytesTotal);
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.speed.uploadSuccessHandler = function (file, serverData) {
|
||||
if (typeof this.speedSettings.user_upload_success_handler === "function") {
|
||||
file = SWFUpload.speed.extendFile(file, this.fileSpeedStats);
|
||||
return this.speedSettings.user_upload_success_handler.call(this, file, serverData);
|
||||
}
|
||||
};
|
||||
SWFUpload.speed.uploadCompleteHandler = function (file) {
|
||||
file = SWFUpload.speed.extendFile(file, this.fileSpeedStats);
|
||||
SWFUpload.speed.removeTracking(file, this.fileSpeedStats);
|
||||
|
||||
if (typeof this.speedSettings.user_upload_complete_handler === "function") {
|
||||
return this.speedSettings.user_upload_complete_handler.call(this, file);
|
||||
}
|
||||
};
|
||||
|
||||
// Private: extends the file object with the speed plugin values
|
||||
SWFUpload.speed.extendFile = function (file, trackingList) {
|
||||
var tracking;
|
||||
|
||||
if (!file) {
|
||||
return file;
|
||||
}
|
||||
|
||||
if (trackingList) {
|
||||
tracking = trackingList[file.id];
|
||||
}
|
||||
|
||||
if (tracking) {
|
||||
file.currentSpeed = tracking.currentSpeed;
|
||||
file.averageSpeed = tracking.averageSpeed;
|
||||
file.movingAverageSpeed = tracking.movingAverageSpeed;
|
||||
file.timeRemaining = tracking.timeRemaining;
|
||||
file.timeElapsed = tracking.timeElapsed;
|
||||
file.percentUploaded = tracking.percentUploaded;
|
||||
file.sizeUploaded = tracking.bytesUploaded;
|
||||
|
||||
} else {
|
||||
file.currentSpeed = 0;
|
||||
file.averageSpeed = 0;
|
||||
file.movingAverageSpeed = 0;
|
||||
file.timeRemaining = 0;
|
||||
file.timeElapsed = 0;
|
||||
file.percentUploaded = 0;
|
||||
file.sizeUploaded = 0;
|
||||
}
|
||||
|
||||
return file;
|
||||
};
|
||||
|
||||
// Private: Updates the speed tracking object, or creates it if necessary
|
||||
SWFUpload.prototype.updateTracking = function (file, bytesUploaded) {
|
||||
var tracking = this.fileSpeedStats[file.id];
|
||||
if (!tracking) {
|
||||
this.fileSpeedStats[file.id] = tracking = {};
|
||||
}
|
||||
|
||||
// Sanity check inputs
|
||||
bytesUploaded = bytesUploaded || tracking.bytesUploaded || 0;
|
||||
if (bytesUploaded < 0) {
|
||||
bytesUploaded = 0;
|
||||
}
|
||||
if (bytesUploaded > file.size) {
|
||||
bytesUploaded = file.size;
|
||||
}
|
||||
|
||||
var tickTime = (new Date()).getTime();
|
||||
if (!tracking.startTime) {
|
||||
tracking.startTime = (new Date()).getTime();
|
||||
tracking.lastTime = tracking.startTime;
|
||||
tracking.currentSpeed = 0;
|
||||
tracking.averageSpeed = 0;
|
||||
tracking.movingAverageSpeed = 0;
|
||||
tracking.movingAverageHistory = [];
|
||||
tracking.timeRemaining = 0;
|
||||
tracking.timeElapsed = 0;
|
||||
tracking.percentUploaded = bytesUploaded / file.size;
|
||||
tracking.bytesUploaded = bytesUploaded;
|
||||
} else if (tracking.startTime > tickTime) {
|
||||
this.debug("When backwards in time");
|
||||
} else {
|
||||
// Get time and deltas
|
||||
var now = (new Date()).getTime();
|
||||
var lastTime = tracking.lastTime;
|
||||
var deltaTime = now - lastTime;
|
||||
var deltaBytes = bytesUploaded - tracking.bytesUploaded;
|
||||
|
||||
if (deltaBytes === 0 || deltaTime === 0) {
|
||||
return tracking;
|
||||
}
|
||||
|
||||
// Update tracking object
|
||||
tracking.lastTime = now;
|
||||
tracking.bytesUploaded = bytesUploaded;
|
||||
|
||||
// Calculate speeds
|
||||
tracking.currentSpeed = (deltaBytes * 8 ) / (deltaTime / 1000);
|
||||
tracking.averageSpeed = (tracking.bytesUploaded * 8) / ((now - tracking.startTime) / 1000);
|
||||
|
||||
// Calculate moving average
|
||||
tracking.movingAverageHistory.push(tracking.currentSpeed);
|
||||
if (tracking.movingAverageHistory.length > this.settings.moving_average_history_size) {
|
||||
tracking.movingAverageHistory.shift();
|
||||
}
|
||||
|
||||
tracking.movingAverageSpeed = SWFUpload.speed.calculateMovingAverage(tracking.movingAverageHistory);
|
||||
|
||||
// Update times
|
||||
tracking.timeRemaining = (file.size - tracking.bytesUploaded) * 8 / tracking.movingAverageSpeed;
|
||||
tracking.timeElapsed = (now - tracking.startTime) / 1000;
|
||||
|
||||
// Update percent
|
||||
tracking.percentUploaded = (tracking.bytesUploaded / file.size * 100);
|
||||
}
|
||||
|
||||
return tracking;
|
||||
};
|
||||
SWFUpload.speed.removeTracking = function (file, trackingList) {
|
||||
try {
|
||||
trackingList[file.id] = null;
|
||||
delete trackingList[file.id];
|
||||
} catch (ex) {
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.speed.formatUnits = function (baseNumber, unitDivisors, unitLabels, singleFractional) {
|
||||
var i, unit, unitDivisor, unitLabel;
|
||||
|
||||
if (baseNumber === 0) {
|
||||
return "0 " + unitLabels[unitLabels.length - 1];
|
||||
}
|
||||
|
||||
if (singleFractional) {
|
||||
unit = baseNumber;
|
||||
unitLabel = unitLabels.length >= unitDivisors.length ? unitLabels[unitDivisors.length - 1] : "";
|
||||
for (i = 0; i < unitDivisors.length; i++) {
|
||||
if (baseNumber >= unitDivisors[i]) {
|
||||
unit = (baseNumber / unitDivisors[i]).toFixed(2);
|
||||
unitLabel = unitLabels.length >= i ? " " + unitLabels[i] : "";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return unit + unitLabel;
|
||||
} else {
|
||||
var formattedStrings = [];
|
||||
var remainder = baseNumber;
|
||||
|
||||
for (i = 0; i < unitDivisors.length; i++) {
|
||||
unitDivisor = unitDivisors[i];
|
||||
unitLabel = unitLabels.length > i ? " " + unitLabels[i] : "";
|
||||
|
||||
unit = remainder / unitDivisor;
|
||||
if (i < unitDivisors.length -1) {
|
||||
unit = Math.floor(unit);
|
||||
} else {
|
||||
unit = unit.toFixed(2);
|
||||
}
|
||||
if (unit > 0) {
|
||||
remainder = remainder % unitDivisor;
|
||||
|
||||
formattedStrings.push(unit + unitLabel);
|
||||
}
|
||||
}
|
||||
|
||||
return formattedStrings.join(" ");
|
||||
}
|
||||
};
|
||||
|
||||
SWFUpload.speed.formatBPS = function (baseNumber) {
|
||||
var bpsUnits = [1073741824, 1048576, 1024, 1], bpsUnitLabels = ["Gbps", "Mbps", "Kbps", "bps"];
|
||||
return SWFUpload.speed.formatUnits(baseNumber, bpsUnits, bpsUnitLabels, true);
|
||||
|
||||
};
|
||||
SWFUpload.speed.formatTime = function (baseNumber) {
|
||||
var timeUnits = [86400, 3600, 60, 1], timeUnitLabels = ["d", "h", "m", "s"];
|
||||
return SWFUpload.speed.formatUnits(baseNumber, timeUnits, timeUnitLabels, false);
|
||||
|
||||
};
|
||||
SWFUpload.speed.formatBytes = function (baseNumber) {
|
||||
var sizeUnits = [1073741824, 1048576, 1024, 1], sizeUnitLabels = ["GB", "MB", "KB", "bytes"];
|
||||
return SWFUpload.speed.formatUnits(baseNumber, sizeUnits, sizeUnitLabels, true);
|
||||
|
||||
};
|
||||
SWFUpload.speed.formatPercent = function (baseNumber) {
|
||||
return baseNumber.toFixed(2) + "%";
|
||||
};
|
||||
|
||||
SWFUpload.speed.calculateMovingAverage = function (history) {
|
||||
var vals = [], size, sum = 0.0, mean = 0.0, varianceTemp = 0.0, variance = 0.0, standardDev = 0.0;
|
||||
var i;
|
||||
var mSum = 0, mCount = 0;
|
||||
|
||||
size = history.length;
|
||||
|
||||
// Check for sufficient data
|
||||
if (size >= 8) {
|
||||
// Clone the array and Calculate sum of the values
|
||||
for (i = 0; i < size; i++) {
|
||||
vals[i] = history[i];
|
||||
sum += vals[i];
|
||||
}
|
||||
|
||||
mean = sum / size;
|
||||
|
||||
// Calculate variance for the set
|
||||
for (i = 0; i < size; i++) {
|
||||
varianceTemp += Math.pow((vals[i] - mean), 2);
|
||||
}
|
||||
|
||||
variance = varianceTemp / size;
|
||||
standardDev = Math.sqrt(variance);
|
||||
|
||||
//Standardize the Data
|
||||
for (i = 0; i < size; i++) {
|
||||
vals[i] = (vals[i] - mean) / standardDev;
|
||||
}
|
||||
|
||||
// Calculate the average excluding outliers
|
||||
var deviationRange = 2.0;
|
||||
for (i = 0; i < size; i++) {
|
||||
|
||||
if (vals[i] <= deviationRange && vals[i] >= -deviationRange) {
|
||||
mCount++;
|
||||
mSum += history[i];
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
// Calculate the average (not enough data points to remove outliers)
|
||||
mCount = size;
|
||||
for (i = 0; i < size; i++) {
|
||||
mSum += history[i];
|
||||
}
|
||||
}
|
||||
|
||||
return mSum / mCount;
|
||||
};
|
||||
|
||||
}
|
After Width: | Height: | Size: 8.3 KiB |
@ -0,0 +1,271 @@
|
||||
<%
|
||||
'Februari 2014 - Version 1.17 by Gerrit van Kuipers
|
||||
Class AspJSON
|
||||
Public data
|
||||
Private p_JSONstring
|
||||
private aj_in_string, aj_in_escape, aj_i_tmp, aj_char_tmp, aj_s_tmp, aj_line_tmp, aj_line, aj_lines, aj_currentlevel, aj_currentkey, aj_currentvalue, aj_newlabel, aj_XmlHttp, aj_RegExp, aj_colonfound
|
||||
|
||||
Private Sub Class_Initialize()
|
||||
Set data = Collection()
|
||||
|
||||
Set aj_RegExp = new regexp
|
||||
aj_RegExp.Pattern = "\s{0,}(\S{1}[\s,\S]*\S{1})\s{0,}"
|
||||
aj_RegExp.Global = False
|
||||
aj_RegExp.IgnoreCase = True
|
||||
aj_RegExp.Multiline = True
|
||||
End Sub
|
||||
|
||||
Private Sub Class_Terminate()
|
||||
Set data = Nothing
|
||||
Set aj_RegExp = Nothing
|
||||
End Sub
|
||||
|
||||
Public Sub loadJSON(inputsource)
|
||||
inputsource = aj_MultilineTrim(inputsource)
|
||||
If Len(inputsource) = 0 Then Err.Raise 1, "loadJSON Error", "No data to load."
|
||||
|
||||
select case Left(inputsource, 1)
|
||||
case "{", "["
|
||||
case else
|
||||
Set aj_XmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
|
||||
aj_XmlHttp.open "GET", inputsource, False
|
||||
aj_XmlHttp.setRequestHeader "Content-Type", "text/json"
|
||||
aj_XmlHttp.setRequestHeader "CharSet", "UTF-8"
|
||||
aj_XmlHttp.Send
|
||||
inputsource = aj_XmlHttp.responseText
|
||||
set aj_XmlHttp = Nothing
|
||||
end select
|
||||
|
||||
p_JSONstring = CleanUpJSONstring(inputsource)
|
||||
aj_lines = Split(p_JSONstring, Chr(13) & Chr(10))
|
||||
|
||||
Dim level(99)
|
||||
aj_currentlevel = 1
|
||||
Set level(aj_currentlevel) = data
|
||||
For Each aj_line In aj_lines
|
||||
aj_currentkey = ""
|
||||
aj_currentvalue = ""
|
||||
If Instr(aj_line, ":") > 0 Then
|
||||
aj_in_string = False
|
||||
aj_in_escape = False
|
||||
aj_colonfound = False
|
||||
For aj_i_tmp = 1 To Len(aj_line)
|
||||
If aj_in_escape Then
|
||||
aj_in_escape = False
|
||||
Else
|
||||
Select Case Mid(aj_line, aj_i_tmp, 1)
|
||||
Case """"
|
||||
aj_in_string = Not aj_in_string
|
||||
Case ":"
|
||||
If Not aj_in_escape And Not aj_in_string Then
|
||||
aj_currentkey = Left(aj_line, aj_i_tmp - 1)
|
||||
aj_currentvalue = Mid(aj_line, aj_i_tmp + 1)
|
||||
aj_colonfound = True
|
||||
Exit For
|
||||
End If
|
||||
Case "\"
|
||||
aj_in_escape = True
|
||||
End Select
|
||||
End If
|
||||
Next
|
||||
if aj_colonfound then
|
||||
aj_currentkey = aj_Strip(aj_JSONDecode(aj_currentkey), """")
|
||||
If Not level(aj_currentlevel).exists(aj_currentkey) Then level(aj_currentlevel).Add aj_currentkey, ""
|
||||
end if
|
||||
End If
|
||||
If right(aj_line,1) = "{" Or right(aj_line,1) = "[" Then
|
||||
If Len(aj_currentkey) = 0 Then aj_currentkey = level(aj_currentlevel).Count
|
||||
Set level(aj_currentlevel).Item(aj_currentkey) = Collection()
|
||||
Set level(aj_currentlevel + 1) = level(aj_currentlevel).Item(aj_currentkey)
|
||||
aj_currentlevel = aj_currentlevel + 1
|
||||
aj_currentkey = ""
|
||||
ElseIf right(aj_line,1) = "}" Or right(aj_line,1) = "]" or right(aj_line,2) = "}," Or right(aj_line,2) = "]," Then
|
||||
aj_currentlevel = aj_currentlevel - 1
|
||||
ElseIf Len(Trim(aj_line)) > 0 Then
|
||||
if Len(aj_currentvalue) = 0 Then aj_currentvalue = aj_line
|
||||
aj_currentvalue = getJSONValue(aj_currentvalue)
|
||||
|
||||
If Len(aj_currentkey) = 0 Then aj_currentkey = level(aj_currentlevel).Count
|
||||
level(aj_currentlevel).Item(aj_currentkey) = aj_currentvalue
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Function Collection()
|
||||
set Collection = Server.CreateObject("Scripting.Dictionary")
|
||||
End Function
|
||||
|
||||
Public Function AddToCollection(dictobj)
|
||||
if TypeName(dictobj) <> "Dictionary" then Err.Raise 1, "AddToCollection Error", "Not a collection."
|
||||
aj_newlabel = dictobj.Count
|
||||
dictobj.Add aj_newlabel, Collection()
|
||||
set AddToCollection = dictobj.item(aj_newlabel)
|
||||
end function
|
||||
|
||||
Private Function CleanUpJSONstring(aj_originalstring)
|
||||
aj_originalstring = Replace(aj_originalstring, Chr(13) & Chr(10), "")
|
||||
aj_originalstring = Mid(aj_originalstring, 2, Len(aj_originalstring) - 2)
|
||||
aj_in_string = False : aj_in_escape = False : aj_s_tmp = ""
|
||||
For aj_i_tmp = 1 To Len(aj_originalstring)
|
||||
aj_char_tmp = Mid(aj_originalstring, aj_i_tmp, 1)
|
||||
If aj_in_escape Then
|
||||
aj_in_escape = False
|
||||
aj_s_tmp = aj_s_tmp & aj_char_tmp
|
||||
Else
|
||||
Select Case aj_char_tmp
|
||||
Case "\" : aj_s_tmp = aj_s_tmp & aj_char_tmp : aj_in_escape = True
|
||||
Case """" : aj_s_tmp = aj_s_tmp & aj_char_tmp : aj_in_string = Not aj_in_string
|
||||
Case "{", "["
|
||||
aj_s_tmp = aj_s_tmp & aj_char_tmp & aj_InlineIf(aj_in_string, "", Chr(13) & Chr(10))
|
||||
Case "}", "]"
|
||||
aj_s_tmp = aj_s_tmp & aj_InlineIf(aj_in_string, "", Chr(13) & Chr(10)) & aj_char_tmp
|
||||
Case "," : aj_s_tmp = aj_s_tmp & aj_char_tmp & aj_InlineIf(aj_in_string, "", Chr(13) & Chr(10))
|
||||
Case Else : aj_s_tmp = aj_s_tmp & aj_char_tmp
|
||||
End Select
|
||||
End If
|
||||
Next
|
||||
|
||||
CleanUpJSONstring = ""
|
||||
aj_s_tmp = split(aj_s_tmp, Chr(13) & Chr(10))
|
||||
For Each aj_line_tmp In aj_s_tmp
|
||||
aj_line_tmp = replace(replace(aj_line_tmp, chr(10), ""), chr(13), "")
|
||||
CleanUpJSONstring = CleanUpJSONstring & aj_Trim(aj_line_tmp) & Chr(13) & Chr(10)
|
||||
Next
|
||||
End Function
|
||||
|
||||
Private Function getJSONValue(ByVal val)
|
||||
val = Trim(val)
|
||||
If Left(val,1) = ":" Then val = Mid(val, 2)
|
||||
If Right(val,1) = "," Then val = Left(val, Len(val) - 1)
|
||||
val = Trim(val)
|
||||
|
||||
Select Case val
|
||||
Case "true" : getJSONValue = True
|
||||
Case "false" : getJSONValue = False
|
||||
Case "null" : getJSONValue = Null
|
||||
Case Else
|
||||
If (Instr(val, """") = 0) Then
|
||||
If IsNumeric(val) Then
|
||||
getJSONValue = CDbl(val)
|
||||
Else
|
||||
getJSONValue = val
|
||||
End If
|
||||
Else
|
||||
If Left(val,1) = """" Then val = Mid(val, 2)
|
||||
If Right(val,1) = """" Then val = Left(val, Len(val) - 1)
|
||||
getJSONValue = aj_JSONDecode(Trim(val))
|
||||
End If
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private JSONoutput_level
|
||||
Public Function JSONoutput()
|
||||
dim wrap_dicttype, aj_label
|
||||
JSONoutput_level = 1
|
||||
wrap_dicttype = "[]"
|
||||
For Each aj_label In data
|
||||
If Not aj_IsInt(aj_label) Then wrap_dicttype = "{}"
|
||||
Next
|
||||
JSONoutput = Left(wrap_dicttype, 1) & Chr(13) & Chr(10) & GetDict(data) & Right(wrap_dicttype, 1)
|
||||
End Function
|
||||
|
||||
Public Function PrintJson
|
||||
Response.AddHeader "Content-Type", "text/plain"
|
||||
If IsEmpty(Request.QueryString("callback")) Then
|
||||
Response.Write JSONoutput()
|
||||
Else
|
||||
Response.Write Request.QueryString("callback") & "(" & JSONoutput() & ")"
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Function GetDict(objDict)
|
||||
dim aj_item, aj_keyvals, aj_label, aj_dicttype
|
||||
For Each aj_item In objDict
|
||||
Select Case TypeName(objDict.Item(aj_item))
|
||||
Case "Dictionary"
|
||||
GetDict = GetDict & Space(JSONoutput_level * 4)
|
||||
|
||||
aj_dicttype = "[]"
|
||||
For Each aj_label In objDict.Item(aj_item).Keys
|
||||
If Not aj_IsInt(aj_label) Then aj_dicttype = "{}"
|
||||
Next
|
||||
If aj_IsInt(aj_item) Then
|
||||
GetDict = GetDict & (Left(aj_dicttype,1) & Chr(13) & Chr(10))
|
||||
Else
|
||||
GetDict = GetDict & ("""" & aj_JSONEncode(aj_item) & """" & ": " & Left(aj_dicttype,1) & Chr(13) & Chr(10))
|
||||
End If
|
||||
JSONoutput_level = JSONoutput_level + 1
|
||||
|
||||
aj_keyvals = objDict.Keys
|
||||
GetDict = GetDict & (GetSubDict(objDict.Item(aj_item)) & Space(JSONoutput_level * 4) & Right(aj_dicttype,1) & aj_InlineIf(aj_item = aj_keyvals(objDict.Count - 1),"" , ",") & Chr(13) & Chr(10))
|
||||
Case Else
|
||||
aj_keyvals = objDict.Keys
|
||||
GetDict = GetDict & (Space(JSONoutput_level * 4) & aj_InlineIf(aj_IsInt(aj_item), "", """" & aj_JSONEncode(aj_item) & """: ") & WriteValue(objDict.Item(aj_item)) & aj_InlineIf(aj_item = aj_keyvals(objDict.Count - 1),"" , ",") & Chr(13) & Chr(10))
|
||||
End Select
|
||||
Next
|
||||
End Function
|
||||
|
||||
Private Function aj_IsInt(val)
|
||||
aj_IsInt = (TypeName(val) = "Integer" Or TypeName(val) = "Long")
|
||||
End Function
|
||||
|
||||
Private Function GetSubDict(objSubDict)
|
||||
GetSubDict = GetDict(objSubDict)
|
||||
JSONoutput_level= JSONoutput_level -1
|
||||
End Function
|
||||
|
||||
Private Function WriteValue(ByVal val)
|
||||
Select Case TypeName(val)
|
||||
Case "Double", "Integer", "Long": WriteValue = val
|
||||
Case "Null" : WriteValue = "null"
|
||||
Case "Boolean" : WriteValue = aj_InlineIf(val, "true", "false")
|
||||
Case Else : WriteValue = """" & aj_JSONEncode(val) & """"
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function aj_JSONEncode(ByVal val)
|
||||
val = Replace(val, "\", "\\")
|
||||
val = Replace(val, """", "\""")
|
||||
'val = Replace(val, "/", "\/")
|
||||
val = Replace(val, Chr(8), "\b")
|
||||
val = Replace(val, Chr(12), "\f")
|
||||
val = Replace(val, Chr(10), "\n")
|
||||
val = Replace(val, Chr(13), "\r")
|
||||
val = Replace(val, Chr(9), "\t")
|
||||
aj_JSONEncode = Trim(val)
|
||||
End Function
|
||||
|
||||
Private Function aj_JSONDecode(ByVal val)
|
||||
val = Replace(val, "\""", """")
|
||||
val = Replace(val, "\\", "\")
|
||||
val = Replace(val, "\/", "/")
|
||||
val = Replace(val, "\b", Chr(8))
|
||||
val = Replace(val, "\f", Chr(12))
|
||||
val = Replace(val, "\n", Chr(10))
|
||||
val = Replace(val, "\r", Chr(13))
|
||||
val = Replace(val, "\t", Chr(9))
|
||||
aj_JSONDecode = Trim(val)
|
||||
End Function
|
||||
|
||||
Private Function aj_InlineIf(condition, returntrue, returnfalse)
|
||||
If condition Then aj_InlineIf = returntrue Else aj_InlineIf = returnfalse
|
||||
End Function
|
||||
|
||||
Private Function aj_Strip(ByVal val, stripper)
|
||||
If Left(val, 1) = stripper Then val = Mid(val, 2)
|
||||
If Right(val, 1) = stripper Then val = Left(val, Len(val) - 1)
|
||||
aj_Strip = val
|
||||
End Function
|
||||
|
||||
Private Function aj_MultilineTrim(TextData)
|
||||
aj_MultilineTrim = aj_RegExp.Replace(TextData, "$1")
|
||||
End Function
|
||||
|
||||
private function aj_Trim(val)
|
||||
aj_Trim = Trim(val)
|
||||
Do While Left(aj_Trim, 1) = Chr(9) : aj_Trim = Mid(aj_Trim, 2) : Loop
|
||||
Do While Right(aj_Trim, 1) = Chr(9) : aj_Trim = Left(aj_Trim, Len(aj_Trim) - 1) : Loop
|
||||
aj_Trim = Trim(aj_Trim)
|
||||
end function
|
||||
End Class
|
||||
%>
|
@ -0,0 +1,138 @@
|
||||
<%
|
||||
' Power by Techird
|
||||
' Processor Usage:
|
||||
' Set p = new MultiformProcessor
|
||||
' Set formValues = p.Process()
|
||||
' filename = formValues.Item("filename")
|
||||
' Set stream = formValues.Item("file1") // the name of the file input
|
||||
' stream.SaveToFile "upload/" & filename
|
||||
' stream.Close
|
||||
Class MultiformProcessor
|
||||
Private adTypeBinary
|
||||
Private adTypeText
|
||||
Private adModeReadWrite
|
||||
Private binCtLf
|
||||
Private binCtLf2
|
||||
|
||||
|
||||
private Sub Class_Initialize()
|
||||
adTypeBinary = 1
|
||||
adTypeText = 2
|
||||
adModeReadWrite = 3
|
||||
binCtLf = ChrB(13) & ChrB(10)
|
||||
binCtLf2 = binCtLf & binCtLf
|
||||
End Sub
|
||||
|
||||
Private Function OpenStream( optype )
|
||||
Set stream = Server.CreateObject("ADODB.Stream")
|
||||
stream.Type = optype
|
||||
stream.Mode = adModeReadWrite
|
||||
stream.Open
|
||||
Set OpenStream = stream
|
||||
End Function
|
||||
|
||||
Private Function CopyStreamPart( stream, pBgn, pEnd )
|
||||
Dim iStream, oStream
|
||||
Set iStream = stream
|
||||
Set oStream = OpenStream( adTypeBinary )
|
||||
iStream.Position = pBgn
|
||||
iStream.CopyTo oStream, pEnd - pBgn
|
||||
Set CopyStreamPart = oStream
|
||||
End Function
|
||||
|
||||
Private Function GetString( stream, pBgn, pEnd )
|
||||
Dim iStream, oStream
|
||||
Set iStream = stream
|
||||
Set oStream = OpenStream( adTypeBinary )
|
||||
iStream.Position = pBgn
|
||||
iStream.CopyTo oStream, pEnd - pBgn
|
||||
oStream.Position = 0
|
||||
oStream.Type = adTypeText
|
||||
oStream.Charset = GetCharset
|
||||
GetString = oStream.ReadText
|
||||
oStream.Close
|
||||
End Function
|
||||
|
||||
Private Function GetCharset()
|
||||
If Charset = "" Then
|
||||
GetCharset = "utf-8"
|
||||
Else
|
||||
GetCharset = Charset
|
||||
End If
|
||||
End Function
|
||||
|
||||
'See RFC 2388
|
||||
'http://www.ietf.org/rfc/rfc2388.txt
|
||||
public Function Process()
|
||||
Dim formBytes, bLen, pBgn, pEnd, header, stream
|
||||
Dim varPtn, filePtn, formValues, key, field
|
||||
|
||||
formBytes = Request.BinaryRead( Request.TotalBytes )
|
||||
|
||||
Set stream = OpenStream( adTypeBinary )
|
||||
stream.Write formBytes
|
||||
|
||||
Set varPtn = new RegExp
|
||||
varPtn.Pattern = "(\w+?)=""(.+?)"""
|
||||
varPtn.Global = True
|
||||
|
||||
Set filePtn = new RegExp
|
||||
filePtn.Pattern = "filename="
|
||||
|
||||
Set formValues = Server.CreateObject("Scripting.Dictionary")
|
||||
|
||||
'Find boundary
|
||||
bLen = InStrB( 1, formBytes, binCtLf ) - 1
|
||||
boundary = LeftB( formBytes, bLen )
|
||||
|
||||
'Init begin pointer to byte start
|
||||
pBgn = 1
|
||||
|
||||
Do
|
||||
'Find begin pointer and end pointer for block header
|
||||
pBgn = pBgn + bLen + LenB( binCtLf ) - 1
|
||||
pEnd = InStrB( pBgn, formBytes, binCtLf2 )
|
||||
|
||||
'If next block not found, means all blocks processed
|
||||
If pEnd = 0 Then
|
||||
Exit Do 'Load Finished
|
||||
End If
|
||||
|
||||
'Decode the headerf
|
||||
header = GetString( stream, pBgn, pEnd )
|
||||
|
||||
'Test if the block is a file block
|
||||
isFileBlock = filePtn.Test( header )
|
||||
|
||||
'Find begin pointer and end pointer for block content
|
||||
pBgn = pEnd + LenB(binCtLf2) - 1
|
||||
pEnd = InStrB(pBgn, formBytes, boundary) - LenB( binCtLf ) - 1
|
||||
|
||||
'Extract field values from header, which like key = "filed"
|
||||
Set matches = varPtn.Execute( header )
|
||||
For Each match In matches
|
||||
key = match.SubMatches(0)
|
||||
field = match.SubMatches(1)
|
||||
'filename as a field
|
||||
If key = "filename" Then
|
||||
formValues.Add key, field
|
||||
'name specified fields
|
||||
ElseIf key = "name" Then
|
||||
If isFileBlock Then
|
||||
'Resolve content as stream for fileblock
|
||||
formValues.Add field, CopyStreamPart(stream, pBgn, pEnd)
|
||||
Else
|
||||
'Resolve content as string for non-fileblock
|
||||
formValues.Add field, GetString(stream, pBgn, pEnd)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
'Move over the begin pointer to next block
|
||||
pBgn = pEnd + LenB( binCtLf ) + 1
|
||||
Loop
|
||||
stream.Close
|
||||
Set Process = formValues
|
||||
End Function
|
||||
End Class
|
||||
%>
|
@ -0,0 +1,81 @@
|
||||
<%
|
||||
|
||||
Class PathFormatter
|
||||
Public Function Format( ByVal pathFormat, ByVal filename )
|
||||
Dim ext, name
|
||||
If IsEmpty( format ) Then
|
||||
format = "{yyyy}{mm}{dd}{hh}{ii}{ss}{rand:6}"
|
||||
End If
|
||||
|
||||
Set invalidPattern = new RegExp
|
||||
invalidPattern.Pattern = "[\\\/\:\*\?\<\>\|""]"
|
||||
invalidPattern.Global = true
|
||||
filename = invalidPattern.Replace( filename, "" )
|
||||
|
||||
ext = GetExt( filename )
|
||||
name = GetNameWithoutExt( filename )
|
||||
|
||||
pathFormat = Replace( pathFormat, "{filename}", name )
|
||||
pathFormat = Replace( pathFormat, "{time}", TimeStamp() )
|
||||
pathFormat = Replace( pathFormat, "{yyyy}", Year(Now) )
|
||||
pathFormat = Replace( pathFormat, "{yy}", Year(Now) Mod 100 )
|
||||
pathFormat = Replace( pathFormat, "{mm}", LeadZero( Month(Now) ) )
|
||||
pathFormat = Replace( pathFormat, "{dd}", LeadZero( Day(Now) ) )
|
||||
pathFormat = Replace( pathFormat, "{hh}", LeadZero( Hour(Now) ) )
|
||||
pathFormat = Replace( pathFormat, "{ii}", LeadZero( Minute(Now) ) )
|
||||
pathFormat = Replace( pathFormat, "{ss}", LeadZero( Second(Now) ) )
|
||||
|
||||
Set randPattern = new RegExp
|
||||
randPattern.Pattern = "{rand(\:?)(\d+)}"
|
||||
Set matches = randPattern.Execute(pathFormat)
|
||||
If matches.Count Then
|
||||
Set match = matches(0)
|
||||
digit = 6
|
||||
If match.SubMatches.Count > 1 Then
|
||||
digit = 0 + match.SubMatches(1)
|
||||
End If
|
||||
min = 1
|
||||
Do While digit > 0
|
||||
min = min * 10
|
||||
digit = digit - 1
|
||||
Loop
|
||||
max = min * 10
|
||||
pathFormat = randPattern.Replace( pathFormat, Rand( min, max ) )
|
||||
End If
|
||||
Format = pathFormat + ext
|
||||
End Function
|
||||
|
||||
Private Function GetExt( file )
|
||||
GetExt = Right( file, Len(file) - InStrRev(file, ".") + 1 )
|
||||
End Function
|
||||
|
||||
Private Function GetNameWithoutExt( file )
|
||||
GetNameWithoutExt = Left( file, InStrRev(file, ".") - 1 )
|
||||
End Function
|
||||
|
||||
Private Function TimeStamp()
|
||||
TimeStamp = DateDiff("s", "1970-1-1 8:00:00", Now())
|
||||
End Function
|
||||
|
||||
Private Function Rand( min, max )
|
||||
Randomize
|
||||
Rand = Int( (max - min + 1) * Rnd + min )
|
||||
End Function
|
||||
|
||||
Private Function GetFormatedDate()
|
||||
Dim yyyy, mm, dd
|
||||
yyyy = Year(Date)
|
||||
mm = LeadZero(Month(Date))
|
||||
dd = LeadZero(Day(Date))
|
||||
GetFormatedDate = yyyy & mm & dd
|
||||
End Function
|
||||
|
||||
Private Function LeadZero( number )
|
||||
If number < 10 Then
|
||||
LeadZero = "0" & number
|
||||
Else
|
||||
LeadZero = number
|
||||
End If
|
||||
End Function
|
||||
End Class
|
||||
%>
|
@ -0,0 +1,9 @@
|
||||
<!--#include file="ASPJson.class.asp"-->
|
||||
<!--#include file="config_loader.asp"-->
|
||||
|
||||
<%
|
||||
Set json = new ASPJson
|
||||
Set json.data = config
|
||||
|
||||
json.PrintJson()
|
||||
%>
|
@ -0,0 +1,32 @@
|
||||
<!--#include file="ASPJson.class.asp"-->
|
||||
<!--#include file="config_loader.asp"-->
|
||||
<!--#include file="Uploader.class.asp"-->
|
||||
<%
|
||||
|
||||
Set up = new Uploader
|
||||
up.MaxSize = config.Item("catcherMaxSize")
|
||||
up.AllowType = config.Item("catcherAllowFiles")
|
||||
up.PathFormat = config.Item("catcherPathFormat")
|
||||
|
||||
urls = Split(Request.Item("source[]"), ", ")
|
||||
Set list = new ASPJson.Collection
|
||||
|
||||
For i = 0 To UBound(urls)
|
||||
up.UploadRemote( urls(i) )
|
||||
Dim instance
|
||||
Set instance = new ASPJson.Collection
|
||||
instance.Add "state", up.State
|
||||
instance.Add "url", up.FilePath
|
||||
instance.Add "source", urls(i)
|
||||
list.Add i, instance
|
||||
Next
|
||||
|
||||
Set json = new ASPJson
|
||||
|
||||
With json.data
|
||||
.Add "state", "SUCCESS"
|
||||
.Add "list", list
|
||||
End With
|
||||
|
||||
json.PrintJson()
|
||||
%>
|
@ -0,0 +1,81 @@
|
||||
<!--#include file="ASPJson.class.asp"-->
|
||||
<!--#include file="config_loader.asp"-->
|
||||
|
||||
<%
|
||||
listTemplateName = Session.Value("ueditor_asp_listTemplateName")
|
||||
|
||||
start = CInt(Request.Item("start"))
|
||||
size = CInt(Request.Item("size"))
|
||||
total = 0
|
||||
|
||||
If size < 0 Then
|
||||
size = CInt(config.Item( listTemplateName + "ManagerListSize" ))
|
||||
End If
|
||||
|
||||
path = config.Item( listTemplateName + "ManagerListPath" )
|
||||
Set extensions = config.Item( listTemplateName + "ManagerAllowFiles")
|
||||
|
||||
Set list = new ASPJson.Collection
|
||||
|
||||
Set fso = Server.CreateObject("Scripting.FileSystemObject")
|
||||
If fso.FolderExists(Server.MapPath(path)) = False Then
|
||||
state = "找不到目录:" + path
|
||||
Else
|
||||
Set all = ListAllFilesInFolder( fso, path )
|
||||
total = all.Count
|
||||
index = 0
|
||||
For Each file in all
|
||||
If index >= start And index < start + size Then
|
||||
Dim fileObject
|
||||
Set fileObject = new ASPJson.Collection
|
||||
fileObject.Add "url", file
|
||||
list.Add index - start, fileObject
|
||||
End If
|
||||
index = index + 1
|
||||
Next
|
||||
state = "SUCCESS"
|
||||
End If
|
||||
|
||||
Set json = new ASPJson
|
||||
With json.data
|
||||
.Add "state", state
|
||||
.Add "list", list
|
||||
.Add "start", start
|
||||
.Add "size", size
|
||||
.Add "total", total
|
||||
End With
|
||||
|
||||
json.PrintJson()
|
||||
|
||||
Function ListAllFilesInFolder( fso, path )
|
||||
Dim list
|
||||
Set list = Server.CreateObject("Scripting.Dictionary")
|
||||
Set folder = fso.GetFolder(Server.MapPath(path))
|
||||
For Each file In folder.Files
|
||||
If CheckExt(file.Name) Then
|
||||
list.Add path & "/" & file.Name, true
|
||||
End If
|
||||
Next
|
||||
For Each subFolder In folder.SubFolders
|
||||
Set subList = ListAllFilesInFolder( fso, path & "/" & subFolder.Name )
|
||||
For Each subListFile In subList
|
||||
list.Add subListFile, true
|
||||
Next
|
||||
Next
|
||||
Set ListAllFilesInFolder = list
|
||||
End Function
|
||||
|
||||
Function CheckExt( filename )
|
||||
For Each ext In extensions
|
||||
If UCase(GetExt(filename)) = UCase(extensions.Item(ext)) Then
|
||||
CheckExt = true
|
||||
Exit Function
|
||||
End If
|
||||
Next
|
||||
CheckExt = false
|
||||
End Function
|
||||
|
||||
Function GetExt( file )
|
||||
GetExt = Right( file, Len(file) - InStrRev(file, ".") + 1 )
|
||||
End Function
|
||||
%>
|
@ -0,0 +1,29 @@
|
||||
<!--#include file="ASPJson.class.asp"-->
|
||||
<!--#include file="config_loader.asp"-->
|
||||
<!--#include file="Uploader.class.asp"-->
|
||||
<%
|
||||
uploadTemplateName = Session.Value("ueditor_asp_uploadTemplateName")
|
||||
|
||||
Set up = new Uploader
|
||||
up.MaxSize = config.Item( uploadTemplateName & "MaxSize" )
|
||||
up.FileField = config.Item( uploadTemplateName & "FieldName" )
|
||||
up.PathFormat = config.Item( uploadTemplateName & "PathFormat" )
|
||||
|
||||
If Not IsEmpty( Session.Value("base64Upload") ) Then
|
||||
up.UploadBase64( Session.Value("base64Upload") )
|
||||
Else
|
||||
up.AllowType = config.Item( uploadTemplateName & "AllowFiles" )
|
||||
up.UploadForm()
|
||||
End If
|
||||
|
||||
Set json = new ASPJson
|
||||
|
||||
With json.data
|
||||
.Add "url", up.FilePath
|
||||
.Add "original", up.OriginalFileName
|
||||
.Add "state", up.State
|
||||
.Add "title", up.OriginalFileName
|
||||
End With
|
||||
|
||||
json.PrintJson()
|
||||
%>
|
@ -0,0 +1,21 @@
|
||||
<%
|
||||
Set json = new ASPJson
|
||||
Set fso = Server.CreateObject("Scripting.FileSystemObject")
|
||||
|
||||
Set stream = Server.CreateObject("ADODB.Stream")
|
||||
|
||||
stream.Open()
|
||||
stream.Charset = "UTF-8"
|
||||
stream.LoadFromFile Server.MapPath( "config.json" )
|
||||
|
||||
content = stream.ReadText()
|
||||
|
||||
Set commentPattern = new RegExp
|
||||
commentPattern.Multiline = true
|
||||
commentPattern.Pattern = "/\*[\s\S]+?\*/"
|
||||
commentPattern.Global = true
|
||||
content = commentPattern.Replace(content, "")
|
||||
json.loadJSON( content )
|
||||
|
||||
Set config = json.data
|
||||
%>
|
@ -0,0 +1,44 @@
|
||||
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>
|
||||
<%
|
||||
action = Request.Item("action")
|
||||
|
||||
Session.Contents.Remove("ueditor_asp_uploadTemplateName")
|
||||
Session.Contents.Remove("ueditor_asp_base64Upload")
|
||||
Session.Contents.Remove("ueditor_asp_listTemplateName")
|
||||
|
||||
|
||||
Select Case action
|
||||
|
||||
Case "config"
|
||||
Server.Execute("action_config.asp")
|
||||
|
||||
Case "uploadimage"
|
||||
Session.Value("ueditor_asp_uploadTemplateName") = "image"
|
||||
Server.Execute("action_upload.asp")
|
||||
|
||||
Case "uploadscrawl"
|
||||
Session.Value("ueditor_asp_uploadTemplateName") = "scrawl"
|
||||
Session.Value("base64Upload") = "scrawl.png"
|
||||
Server.Execute("action_upload.asp")
|
||||
|
||||
Case "uploadvideo"
|
||||
Session.Value("ueditor_asp_uploadTemplateName") = "video"
|
||||
Server.Execute("action_upload.asp")
|
||||
|
||||
Case "uploadfile"
|
||||
Session.Value("ueditor_asp_uploadTemplateName") = "file"
|
||||
Server.Execute("action_upload.asp")
|
||||
|
||||
Case "listimage"
|
||||
Session.Value("ueditor_asp_listTemplateName") = "image"
|
||||
Server.Execute("action_list.asp")
|
||||
|
||||
Case "listfile"
|
||||
Session.Value("ueditor_asp_listTemplateName") = "file"
|
||||
Server.Execute("action_list.asp")
|
||||
|
||||
Case "catchimage"
|
||||
Server.Execute("action_crawler.asp")
|
||||
End Select
|
||||
|
||||
%>
|
@ -0,0 +1,40 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
*{color: #838383;margin: 0;padding: 0}
|
||||
html,body {font-size: 12px;overflow: hidden; }
|
||||
.content{padding:5px 0 0 15px;}
|
||||
input{width:210px;height:21px;line-height:21px;margin-left: 4px;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
<span><var id="lang_input_anchorName"></var></span><input id="anchorName" value="" />
|
||||
</div>
|
||||
<script type="text/javascript" src="../internal.js"></script>
|
||||
<script type="text/javascript">
|
||||
var anchorInput = $G('anchorName'),
|
||||
node = editor.selection.getRange().getClosedNode();
|
||||
if(node && node.tagName == 'IMG' && (node = node.getAttribute('anchorname'))){
|
||||
anchorInput.value = node;
|
||||
}
|
||||
anchorInput.onkeydown = function(evt){
|
||||
evt = evt || window.event;
|
||||
if(evt.keyCode == 13){
|
||||
editor.execCommand('anchor', anchorInput.value);
|
||||
dialog.close();
|
||||
domUtils.preventDefault(evt)
|
||||
}
|
||||
};
|
||||
dialog.onok = function (){
|
||||
editor.execCommand('anchor', anchorInput.value);
|
||||
dialog.close();
|
||||
};
|
||||
$focus(anchorInput);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,681 @@
|
||||
@charset "utf-8";
|
||||
/* dialog样式 */
|
||||
.wrapper {
|
||||
zoom: 1;
|
||||
width: 630px;
|
||||
*width: 626px;
|
||||
height: 380px;
|
||||
margin: 0 auto;
|
||||
padding: 10px;
|
||||
position: relative;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
/*tab样式框大小*/
|
||||
.tabhead {
|
||||
float:left;
|
||||
}
|
||||
.tabbody {
|
||||
width: 100%;
|
||||
height: 346px;
|
||||
position: relative;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.tabbody .panel {
|
||||
position: absolute;
|
||||
width: 0;
|
||||
height: 0;
|
||||
background: #fff;
|
||||
overflow: hidden;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tabbody .panel.focus {
|
||||
width: 100%;
|
||||
height: 346px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* 上传附件 */
|
||||
.tabbody #upload.panel {
|
||||
width: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
position: absolute !important;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
background: #fff;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.tabbody #upload.panel.focus {
|
||||
width: 100%;
|
||||
height: 346px;
|
||||
display: block;
|
||||
clip: auto;
|
||||
}
|
||||
|
||||
#upload .queueList {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#upload p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.element-invisible {
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
position: absolute !important;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
}
|
||||
|
||||
#upload .placeholder {
|
||||
margin: 10px;
|
||||
border: 2px dashed #e6e6e6;
|
||||
*border: 0px dashed #e6e6e6;
|
||||
height: 172px;
|
||||
padding-top: 150px;
|
||||
text-align: center;
|
||||
background: url(./images/image.png) center 70px no-repeat;
|
||||
color: #cccccc;
|
||||
font-size: 18px;
|
||||
position: relative;
|
||||
top:0;
|
||||
*top: 10px;
|
||||
}
|
||||
|
||||
#upload .placeholder .webuploader-pick {
|
||||
font-size: 18px;
|
||||
background: #00b7ee;
|
||||
border-radius: 3px;
|
||||
line-height: 44px;
|
||||
padding: 0 30px;
|
||||
*width: 120px;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
margin: 0 auto 20px auto;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
#upload .placeholder .webuploader-pick-hover {
|
||||
background: #00a2d4;
|
||||
}
|
||||
|
||||
|
||||
#filePickerContainer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#upload .placeholder .flashTip {
|
||||
color: #666666;
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
#upload .placeholder .flashTip a {
|
||||
color: #0785d1;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#upload .placeholder .flashTip a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#upload .placeholder.webuploader-dnd-over {
|
||||
border-color: #999999;
|
||||
}
|
||||
|
||||
#upload .filelist {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
position: relative;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
#upload .filelist:after {
|
||||
content: '';
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#upload .filelist li {
|
||||
width: 113px;
|
||||
height: 113px;
|
||||
background: url(./images/bg.png);
|
||||
text-align: center;
|
||||
margin: 9px 0 0 9px;
|
||||
*margin: 6px 0 0 6px;
|
||||
position: relative;
|
||||
display: block;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#upload .filelist li p.log {
|
||||
position: relative;
|
||||
top: -45px;
|
||||
}
|
||||
|
||||
#upload .filelist li p.title {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
top: 5px;
|
||||
text-indent: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#upload .filelist li p.progress {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
height: 8px;
|
||||
overflow: hidden;
|
||||
z-index: 50;
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
background: none;
|
||||
-webkit-box-shadow: 0 0 0;
|
||||
}
|
||||
|
||||
#upload .filelist li p.progress span {
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
width: 0;
|
||||
height: 100%;
|
||||
background: #1483d8 url(./images/progress.png) repeat-x;
|
||||
|
||||
-webit-transition: width 200ms linear;
|
||||
-moz-transition: width 200ms linear;
|
||||
-o-transition: width 200ms linear;
|
||||
-ms-transition: width 200ms linear;
|
||||
transition: width 200ms linear;
|
||||
|
||||
-webkit-animation: progressmove 2s linear infinite;
|
||||
-moz-animation: progressmove 2s linear infinite;
|
||||
-o-animation: progressmove 2s linear infinite;
|
||||
-ms-animation: progressmove 2s linear infinite;
|
||||
animation: progressmove 2s linear infinite;
|
||||
|
||||
-webkit-transform: translateZ(0);
|
||||
}
|
||||
|
||||
@-webkit-keyframes progressmove {
|
||||
0% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 17px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes progressmove {
|
||||
0% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 17px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes progressmove {
|
||||
0% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 17px 0;
|
||||
}
|
||||
}
|
||||
|
||||
#upload .filelist li p.imgWrap {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
line-height: 113px;
|
||||
vertical-align: middle;
|
||||
overflow: hidden;
|
||||
width: 113px;
|
||||
height: 113px;
|
||||
|
||||
-webkit-transform-origin: 50% 50%;
|
||||
-moz-transform-origin: 50% 50%;
|
||||
-o-transform-origin: 50% 50%;
|
||||
-ms-transform-origin: 50% 50%;
|
||||
transform-origin: 50% 50%;
|
||||
|
||||
-webit-transition: 200ms ease-out;
|
||||
-moz-transition: 200ms ease-out;
|
||||
-o-transition: 200ms ease-out;
|
||||
-ms-transition: 200ms ease-out;
|
||||
transition: 200ms ease-out;
|
||||
}
|
||||
#upload .filelist li p.imgWrap.notimage {
|
||||
margin-top: 0;
|
||||
width: 111px;
|
||||
height: 111px;
|
||||
border: 1px #eeeeee solid;
|
||||
}
|
||||
#upload .filelist li p.imgWrap.notimage i.file-preview {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#upload .filelist li img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#upload .filelist li p.error {
|
||||
background: #f43838;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
display:none;
|
||||
}
|
||||
|
||||
#upload .filelist li .success {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 40px;
|
||||
width: 100%;
|
||||
z-index: 200;
|
||||
background: url(./images/success.png) no-repeat right bottom;
|
||||
background-image: url(./images/success.gif) \9;
|
||||
}
|
||||
|
||||
#upload .filelist li.filePickerBlock {
|
||||
width: 113px;
|
||||
height: 113px;
|
||||
background: url(./images/image.png) no-repeat center 12px;
|
||||
border: 1px solid #eeeeee;
|
||||
border-radius: 0;
|
||||
}
|
||||
#upload .filelist li.filePickerBlock div.webuploader-pick {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
opacity: 0;
|
||||
background: none;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel {
|
||||
position: absolute;
|
||||
height: 0;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#80000000', endColorstr='#80000000') \0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
z-index: 300;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel span {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
display: inline;
|
||||
float: right;
|
||||
text-indent: -9999px;
|
||||
overflow: hidden;
|
||||
background: url(./images/icons.png) no-repeat;
|
||||
background: url(./images/icons.gif) no-repeat \9;
|
||||
margin: 5px 1px 1px;
|
||||
cursor: pointer;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel span.rotateLeft {
|
||||
display:none;
|
||||
background-position: 0 -24px;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel span.rotateLeft:hover {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel span.rotateRight {
|
||||
display:none;
|
||||
background-position: -24px -24px;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel span.rotateRight:hover {
|
||||
background-position: -24px 0;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel span.cancel {
|
||||
background-position: -48px -24px;
|
||||
}
|
||||
|
||||
#upload .filelist div.file-panel span.cancel:hover {
|
||||
background-position: -48px 0;
|
||||
}
|
||||
|
||||
#upload .statusBar {
|
||||
height: 45px;
|
||||
border-bottom: 1px solid #dadada;
|
||||
margin: 0 10px;
|
||||
padding: 0;
|
||||
line-height: 45px;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#upload .statusBar .progress {
|
||||
border: 1px solid #1483d8;
|
||||
width: 198px;
|
||||
background: #fff;
|
||||
height: 18px;
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
display: none;
|
||||
text-align: center;
|
||||
line-height: 18px;
|
||||
color: #6dbfff;
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
#upload .statusBar .progress span.percentage {
|
||||
width: 0;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background: #1483d8;
|
||||
position: absolute;
|
||||
}
|
||||
#upload .statusBar .progress span.text {
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
#upload .statusBar .info {
|
||||
display: inline-block;
|
||||
font-size: 14px;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
#upload .statusBar .btns {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 0;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
#filePickerBtn {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
}
|
||||
#upload .statusBar .btns .webuploader-pick,
|
||||
#upload .statusBar .btns .uploadBtn,
|
||||
#upload .statusBar .btns .uploadBtn.state-uploading,
|
||||
#upload .statusBar .btns .uploadBtn.state-paused {
|
||||
background: #ffffff;
|
||||
border: 1px solid #cfcfcf;
|
||||
color: #565656;
|
||||
padding: 0 18px;
|
||||
display: inline-block;
|
||||
border-radius: 3px;
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
float: left;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
#upload .statusBar .btns .webuploader-pick-hover,
|
||||
#upload .statusBar .btns .uploadBtn:hover,
|
||||
#upload .statusBar .btns .uploadBtn.state-uploading:hover,
|
||||
#upload .statusBar .btns .uploadBtn.state-paused:hover {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
#upload .statusBar .btns .uploadBtn,
|
||||
#upload .statusBar .btns .uploadBtn.state-paused{
|
||||
background: #00b7ee;
|
||||
color: #fff;
|
||||
border-color: transparent;
|
||||
}
|
||||
#upload .statusBar .btns .uploadBtn:hover,
|
||||
#upload .statusBar .btns .uploadBtn.state-paused:hover{
|
||||
background: #00a2d4;
|
||||
}
|
||||
|
||||
#upload .statusBar .btns .uploadBtn.disabled {
|
||||
pointer-events: none;
|
||||
filter:alpha(opacity=60);
|
||||
-moz-opacity:0.6;
|
||||
-khtml-opacity: 0.6;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* 图片管理样式 */
|
||||
#online {
|
||||
width: 100%;
|
||||
height: 336px;
|
||||
padding: 10px 0 0 0;
|
||||
}
|
||||
#online #fileList{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
position: relative;
|
||||
}
|
||||
#online ul {
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#online li {
|
||||
float: left;
|
||||
display: block;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
width: 113px;
|
||||
height: 113px;
|
||||
margin: 0 0 9px 9px;
|
||||
*margin: 0 0 6px 6px;
|
||||
background-color: #eee;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
#online li.clearFloat {
|
||||
float: none;
|
||||
clear: both;
|
||||
display: block;
|
||||
width:0;
|
||||
height:0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#online li img {
|
||||
cursor: pointer;
|
||||
}
|
||||
#online li div.file-wrapper {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: 111px;
|
||||
height: 111px;
|
||||
border: 1px solid #eee;
|
||||
background: url("./images/bg.png") repeat;
|
||||
}
|
||||
#online li div span.file-title{
|
||||
display: block;
|
||||
padding: 0 3px;
|
||||
margin: 3px 0 0 0;
|
||||
font-size: 12px;
|
||||
height: 13px;
|
||||
color: #555555;
|
||||
text-align: center;
|
||||
width: 107px;
|
||||
white-space: nowrap;
|
||||
word-break: break-all;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
#online li .icon {
|
||||
cursor: pointer;
|
||||
width: 113px;
|
||||
height: 113px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
border: 0;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
#online li .icon:hover {
|
||||
width: 107px;
|
||||
height: 107px;
|
||||
border: 3px solid #1094fa;
|
||||
}
|
||||
#online li.selected .icon {
|
||||
background-image: url(images/success.png);
|
||||
background-image: url(images/success.gif) \9;
|
||||
background-position: 75px 75px;
|
||||
}
|
||||
#online li.selected .icon:hover {
|
||||
width: 107px;
|
||||
height: 107px;
|
||||
border: 3px solid #1094fa;
|
||||
background-position: 72px 72px;
|
||||
}
|
||||
|
||||
|
||||
/* 在线文件的文件预览图标 */
|
||||
i.file-preview {
|
||||
display: block;
|
||||
margin: 10px auto;
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
background-image: url("./images/file-icons.png");
|
||||
background-image: url("./images/file-icons.gif") \9;
|
||||
background-position: -140px center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
i.file-preview.file-type-dir{
|
||||
background-position: 0 center;
|
||||
}
|
||||
i.file-preview.file-type-file{
|
||||
background-position: -140px center;
|
||||
}
|
||||
i.file-preview.file-type-filelist{
|
||||
background-position: -210px center;
|
||||
}
|
||||
i.file-preview.file-type-zip,
|
||||
i.file-preview.file-type-rar,
|
||||
i.file-preview.file-type-7z,
|
||||
i.file-preview.file-type-tar,
|
||||
i.file-preview.file-type-gz,
|
||||
i.file-preview.file-type-bz2{
|
||||
background-position: -280px center;
|
||||
}
|
||||
i.file-preview.file-type-xls,
|
||||
i.file-preview.file-type-xlsx{
|
||||
background-position: -350px center;
|
||||
}
|
||||
i.file-preview.file-type-doc,
|
||||
i.file-preview.file-type-docx{
|
||||
background-position: -420px center;
|
||||
}
|
||||
i.file-preview.file-type-ppt,
|
||||
i.file-preview.file-type-pptx{
|
||||
background-position: -490px center;
|
||||
}
|
||||
i.file-preview.file-type-vsd{
|
||||
background-position: -560px center;
|
||||
}
|
||||
i.file-preview.file-type-pdf{
|
||||
background-position: -630px center;
|
||||
}
|
||||
i.file-preview.file-type-txt,
|
||||
i.file-preview.file-type-md,
|
||||
i.file-preview.file-type-json,
|
||||
i.file-preview.file-type-htm,
|
||||
i.file-preview.file-type-xml,
|
||||
i.file-preview.file-type-html,
|
||||
i.file-preview.file-type-js,
|
||||
i.file-preview.file-type-css,
|
||||
i.file-preview.file-type-php,
|
||||
i.file-preview.file-type-jsp,
|
||||
i.file-preview.file-type-asp{
|
||||
background-position: -700px center;
|
||||
}
|
||||
i.file-preview.file-type-apk{
|
||||
background-position: -770px center;
|
||||
}
|
||||
i.file-preview.file-type-exe{
|
||||
background-position: -840px center;
|
||||
}
|
||||
i.file-preview.file-type-ipa{
|
||||
background-position: -910px center;
|
||||
}
|
||||
i.file-preview.file-type-mp4,
|
||||
i.file-preview.file-type-swf,
|
||||
i.file-preview.file-type-mkv,
|
||||
i.file-preview.file-type-avi,
|
||||
i.file-preview.file-type-flv,
|
||||
i.file-preview.file-type-mov,
|
||||
i.file-preview.file-type-mpg,
|
||||
i.file-preview.file-type-mpeg,
|
||||
i.file-preview.file-type-ogv,
|
||||
i.file-preview.file-type-webm,
|
||||
i.file-preview.file-type-rm,
|
||||
i.file-preview.file-type-rmvb{
|
||||
background-position: -980px center;
|
||||
}
|
||||
i.file-preview.file-type-ogg,
|
||||
i.file-preview.file-type-wav,
|
||||
i.file-preview.file-type-wmv,
|
||||
i.file-preview.file-type-mid,
|
||||
i.file-preview.file-type-mp3{
|
||||
background-position: -1050px center;
|
||||
}
|
||||
i.file-preview.file-type-jpg,
|
||||
i.file-preview.file-type-jpeg,
|
||||
i.file-preview.file-type-gif,
|
||||
i.file-preview.file-type-bmp,
|
||||
i.file-preview.file-type-png,
|
||||
i.file-preview.file-type-psd{
|
||||
background-position: -140px center;
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ueditor图片对话框</title>
|
||||
<script type="text/javascript" src="../internal.js"></script>
|
||||
|
||||
<!-- jquery -->
|
||||
<script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script>
|
||||
|
||||
<!-- webuploader -->
|
||||
<script src="../../third-party/webuploader/webuploader.min.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css">
|
||||
|
||||
<!-- attachment dialog -->
|
||||
<link rel="stylesheet" href="attachment.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="wrapper">
|
||||
<div id="tabhead" class="tabhead">
|
||||
<span class="tab focus" data-content-id="upload"><var id="lang_tab_upload"></var></span>
|
||||
<span class="tab" data-content-id="online"><var id="lang_tab_online"></var></span>
|
||||
</div>
|
||||
<div id="tabbody" class="tabbody">
|
||||
<!-- 上传图片 -->
|
||||
<div id="upload" class="panel focus">
|
||||
<div id="queueList" class="queueList">
|
||||
<div class="statusBar element-invisible">
|
||||
<div class="progress">
|
||||
<span class="text">0%</span>
|
||||
<span class="percentage"></span>
|
||||
</div><div class="info"></div>
|
||||
<div class="btns">
|
||||
<div id="filePickerBtn"></div>
|
||||
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="dndArea" class="placeholder">
|
||||
<div class="filePickerContainer">
|
||||
<div id="filePickerReady"></div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="filelist element-invisible">
|
||||
<li id="filePickerBlock" class="filePickerBlock"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 在线图片 -->
|
||||
<div id="online" class="panel">
|
||||
<div id="fileList"><var id="lang_imgLoading"></var></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="attachment.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
After Width: | Height: | Size: 923 B |
After Width: | Height: | Size: 841 B |
After Width: | Height: | Size: 1012 B |
After Width: | Height: | Size: 949 B |
After Width: | Height: | Size: 950 B |
After Width: | Height: | Size: 986 B |
After Width: | Height: | Size: 1001 B |
After Width: | Height: | Size: 996 B |
After Width: | Height: | Size: 1001 B |
After Width: | Height: | Size: 1009 B |
After Width: | Height: | Size: 1007 B |
After Width: | Height: | Size: 970 B |
After Width: | Height: | Size: 1005 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 445 B |
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,94 @@
|
||||
.wrapper{ width: 424px;margin: 10px auto; zoom:1;position: relative}
|
||||
.tabbody{height:225px;}
|
||||
.tabbody .panel { position: absolute;width:100%; height:100%;background: #fff; display: none;}
|
||||
.tabbody .focus { display: block;}
|
||||
|
||||
body{font-size: 12px;color: #888;overflow: hidden;}
|
||||
input,label{vertical-align:middle}
|
||||
.clear{clear: both;}
|
||||
.pl{padding-left: 18px;padding-left: 23px\9;}
|
||||
|
||||
#imageList {width: 420px;height: 215px;margin-top: 10px;overflow: hidden;overflow-y: auto;}
|
||||
#imageList div {float: left;width: 100px;height: 95px;margin: 5px 10px;}
|
||||
#imageList img {cursor: pointer;border: 2px solid white;}
|
||||
|
||||
.bgarea{margin: 10px;padding: 5px;height: 84%;border: 1px solid #A8A297;}
|
||||
.content div{margin: 10px 0 10px 5px;}
|
||||
.content .iptradio{margin: 0px 5px 5px 0px;}
|
||||
.txt{width:280px;}
|
||||
|
||||
.wrapcolor{height: 19px;}
|
||||
div.color{float: left;margin: 0;}
|
||||
#colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;margin: 0;float: left;}
|
||||
div.alignment,#custom{margin-left: 23px;margin-left: 28px\9;}
|
||||
#custom input{height: 15px;min-height: 15px;width:20px;}
|
||||
#repeatType{width:100px;}
|
||||
|
||||
|
||||
/* 图片管理样式 */
|
||||
#imgManager {
|
||||
width: 100%;
|
||||
height: 225px;
|
||||
}
|
||||
#imgManager #imageList{
|
||||
width: 100%;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
#imgManager ul {
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#imgManager li {
|
||||
float: left;
|
||||
display: block;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
width: 113px;
|
||||
height: 113px;
|
||||
margin: 9px 0 0 19px;
|
||||
background-color: #eee;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
#imgManager li.clearFloat {
|
||||
float: none;
|
||||
clear: both;
|
||||
display: block;
|
||||
width:0;
|
||||
height:0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#imgManager li img {
|
||||
cursor: pointer;
|
||||
}
|
||||
#imgManager li .icon {
|
||||
cursor: pointer;
|
||||
width: 113px;
|
||||
height: 113px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
border: 0;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
#imgManager li .icon:hover {
|
||||
width: 107px;
|
||||
height: 107px;
|
||||
border: 3px solid #1094fa;
|
||||
}
|
||||
#imgManager li.selected .icon {
|
||||
background-image: url(images/success.png);
|
||||
background-position: 75px 75px;
|
||||
}
|
||||
#imgManager li.selected .icon:hover {
|
||||
width: 107px;
|
||||
height: 107px;
|
||||
border: 3px solid #1094fa;
|
||||
background-position: 72px 72px;
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
||||
<script type="text/javascript" src="../internal.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="background.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="bg_container" class="wrapper">
|
||||
<div id="tabHeads" class="tabhead">
|
||||
<span class="focus" data-content-id="normal"><var id="lang_background_normal"></var></span>
|
||||
<span class="" data-content-id="imgManager"><var id="lang_background_local"></var></span>
|
||||
</div>
|
||||
<div id="tabBodys" class="tabbody">
|
||||
<div id="normal" class="panel focus">
|
||||
<fieldset class="bgarea">
|
||||
<legend><var id="lang_background_set"></var></legend>
|
||||
<div class="content">
|
||||
<div>
|
||||
<label><input id="nocolorRadio" class="iptradio" type="radio" name="t" value="none" checked="checked"><var id="lang_background_none"></var></label>
|
||||
<label><input id="coloredRadio" class="iptradio" type="radio" name="t" value="color"><var id="lang_background_colored"></var></label>
|
||||
</div>
|
||||
<div class="wrapcolor pl">
|
||||
<div class="color">
|
||||
<var id="lang_background_color"></var>:
|
||||
</div>
|
||||
<div id="colorPicker"></div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="wrapcolor pl">
|
||||
<label><var id="lang_background_netimg"></var>:</label><input class="txt" type="text" id="url">
|
||||
</div>
|
||||
<div id="alignment" class="alignment">
|
||||
<var id="lang_background_align"></var>:<select id="repeatType">
|
||||
<option value="center"></option>
|
||||
<option value="repeat-x"></option>
|
||||
<option value="repeat-y"></option>
|
||||
<option value="repeat"></option>
|
||||
<option value="self"></option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="custom" >
|
||||
<var id="lang_background_position"></var>:x:<input type="text" size="1" id="x" maxlength="4" value="0">px y:<input type="text" size="1" id="y" maxlength="4" value="0">px
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
<div id="imgManager" class="panel">
|
||||
<div id="imageList" style=""></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="background.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,376 @@
|
||||
(function () {
|
||||
|
||||
var onlineImage,
|
||||
backupStyle = editor.queryCommandValue('background');
|
||||
|
||||
window.onload = function () {
|
||||
initTabs();
|
||||
initColorSelector();
|
||||
};
|
||||
|
||||
/* 初始化tab标签 */
|
||||
function initTabs(){
|
||||
var tabs = $G('tabHeads').children;
|
||||
for (var i = 0; i < tabs.length; i++) {
|
||||
domUtils.on(tabs[i], "click", function (e) {
|
||||
var target = e.target || e.srcElement;
|
||||
for (var j = 0; j < tabs.length; j++) {
|
||||
if(tabs[j] == target){
|
||||
tabs[j].className = "focus";
|
||||
var contentId = tabs[j].getAttribute('data-content-id');
|
||||
$G(contentId).style.display = "block";
|
||||
if(contentId == 'imgManager') {
|
||||
initImagePanel();
|
||||
}
|
||||
}else {
|
||||
tabs[j].className = "";
|
||||
$G(tabs[j].getAttribute('data-content-id')).style.display = "none";
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* 初始化颜色设置 */
|
||||
function initColorSelector () {
|
||||
var obj = editor.queryCommandValue('background');
|
||||
if (obj) {
|
||||
var color = obj['background-color'],
|
||||
repeat = obj['background-repeat'] || 'repeat',
|
||||
image = obj['background-image'] || '',
|
||||
position = obj['background-position'] || 'center center',
|
||||
pos = position.split(' '),
|
||||
x = parseInt(pos[0]) || 0,
|
||||
y = parseInt(pos[1]) || 0;
|
||||
|
||||
if(repeat == 'no-repeat' && (x || y)) repeat = 'self';
|
||||
|
||||
image = image.match(/url[\s]*\(([^\)]*)\)/);
|
||||
image = image ? image[1]:'';
|
||||
updateFormState('colored', color, image, repeat, x, y);
|
||||
} else {
|
||||
updateFormState();
|
||||
}
|
||||
|
||||
var updateHandler = function () {
|
||||
updateFormState();
|
||||
updateBackground();
|
||||
}
|
||||
domUtils.on($G('nocolorRadio'), 'click', updateBackground);
|
||||
domUtils.on($G('coloredRadio'), 'click', updateHandler);
|
||||
domUtils.on($G('url'), 'keyup', function(){
|
||||
if($G('url').value && $G('alignment').style.display == "none") {
|
||||
utils.each($G('repeatType').children, function(item){
|
||||
item.selected = ('repeat' == item.getAttribute('value') ? 'selected':false);
|
||||
});
|
||||
}
|
||||
updateHandler();
|
||||
});
|
||||
domUtils.on($G('repeatType'), 'change', updateHandler);
|
||||
domUtils.on($G('x'), 'keyup', updateBackground);
|
||||
domUtils.on($G('y'), 'keyup', updateBackground);
|
||||
|
||||
initColorPicker();
|
||||
}
|
||||
|
||||
/* 初始化颜色选择器 */
|
||||
function initColorPicker() {
|
||||
var me = editor,
|
||||
cp = $G("colorPicker");
|
||||
|
||||
/* 生成颜色选择器ui对象 */
|
||||
var popup = new UE.ui.Popup({
|
||||
content: new UE.ui.ColorPicker({
|
||||
noColorText: me.getLang("clearColor"),
|
||||
editor: me,
|
||||
onpickcolor: function (t, color) {
|
||||
updateFormState('colored', color);
|
||||
updateBackground();
|
||||
UE.ui.Popup.postHide();
|
||||
},
|
||||
onpicknocolor: function (t, color) {
|
||||
updateFormState('colored', 'transparent');
|
||||
updateBackground();
|
||||
UE.ui.Popup.postHide();
|
||||
}
|
||||
}),
|
||||
editor: me,
|
||||
onhide: function () {
|
||||
}
|
||||
});
|
||||
|
||||
/* 设置颜色选择器 */
|
||||
domUtils.on(cp, "click", function () {
|
||||
popup.showAnchor(this);
|
||||
});
|
||||
domUtils.on(document, 'mousedown', function (evt) {
|
||||
var el = evt.target || evt.srcElement;
|
||||
UE.ui.Popup.postHide(el);
|
||||
});
|
||||
domUtils.on(window, 'scroll', function () {
|
||||
UE.ui.Popup.postHide();
|
||||
});
|
||||
}
|
||||
|
||||
/* 初始化在线图片列表 */
|
||||
function initImagePanel() {
|
||||
onlineImage = onlineImage || new OnlineImage('imageList');
|
||||
}
|
||||
|
||||
/* 更新背景色设置面板 */
|
||||
function updateFormState (radio, color, url, align, x, y) {
|
||||
var nocolorRadio = $G('nocolorRadio'),
|
||||
coloredRadio = $G('coloredRadio');
|
||||
|
||||
if(radio) {
|
||||
nocolorRadio.checked = (radio == 'colored' ? false:'checked');
|
||||
coloredRadio.checked = (radio == 'colored' ? 'checked':false);
|
||||
}
|
||||
if(color) {
|
||||
domUtils.setStyle($G("colorPicker"), "background-color", color);
|
||||
}
|
||||
|
||||
if(url && /^\//.test(url)) {
|
||||
var a = document.createElement('a');
|
||||
a.href = url;
|
||||
browser.ie && (a.href = a.href);
|
||||
url = browser.ie ? a.href:(a.protocol + '//' + a.host + a.pathname + a.search + a.hash);
|
||||
}
|
||||
|
||||
if(url || url === '') {
|
||||
$G('url').value = url;
|
||||
}
|
||||
if(align) {
|
||||
utils.each($G('repeatType').children, function(item){
|
||||
item.selected = (align == item.getAttribute('value') ? 'selected':false);
|
||||
});
|
||||
}
|
||||
if(x || y) {
|
||||
$G('x').value = parseInt(x) || 0;
|
||||
$G('y').value = parseInt(y) || 0;
|
||||
}
|
||||
|
||||
$G('alignment').style.display = coloredRadio.checked && $G('url').value ? '':'none';
|
||||
$G('custom').style.display = coloredRadio.checked && $G('url').value && $G('repeatType').value == 'self' ? '':'none';
|
||||
}
|
||||
|
||||
/* 更新背景颜色 */
|
||||
function updateBackground () {
|
||||
if ($G('coloredRadio').checked) {
|
||||
var color = domUtils.getStyle($G("colorPicker"), "background-color"),
|
||||
bgimg = $G("url").value,
|
||||
align = $G("repeatType").value,
|
||||
backgroundObj = {
|
||||
"background-repeat": "no-repeat",
|
||||
"background-position": "center center"
|
||||
};
|
||||
|
||||
if (color) backgroundObj["background-color"] = color;
|
||||
if (bgimg) backgroundObj["background-image"] = 'url(' + bgimg + ')';
|
||||
if (align == 'self') {
|
||||
backgroundObj["background-position"] = $G("x").value + "px " + $G("y").value + "px";
|
||||
} else if (align == 'repeat-x' || align == 'repeat-y' || align == 'repeat') {
|
||||
backgroundObj["background-repeat"] = align;
|
||||
}
|
||||
|
||||
editor.execCommand('background', backgroundObj);
|
||||
} else {
|
||||
editor.execCommand('background', null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 在线图片 */
|
||||
function OnlineImage(target) {
|
||||
this.container = utils.isString(target) ? document.getElementById(target) : target;
|
||||
this.init();
|
||||
}
|
||||
OnlineImage.prototype = {
|
||||
init: function () {
|
||||
this.reset();
|
||||
this.initEvents();
|
||||
},
|
||||
/* 初始化容器 */
|
||||
initContainer: function () {
|
||||
this.container.innerHTML = '';
|
||||
this.list = document.createElement('ul');
|
||||
this.clearFloat = document.createElement('li');
|
||||
|
||||
domUtils.addClass(this.list, 'list');
|
||||
domUtils.addClass(this.clearFloat, 'clearFloat');
|
||||
|
||||
this.list.id = 'imageListUl';
|
||||
this.list.appendChild(this.clearFloat);
|
||||
this.container.appendChild(this.list);
|
||||
},
|
||||
/* 初始化滚动事件,滚动到地步自动拉取数据 */
|
||||
initEvents: function () {
|
||||
var _this = this;
|
||||
|
||||
/* 滚动拉取图片 */
|
||||
domUtils.on($G('imageList'), 'scroll', function(e){
|
||||
var panel = this;
|
||||
if (panel.scrollHeight - (panel.offsetHeight + panel.scrollTop) < 10) {
|
||||
_this.getImageData();
|
||||
}
|
||||
});
|
||||
/* 选中图片 */
|
||||
domUtils.on(this.container, 'click', function (e) {
|
||||
var target = e.target || e.srcElement,
|
||||
li = target.parentNode,
|
||||
nodes = $G('imageListUl').childNodes;
|
||||
|
||||
if (li.tagName.toLowerCase() == 'li') {
|
||||
updateFormState('nocolor', null, '');
|
||||
for (var i = 0, node; node = nodes[i++];) {
|
||||
if (node == li && !domUtils.hasClass(node, 'selected')) {
|
||||
domUtils.addClass(node, 'selected');
|
||||
updateFormState('colored', null, li.firstChild.getAttribute("_src"), 'repeat');
|
||||
} else {
|
||||
domUtils.removeClasses(node, 'selected');
|
||||
}
|
||||
}
|
||||
updateBackground();
|
||||
}
|
||||
});
|
||||
},
|
||||
/* 初始化第一次的数据 */
|
||||
initData: function () {
|
||||
|
||||
/* 拉取数据需要使用的值 */
|
||||
this.state = 0;
|
||||
this.listSize = editor.getOpt('imageManagerListSize');
|
||||
this.listIndex = 0;
|
||||
this.listEnd = false;
|
||||
|
||||
/* 第一次拉取数据 */
|
||||
this.getImageData();
|
||||
},
|
||||
/* 重置界面 */
|
||||
reset: function() {
|
||||
this.initContainer();
|
||||
this.initData();
|
||||
},
|
||||
/* 向后台拉取图片列表数据 */
|
||||
getImageData: function () {
|
||||
var _this = this;
|
||||
|
||||
if(!_this.listEnd && !this.isLoadingData) {
|
||||
this.isLoadingData = true;
|
||||
var url = editor.getActionUrl(editor.getOpt('imageManagerActionName')),
|
||||
isJsonp = utils.isCrossDomainUrl(url);
|
||||
ajax.request(url, {
|
||||
'timeout': 100000,
|
||||
'dataType': isJsonp ? 'jsonp':'',
|
||||
'data': utils.extend({
|
||||
start: this.listIndex,
|
||||
size: this.listSize
|
||||
}, editor.queryCommandValue('serverparam')),
|
||||
'method': 'get',
|
||||
'onsuccess': function (r) {
|
||||
try {
|
||||
var json = isJsonp ? r:eval('(' + r.responseText + ')');
|
||||
if (json.state == 'SUCCESS') {
|
||||
_this.pushData(json.list);
|
||||
_this.listIndex = parseInt(json.start) + parseInt(json.list.length);
|
||||
if(_this.listIndex >= json.total) {
|
||||
_this.listEnd = true;
|
||||
}
|
||||
_this.isLoadingData = false;
|
||||
}
|
||||
} catch (e) {
|
||||
if(r.responseText.indexOf('ue_separate_ue') != -1) {
|
||||
var list = r.responseText.split(r.responseText);
|
||||
_this.pushData(list);
|
||||
_this.listIndex = parseInt(list.length);
|
||||
_this.listEnd = true;
|
||||
_this.isLoadingData = false;
|
||||
}
|
||||
}
|
||||
},
|
||||
'onerror': function () {
|
||||
_this.isLoadingData = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
/* 添加图片到列表界面上 */
|
||||
pushData: function (list) {
|
||||
var i, item, img, icon, _this = this,
|
||||
urlPrefix = editor.getOpt('imageManagerUrlPrefix');
|
||||
for (i = 0; i < list.length; i++) {
|
||||
if(list[i] && list[i].url) {
|
||||
item = document.createElement('li');
|
||||
img = document.createElement('img');
|
||||
icon = document.createElement('span');
|
||||
|
||||
domUtils.on(img, 'load', (function(image){
|
||||
return function(){
|
||||
_this.scale(image, image.parentNode.offsetWidth, image.parentNode.offsetHeight);
|
||||
}
|
||||
})(img));
|
||||
img.width = 113;
|
||||
img.setAttribute('src', urlPrefix + list[i].url + (list[i].url.indexOf('?') == -1 ? '?noCache=':'&noCache=') + (+new Date()).toString(36) );
|
||||
img.setAttribute('_src', urlPrefix + list[i].url);
|
||||
domUtils.addClass(icon, 'icon');
|
||||
|
||||
item.appendChild(img);
|
||||
item.appendChild(icon);
|
||||
this.list.insertBefore(item, this.clearFloat);
|
||||
}
|
||||
}
|
||||
},
|
||||
/* 改变图片大小 */
|
||||
scale: function (img, w, h, type) {
|
||||
var ow = img.width,
|
||||
oh = img.height;
|
||||
|
||||
if (type == 'justify') {
|
||||
if (ow >= oh) {
|
||||
img.width = w;
|
||||
img.height = h * oh / ow;
|
||||
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
|
||||
} else {
|
||||
img.width = w * ow / oh;
|
||||
img.height = h;
|
||||
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
|
||||
}
|
||||
} else {
|
||||
if (ow >= oh) {
|
||||
img.width = w * ow / oh;
|
||||
img.height = h;
|
||||
img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';
|
||||
} else {
|
||||
img.width = w;
|
||||
img.height = h * oh / ow;
|
||||
img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';
|
||||
}
|
||||
}
|
||||
},
|
||||
getInsertList: function () {
|
||||
var i, lis = this.list.children, list = [], align = getAlign();
|
||||
for (i = 0; i < lis.length; i++) {
|
||||
if (domUtils.hasClass(lis[i], 'selected')) {
|
||||
var img = lis[i].firstChild,
|
||||
src = img.getAttribute('_src');
|
||||
list.push({
|
||||
src: src,
|
||||
_src: src,
|
||||
floatStyle: align
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
return list;
|
||||
}
|
||||
};
|
||||
|
||||
dialog.onok = function () {
|
||||
updateBackground();
|
||||
editor.fireEvent('saveScene');
|
||||
};
|
||||
dialog.oncancel = function () {
|
||||
editor.execCommand('background', backupStyle);
|
||||
};
|
||||
|
||||
})();
|
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,65 @@
|
||||
/*
|
||||
* 图表配置文件
|
||||
* */
|
||||
|
||||
|
||||
//不同类型的配置
|
||||
var typeConfig = [
|
||||
{
|
||||
chart: {
|
||||
type: 'line'
|
||||
},
|
||||
plotOptions: {
|
||||
line: {
|
||||
dataLabels: {
|
||||
enabled: false
|
||||
},
|
||||
enableMouseTracking: true
|
||||
}
|
||||
}
|
||||
}, {
|
||||
chart: {
|
||||
type: 'line'
|
||||
},
|
||||
plotOptions: {
|
||||
line: {
|
||||
dataLabels: {
|
||||
enabled: true
|
||||
},
|
||||
enableMouseTracking: false
|
||||
}
|
||||
}
|
||||
}, {
|
||||
chart: {
|
||||
type: 'area'
|
||||
}
|
||||
}, {
|
||||
chart: {
|
||||
type: 'bar'
|
||||
}
|
||||
}, {
|
||||
chart: {
|
||||
type: 'column'
|
||||
}
|
||||
}, {
|
||||
chart: {
|
||||
plotBackgroundColor: null,
|
||||
plotBorderWidth: null,
|
||||
plotShadow: false
|
||||
},
|
||||
plotOptions: {
|
||||
pie: {
|
||||
allowPointSelect: true,
|
||||
cursor: 'pointer',
|
||||
dataLabels: {
|
||||
enabled: true,
|
||||
color: '#000000',
|
||||
connectorColor: '#000000',
|
||||
formatter: function() {
|
||||
return '<b>'+ this.point.name +'</b>: '+ ( Math.round( this.point.percentage*100 ) / 100 ) +' %';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
];
|
@ -0,0 +1,165 @@
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.main {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.table-view {
|
||||
height: 100%;
|
||||
float: left;
|
||||
margin: 20px;
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.table-view .table-container {
|
||||
width: 100%;
|
||||
margin-bottom: 50px;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
.table-view th {
|
||||
padding: 5px 10px;
|
||||
background-color: #F7F7F7;
|
||||
}
|
||||
|
||||
.table-view td {
|
||||
width: 50px;
|
||||
text-align: center;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.table-container input {
|
||||
width: 40px;
|
||||
padding: 5px;
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.table-view caption {
|
||||
font-size: 18px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.charts-view {
|
||||
/*margin-left: 49%!important;*/
|
||||
width: 50%;
|
||||
margin-left: 49%;
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.charts-container {
|
||||
border-left: 1px solid #c3c3c3;
|
||||
}
|
||||
|
||||
.charts-format fieldset {
|
||||
padding-left: 20px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.charts-format legend {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.format-item-container {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.format-item-container label {
|
||||
display: block;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.charts-format .data-item {
|
||||
border: 1px solid black;
|
||||
outline: none;
|
||||
padding: 2px 3px;
|
||||
}
|
||||
|
||||
/* 图表类型 */
|
||||
|
||||
.charts-type {
|
||||
margin-top: 50px;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.scroll-view {
|
||||
border: 1px solid #c3c3c3;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.scroll-container {
|
||||
margin: 20px;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.scroll-bed {
|
||||
width: 10000px;
|
||||
_margin-top: 20px;
|
||||
-webkit-transition: margin-left .5s ease;
|
||||
-moz-transition: margin-left .5s ease;
|
||||
transition: margin-left .5s ease;
|
||||
}
|
||||
|
||||
.view-box {
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1;
|
||||
margin-right: 20px;
|
||||
border: 2px solid white;
|
||||
line-height: 0;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.view-box img {
|
||||
border: 1px solid #cecece;
|
||||
}
|
||||
|
||||
.view-box.selected {
|
||||
border-color: #7274A7;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.button-container a {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
border: 1px solid #c2ccd1;
|
||||
margin-right: 30px;
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.button-container a:HOVER {
|
||||
background: #fcfcfc;
|
||||
}
|
||||
|
||||
.button-container a:ACTIVE {
|
||||
border-top-color: #c2ccd1;
|
||||
box-shadow:inset 0 5px 4px -4px rgba(49, 49, 64, 0.1);
|
||||
}
|
||||
|
||||
.edui-charts-not-data {
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
text-align: center;
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>chart</title>
|
||||
<meta chartset="utf-8">
|
||||
<link rel="stylesheet" type="text/css" href="charts.css">
|
||||
<script type="text/javascript" src="../internal.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main">
|
||||
<div class="table-view">
|
||||
<h3><var id="lang_data_source"></var></h3>
|
||||
<div id="tableContainer" class="table-container"></div>
|
||||
<h3><var id="lang_chart_format"></var></h3>
|
||||
<form name="data-form">
|
||||
<div class="charts-format">
|
||||
<fieldset>
|
||||
<legend><var id="lang_data_align"></var></legend>
|
||||
<div class="format-item-container">
|
||||
<label>
|
||||
<input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="1" checked="checked">
|
||||
<var id="lang_chart_align_same"></var>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" class="format-ctrl not-pie-item" name="charts-format" value="-1">
|
||||
<var id="lang_chart_align_reverse"></var>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><var id="lang_chart_title"></var></legend>
|
||||
<div class="format-item-container">
|
||||
<label>
|
||||
<var id="lang_chart_main_title"></var><input type="text" name="title" class="data-item">
|
||||
</label>
|
||||
<label>
|
||||
<var id="lang_chart_sub_title"></var><input type="text" name="sub-title" class="data-item not-pie-item">
|
||||
</label>
|
||||
<label>
|
||||
<var id="lang_chart_x_title"></var><input type="text" name="x-title" class="data-item not-pie-item">
|
||||
</label>
|
||||
<label>
|
||||
<var id="lang_chart_y_title"></var><input type="text" name="y-title" class="data-item not-pie-item">
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><var id="lang_chart_tip"></var></legend>
|
||||
<div class="format-item-container">
|
||||
<label>
|
||||
<var id="lang_cahrt_tip_prefix"></var>
|
||||
<input type="text" id="tipInput" name="tip" class="data-item" disabled="disabled">
|
||||
</label>
|
||||
<p><var id="lang_cahrt_tip_description"></var></p>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><var id="lang_chart_data_unit"></var></legend>
|
||||
<div class="format-item-container">
|
||||
<label><var id="lang_chart_data_unit_title"></var><input type="text" name="unit" class="data-item"></label>
|
||||
<p><var id="lang_chart_data_unit_description"></var></p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="charts-view">
|
||||
<div id="chartsContainer" class="charts-container"></div>
|
||||
<div id="chartsType" class="charts-type">
|
||||
<h3><var id="lang_chart_type"></var></h3>
|
||||
<div class="scroll-view">
|
||||
<div class="scroll-container">
|
||||
<div id="scrollBed" class="scroll-bed"></div>
|
||||
</div>
|
||||
<div id="buttonContainer" class="button-container">
|
||||
<a href="#" data-title="prev"><var id="lang_prev_btn"></var></a>
|
||||
<a href="#" data-title="next"><var id="lang_next_btn"></var></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../../third-party/jquery-1.10.2.min.js"></script>
|
||||
<script src="../../third-party/highcharts/highcharts.js"></script>
|
||||
<script src="chart.config.js"></script>
|
||||
<script src="charts.js"></script>
|
||||
</body>
|
||||
</html>
|
After Width: | Height: | Size: 25 KiB |