@ -0,0 +1,75 @@ |
|||
// -----------------------------------------------------------------------
|
|||
// Eros Fratini - eros@recoding.it
|
|||
// jqprint 0.3
|
|||
//
|
|||
// - 19/06/2009 - some new implementations, added Opera support
|
|||
// - 11/05/2009 - first sketch
|
|||
//
|
|||
// Printing plug-in for jQuery, evolution of jPrintArea: http://plugins.jquery.com/project/jPrintArea
|
|||
// requires jQuery 1.3.x
|
|||
//
|
|||
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
|
|||
//------------------------------------------------------------------------
|
|||
|
|||
(function($) { |
|||
var opt; |
|||
|
|||
$.fn.jqprint = function (options) { |
|||
opt = $.extend({}, $.fn.jqprint.defaults, options); |
|||
|
|||
var $element = (this instanceof jQuery) ? this : $(this); |
|||
|
|||
if (opt.operaSupport && $.browser.opera) |
|||
{ |
|||
var tab = window.open("","jqPrint-preview"); |
|||
tab.document.open(); |
|||
|
|||
var doc = tab.document; |
|||
} |
|||
else |
|||
{ |
|||
var $iframe = $("<iframe />"); |
|||
|
|||
if (!opt.debug) { $iframe.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" }); } |
|||
|
|||
$iframe.appendTo("body"); |
|||
var doc = $iframe[0].contentWindow.document; |
|||
} |
|||
|
|||
if (opt.importCSS) |
|||
{ |
|||
if ($("link[media=print]").length > 0) |
|||
{ |
|||
$("link[media=print]").each( function() { |
|||
doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />"); |
|||
}); |
|||
} |
|||
else |
|||
{ |
|||
$("link").each( function() { |
|||
doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />"); |
|||
}); |
|||
} |
|||
} |
|||
|
|||
if (opt.printContainer) { doc.write($element.outer()); } |
|||
else { $element.each( function() { doc.write($(this).html()); }); } |
|||
|
|||
doc.close(); |
|||
|
|||
(opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).focus(); |
|||
setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000); |
|||
} |
|||
|
|||
$.fn.jqprint.defaults = { |
|||
debug: false, |
|||
importCSS: true, |
|||
printContainer: true, |
|||
operaSupport: true |
|||
}; |
|||
|
|||
// Thanks to 9__, found at http://users.livejournal.com/9__/380664.html
|
|||
jQuery.fn.outer = function() { |
|||
return $($('<div></div>').html(this.clone())).html(); |
|||
} |
|||
})(jQuery); |
|||
@ -0,0 +1,23 @@ |
|||
body { |
|||
background-image: url(../images/bg.jpg); |
|||
background-position: 40% 0; |
|||
} |
|||
a{ text-decoration:none;} |
|||
*{ margin:0; padding:0;} |
|||
a:link {color: #fff; text-decoration: none ;} |
|||
a:visited {color: #fff; text-decoration: none;} |
|||
a:hover {color: #fff; text-decoration: none} |
|||
.container {margin-left: auto; width: 100%; margin-right: auto; text-align: center; margin-top:100px;} |
|||
.container_1 img { margin-top:50px; width:250px; height:120px;} |
|||
.container_2 img { margin-top:-2%; } |
|||
.container_3 img { width:25%; height:7.5%;} |
|||
.container_3 { width:45vw; margin:auto} |
|||
.container_3_1 { color: #930; font-size:2vw; text-align:center;} |
|||
.container_3_2 { color:#930; font-size:1vw; text-align:center;margin: 10px 0} |
|||
.container_3_3 { color: #930; font-size:20px; text-align:center;} |
|||
.maincolumn {margin-left: auto; width: 100%; margin-right: auto; text-align: center;display:block; margin-top:10px;} |
|||
.maincolumn .maincolumn_bg { width:28%;min-width: 315px; height:50px; line-height:50px; background-color:#D15B47; margin:auto;} |
|||
.maincolumn .maincolumn_bg ul {list-style-type: none;} |
|||
.maincolumn .maincolumn_bg ul li { float:left; width:25%;} |
|||
.maincolumn .maincolumn_bg ul li a{ font-size: 18px; } |
|||
.maincolumn .maincolumn_bg ul li a:hover { width:100%; height:50px; background-color:#930; display:block;} |
|||
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 36 KiB |
@ -0,0 +1,14 @@ |
|||
|
|||
## layer mobile |
|||
layer mobile是为移动设备(手机、平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选择使用。 |
|||
|
|||
[文档与演示](http://sentsin.com/layui/layer/) |
|||
|
|||
1. 无需依赖任何库,只加载layer.m.js即可 |
|||
2. 小巧玲珑,性能卓越、柔情似水… |
|||
3. 具备无以伦比的自适应功能 |
|||
4. 灵活的皮肤自定义支撑,充分确保弹层风格多样化 |
|||
5. 丰富、科学的接口,让弹弹弹层无所不能 |
|||
|
|||
## 备注 |
|||
[官网](http://sentsin.com/layui/layer/)、[有问必答](http://say.sentsin.com/home-48.html) |
|||
@ -0,0 +1,208 @@ |
|||
/*! |
|||
|
|||
@Name:layer mobile v2.0 弹层组件移动版 |
|||
@Author:贤心 |
|||
@Site:http://layer.layui.com/mobie/
|
|||
@License:LGPL |
|||
|
|||
*/ |
|||
|
|||
;!function(win){ |
|||
|
|||
"use strict"; |
|||
|
|||
var doc = document, query = 'querySelectorAll', claname = 'getElementsByClassName', S = function(s){ |
|||
return doc[query](s); |
|||
}; |
|||
|
|||
//默认配置
|
|||
var config = { |
|||
type: 0 |
|||
,shade: true |
|||
,shadeClose: true |
|||
,fixed: true |
|||
,anim: 'scale' //默认动画类型
|
|||
}; |
|||
|
|||
var ready = { |
|||
extend: function(obj){ |
|||
var newobj = JSON.parse(JSON.stringify(config)); |
|||
for(var i in obj){ |
|||
newobj[i] = obj[i]; |
|||
} |
|||
return newobj; |
|||
}, |
|||
timer: {}, end: {} |
|||
}; |
|||
|
|||
//点触事件
|
|||
ready.touch = function(elem, fn){ |
|||
elem.addEventListener('click', function(e){ |
|||
fn.call(this, e); |
|||
}, false); |
|||
}; |
|||
|
|||
var index = 0, classs = ['layui-m-layer'], Layer = function(options){ |
|||
var that = this; |
|||
that.config = ready.extend(options); |
|||
that.view(); |
|||
}; |
|||
|
|||
Layer.prototype.view = function(){ |
|||
var that = this, config = that.config, layerbox = doc.createElement('div'); |
|||
|
|||
that.id = layerbox.id = classs[0] + index; |
|||
layerbox.setAttribute('class', classs[0] + ' ' + classs[0]+(config.type || 0)); |
|||
layerbox.setAttribute('index', index); |
|||
|
|||
//标题区域
|
|||
var title = (function(){ |
|||
var titype = typeof config.title === 'object'; |
|||
return config.title |
|||
? '<h3 style="'+ (titype ? config.title[1] : '') +'">'+ (titype ? config.title[0] : config.title) +'</h3>' |
|||
: ''; |
|||
}()); |
|||
|
|||
//按钮区域
|
|||
var button = (function(){ |
|||
typeof config.btn === 'string' && (config.btn = [config.btn]); |
|||
var btns = (config.btn || []).length, btndom; |
|||
if(btns === 0 || !config.btn){ |
|||
return ''; |
|||
} |
|||
btndom = '<span yes type="1">'+ config.btn[0] +'</span>' |
|||
if(btns === 2){ |
|||
btndom = '<span no type="0">'+ config.btn[1] +'</span>' + btndom; |
|||
} |
|||
return '<div class="layui-m-layerbtn">'+ btndom + '</div>'; |
|||
}()); |
|||
|
|||
if(!config.fixed){ |
|||
config.top = config.hasOwnProperty('top') ? config.top : 100; |
|||
config.style = config.style || ''; |
|||
config.style += ' top:'+ ( doc.body.scrollTop + config.top) + 'px'; |
|||
} |
|||
|
|||
if(config.type === 2){ |
|||
config.content = '<i></i><i class="layui-m-layerload"></i><i></i><p>'+ (config.content||'') +'</p>'; |
|||
} |
|||
|
|||
if(config.skin) config.anim = 'up'; |
|||
if(config.skin === 'msg') config.shade = false; |
|||
|
|||
layerbox.innerHTML = (config.shade ? '<div '+ (typeof config.shade === 'string' ? 'style="'+ config.shade +'"' : '') +' class="layui-m-layershade"></div>' : '') |
|||
+'<div class="layui-m-layermain" '+ (!config.fixed ? 'style="position:static;"' : '') +'>' |
|||
+'<div class="layui-m-layersection">' |
|||
+'<div class="layui-m-layerchild '+ (config.skin ? 'layui-m-layer-' + config.skin + ' ' : '') + (config.className ? config.className : '') + ' ' + (config.anim ? 'layui-m-anim-' + config.anim : '') +'" ' + ( config.style ? 'style="'+config.style+'"' : '' ) +'>' |
|||
+ title |
|||
+'<div class="layui-m-layercont">'+ config.content +'</div>' |
|||
+ button |
|||
+'</div>' |
|||
+'</div>' |
|||
+'</div>'; |
|||
|
|||
if(!config.type || config.type === 2){ |
|||
var dialogs = doc[claname](classs[0] + config.type), dialen = dialogs.length; |
|||
if(dialen >= 1){ |
|||
layer.close(dialogs[0].getAttribute('index')) |
|||
} |
|||
} |
|||
|
|||
document.body.appendChild(layerbox); |
|||
var elem = that.elem = S('#'+that.id)[0]; |
|||
config.success && config.success(elem); |
|||
|
|||
that.index = index++; |
|||
that.action(config, elem); |
|||
}; |
|||
|
|||
Layer.prototype.action = function(config, elem){ |
|||
var that = this; |
|||
|
|||
//自动关闭
|
|||
if(config.time){ |
|||
ready.timer[that.index] = setTimeout(function(){ |
|||
layer.close(that.index); |
|||
}, config.time*1000); |
|||
} |
|||
|
|||
//确认取消
|
|||
var btn = function(){ |
|||
var type = this.getAttribute('type'); |
|||
if(type == 0){ |
|||
config.no && config.no(); |
|||
layer.close(that.index); |
|||
} else { |
|||
config.yes ? config.yes(that.index) : layer.close(that.index); |
|||
} |
|||
}; |
|||
if(config.btn){ |
|||
var btns = elem[claname]('layui-m-layerbtn')[0].children, btnlen = btns.length; |
|||
for(var ii = 0; ii < btnlen; ii++){ |
|||
ready.touch(btns[ii], btn); |
|||
} |
|||
} |
|||
|
|||
//点遮罩关闭
|
|||
if(config.shade && config.shadeClose){ |
|||
var shade = elem[claname]('layui-m-layershade')[0]; |
|||
ready.touch(shade, function(){ |
|||
layer.close(that.index, config.end); |
|||
}); |
|||
} |
|||
|
|||
config.end && (ready.end[that.index] = config.end); |
|||
}; |
|||
|
|||
win.layer = { |
|||
v: '2.0', |
|||
index: index, |
|||
|
|||
//核心方法
|
|||
open: function(options){ |
|||
var o = new Layer(options || {}); |
|||
return o.index; |
|||
}, |
|||
|
|||
close: function(index){ |
|||
var ibox = S('#'+classs[0]+index)[0]; |
|||
if(!ibox) return; |
|||
ibox.innerHTML = ''; |
|||
doc.body.removeChild(ibox); |
|||
clearTimeout(ready.timer[index]); |
|||
delete ready.timer[index]; |
|||
typeof ready.end[index] === 'function' && ready.end[index](); |
|||
delete ready.end[index]; |
|||
}, |
|||
|
|||
//关闭所有layer层
|
|||
closeAll: function(){ |
|||
var boxs = doc[claname](classs[0]); |
|||
for(var i = 0, len = boxs.length; i < len; i++){ |
|||
layer.close((boxs[0].getAttribute('index')|0)); |
|||
} |
|||
} |
|||
}; |
|||
|
|||
'function' == typeof define ? define(function() { |
|||
return layer; |
|||
}) : function(){ |
|||
|
|||
var js = document.scripts, script = js[js.length - 1], jsPath = script.src; |
|||
var path = jsPath.substring(0, jsPath.lastIndexOf("/") + 1); |
|||
|
|||
//如果合并方式,则需要单独引入layer.css
|
|||
if(script.getAttribute('merge')) return; |
|||
|
|||
document.head.appendChild(function(){ |
|||
var link = doc.createElement('link'); |
|||
link.href = path + 'need/layer.css?2.0'; |
|||
link.type = 'text/css'; |
|||
link.rel = 'styleSheet' |
|||
link.id = 'layermcss'; |
|||
return link; |
|||
}()); |
|||
|
|||
}(); |
|||
|
|||
}(window); |
|||
@ -0,0 +1,87 @@ |
|||
|
|||
/* |
|||
layer mobile |
|||
*/ |
|||
|
|||
.layui-m-layer{position:relative; z-index: 19891014;} |
|||
.layui-m-layer *{-webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;} |
|||
.layui-m-layershade, |
|||
.layui-m-layermain{position:fixed; left:0; top:0; width:100%; height:100%;} |
|||
.layui-m-layershade{background-color:rgba(0,0,0, .7); pointer-events:auto;} |
|||
.layui-m-layermain{display:table; font-family: Helvetica, arial, sans-serif; pointer-events: none;} |
|||
.layui-m-layermain .layui-m-layersection{display:table-cell; vertical-align:middle; text-align:center;} |
|||
.layui-m-layerchild{position:relative; display:inline-block; text-align:left; background-color:#fff; font-size:14px; border-radius: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); pointer-events:auto; -webkit-overflow-scrolling: touch;} |
|||
.layui-m-layerchild{-webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration: .2s; animation-duration: .2s;} |
|||
|
|||
|
|||
/* 弹出动画 */ |
|||
@-webkit-keyframes layui-m-anim-scale { /* 默认 */ |
|||
0% {opacity: 0; -webkit-transform: scale(.5); transform: scale(.5)} |
|||
100% {opacity: 1; -webkit-transform: scale(1); transform: scale(1)} |
|||
} |
|||
@keyframes layui-m-anim-scale { /* 默认 */ |
|||
0% {opacity: 0; -webkit-transform: scale(.5); transform: scale(.5)} |
|||
100% {opacity: 1; -webkit-transform: scale(1); transform: scale(1)} |
|||
} |
|||
.layui-m-anim-scale{animation-name: layui-m-anim-scale; -webkit-animation-name: layui-m-anim-scale;} |
|||
|
|||
@-webkit-keyframes layui-m-anim-up{ |
|||
0%{opacity: 0; -webkit-transform: translateY(800px); transform: translateY(800px)} |
|||
100%{opacity: 1; -webkit-transform: translateY(0); transform: translateY(0)} |
|||
} |
|||
@keyframes layui-m-anim-up{ |
|||
0%{opacity: 0; -webkit-transform: translateY(800px); transform: translateY(800px)} |
|||
100%{opacity: 1; -webkit-transform: translateY(0); transform: translateY(0)} |
|||
} |
|||
.layui-m-anim-up{-webkit-animation-name: layui-m-anim-up;animation-name: layui-m-anim-up} |
|||
|
|||
|
|||
.layui-m-layer0 .layui-m-layerchild{width: 90%; max-width: 640px;} |
|||
.layui-m-layer1 .layui-m-layerchild{border:none; border-radius:0;} |
|||
.layui-m-layer2 .layui-m-layerchild{width:auto; max-width:260px; min-width:40px; border:none; background: none; box-shadow: none; color:#fff;} |
|||
.layui-m-layerchild h3{padding: 0 10px; height: 60px; line-height: 60px; font-size:16px; font-weight: 400; border-radius: 5px 5px 0 0; text-align: center;} |
|||
.layui-m-layerchild h3, |
|||
.layui-m-layerbtn span{ text-overflow:ellipsis; overflow:hidden; white-space:nowrap;} |
|||
.layui-m-layercont{padding: 50px 30px; line-height: 22px; text-align:center;} |
|||
.layui-m-layer1 .layui-m-layercont{padding:0; text-align:left;} |
|||
.layui-m-layer2 .layui-m-layercont{text-align:center; padding: 0; line-height: 0;} |
|||
.layui-m-layer2 .layui-m-layercont i{width:25px; height:25px; margin-left:8px; display:inline-block; background-color:#fff; border-radius:100%;} |
|||
.layui-m-layer2 .layui-m-layercont p{margin-top: 20px;} |
|||
|
|||
/* loading */ |
|||
@-webkit-keyframes layui-m-anim-loading{ |
|||
0%,80%,100%{transform:scale(0); -webkit-transform:scale(0)} |
|||
40%{transform:scale(1); -webkit-transform:scale(1)} |
|||
} |
|||
@keyframes layui-m-anim-loading{ |
|||
0%,80%,100%{transform:scale(0); -webkit-transform:scale(0)} |
|||
40%{transform:scale(1); -webkit-transform:scale(1)} |
|||
} |
|||
.layui-m-layer2 .layui-m-layercont i{-webkit-animation: layui-m-anim-loading 1.4s infinite ease-in-out; animation: layui-m-anim-loading 1.4s infinite ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both;} |
|||
|
|||
.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0; -webkit-animation-delay: -.32s; animation-delay: -.32s;} |
|||
.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay: -.16s; animation-delay: -.16s;} |
|||
.layui-m-layer2 .layui-m-layercont>div{line-height:22px; padding-top:7px; margin-bottom:20px; font-size: 14px;} |
|||
.layui-m-layerbtn{display: box; display: -moz-box; display: -webkit-box; width: 100%; position:relative; height: 50px; line-height: 50px; font-size: 0; text-align:center; border-top:1px solid #D0D0D0; background-color: #F2F2F2; border-radius: 0 0 5px 5px;} |
|||
.layui-m-layerbtn span{position:relative; display: block; -moz-box-flex: 1; box-flex: 1; -webkit-box-flex: 1; text-align:center; font-size:14px; border-radius: 0 0 5px 5px; cursor:pointer;} |
|||
.layui-m-layerbtn span[yes]{color: #40AFFE;} |
|||
.layui-m-layerbtn span[no]{border-right: 1px solid #D0D0D0; border-radius: 0 0 0 5px;} |
|||
.layui-m-layerbtn span:active{background-color: #F6F6F6;} |
|||
.layui-m-layerend{position:absolute; right:7px; top:10px; width:30px; height:30px; border: 0; font-weight:400; background: transparent; cursor: pointer; -webkit-appearance: none; font-size:30px;} |
|||
.layui-m-layerend::before, .layui-m-layerend::after{position:absolute; left:5px; top:15px; content:''; width:18px; height:1px; background-color:#999; transform:rotate(45deg); -webkit-transform:rotate(45deg); border-radius: 3px;} |
|||
.layui-m-layerend::after{transform:rotate(-45deg); -webkit-transform:rotate(-45deg);} |
|||
|
|||
/* 底部对话框风格 */ |
|||
body .layui-m-layer .layui-m-layer-footer{position: fixed; width: 95%; max-width: 100%; margin: 0 auto; left:0; right: 0; bottom: 10px; background: none;} |
|||
.layui-m-layer-footer .layui-m-layercont{padding: 20px; border-radius: 5px 5px 0 0; background-color: rgba(255,255,255,.8);} |
|||
.layui-m-layer-footer .layui-m-layerbtn{display: block; height: auto; background: none; border-top: none;} |
|||
.layui-m-layer-footer .layui-m-layerbtn span{background-color: rgba(255,255,255,.8);} |
|||
.layui-m-layer-footer .layui-m-layerbtn span[no]{color: #FD482C; border-top: 1px solid #c2c2c2; border-radius: 0 0 5px 5px;} |
|||
.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top: 10px; border-radius: 5px;} |
|||
|
|||
/* 通用提示 */ |
|||
body .layui-m-layer .layui-m-layer-msg{width: auto; max-width: 90%; margin: 0 auto; bottom: -150px; background-color: rgba(0,0,0,.7); color: #fff;} |
|||
.layui-m-layer-msg .layui-m-layercont{padding: 10px 20px;} |
|||
|
|||
|
|||
|
|||
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 701 B |
|
After Width: | Height: | Size: 1.7 KiB |
@ -0,0 +1,164 @@ |
|||
/*! |
|||
|
|||
@Name: layer's style |
|||
@Author: 贤心 |
|||
@Blog: sentsin.com |
|||
|
|||
*/.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap} |
|||
*html{background-image:url(about:blank);background-attachment:fixed} |
|||
html #layui_layer_skinlayercss{display:none;position:absolute;width:1989px} |
|||
.layui-layer,.layui-layer-shade{position:fixed;pointer-events:auto} |
|||
.layui-layer-shade{top:0;left:0;width:100%;height:100%} |
|||
.layui-layer{top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;box-shadow:1px 1px 50px rgba(0,0,0,.3);border-radius:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s} |
|||
.layui-layer-close{position:absolute} |
|||
.layui-layer-content{position:relative} |
|||
.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.3);box-shadow:1px 1px 5px rgba(0,0,0,.2)} |
|||
.layui-layer-moves{position:absolute;border:3px solid #666;border:3px solid rgba(0,0,0,.5);cursor:move;background-color:#fff;background-color:rgba(255,255,255,.3);filter:alpha(opacity=50)} |
|||
.layui-layer-load{background:url(default/loading-0.gif) center center no-repeat #fff} |
|||
.layui-layer-ico{background:url(default/icon.png) no-repeat} |
|||
.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;vertical-align:top} |
|||
@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)} |
|||
100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)} |
|||
} |
|||
@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)} |
|||
100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} |
|||
} |
|||
.layer-anim{-webkit-animation-name:bounceIn;animation-name:bounceIn} |
|||
@-webkit-keyframes bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)} |
|||
30%{-webkit-transform:scale(1.03);transform:scale(1.03)} |
|||
0%{-webkit-transform:scale(1);transform:scale(1)} |
|||
} |
|||
@keyframes bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)} |
|||
30%{-webkit-transform:scale(1.03);-ms-transform:scale(1.03);transform:scale(1.03)} |
|||
0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)} |
|||
} |
|||
.layer-anim-close{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.2s;animation-duration:.2s} |
|||
@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out} |
|||
60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out} |
|||
} |
|||
@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out} |
|||
60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out} |
|||
} |
|||
.layer-anim-01{-webkit-animation-name:zoomInDown;animation-name:zoomInDown} |
|||
@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)} |
|||
100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)} |
|||
} |
|||
@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)} |
|||
100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)} |
|||
} |
|||
.layer-anim-02{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig} |
|||
@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out} |
|||
60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out} |
|||
} |
|||
@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out} |
|||
60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out} |
|||
} |
|||
.layer-anim-03{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft} |
|||
@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)} |
|||
100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)} |
|||
} |
|||
@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)} |
|||
100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)} |
|||
} |
|||
.layer-anim-04{-webkit-animation-name:rollIn;animation-name:rollIn} |
|||
@keyframes fadeIn{0%{opacity:0} |
|||
100%{opacity:1} |
|||
} |
|||
.layer-anim-05{-webkit-animation-name:fadeIn;animation-name:fadeIn} |
|||
@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)} |
|||
10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)} |
|||
20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)} |
|||
} |
|||
@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)} |
|||
10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)} |
|||
20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)} |
|||
} |
|||
.layer-anim-06{-webkit-animation-name:shake;animation-name:shake} |
|||
@-webkit-keyframes fadeIn{0%{opacity:0} |
|||
100%{opacity:1} |
|||
} |
|||
.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0} |
|||
.layui-layer-setwin{position:absolute;right:15px;top:15px;font-size:0;line-height:initial} |
|||
.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px} |
|||
.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer} |
|||
.layui-layer-setwin .layui-layer-min:hover cite{background-color:#8e2609} |
|||
.layui-layer-setwin .layui-layer-max{background-position:-32px -40px} |
|||
.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px} |
|||
.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px} |
|||
.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px} |
|||
.layui-layer-setwin .layui-layer-close1{background-position:0 -40px;cursor:pointer} |
|||
.layui-layer-setwin .layui-layer-close1:hover{opacity:.7} |
|||
.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px} |
|||
.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px} |
|||
.layui-layer-btn{text-align:right;padding:0 10px 12px;pointer-events:auto} |
|||
.layui-layer-btn a{height:28px;line-height:28px;margin:0 6px;padding:0 15px;border:1px solid #dedede;background-color:#f1f1f1;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none} |
|||
.layui-layer-btn a:hover{opacity:.9;text-decoration:none} |
|||
.layui-layer-btn a:active{opacity:.7} |
|||
.layui-layer-btn .layui-layer-btn0{border-color:#930;background-color:#8e2609;color:#fff} |
|||
.layui-layer-dialog{min-width:260px} |
|||
.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;font-size:14px;overflow:auto} |
|||
.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;width:30px;height:30px} |
|||
.layui-layer-ico1{background-position:-30px 0} |
|||
.layui-layer-ico2{background-position:-60px 0} |
|||
.layui-layer-ico3{background-position:-90px 0} |
|||
.layui-layer-ico4{background-position:-120px 0} |
|||
.layui-layer-ico5{background-position:-150px 0} |
|||
.layui-layer-ico6{background-position:-180px 0} |
|||
.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none} |
|||
.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none} |
|||
.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none} |
|||
.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center} |
|||
.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left} |
|||
.layui-layer-page .layui-layer-content{position:relative;overflow:auto} |
|||
.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px} |
|||
.layui-layer-nobg{background:0 0} |
|||
.layui-layer-iframe .layui-layer-content{overflow:hidden} |
|||
.layui-layer-iframe iframe{display:block;width:100%} |
|||
.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none} |
|||
.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(default/loading-0.gif) no-repeat} |
|||
.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(default/loading-1.gif) no-repeat} |
|||
.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(default/loading-2.gif) no-repeat} |
|||
.layui-layer-tips{background:0 0;box-shadow:none;border:none} |
|||
.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:5px 10px;font-size:12px;border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,.3);background-color:#F90;color:#fff} |
|||
.layui-layer-tips .layui-layer-close{right:-2px;top:-1px} |
|||
.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed} |
|||
.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#F90} |
|||
.layui-layer-tips i.layui-layer-TipsT{bottom:-8px} |
|||
.layui-layer-tips i.layui-layer-TipsB{top:-8px} |
|||
.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:1px;border-bottom-style:solid;border-bottom-color:#F90} |
|||
.layui-layer-tips i.layui-layer-TipsR{left:-8px} |
|||
.layui-layer-tips i.layui-layer-TipsL{right:-8px} |
|||
.layui-layer-lan[type=dialog]{min-width:280px} |
|||
.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none} |
|||
.layui-layer-lan .layui-layer-btn{padding:10px;text-align:right;border-top:1px solid #E9E7E7} |
|||
.layui-layer-lan .layui-layer-btn a{background:#BBB5B5;border:none} |
|||
.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5} |
|||
.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none} |
|||
.layui-layer-molv .layui-layer-btn a{background:#009f95} |
|||
.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1} |
|||
.layui-layer-iconext{background:url(default/icon-ext.png) no-repeat} |
|||
.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333} |
|||
.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px} |
|||
.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)} |
|||
.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible} |
|||
.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden} |
|||
.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10} |
|||
.layui-layer-tab .layui-layer-title span:first-child{border-left:none} |
|||
.layui-layer-tabmain{line-height:24px;clear:both} |
|||
.layui-layer-tabmain .layui-layer-tabli{display:none} |
|||
.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block} |
|||
.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer} |
|||
.layui-layer-photos{-webkit-animation-duration:1s;animation-duration:1s} |
|||
.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center} |
|||
.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;vertical-align:top} |
|||
.layui-layer-imgbar,.layui-layer-imguide{display:none} |
|||
.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())} |
|||
.layui-layer-imgprev{left:10px;background-position:-5px -5px} |
|||
.layui-layer-imgprev:hover{background-position:-33px -5px} |
|||
.layui-layer-imgnext{right:10px;background-position:-5px -50px} |
|||
.layui-layer-imgnext:hover{background-position:-33px -50px} |
|||
.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0} |
|||
.layui-layer-imgtit *{display:inline-block;vertical-align:top;font-size:12px} |
|||
.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff} |
|||
.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline} |
|||
.layui-layer-imgtit em{padding-left:10px;font-style:normal} |
|||
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,181 @@ |
|||
/** |
|||
|
|||
@Name: layer |
|||
@Author: 贤心 |
|||
|
|||
**/ |
|||
|
|||
/* *html{background-image: url(about:blank); background-attachment: fixed;} */ |
|||
html #layuicss-layer{display: none; position: absolute; width: 1989px;} |
|||
|
|||
/* common */ |
|||
.layui-layer-shade, .layui-layer{position:fixed; _position:absolute; pointer-events: auto;} |
|||
.layui-layer-shade{top:0; left:0; width:100%; height:100%; _height:expression(document.body.offsetHeight+"px");} |
|||
.layui-layer{-webkit-overflow-scrolling: touch;} |
|||
.layui-layer{top:150px; left: 0; margin:0; padding:0; background-color:#fff; -webkit-background-clip: content; border-radius: 2px; box-shadow: 1px 1px 50px rgba(0,0,0,.3);} |
|||
.layui-layer-close{position:absolute;} |
|||
.layui-layer-content{position:relative;} |
|||
.layui-layer-border{border: 1px solid #B2B2B2; border: 1px solid rgba(0,0,0,.1); box-shadow: 1px 1px 5px rgba(0,0,0,.2);} |
|||
.layui-layer-load{background:url(loading-1.gif) #eee center center no-repeat;} |
|||
.layui-layer-ico{ background:url(icon.png) no-repeat;} |
|||
.layui-layer-dialog .layui-layer-ico, |
|||
.layui-layer-setwin a, |
|||
.layui-layer-btn a{display:inline-block; *display:inline; *zoom:1; vertical-align:top;} |
|||
|
|||
.layui-layer-move{display: none; position: fixed; *position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; cursor: move; opacity: 0; filter:alpha(opacity=0); background-color: #fff; z-index: 2147483647;} |
|||
.layui-layer-resize{position: absolute; width: 15px; height: 15px; right: 0; bottom: 0; cursor: se-resize;} |
|||
|
|||
/* 动画 */ |
|||
.layer-anim{-webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration:.3s; animation-duration:.3s;} |
|||
|
|||
@-webkit-keyframes layer-bounceIn { /* 默认 */ |
|||
0% {opacity: 0; -webkit-transform: scale(.5); transform: scale(.5)} |
|||
100% {opacity: 1; -webkit-transform: scale(1); transform: scale(1)} |
|||
} |
|||
@keyframes layer-bounceIn { |
|||
0% {opacity: 0; -webkit-transform: scale(.5); -ms-transform: scale(.5); transform: scale(.5)} |
|||
100% {opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1)} |
|||
} |
|||
.layer-anim-00{-webkit-animation-name: layer-bounceIn;animation-name: layer-bounceIn} |
|||
|
|||
@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown} |
|||
|
|||
@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig} |
|||
|
|||
@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft} |
|||
|
|||
@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg);-ms-transform:translateX(0px) rotate(0deg);transform:translateX(0px) rotate(0deg)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn} |
|||
|
|||
@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn} |
|||
|
|||
@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}} |
|||
|
|||
/* 标题栏 */ |
|||
.layui-layer-title{padding:0 80px 0 20px; height:42px; line-height:42px; border-bottom:1px solid #eee; font-size:14px; color:#333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background-color: #F8F8F8; border-radius: 2px 2px 0 0;} |
|||
.layui-layer-setwin{position:absolute; right:15px; *right:0; top:15px; font-size:0; line-height: initial;} |
|||
.layui-layer-setwin a{position:relative; width: 16px; height:16px; margin-left:10px; font-size:12px; _overflow:hidden;} |
|||
.layui-layer-setwin .layui-layer-min cite{position:absolute; width:14px; height:2px; left:0; top:50%; margin-top:-1px; background-color:#2E2D3C; cursor:pointer; _overflow:hidden;} |
|||
.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA; } |
|||
.layui-layer-setwin .layui-layer-max{background-position:-32px -40px;} |
|||
.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px;} |
|||
.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px;} |
|||
.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px;} |
|||
.layui-layer-setwin .layui-layer-close1{background-position: 1px -40px; cursor: pointer;} |
|||
.layui-layer-setwin .layui-layer-close1:hover{opacity:0.7;} |
|||
.layui-layer-setwin .layui-layer-close2{position:absolute; right:-28px; top:-28px; width:30px; height:30px; margin-left:0; background-position:-149px -31px; *right:-18px; _display:none;} |
|||
.layui-layer-setwin .layui-layer-close2:hover{ background-position:-180px -31px;} |
|||
|
|||
/* 按钮栏 */ |
|||
.layui-layer-btn{text-align: right; padding: 0 15px 12px; pointer-events: auto; user-select: none; -webkit-user-select: none;} |
|||
.layui-layer-btn a{height: 28px; line-height: 28px; margin: 5px 5px 0; padding: 0 15px; border: 1px solid #dedede; background-color:#fff; color: #333; border-radius: 2px; font-weight:400; cursor:pointer; text-decoration: none;} |
|||
.layui-layer-btn a:hover{opacity: 0.9; text-decoration: none;} |
|||
.layui-layer-btn a:active{opacity: 0.8;} |
|||
.layui-layer-btn .layui-layer-btn0{border-color: #1E9FFF; background-color: #1E9FFF; color:#fff;} |
|||
.layui-layer-btn-l{text-align: left;} |
|||
.layui-layer-btn-c{text-align: center;} |
|||
|
|||
/* 定制化 */ |
|||
.layui-layer-dialog{min-width:260px;} |
|||
.layui-layer-dialog .layui-layer-content{position: relative; padding:20px; line-height:24px; word-break: break-all; overflow:hidden; font-size:14px; overflow-x: hidden; overflow-y:auto;} |
|||
.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute; top:16px; left:15px; _left:-40px; width:30px; height:30px;} |
|||
.layui-layer-ico1{background-position:-30px 0 } |
|||
.layui-layer-ico2{background-position:-60px 0;} |
|||
.layui-layer-ico3{background-position:-90px 0;} |
|||
.layui-layer-ico4{background-position:-120px 0;} |
|||
.layui-layer-ico5{background-position:-150px 0;} |
|||
.layui-layer-ico6{background-position:-180px 0;} |
|||
.layui-layer-rim{border:6px solid #8D8D8D; border:6px solid rgba(0,0,0,.3); border-radius:5px; box-shadow: none;} |
|||
.layui-layer-msg{min-width:180px; border:1px solid #D3D4D3; box-shadow: none;} |
|||
.layui-layer-hui{min-width:100px; background-color: #000; filter:alpha(opacity=60); background-color: rgba(0,0,0,0.6); color: #fff; border:none;} |
|||
.layui-layer-hui .layui-layer-content{padding:12px 25px; text-align:center;} |
|||
.layui-layer-dialog .layui-layer-padding{padding: 20px 20px 20px 55px; text-align: left;} |
|||
.layui-layer-page .layui-layer-content{position:relative; overflow:auto;} |
|||
.layui-layer-page .layui-layer-btn,.layui-layer-iframe .layui-layer-btn{padding-top:10px;} |
|||
.layui-layer-nobg{background:none;} |
|||
.layui-layer-iframe iframe{display: block; width: 100%;} |
|||
|
|||
.layui-layer-loading{border-radius:100%; background:none; box-shadow:none; border:none;} |
|||
.layui-layer-loading .layui-layer-content{width:60px; height:24px; background:url(loading-0.gif) no-repeat;} |
|||
.layui-layer-loading .layui-layer-loading1{width:37px; height:37px; background:url(loading-1.gif) no-repeat;} |
|||
.layui-layer-loading .layui-layer-loading2, .layui-layer-ico16{width:32px; height:32px; background:url(loading-2.gif) no-repeat;} |
|||
.layui-layer-tips{background: none; box-shadow:none; border:none;} |
|||
.layui-layer-tips .layui-layer-content{position: relative; line-height: 22px; min-width: 12px; padding: 8px 15px; font-size: 12px; _float:left; border-radius: 2px; box-shadow: 1px 1px 3px rgba(0,0,0,.2); background-color: #000; color: #fff;} |
|||
.layui-layer-tips .layui-layer-close{right:-2px; top:-1px;} |
|||
.layui-layer-tips i.layui-layer-TipsG{ position:absolute; width:0; height:0; border-width:8px; border-color:transparent; border-style:dashed; *overflow:hidden;} |
|||
.layui-layer-tips i.layui-layer-TipsT, .layui-layer-tips i.layui-layer-TipsB{left:5px; border-right-style:solid; border-right-color: #000;} |
|||
.layui-layer-tips i.layui-layer-TipsT{bottom:-8px;} |
|||
.layui-layer-tips i.layui-layer-TipsB{top:-8px;} |
|||
.layui-layer-tips i.layui-layer-TipsR, .layui-layer-tips i.layui-layer-TipsL{top: 5px; border-bottom-style:solid; border-bottom-color: #000;} |
|||
.layui-layer-tips i.layui-layer-TipsR{left:-8px;} |
|||
.layui-layer-tips i.layui-layer-TipsL{right:-8px;} |
|||
|
|||
/* skin */ |
|||
.layui-layer-lan[type="dialog"]{min-width:280px;} |
|||
.layui-layer-lan .layui-layer-title{background:#4476A7; color:#fff; border: none;} |
|||
.layui-layer-lan .layui-layer-btn{padding: 5px 10px 10px; text-align: right; border-top:1px solid #E9E7E7} |
|||
.layui-layer-lan .layui-layer-btn a{background: #fff; border-color: #E9E7E7; color: #333;} |
|||
.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5;} |
|||
.layui-layer-molv .layui-layer-title{background: #009f95; color:#fff; border: none;} |
|||
.layui-layer-molv .layui-layer-btn a{background: #009f95; border-color: #009f95;} |
|||
.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1;} |
|||
|
|||
|
|||
/** |
|||
|
|||
@Name: layer拓展样式 |
|||
|
|||
*/ |
|||
|
|||
.layui-layer-iconext{background:url(icon-ext.png) no-repeat;} |
|||
|
|||
/* prompt模式 */ |
|||
.layui-layer-prompt .layui-layer-input{display: block; width: 230px; height: 36px; margin: 0 auto; line-height: 30px; padding-left: 10px; border: 1px solid #e6e6e6; color: #333;} |
|||
.layui-layer-prompt textarea.layui-layer-input{width: 300px; height: 100px; line-height: 20px; padding: 6px 10px;} |
|||
.layui-layer-prompt .layui-layer-content{padding: 20px;} |
|||
.layui-layer-prompt .layui-layer-btn{padding-top: 0;} |
|||
|
|||
/* tab模式 */ |
|||
.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4);} |
|||
.layui-layer-tab .layui-layer-title{padding-left:0; overflow: visible;} |
|||
.layui-layer-tab .layui-layer-title span{position:relative; float:left; min-width:80px; max-width:260px; padding:0 20px; text-align:center; cursor:default; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; cursor: pointer;} |
|||
.layui-layer-tab .layui-layer-title span.layui-this{height: 43px; border-left: 1px solid #eee; border-right: 1px solid #eee; background-color: #fff; z-index: 10;} |
|||
.layui-layer-tab .layui-layer-title span:first-child{border-left:none;} |
|||
.layui-layer-tabmain{line-height:24px; clear:both;} |
|||
.layui-layer-tabmain .layui-layer-tabli{display:none;} |
|||
.layui-layer-tabmain .layui-layer-tabli.layui-this{display: block;} |
|||
|
|||
/* photo模式 */ |
|||
.layui-layer-photos{-webkit-animation-duration: .8s; animation-duration: .8s;} |
|||
.layui-layer-photos .layui-layer-content{overflow:hidden; text-align: center;} |
|||
.layui-layer-photos .layui-layer-phimg img{position: relative; width:100%; display: inline-block; *display:inline; *zoom:1; vertical-align:top;} |
|||
.layui-layer-imguide,.layui-layer-imgbar{display:none;} |
|||
.layui-layer-imgprev, .layui-layer-imgnext{position:absolute; top:50%; width:27px; _width:44px; height:44px; margin-top:-22px; outline:none;blr:expression(this.onFocus=this.blur());} |
|||
.layui-layer-imgprev{left:10px; background-position:-5px -5px; _background-position:-70px -5px;} |
|||
.layui-layer-imgprev:hover{background-position:-33px -5px; _background-position:-120px -5px;} |
|||
.layui-layer-imgnext{right:10px; _right:8px; background-position:-5px -50px; _background-position:-70px -50px;} |
|||
.layui-layer-imgnext:hover{background-position:-33px -50px; _background-position:-120px -50px;} |
|||
.layui-layer-imgbar{position:absolute; left:0; bottom:0; width:100%; height:32px; line-height:32px; background-color:rgba(0,0,0,.8); background-color:#000\9; filter:Alpha(opacity=80); color:#fff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; font-size:0;} |
|||
.layui-layer-imgtit{/*position:absolute; left:20px;*/} |
|||
.layui-layer-imgtit *{display:inline-block; *display:inline; *zoom:1; vertical-align:top; font-size:12px;} |
|||
.layui-layer-imgtit a{max-width:65%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; color:#fff;} |
|||
.layui-layer-imgtit a:hover{color:#fff; text-decoration:underline;} |
|||
.layui-layer-imgtit em{padding-left:10px; font-style: normal;} |
|||
|
|||
/* 关闭动画 */ |
|||
@-webkit-keyframes layer-bounceOut { |
|||
100% {opacity: 0; -webkit-transform: scale(.7); transform: scale(.7)} |
|||
30% {-webkit-transform: scale(1.05); transform: scale(1.05)} |
|||
0% {-webkit-transform: scale(1); transform: scale(1);} |
|||
} |
|||
@keyframes layer-bounceOut { |
|||
100% {opacity: 0; -webkit-transform: scale(.7); -ms-transform: scale(.7); transform: scale(.7);} |
|||
30% {-webkit-transform: scale(1.05); -ms-transform: scale(1.05); transform: scale(1.05);} |
|||
0% {-webkit-transform: scale(1); -ms-transform: scale(1);transform: scale(1);} |
|||
} |
|||
.layer-anim-close{-webkit-animation-name: layer-bounceOut; animation-name: layer-bounceOut; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-duration:.2s; animation-duration:.2s;} |
|||
|
|||
@media screen and (max-width: 1100px) { |
|||
.layui-layer-iframe{overflow-y: auto; -webkit-overflow-scrolling: touch;} |
|||
} |
|||
|
|||
|
|||
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 701 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
@ -0,0 +1,140 @@ |
|||
/* |
|||
* layer皮肤 |
|||
* |
|||
*/ |
|||
|
|||
html #layui_layer_skinmoonstylecss { |
|||
display: none; |
|||
position: absolute; |
|||
width: 1989px; |
|||
} |
|||
|
|||
body .layer-ext-moon[type="dialog"] { |
|||
min-width: 320px; |
|||
} |
|||
body .layer-ext-moon-msg[type="dialog"]{min-width:200px;} |
|||
body .layer-ext-moon .layui-layer-title { |
|||
background: #f6f6f6; |
|||
color: #212a31; |
|||
font-size: 16px; |
|||
font-weight: bold; |
|||
height: 46px; |
|||
line-height: 46px; |
|||
border-bottom: 1px solid #D5D5D5; |
|||
} |
|||
|
|||
|
|||
|
|||
body .layer-ext-moon .layui-layer-content .layui-layer-ico { |
|||
height: 32px; |
|||
width: 32px; |
|||
top:18.5px; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico0 { |
|||
background: url(default.png) no-repeat -96px 0; |
|||
; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico1 { |
|||
background: url(default.png) no-repeat -224px 0; |
|||
; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico2 { |
|||
background: url(default.png) no-repeat -192px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico3 { |
|||
background: url(default.png) no-repeat -160px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico4 { |
|||
background: url(default.png) no-repeat -320px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico5 { |
|||
background: url(default.png) no-repeat -288px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico6 { |
|||
background: url(default.png) -256px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-ico7 { |
|||
background: url(default.png) no-repeat -128px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin { |
|||
top: 15px; |
|||
right: 15px; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin a { |
|||
width: 16px; |
|||
height: 16px; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin .layui-layer-min cite:hover { |
|||
background-color: #56abe4; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin .layui-layer-max { |
|||
background: url(default.png) no-repeat -80px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin .layui-layer-max:hover { |
|||
background: url(default.png) no-repeat -64px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin { |
|||
background: url(default.png) no-repeat -32px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin:hover { |
|||
background: url(default.png) no-repeat -16px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin .layui-layer-close1,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2 { |
|||
background: url(default.png) 0 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-setwin .layui-layer-close1:hover,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2:hover { |
|||
background: url(default.png) -48px 0; |
|||
} |
|||
body .layer-ext-moon .layui-layer-padding{padding-top: 24px;} |
|||
body .layer-ext-moon .layui-layer-btn { |
|||
text-align: center; |
|||
padding-top: 15px; |
|||
padding-bottom:15px; |
|||
background: #f0f4f7; |
|||
border-top: 1px #c7c7c7 solid; |
|||
} |
|||
body .layer-ext-moon .layui-layer-btn a { |
|||
font-size: 12px; |
|||
font-weight: normal; |
|||
margin: 0 3px; |
|||
margin-right: 7px; |
|||
margin-left: 7px; |
|||
padding: 6px 20px; |
|||
color: #fff; |
|||
border: 1px solid #0064b6; |
|||
background: #0071ce; |
|||
border-radius: 3px; |
|||
display: inline-block; |
|||
height: 20px; |
|||
line-height: 20px; |
|||
text-align: center; |
|||
vertical-align: middle; |
|||
background-repeat: no-repeat; |
|||
text-decoration: none; |
|||
outline: none; |
|||
} |
|||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn0 { |
|||
background: #0071ce; |
|||
} |
|||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn1 { |
|||
background: #fff; |
|||
color: #404a58; |
|||
border: 1px solid #c0c4cd; |
|||
border-radius: 3px; |
|||
} |
|||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn2 { |
|||
background: #f60; |
|||
color: #fff; |
|||
border: 1px solid #f60; |
|||
border-radius: 3px; |
|||
} |
|||
body .layer-ext-moon .layui-layer-btn .layui-layer-btn3 { |
|||
background: #f00; |
|||
color: #fff; |
|||
border: 1px solid #f00; |
|||
border-radius: 3px; |
|||
} |
|||
|
|||
body .layer-ext-moon .layui-layer-title span.layui-layer-tabnow{ |
|||
height:47px; |
|||
} |
|||
@ -0,0 +1,33 @@ |
|||
/* ################################################################## */ |
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GLOBAL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ |
|||
/* ################################################################## */ |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECTMANIA ELEMENT */ |
|||
|
|||
.select-mania-theme-darkblue .select-mania-inner { border:1px solid #D6D6D6; } |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECTED VALUES */ |
|||
|
|||
.select-mania-theme-darkblue.select-mania.select-mania-multiple .select-mania-value { |
|||
border: 1px solid #336AB2; |
|||
|
|||
background-color: #336AB2; |
|||
color: white; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DROPDOWN */ |
|||
|
|||
.select-mania-theme-darkblue .select-mania { border:1px solid #D6D6D6; } |
|||
|
|||
|
|||
.select-mania-theme-darkblue .select-mania-search-input { |
|||
border:1px solid #D6D6D6; |
|||
color: #5A5A5A; |
|||
} |
|||
|
|||
.select-mania-theme-darkblue .select-mania-item:hover { background:#D4DFEF; } |
|||
|
|||
.select-mania-theme-darkblue .select-mania-item.select-mania-selected { |
|||
background: #336AB2; |
|||
color: white; |
|||
} |
|||
@ -0,0 +1,794 @@ |
|||
/* ################################################################## */ |
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICONES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ |
|||
/* ################################################################## */ |
|||
|
|||
@charset "UTF-8"; |
|||
|
|||
@font-face { |
|||
font-family: "select-mania-font"; |
|||
src:url("./select-mania-font.eot"); |
|||
src:url("./select-mania-font.eot?#iefix") format("embedded-opentype"), |
|||
url("./select-mania-font.woff") format("woff"), |
|||
url("./select-mania-font.ttf") format("truetype"), |
|||
url("./select-mania-font.svg#select-mania-font") format("svg"); |
|||
font-weight: normal; |
|||
font-style: normal; |
|||
} |
|||
|
|||
.select-mania [data-icon]:before { |
|||
font-family: "select-mania-font" !important; |
|||
content: attr(data-icon); |
|||
font-style: normal !important; |
|||
font-weight: normal !important; |
|||
font-variant: normal !important; |
|||
text-transform: none !important; |
|||
speak: none; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
|
|||
.select-mania [class^="icon-"], |
|||
.select-mania [class*=" icon-"] { |
|||
display:inline-block; |
|||
} |
|||
.select-mania [class^="icon-"]:before, |
|||
.select-mania [class*=" icon-"]:before { |
|||
font-family: "select-mania-font" !important; |
|||
font-style: normal !important; |
|||
font-weight: normal !important; |
|||
font-variant: normal !important; |
|||
text-transform: none !important; |
|||
speak: none; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
|
|||
.select-mania .icon-arrow-down:before { |
|||
content: "\61"; |
|||
} |
|||
.select-mania .icon-cross:before { |
|||
content: "\63"; |
|||
} |
|||
.select-mania .icon-loading:before { |
|||
content: "\6c"; |
|||
} |
|||
|
|||
@-webkit-keyframes rotating { |
|||
from { |
|||
-webkit-transform: rotate(0deg); |
|||
-o-transform: rotate(0deg); |
|||
transform: rotate(0deg); |
|||
} |
|||
to { |
|||
-webkit-transform: rotate(360deg); |
|||
-o-transform: rotate(360deg); |
|||
transform: rotate(360deg); |
|||
} |
|||
} |
|||
@keyframes rotating { |
|||
from { |
|||
-ms-transform: rotate(0deg); |
|||
-moz-transform: rotate(0deg); |
|||
-webkit-transform: rotate(0deg); |
|||
-o-transform: rotate(0deg); |
|||
transform: rotate(0deg); |
|||
} |
|||
to { |
|||
-ms-transform: rotate(360deg); |
|||
-moz-transform: rotate(360deg); |
|||
-webkit-transform: rotate(360deg); |
|||
-o-transform: rotate(360deg); |
|||
transform: rotate(360deg); |
|||
} |
|||
} |
|||
|
|||
.select-mania .icon-loading-container { |
|||
display:inline-block; |
|||
width:32px; |
|||
height:32px; |
|||
position:absolute; |
|||
top:0; |
|||
bottom:0; |
|||
left:0; |
|||
right:0; |
|||
margin:auto; |
|||
font-size:2rem; |
|||
} |
|||
.select-mania .icon-loading-container .icon-loading { |
|||
width:32px; |
|||
height:32px; |
|||
-webkit-animation: rotating 2s linear infinite; |
|||
-moz-animation: rotating 2s linear infinite; |
|||
-ms-animation: rotating 2s linear infinite; |
|||
-o-animation: rotating 2s linear infinite; |
|||
animation: rotating 2s linear infinite; |
|||
} |
|||
|
|||
/* ################################################################## */ |
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GLOBAL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ |
|||
/* ################################################################## */ |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ORIGINAL SELECT */ |
|||
|
|||
.select-mania-original { |
|||
border:0 !important; |
|||
clip:rect(0 0 0 0) !important; |
|||
margin:0 !important; |
|||
overflow:hidden !important; |
|||
padding:0 !important; |
|||
position:absolute !important; |
|||
top:0 !important; |
|||
left:0 !important; |
|||
width:100% !important; |
|||
height:100% !important; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECTMANIA ELEMENT */ |
|||
|
|||
.select-mania { |
|||
display:inline-block; |
|||
position:relative; |
|||
width:100%; |
|||
margin:auto; |
|||
background:white; |
|||
vertical-align:middle; |
|||
border-radius:4px; |
|||
-webkit-border-radius:4px; |
|||
-moz-border-radius:4px; |
|||
} |
|||
|
|||
.select-mania, |
|||
.select-mania *, |
|||
.select-mania-dropdown, |
|||
.select-mania-dropdown * { |
|||
box-sizing:border-box !important; |
|||
} |
|||
|
|||
.select-mania, |
|||
.select-mania *:not(.select-mania-search-input) { |
|||
-webkit-touch-callout: none; |
|||
-webkit-user-select: none; |
|||
-khtml-user-select: none; |
|||
-moz-user-select: none; |
|||
-ms-user-select: none; |
|||
user-select: none; |
|||
} |
|||
|
|||
.select-mania-inner { |
|||
width:100%; |
|||
min-height:42px; |
|||
font-size:0; |
|||
padding:6px; |
|||
border:1px solid #D6D6D6; |
|||
border-radius:4px; |
|||
-webkit-border-radius:4px; |
|||
-moz-border-radius:4px; |
|||
cursor:pointer; |
|||
} |
|||
.select-mania-inner.select-mania-disabled { |
|||
border-color:#DDDDDD; |
|||
} |
|||
|
|||
.select-mania-values, |
|||
.select-mania-value, |
|||
.select-mania-value-text, |
|||
.select-mania-value-clear, |
|||
.select-mania-clear, |
|||
.select-mania-arrow { |
|||
display:inline-block; |
|||
vertical-align:middle; |
|||
} |
|||
|
|||
.select-mania-hidden { |
|||
display:none !important; |
|||
} |
|||
|
|||
.select-mania-focused { |
|||
-webkit-box-shadow: #047DE2 0 0 4px; |
|||
-moz-box-shadow: #047DE2 0 0 4px; |
|||
box-shadow: #047DE2 0 0 4px; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECTED VALUES */ |
|||
|
|||
.select-mania-values { |
|||
width:calc(100% - 48px); |
|||
min-height:26px; |
|||
padding-right:4px; |
|||
font-size:0; |
|||
text-align:left; |
|||
} |
|||
.select-mania.select-mania-disabled .select-mania-inner { |
|||
color:#CCCCCC; |
|||
} |
|||
|
|||
.select-mania-value { |
|||
width:auto; |
|||
max-width:100%; |
|||
height:26px; |
|||
border-radius: 4px; |
|||
-webkit-border-radius:4px; |
|||
-moz-border-radius:4px; |
|||
margin-top:1px; |
|||
margin-bottom:1px; |
|||
margin-right:4px; |
|||
padding: 0 2px; |
|||
font-size:0; |
|||
} |
|||
.select-mania.select-mania-multiple .select-mania-value { |
|||
border: 1px solid #047DE2; |
|||
background-color: #047DE2; |
|||
color: white; |
|||
} |
|||
|
|||
.select-mania-value-text { |
|||
height:26px; |
|||
padding:4px; |
|||
font-size:1rem; |
|||
text-align:left; |
|||
overflow:hidden; |
|||
text-overflow:ellipsis; |
|||
white-space:nowrap; |
|||
max-width: 100%; |
|||
} |
|||
.select-mania.select-mania-multiple .select-mania-value-text { |
|||
max-width:calc(100% - 22px); |
|||
} |
|||
|
|||
.select-mania-value-clear { |
|||
display:none; |
|||
} |
|||
.select-mania.select-mania-multiple .select-mania-value-clear { |
|||
display:inline-block; |
|||
width:22px; |
|||
height:26px; |
|||
padding:4px; |
|||
font-size:1rem; |
|||
text-align:center; |
|||
} |
|||
.select-mania-value-clear i { |
|||
line-height:18px; |
|||
font-size:0.9rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PLACEHOLDER */ |
|||
|
|||
.select-mania-placeholder { |
|||
display:none; |
|||
width:auto; |
|||
height:26px; |
|||
padding:4px; |
|||
font-size:1rem; |
|||
color:#7F8C8D; |
|||
} |
|||
.select-mania-placeholder:only-child { |
|||
display:inline-block; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CLEAN VALUES ICON */ |
|||
|
|||
.select-mania-clear { |
|||
width:24px; |
|||
font-size:1rem; |
|||
text-align:center; |
|||
color: #EB1F38; |
|||
} |
|||
.select-mania.select-mania-disabled .select-mania-clear { |
|||
color:#CCCCCC; |
|||
} |
|||
.select-mania-clear i { |
|||
font-size:1.1rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARROW ICON */ |
|||
|
|||
.select-mania-arrow { |
|||
width:24px; |
|||
font-size:1rem; |
|||
text-align:center; |
|||
color: #383838; |
|||
} |
|||
.select-mania.select-mania-disabled .select-mania-arrow { |
|||
color:#CCCCCC; |
|||
} |
|||
.select-mania-arrow i { |
|||
font-size:1.1rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DROPDOWN */ |
|||
|
|||
.select-mania-dropdown { |
|||
background:white; |
|||
z-index:9; |
|||
display:none; |
|||
position:absolute; |
|||
top:100%; |
|||
width:100%; |
|||
padding:6px; |
|||
border:1px solid #D6D6D6; |
|||
border-radius:4px; |
|||
-webkit-border-radius:4px; |
|||
-moz-border-radius:4px; |
|||
} |
|||
|
|||
.select-mania-dropdown-search { |
|||
width:100%; |
|||
margin-bottom:6px; |
|||
} |
|||
|
|||
.select-mania-search-input { |
|||
width:100%; |
|||
padding:6px; |
|||
border-radius:4px; |
|||
-webkit-border-radius:4px; |
|||
-moz-border-radius:4px; |
|||
font-size:1rem; |
|||
border:1px solid #D6D6D6; |
|||
color: #5A5A5A; |
|||
outline:none; |
|||
background-image:none; |
|||
background-color:transparent; |
|||
-webkit-box-shadow: none; |
|||
-moz-box-shadow: none; |
|||
box-shadow: none; |
|||
} |
|||
|
|||
.select-mania-items-container { |
|||
position:relative; |
|||
width:100%; |
|||
max-height:200px; |
|||
} |
|||
|
|||
.select-mania-items { |
|||
width:100%; |
|||
max-height:200px; |
|||
overflow-y:auto; |
|||
} |
|||
|
|||
.select-mania-group { |
|||
width:100%; |
|||
} |
|||
|
|||
.select-mania-group.select-mania-disabled { |
|||
color: #D6D6D6; |
|||
} |
|||
|
|||
.select-mania-group-title { |
|||
width:100%; |
|||
padding:6px; |
|||
font-size:1rem; |
|||
font-weight:bold; |
|||
text-align:left; |
|||
} |
|||
|
|||
.select-mania-group-inner { |
|||
width:100%; |
|||
} |
|||
|
|||
.select-mania-item { |
|||
width:100%; |
|||
min-height:20px; |
|||
padding:6px; |
|||
border-radius:4px; |
|||
-webkit-border-radius:4px; |
|||
-moz-border-radius:4px; |
|||
font-size:0; |
|||
cursor:pointer; |
|||
text-align:left; |
|||
} |
|||
.select-mania-item.select-mania-hover { |
|||
background:#E3F1FC; |
|||
} |
|||
.select-mania-item:empty[data-value=""] { |
|||
display:none; |
|||
} |
|||
|
|||
.select-mania-group-icon, |
|||
.select-mania-item-icon { |
|||
width: 20px; |
|||
height: 20px; |
|||
display: inline-block; |
|||
font-size: 1rem; |
|||
text-align: center; |
|||
margin-right: 4px; |
|||
vertical-align: top; |
|||
} |
|||
.select-mania-group-icon i, |
|||
.select-mania-item-icon i { |
|||
width: 20px; |
|||
height: 20px; |
|||
vertical-align: middle; |
|||
} |
|||
|
|||
.select-mania-group-text, |
|||
.select-mania-item-text { |
|||
display: inline-block; |
|||
width: 100%; |
|||
min-height: 20px; |
|||
font-size:1rem; |
|||
vertical-align: top; |
|||
text-align:left; |
|||
} |
|||
.select-mania-group-icon+.select-mania-group-text, |
|||
.select-mania-item-icon+.select-mania-item-text { |
|||
width: calc(100% - 24px); |
|||
} |
|||
|
|||
.select-mania-group-inner .select-mania-item { |
|||
padding-left:18px; |
|||
} |
|||
|
|||
.select-mania-item.select-mania-selected { |
|||
background: #047de2; |
|||
color: white; |
|||
} |
|||
.select-mania.select-mania-multiple .select-mania-item.select-mania-selected { |
|||
display:none; |
|||
} |
|||
|
|||
.select-mania-item.select-mania-disabled { |
|||
color: #D6D6D6; |
|||
} |
|||
.select-mania-item.select-mania-disabled.select-mania-hover { |
|||
background:none; |
|||
} |
|||
|
|||
/* ################################################################## */ |
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ TAILLE TINY ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ |
|||
/* ################################################################## */ |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GLOBAL */ |
|||
|
|||
.select-mania-tiny .select-mania-inner { |
|||
min-height:24px; |
|||
padding:2px; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECTED VALUES */ |
|||
|
|||
.select-mania-tiny .select-mania-values { |
|||
width:calc(100% - 36px); |
|||
min-height:18px; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-value { |
|||
height:16px; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-value-text { |
|||
height:14px; |
|||
padding:0; |
|||
font-size:0.75rem; |
|||
} |
|||
.select-mania-tiny.select-mania-multiple .select-mania-value-text { |
|||
max-width:calc(100% - 14px); |
|||
} |
|||
|
|||
.select-mania.select-mania-multiple.select-mania-tiny .select-mania-value-clear { |
|||
width:14px; |
|||
height:14px; |
|||
padding:0; |
|||
} |
|||
.select-mania-tiny .select-mania-value-clear i { |
|||
line-height:14px; |
|||
font-size:0.75rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PLACEHOLDER */ |
|||
|
|||
.select-mania-tiny .select-mania-placeholder { |
|||
height:16px; |
|||
padding:2px; |
|||
font-size:0.75rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CLEAN VALUES ICON */ |
|||
|
|||
.select-mania-tiny .select-mania-clear { |
|||
width:18px; |
|||
} |
|||
.select-mania-tiny .select-mania-clear i { |
|||
font-size:0.85rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARROW ICON */ |
|||
|
|||
.select-mania-tiny .select-mania-arrow { |
|||
width:18px; |
|||
} |
|||
.select-mania-tiny .select-mania-arrow i { |
|||
font-size:0.85rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DROPDOWN */ |
|||
|
|||
.select-mania-dropdown.select-mania-tiny { |
|||
padding:2px; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-dropdown-search { |
|||
margin-bottom:2px; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-search-input { |
|||
padding:2px; |
|||
font-size:0.75rem; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-item { |
|||
min-height:16px; |
|||
padding:2px; |
|||
font-size:0; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-group-icon, |
|||
.select-mania-tiny .select-mania-item-icon { |
|||
width: 14px; |
|||
height: 14px; |
|||
margin-right: 2px; |
|||
font-size: 0.65rem; |
|||
} |
|||
.select-mania-tiny .select-mania-group-icon i, |
|||
.select-mania-tiny .select-mania-item-icon i { |
|||
width: 14px; |
|||
height: 14px; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-group-text, |
|||
.select-mania-tiny .select-mania-item-text { |
|||
min-height: 14px; |
|||
font-size:0.75rem; |
|||
} |
|||
.select-mania-tiny .select-mania-group-icon+.select-mania-group-text, |
|||
.select-mania-tiny .select-mania-item-icon+.select-mania-item-text { |
|||
width: calc(100% - 19px); |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-group-title { |
|||
padding:2px; |
|||
font-size:0.75rem; |
|||
} |
|||
|
|||
.select-mania-tiny .select-mania-group-inner .select-mania-item { |
|||
padding-left:8px; |
|||
} |
|||
|
|||
/* ################################################################## */ |
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ TAILLE SMALL ~~~~~~~~~~~~~~~~~~~~~~~~~~ */ |
|||
/* ################################################################## */ |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GLOBAL */ |
|||
|
|||
.select-mania-small .select-mania-inner { |
|||
min-height:34px; |
|||
padding:4px; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECTED VALUES */ |
|||
|
|||
.select-mania-small .select-mania-values { |
|||
width:calc(100% - 44px); |
|||
min-height:24px; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-value { |
|||
height:22px; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-value-text { |
|||
height:20px; |
|||
padding:3px; |
|||
font-size:0.8rem; |
|||
} |
|||
.select-mania-small.select-mania-multiple .select-mania-value-text { |
|||
max-width:calc(100% - 20px); |
|||
} |
|||
|
|||
.select-mania.select-mania-multiple.select-mania-small .select-mania-value-clear { |
|||
width:20px; |
|||
height:20px; |
|||
padding:3px; |
|||
} |
|||
.select-mania-small .select-mania-value-clear i { |
|||
line-height:14px; |
|||
font-size:0.9rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PLACEHOLDER */ |
|||
|
|||
.select-mania-small .select-mania-placeholder { |
|||
height:20px; |
|||
padding:4px; |
|||
font-size:0.8rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CLEAN VALUES ICON */ |
|||
|
|||
.select-mania-small .select-mania-clear { |
|||
width:22px; |
|||
} |
|||
.select-mania-small .select-mania-clear i { |
|||
font-size:1rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARROW ICON */ |
|||
|
|||
.select-mania-small .select-mania-arrow { |
|||
width:22px; |
|||
} |
|||
.select-mania-small .select-mania-arrow i { |
|||
font-size:1rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DROPDOWN */ |
|||
|
|||
.select-mania-dropdown.select-mania-small { |
|||
padding:4px; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-dropdown-search { |
|||
margin-bottom:4px; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-search-input { |
|||
padding:4px; |
|||
font-size:0.8rem; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-item { |
|||
min-height:16px; |
|||
padding:4px; |
|||
font-size:0; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-group-icon, |
|||
.select-mania-small .select-mania-item-icon { |
|||
width: 16px; |
|||
height: 16px; |
|||
margin-right: 3px; |
|||
font-size: 0.8rem; |
|||
} |
|||
.select-mania-small .select-mania-group-icon i, |
|||
.select-mania-small .select-mania-item-icon i { |
|||
width: 16px; |
|||
height: 16px; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-group-text, |
|||
.select-mania-small .select-mania-item-text { |
|||
min-height: 16px; |
|||
font-size:0.8rem; |
|||
} |
|||
.select-mania-small .select-mania-group-icon+.select-mania-group-text, |
|||
.select-mania-small .select-mania-item-icon+.select-mania-item-text { |
|||
width: calc(100% - 19px); |
|||
} |
|||
|
|||
.select-mania-small .select-mania-group-title { |
|||
padding:4px; |
|||
font-size:0.8rem; |
|||
} |
|||
|
|||
.select-mania-small .select-mania-group-inner .select-mania-item { |
|||
padding-left:12px; |
|||
} |
|||
|
|||
/* ################################################################## */ |
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ TAILLE LARGE ~~~~~~~~~~~~~~~~~~~~~~~~~~ */ |
|||
/* ################################################################## */ |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GLOBAL */ |
|||
|
|||
.select-mania-large .select-mania-inner { |
|||
min-height:52px; |
|||
padding:8px; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECTED VALUES */ |
|||
|
|||
.select-mania-large .select-mania-values { |
|||
width:calc(100% - 56px); |
|||
min-height:32px; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-value { |
|||
height:32px; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-value-text { |
|||
height:32px; |
|||
padding:4px; |
|||
font-size:1.1rem; |
|||
} |
|||
.select-mania-large.select-mania-multiple .select-mania-value-text { |
|||
max-width:calc(100% - 26px); |
|||
} |
|||
|
|||
.select-mania.select-mania-multiple.select-mania-large .select-mania-value-clear { |
|||
width:26px; |
|||
height:32px; |
|||
padding:4px; |
|||
} |
|||
.select-mania-large .select-mania-value-clear i { |
|||
line-height:24px; |
|||
font-size:1.1rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PLACEHOLDER */ |
|||
|
|||
.select-mania-large .select-mania-placeholder { |
|||
height:32px; |
|||
padding:6px; |
|||
font-size:1.1rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CLEAN VALUES ICON */ |
|||
|
|||
.select-mania-large .select-mania-clear { |
|||
width:28px; |
|||
} |
|||
.select-mania-large .select-mania-clear i { |
|||
font-size:1.2rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARROW ICON */ |
|||
|
|||
.select-mania-large .select-mania-arrow { |
|||
width:28px; |
|||
} |
|||
.select-mania-large .select-mania-arrow i { |
|||
font-size:1.2rem; |
|||
} |
|||
|
|||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DROPDOWN */ |
|||
|
|||
.select-mania-dropdown.select-mania-large { |
|||
padding:8px; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-dropdown-search { |
|||
margin-bottom:8px; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-search-input { |
|||
padding:8px; |
|||
font-size:1.1rem; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-item { |
|||
min-height:24px; |
|||
padding:8px; |
|||
font-size:0; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-group-icon, |
|||
.select-mania-large .select-mania-item-icon { |
|||
width: 22px; |
|||
height: 22px; |
|||
margin-right: 5px; |
|||
font-size: 1.1rem; |
|||
} |
|||
.select-mania-large .select-mania-group-icon i, |
|||
.select-mania-large .select-mania-item-icon i { |
|||
width: 22px; |
|||
height: 22px; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-group-text, |
|||
.select-mania-large .select-mania-item-text { |
|||
min-height: 22px; |
|||
font-size:1.1rem; |
|||
} |
|||
.select-mania-large .select-mania-group-icon+.select-mania-group-text, |
|||
.select-mania-large .select-mania-item-icon+.select-mania-item-text { |
|||
width: calc(100% - 27px); |
|||
} |
|||
|
|||
.select-mania-large .select-mania-group-title { |
|||
padding:8px; |
|||
font-size:1.1rem; |
|||
} |
|||
|
|||
.select-mania-large .select-mania-group-inner .select-mania-item { |
|||
padding-left:24px; |
|||
} |
|||
@ -0,0 +1,353 @@ |
|||
var tool={ |
|||
isInclude:function(name){ |
|||
var js= /js$/i.test(name); |
|||
var es=document.getElementsByTagName(js?'script':'link'); |
|||
for(var i=0;i<es.length;i++) |
|||
if(es[i][js?'src':'href'].indexOf(name)!=-1)return true; |
|||
return false; |
|||
}, |
|||
uploadFile:function(uploadurl,btn,input,callback,show){ |
|||
//插件jquery.fileupload.js
|
|||
jQuery(btn).fileupload({ |
|||
url: uploadurl, |
|||
dataType: 'json', |
|||
done: function (e, data) { |
|||
var file=data.result; |
|||
console.log("============done==============="); |
|||
console.log(file); |
|||
if(file['code']==0){ |
|||
tool.msg(file['msg']); |
|||
}else{ |
|||
var pic=file['data']['path']; |
|||
console.log(input); |
|||
jQuery(input).val(pic); |
|||
if(typeof show=='undefined'||show){ |
|||
if(/.(gif|jpg|jpeg|png|gif|jpg|png)$/.test(pic)){ |
|||
tool.showPic(input,pic); |
|||
} |
|||
} |
|||
if(typeof callback=='function'){ |
|||
callback(input,pic); |
|||
}else{ |
|||
tool.msg(file['msg']); |
|||
} |
|||
} |
|||
}, |
|||
progressall: function (e, data) { |
|||
var progress = parseInt(data.loaded / data.total * 100, 10); |
|||
console.log("============progressall==============="); |
|||
console.log(progress); |
|||
tool.showProcess(input,progress); |
|||
} |
|||
}).bind('fileuploadadd',function(e,data){ |
|||
var file=data['files'][0]; |
|||
var url = null; |
|||
console.log(data); |
|||
if (window.createObjectURL != undefined) { |
|||
url = window.createObjectURL(file); |
|||
} else if (window.URL != undefined) { |
|||
url = window.URL.createObjectURL(file); |
|||
} else if (window.webkitURL != undefined) { |
|||
url = window.webkitURL.createObjectURL(file); |
|||
} |
|||
console.log("============fileuploadadd==============="); |
|||
console.log(url); |
|||
if(typeof show=='undefined'||show){ |
|||
if(/.(gif|jpg|jpeg|png|gif|jpg|png)$/.test(url)){ |
|||
tool.showPic(input,url); |
|||
} |
|||
} |
|||
}).prop('disabled', !$.support.fileInput).parent().addClass($.support.fileInput ? undefined : 'disabled'); |
|||
|
|||
}, |
|||
showPic:function(obj,pic){ |
|||
if(typeof obj=='undefined'||typeof pic=='undefined')return false; |
|||
var obj=jQuery(obj); |
|||
var parent=obj.parents("div:eq(0)"); |
|||
var check=parent.find(".showPic img"); |
|||
console.log("showPic",check,check.length,obj); |
|||
if(check.length){ |
|||
check.attr('src',pic); |
|||
}else{ |
|||
var html='<span class="label showPic"><img src="'+pic+'" class="img-thumbnail" style="max-width:100px !important;"></span>'; |
|||
parent.append(html); |
|||
} |
|||
}, |
|||
showProcess:function(obj,progress){ |
|||
if(typeof obj=='undefined'||typeof progress=='undefined')return false; |
|||
var obj=jQuery(obj); |
|||
var parent=obj.parent("div"); |
|||
var child=parent.find(".showProcessTxt"); |
|||
if(child.length){ |
|||
// child.find(".progress-bar").css({width:progress+'%'});
|
|||
parent.find(".showProcessTxt").html(progress+'%'); |
|||
}else{ |
|||
//parent.append('<div class="progress xs progress-striped active showProcess" style="width:140px;display: inline-block;margin-bottom:0px;"><div class="progress-bar progress-bar-primary " style="width:'+progress+'%"></div></div>');
|
|||
parent.append('<span class="showProcessTxt badge bg-light-blue">'+progress+'%</span>'); |
|||
} |
|||
}, |
|||
dynamicLoadJs:function(url, callback) { |
|||
var script = document.createElement('script'); |
|||
script.type = 'text/javascript'; |
|||
script.src = url; |
|||
if(typeof(callback)=='function'){ |
|||
script.onload = script.onreadystatechange = function () { |
|||
if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete"){ |
|||
callback(); |
|||
script.onload = script.onreadystatechange = null; |
|||
} |
|||
}; |
|||
} |
|||
document.body.appendChild(script); |
|||
}, |
|||
dynamicLoadCss:function(url,callback) { |
|||
var head = document.getElementsByTagName('head')[0]; |
|||
var link = document.createElement('link'); |
|||
link.type='text/css'; |
|||
link.rel = 'stylesheet'; |
|||
link.href = url; |
|||
head.appendChild(link); |
|||
callback(); |
|||
}, |
|||
loadScript:function(urls, callback) { |
|||
var self=this; |
|||
urls=urls.split(","); |
|||
if(urls.length){ |
|||
var len=urls.length; |
|||
var index=1; |
|||
urls.forEach(function(url){ |
|||
if(!self.isInclude(url)){ |
|||
var isJs=/js$/i.test(url); |
|||
if(isJs){ |
|||
self.dynamicLoadJs(url,function(){ |
|||
if(len==index)callback(); |
|||
index++; |
|||
}); |
|||
}else{ |
|||
self.dynamicLoadCss(url,function(){ |
|||
if(len==index)callback(); |
|||
index++; |
|||
}); |
|||
} |
|||
}else{ |
|||
index++; |
|||
} |
|||
}); |
|||
} |
|||
|
|||
}, |
|||
delCookie:function(name) |
|||
{ |
|||
var exp = new Date(); |
|||
exp.setTime(exp.getTime() - 1); |
|||
var cval=tools.getCookie(name); |
|||
if(cval!=null) |
|||
document.cookie= name + "="+cval+";expires="+exp.toGMTString(); |
|||
}, |
|||
setCookie:function(name,value) |
|||
{ |
|||
var Days = 30; |
|||
var exp = new Date(); |
|||
exp.setTime(exp.getTime() + Days*24*60*60*1000); |
|||
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); |
|||
}, |
|||
getCookie:function(name) |
|||
{ |
|||
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); |
|||
if(arr=document.cookie.match(reg)) |
|||
return unescape(arr[2]); |
|||
else |
|||
return null; |
|||
}, |
|||
tooltip:function(el,msg){ |
|||
|
|||
if(typeof more=='undefined')more=true; |
|||
if(typeof direction=='undefined')direction=3; |
|||
|
|||
layer.tips(msg,el, { |
|||
tipsMore:more, |
|||
time: 6000, |
|||
tips: [direction,'#e50112'] |
|||
}); |
|||
}, |
|||
tipError:function(errorMap,errorList){ |
|||
console.log(errorList); |
|||
if(errorList.length){ |
|||
errorList.forEach(function(item){ |
|||
console.log($(item['element'])); |
|||
tool.tooltip(item['element'],item['message']); |
|||
}); |
|||
} |
|||
}, |
|||
slick:function(obj,option){ |
|||
var allOption=$.extend({ |
|||
autoplay:true, |
|||
autoplaySpeed:1000, |
|||
swipe: false, |
|||
arrows:false, |
|||
dots:false, |
|||
fade:true, |
|||
speed:500, |
|||
pauseOnHover:false, |
|||
slidesToShow:1, |
|||
slidesToScroll:1 |
|||
},option||{}); |
|||
jQuery(obj).slick(allOption); |
|||
}, |
|||
date:function(startobj,date_format,endDate){ |
|||
console.log(endDate); |
|||
if(typeof date_format=='undefined')date_format='yyyy-mm-dd'; |
|||
var params={ |
|||
autoclose: 1, |
|||
todayHighlight: 1, |
|||
startView: 2, |
|||
minView: 2, |
|||
forceParse: 0, |
|||
format:date_format |
|||
}; |
|||
if(typeof endDate!='undefined')params.endDate=endDate; |
|||
console.log(params); |
|||
$(startobj).datetimepicker(params); |
|||
}, |
|||
dateTodate:function(startobj,endobj,date_format,istime,min,max){ |
|||
if(typeof date_format=='undefined')date_format='DD/MM/YYYY'; |
|||
if(typeof istime=='undefined')istime=true; |
|||
if(typeof min=='undefined')min=false; |
|||
if(typeof max=='undefined')max='2099-06-16 23:59:59'; |
|||
var start = { |
|||
elem:startobj, |
|||
format:date_format, |
|||
min: min, //设定最小日期为当前日期
|
|||
max: max, //最大日期
|
|||
istime:istime, |
|||
istoday: false, |
|||
choose: function(datas){ |
|||
end.min = datas; //开始日选好后,重置结束日的最小日期
|
|||
end.start = datas //将结束日的初始值设定为开始日
|
|||
} |
|||
}; |
|||
var end = { |
|||
elem:endobj, |
|||
format:date_format, |
|||
min:min, //设定最小日期为当前日期
|
|||
max:max, //最大日期
|
|||
istime:istime, |
|||
istoday: false, |
|||
choose: function(datas){ |
|||
start.max = datas; //结束日选好后,重置开始日的最大日期
|
|||
} |
|||
}; |
|||
laydate(start); |
|||
laydate(end); |
|||
}, |
|||
loading:function(msg){ |
|||
if(typeof msg=='undefined'||msg=='')msg=''; |
|||
layer.msg('加載中', {icon: 16}); |
|||
}, |
|||
closeloading:function(){ |
|||
setTimeout(function(){ |
|||
layer.closeAll('loading'); |
|||
}, 2000); |
|||
}, |
|||
showResponse:function (data){ |
|||
tool.msg(data.msg,3000,0.2,function(){ |
|||
if(data.code==0&&data.url){ |
|||
window.location.href=data.url; |
|||
} |
|||
if(data.code==1){ |
|||
window.location.href=data.url; |
|||
} |
|||
}); |
|||
}, |
|||
msg:function(msg,time,shade,callback){ |
|||
if(typeof msg=='undefined')return false; |
|||
if(typeof time=='undefined'||time=='')time=3000; |
|||
if(typeof shade=='undefined')shade=0; |
|||
layer.msg(msg, { |
|||
time:time //2秒关闭(如果不配置,默认是3秒)
|
|||
,shade:shade |
|||
}, function(){ |
|||
//do something
|
|||
if(typeof callback!='undefined')callback(); |
|||
}); |
|||
}, |
|||
delItem:function(msg,url,title){ |
|||
if(typeof title=='undefined')title='刪除提示'; |
|||
tool.confirm(msg,title,0.2,function(index){ |
|||
$.get(url,function(data){ |
|||
layer.close(index); |
|||
tool.msg(data.info,3000,0.2,function(){ |
|||
if(data.status==1){ |
|||
window.location.href=data.url; |
|||
} |
|||
}); |
|||
}); |
|||
}); |
|||
}, |
|||
confirm:function(msg,title,shade,callback){ |
|||
if(typeof msg=='undefined')return false; |
|||
if(typeof shade=='undefined')shade=0.2; |
|||
if(typeof title=='undefined')title='提示'; |
|||
layer.confirm(msg, {shade:shade, title:title}, function(index){ |
|||
//do something
|
|||
if(typeof callback!='undefined')callback(); |
|||
layer.close(index); |
|||
}); |
|||
|
|||
}, |
|||
commonForm:function(form,rules,messages,showErrors,submitHandler,success){ |
|||
if(typeof form=='undefined')return false; |
|||
if(typeof showErrors=='undefined'||showErrors=='')showErrors=false; |
|||
if(typeof success!='function')success=tool.showResponse; |
|||
|
|||
|
|||
jQuery(form).validate({ |
|||
debug:false, |
|||
onfocusout:false, |
|||
onkeyup:false, |
|||
onclick:false, |
|||
rules:rules, |
|||
messages:messages, |
|||
showErrors:showErrors, |
|||
submitHandler:function(form){ |
|||
if(typeof submitHandler=='function'){ |
|||
submitHandler(); |
|||
} |
|||
var options={ |
|||
success:success |
|||
}; |
|||
jQuery(form).ajaxSubmit(options); |
|||
} |
|||
}); |
|||
}, |
|||
popup:function(title,url,area,callback,option){ |
|||
var callbackInvoke=false; |
|||
var fn = function(result){ |
|||
callbackInvoke=true; |
|||
callback(result); |
|||
layer.close(index); |
|||
} |
|||
|
|||
var o = $.extend({ |
|||
content:url, |
|||
type:2, |
|||
area:area, |
|||
title:title, |
|||
shadeClose: true, |
|||
shade: 0.8, |
|||
success:function(){ |
|||
var iframe = $('#layui-layer-iframe'+index)[0]; |
|||
iframe.contentWindow.callbackSelector = fn; |
|||
$(iframe).on('load',function(){ |
|||
iframe.contentWindow.callbackSelector = fn; |
|||
}); |
|||
}, |
|||
end:function(){ |
|||
if(!callbackInvoke) callback(); |
|||
}},option||{}); |
|||
console.log(o); |
|||
if(!o.area) o.area = ['800px','500px']; |
|||
var index = layer.open(o); |
|||
|
|||
} |
|||
}; |
|||
@ -0,0 +1,4 @@ |
|||
/** |
|||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed |
|||
*/ |
|||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); |
|||
@ -0,0 +1,530 @@ |
|||
/*! |
|||
* jQuery UI Widget 1.10.4+amd |
|||
* https://github.com/blueimp/jQuery-File-Upload
|
|||
* |
|||
* Copyright 2014 jQuery Foundation and other contributors |
|||
* Released under the MIT license. |
|||
* http://jquery.org/license
|
|||
* |
|||
* http://api.jqueryui.com/jQuery.widget/
|
|||
*/ |
|||
|
|||
(function (factory) { |
|||
if (typeof define === "function" && define.amd) { |
|||
// Register as an anonymous AMD module:
|
|||
define(["jquery"], factory); |
|||
} else { |
|||
// Browser globals:
|
|||
factory(jQuery); |
|||
} |
|||
}(function( $, undefined ) { |
|||
|
|||
var uuid = 0, |
|||
slice = Array.prototype.slice, |
|||
_cleanData = $.cleanData; |
|||
$.cleanData = function( elems ) { |
|||
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { |
|||
try { |
|||
$( elem ).triggerHandler( "remove" ); |
|||
// http://bugs.jquery.com/ticket/8235
|
|||
} catch( e ) {} |
|||
} |
|||
_cleanData( elems ); |
|||
}; |
|||
|
|||
$.widget = function( name, base, prototype ) { |
|||
var fullName, existingConstructor, constructor, basePrototype, |
|||
// proxiedPrototype allows the provided prototype to remain unmodified
|
|||
// so that it can be used as a mixin for multiple widgets (#8876)
|
|||
proxiedPrototype = {}, |
|||
namespace = name.split( "." )[ 0 ]; |
|||
|
|||
name = name.split( "." )[ 1 ]; |
|||
fullName = namespace + "-" + name; |
|||
|
|||
if ( !prototype ) { |
|||
prototype = base; |
|||
base = $.Widget; |
|||
} |
|||
|
|||
// create selector for plugin
|
|||
$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { |
|||
return !!$.data( elem, fullName ); |
|||
}; |
|||
|
|||
$[ namespace ] = $[ namespace ] || {}; |
|||
existingConstructor = $[ namespace ][ name ]; |
|||
constructor = $[ namespace ][ name ] = function( options, element ) { |
|||
// allow instantiation without "new" keyword
|
|||
if ( !this._createWidget ) { |
|||
return new constructor( options, element ); |
|||
} |
|||
|
|||
// allow instantiation without initializing for simple inheritance
|
|||
// must use "new" keyword (the code above always passes args)
|
|||
if ( arguments.length ) { |
|||
this._createWidget( options, element ); |
|||
} |
|||
}; |
|||
// extend with the existing constructor to carry over any static properties
|
|||
$.extend( constructor, existingConstructor, { |
|||
version: prototype.version, |
|||
// copy the object used to create the prototype in case we need to
|
|||
// redefine the widget later
|
|||
_proto: $.extend( {}, prototype ), |
|||
// track widgets that inherit from this widget in case this widget is
|
|||
// redefined after a widget inherits from it
|
|||
_childConstructors: [] |
|||
}); |
|||
|
|||
basePrototype = new base(); |
|||
// we need to make the options hash a property directly on the new instance
|
|||
// otherwise we'll modify the options hash on the prototype that we're
|
|||
// inheriting from
|
|||
basePrototype.options = $.widget.extend( {}, basePrototype.options ); |
|||
$.each( prototype, function( prop, value ) { |
|||
if ( !$.isFunction( value ) ) { |
|||
proxiedPrototype[ prop ] = value; |
|||
return; |
|||
} |
|||
proxiedPrototype[ prop ] = (function() { |
|||
var _super = function() { |
|||
return base.prototype[ prop ].apply( this, arguments ); |
|||
}, |
|||
_superApply = function( args ) { |
|||
return base.prototype[ prop ].apply( this, args ); |
|||
}; |
|||
return function() { |
|||
var __super = this._super, |
|||
__superApply = this._superApply, |
|||
returnValue; |
|||
|
|||
this._super = _super; |
|||
this._superApply = _superApply; |
|||
|
|||
returnValue = value.apply( this, arguments ); |
|||
|
|||
this._super = __super; |
|||
this._superApply = __superApply; |
|||
|
|||
return returnValue; |
|||
}; |
|||
})(); |
|||
}); |
|||
constructor.prototype = $.widget.extend( basePrototype, { |
|||
// TODO: remove support for widgetEventPrefix
|
|||
// always use the name + a colon as the prefix, e.g., draggable:start
|
|||
// don't prefix for widgets that aren't DOM-based
|
|||
widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name |
|||
}, proxiedPrototype, { |
|||
constructor: constructor, |
|||
namespace: namespace, |
|||
widgetName: name, |
|||
widgetFullName: fullName |
|||
}); |
|||
|
|||
// If this widget is being redefined then we need to find all widgets that
|
|||
// are inheriting from it and redefine all of them so that they inherit from
|
|||
// the new version of this widget. We're essentially trying to replace one
|
|||
// level in the prototype chain.
|
|||
if ( existingConstructor ) { |
|||
$.each( existingConstructor._childConstructors, function( i, child ) { |
|||
var childPrototype = child.prototype; |
|||
|
|||
// redefine the child widget using the same prototype that was
|
|||
// originally used, but inherit from the new version of the base
|
|||
$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); |
|||
}); |
|||
// remove the list of existing child constructors from the old constructor
|
|||
// so the old child constructors can be garbage collected
|
|||
delete existingConstructor._childConstructors; |
|||
} else { |
|||
base._childConstructors.push( constructor ); |
|||
} |
|||
|
|||
$.widget.bridge( name, constructor ); |
|||
}; |
|||
|
|||
$.widget.extend = function( target ) { |
|||
var input = slice.call( arguments, 1 ), |
|||
inputIndex = 0, |
|||
inputLength = input.length, |
|||
key, |
|||
value; |
|||
for ( ; inputIndex < inputLength; inputIndex++ ) { |
|||
for ( key in input[ inputIndex ] ) { |
|||
value = input[ inputIndex ][ key ]; |
|||
if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { |
|||
// Clone objects
|
|||
if ( $.isPlainObject( value ) ) { |
|||
target[ key ] = $.isPlainObject( target[ key ] ) ? |
|||
$.widget.extend( {}, target[ key ], value ) : |
|||
// Don't extend strings, arrays, etc. with objects
|
|||
$.widget.extend( {}, value ); |
|||
// Copy everything else by reference
|
|||
} else { |
|||
target[ key ] = value; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return target; |
|||
}; |
|||
|
|||
$.widget.bridge = function( name, object ) { |
|||
var fullName = object.prototype.widgetFullName || name; |
|||
$.fn[ name ] = function( options ) { |
|||
var isMethodCall = typeof options === "string", |
|||
args = slice.call( arguments, 1 ), |
|||
returnValue = this; |
|||
|
|||
// allow multiple hashes to be passed on init
|
|||
options = !isMethodCall && args.length ? |
|||
$.widget.extend.apply( null, [ options ].concat(args) ) : |
|||
options; |
|||
|
|||
if ( isMethodCall ) { |
|||
this.each(function() { |
|||
var methodValue, |
|||
instance = $.data( this, fullName ); |
|||
if ( !instance ) { |
|||
return $.error( "cannot call methods on " + name + " prior to initialization; " + |
|||
"attempted to call method '" + options + "'" ); |
|||
} |
|||
if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { |
|||
return $.error( "no such method '" + options + "' for " + name + " widget instance" ); |
|||
} |
|||
methodValue = instance[ options ].apply( instance, args ); |
|||
if ( methodValue !== instance && methodValue !== undefined ) { |
|||
returnValue = methodValue && methodValue.jquery ? |
|||
returnValue.pushStack( methodValue.get() ) : |
|||
methodValue; |
|||
return false; |
|||
} |
|||
}); |
|||
} else { |
|||
this.each(function() { |
|||
var instance = $.data( this, fullName ); |
|||
if ( instance ) { |
|||
instance.option( options || {} )._init(); |
|||
} else { |
|||
$.data( this, fullName, new object( options, this ) ); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
return returnValue; |
|||
}; |
|||
}; |
|||
|
|||
$.Widget = function( /* options, element */ ) {}; |
|||
$.Widget._childConstructors = []; |
|||
|
|||
$.Widget.prototype = { |
|||
widgetName: "widget", |
|||
widgetEventPrefix: "", |
|||
defaultElement: "<div>", |
|||
options: { |
|||
disabled: false, |
|||
|
|||
// callbacks
|
|||
create: null |
|||
}, |
|||
_createWidget: function( options, element ) { |
|||
element = $( element || this.defaultElement || this )[ 0 ]; |
|||
this.element = $( element ); |
|||
this.uuid = uuid++; |
|||
this.eventNamespace = "." + this.widgetName + this.uuid; |
|||
this.options = $.widget.extend( {}, |
|||
this.options, |
|||
this._getCreateOptions(), |
|||
options ); |
|||
|
|||
this.bindings = $(); |
|||
this.hoverable = $(); |
|||
this.focusable = $(); |
|||
|
|||
if ( element !== this ) { |
|||
$.data( element, this.widgetFullName, this ); |
|||
this._on( true, this.element, { |
|||
remove: function( event ) { |
|||
if ( event.target === element ) { |
|||
this.destroy(); |
|||
} |
|||
} |
|||
}); |
|||
this.document = $( element.style ? |
|||
// element within the document
|
|||
element.ownerDocument : |
|||
// element is window or document
|
|||
element.document || element ); |
|||
this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); |
|||
} |
|||
|
|||
this._create(); |
|||
this._trigger( "create", null, this._getCreateEventData() ); |
|||
this._init(); |
|||
}, |
|||
_getCreateOptions: $.noop, |
|||
_getCreateEventData: $.noop, |
|||
_create: $.noop, |
|||
_init: $.noop, |
|||
|
|||
destroy: function() { |
|||
this._destroy(); |
|||
// we can probably remove the unbind calls in 2.0
|
|||
// all event bindings should go through this._on()
|
|||
this.element |
|||
.unbind( this.eventNamespace ) |
|||
// 1.9 BC for #7810
|
|||
// TODO remove dual storage
|
|||
.removeData( this.widgetName ) |
|||
.removeData( this.widgetFullName ) |
|||
// support: jquery <1.6.3
|
|||
// http://bugs.jquery.com/ticket/9413
|
|||
.removeData( $.camelCase( this.widgetFullName ) ); |
|||
this.widget() |
|||
.unbind( this.eventNamespace ) |
|||
.removeAttr( "aria-disabled" ) |
|||
.removeClass( |
|||
this.widgetFullName + "-disabled " + |
|||
"ui-state-disabled" ); |
|||
|
|||
// clean up events and states
|
|||
this.bindings.unbind( this.eventNamespace ); |
|||
this.hoverable.removeClass( "ui-state-hover" ); |
|||
this.focusable.removeClass( "ui-state-focus" ); |
|||
}, |
|||
_destroy: $.noop, |
|||
|
|||
widget: function() { |
|||
return this.element; |
|||
}, |
|||
|
|||
option: function( key, value ) { |
|||
var options = key, |
|||
parts, |
|||
curOption, |
|||
i; |
|||
|
|||
if ( arguments.length === 0 ) { |
|||
// don't return a reference to the internal hash
|
|||
return $.widget.extend( {}, this.options ); |
|||
} |
|||
|
|||
if ( typeof key === "string" ) { |
|||
// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
|
|||
options = {}; |
|||
parts = key.split( "." ); |
|||
key = parts.shift(); |
|||
if ( parts.length ) { |
|||
curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); |
|||
for ( i = 0; i < parts.length - 1; i++ ) { |
|||
curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; |
|||
curOption = curOption[ parts[ i ] ]; |
|||
} |
|||
key = parts.pop(); |
|||
if ( arguments.length === 1 ) { |
|||
return curOption[ key ] === undefined ? null : curOption[ key ]; |
|||
} |
|||
curOption[ key ] = value; |
|||
} else { |
|||
if ( arguments.length === 1 ) { |
|||
return this.options[ key ] === undefined ? null : this.options[ key ]; |
|||
} |
|||
options[ key ] = value; |
|||
} |
|||
} |
|||
|
|||
this._setOptions( options ); |
|||
|
|||
return this; |
|||
}, |
|||
_setOptions: function( options ) { |
|||
var key; |
|||
|
|||
for ( key in options ) { |
|||
this._setOption( key, options[ key ] ); |
|||
} |
|||
|
|||
return this; |
|||
}, |
|||
_setOption: function( key, value ) { |
|||
this.options[ key ] = value; |
|||
|
|||
if ( key === "disabled" ) { |
|||
this.widget() |
|||
.toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value ) |
|||
.attr( "aria-disabled", value ); |
|||
this.hoverable.removeClass( "ui-state-hover" ); |
|||
this.focusable.removeClass( "ui-state-focus" ); |
|||
} |
|||
|
|||
return this; |
|||
}, |
|||
|
|||
enable: function() { |
|||
return this._setOption( "disabled", false ); |
|||
}, |
|||
disable: function() { |
|||
return this._setOption( "disabled", true ); |
|||
}, |
|||
|
|||
_on: function( suppressDisabledCheck, element, handlers ) { |
|||
var delegateElement, |
|||
instance = this; |
|||
|
|||
// no suppressDisabledCheck flag, shuffle arguments
|
|||
if ( typeof suppressDisabledCheck !== "boolean" ) { |
|||
handlers = element; |
|||
element = suppressDisabledCheck; |
|||
suppressDisabledCheck = false; |
|||
} |
|||
|
|||
// no element argument, shuffle and use this.element
|
|||
if ( !handlers ) { |
|||
handlers = element; |
|||
element = this.element; |
|||
delegateElement = this.widget(); |
|||
} else { |
|||
// accept selectors, DOM elements
|
|||
element = delegateElement = $( element ); |
|||
this.bindings = this.bindings.add( element ); |
|||
} |
|||
|
|||
$.each( handlers, function( event, handler ) { |
|||
function handlerProxy() { |
|||
// allow widgets to customize the disabled handling
|
|||
// - disabled as an array instead of boolean
|
|||
// - disabled class as method for disabling individual parts
|
|||
if ( !suppressDisabledCheck && |
|||
( instance.options.disabled === true || |
|||
$( this ).hasClass( "ui-state-disabled" ) ) ) { |
|||
return; |
|||
} |
|||
return ( typeof handler === "string" ? instance[ handler ] : handler ) |
|||
.apply( instance, arguments ); |
|||
} |
|||
|
|||
// copy the guid so direct unbinding works
|
|||
if ( typeof handler !== "string" ) { |
|||
handlerProxy.guid = handler.guid = |
|||
handler.guid || handlerProxy.guid || $.guid++; |
|||
} |
|||
|
|||
var match = event.match( /^(\w+)\s*(.*)$/ ), |
|||
eventName = match[1] + instance.eventNamespace, |
|||
selector = match[2]; |
|||
if ( selector ) { |
|||
delegateElement.delegate( selector, eventName, handlerProxy ); |
|||
} else { |
|||
element.bind( eventName, handlerProxy ); |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
_off: function( element, eventName ) { |
|||
eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; |
|||
element.unbind( eventName ).undelegate( eventName ); |
|||
}, |
|||
|
|||
_delay: function( handler, delay ) { |
|||
function handlerProxy() { |
|||
return ( typeof handler === "string" ? instance[ handler ] : handler ) |
|||
.apply( instance, arguments ); |
|||
} |
|||
var instance = this; |
|||
return setTimeout( handlerProxy, delay || 0 ); |
|||
}, |
|||
|
|||
_hoverable: function( element ) { |
|||
this.hoverable = this.hoverable.add( element ); |
|||
this._on( element, { |
|||
mouseenter: function( event ) { |
|||
$( event.currentTarget ).addClass( "ui-state-hover" ); |
|||
}, |
|||
mouseleave: function( event ) { |
|||
$( event.currentTarget ).removeClass( "ui-state-hover" ); |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
_focusable: function( element ) { |
|||
this.focusable = this.focusable.add( element ); |
|||
this._on( element, { |
|||
focusin: function( event ) { |
|||
$( event.currentTarget ).addClass( "ui-state-focus" ); |
|||
}, |
|||
focusout: function( event ) { |
|||
$( event.currentTarget ).removeClass( "ui-state-focus" ); |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
_trigger: function( type, event, data ) { |
|||
var prop, orig, |
|||
callback = this.options[ type ]; |
|||
|
|||
data = data || {}; |
|||
event = $.Event( event ); |
|||
event.type = ( type === this.widgetEventPrefix ? |
|||
type : |
|||
this.widgetEventPrefix + type ).toLowerCase(); |
|||
// the original event may come from any element
|
|||
// so we need to reset the target on the new event
|
|||
event.target = this.element[ 0 ]; |
|||
|
|||
// copy original event properties over to the new event
|
|||
orig = event.originalEvent; |
|||
if ( orig ) { |
|||
for ( prop in orig ) { |
|||
if ( !( prop in event ) ) { |
|||
event[ prop ] = orig[ prop ]; |
|||
} |
|||
} |
|||
} |
|||
|
|||
this.element.trigger( event, data ); |
|||
return !( $.isFunction( callback ) && |
|||
callback.apply( this.element[0], [ event ].concat( data ) ) === false || |
|||
event.isDefaultPrevented() ); |
|||
} |
|||
}; |
|||
|
|||
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { |
|||
$.Widget.prototype[ "_" + method ] = function( element, options, callback ) { |
|||
if ( typeof options === "string" ) { |
|||
options = { effect: options }; |
|||
} |
|||
var hasOptions, |
|||
effectName = !options ? |
|||
method : |
|||
options === true || typeof options === "number" ? |
|||
defaultEffect : |
|||
options.effect || defaultEffect; |
|||
options = options || {}; |
|||
if ( typeof options === "number" ) { |
|||
options = { duration: options }; |
|||
} |
|||
hasOptions = !$.isEmptyObject( options ); |
|||
options.complete = callback; |
|||
if ( options.delay ) { |
|||
element.delay( options.delay ); |
|||
} |
|||
if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { |
|||
element[ method ]( options ); |
|||
} else if ( effectName !== method && element[ effectName ] ) { |
|||
element[ effectName ]( options.duration, options.easing, callback ); |
|||
} else { |
|||
element.queue(function( next ) { |
|||
$( this )[ method ](); |
|||
if ( callback ) { |
|||
callback.call( element[ 0 ] ); |
|||
} |
|||
next(); |
|||
}); |
|||
} |
|||
}; |
|||
}); |
|||
|
|||
})); |
|||
@ -0,0 +1,98 @@ |
|||
/* |
|||
@author: remy sharp / http://remysharp.com
|
|||
@params: |
|||
feedback - the selector for the element that gives the user feedback. Note that this will be relative to the form the plugin is run against. |
|||
hardLimit - whether to stop the user being able to keep adding characters. Defaults to true. |
|||
useInput - whether to look for a hidden input named 'maxlength' instead of the maxlength attribute. Defaults to false. |
|||
words - limit by characters or words, set this to true to limit by words. Defaults to false. |
|||
@license: Creative Commons License - ShareAlike http://creativecommons.org/licenses/by-sa/3.0/
|
|||
@version: 1.2 |
|||
@changes: code tidy via Ariel Flesler and fix when pasting over limit and including \t or \n |
|||
*/ |
|||
|
|||
(function ($) { |
|||
|
|||
$.fn.maxlength = function (settings) { |
|||
|
|||
if (typeof settings == 'string') { |
|||
settings = { feedback : settings }; |
|||
} |
|||
|
|||
settings = $.extend({}, $.fn.maxlength.defaults, settings); |
|||
|
|||
function length(el) { |
|||
var parts = el.value; |
|||
if ( settings.words ) |
|||
parts = el.value.length ? parts.split(/\s+/) : { length : 0 }; |
|||
return parts.length; |
|||
} |
|||
|
|||
return this.each(function () { |
|||
var field = this, |
|||
$field = $(field), |
|||
$form = $(field.form), |
|||
limit = settings.useInput ? $form.find('input[name=maxlength]').val() : $field.attr('maxlength'), |
|||
$charsLeft = $form.find(settings.feedback); |
|||
|
|||
function limitCheck(event) { |
|||
var len = length(this), |
|||
exceeded = len >= limit, |
|||
code = event.keyCode; |
|||
|
|||
if ( !exceeded ) |
|||
return; |
|||
|
|||
switch (code) { |
|||
case 8: // allow delete
|
|||
case 9: |
|||
case 17: |
|||
case 36: // and cursor keys
|
|||
case 35: |
|||
case 37: |
|||
case 38: |
|||
case 39: |
|||
case 40: |
|||
case 46: |
|||
case 65: |
|||
return; |
|||
|
|||
default: |
|||
return settings.words && code != 32 && code != 13 && len == limit; |
|||
} |
|||
} |
|||
|
|||
|
|||
var updateCount = function () { |
|||
var len = length(field), |
|||
diff = limit - len; |
|||
|
|||
$charsLeft.html( diff || "0" ); |
|||
|
|||
// truncation code
|
|||
if (settings.hardLimit && diff < 0) { |
|||
field.value = settings.words ? |
|||
// split by white space, capturing it in the result, then glue them back
|
|||
field.value.split(/(\s+)/, (limit*2)-1).join('') : |
|||
field.value.substr(0, limit); |
|||
|
|||
updateCount(); |
|||
} |
|||
}; |
|||
|
|||
$field.keyup(updateCount).change(updateCount); |
|||
if (settings.hardLimit) { |
|||
$field.keydown(limitCheck); |
|||
} |
|||
|
|||
updateCount(); |
|||
}); |
|||
}; |
|||
|
|||
$.fn.maxlength.defaults = { |
|||
useInput : false, |
|||
hardLimit : true, |
|||
feedback : '.charsLeft', |
|||
words : false |
|||
}; |
|||
|
|||
})(jQuery); |
|||
@ -0,0 +1,20 @@ |
|||
function loadRegion(sel,type_id,selName,url){ |
|||
jQuery("#"+selName+" option").each(function(){ |
|||
jQuery(this).remove(); |
|||
}); |
|||
jQuery("<option value=0>请选择</option>").appendTo(jQuery("#"+selName)); |
|||
if(jQuery("#"+sel).val()==0){ |
|||
return; |
|||
} |
|||
jQuery.getJSON(url,{pid:jQuery("#"+sel).val(),type:type_id}, |
|||
function(data){ |
|||
if(data){ |
|||
jQuery.each(data,function(idx,item){ |
|||
jQuery("<option value="+item.id+">"+item.name+"</option>").appendTo(jQuery("#"+selName)); |
|||
}); |
|||
}else{ |
|||
jQuery("<option value='0'>请选择</option>").appendTo(jQuery("#"+selName)); |
|||
} |
|||
} |
|||
); |
|||
} |
|||
@ -0,0 +1,5 @@ |
|||
/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl |
|||
* Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
|
|||
* */ |
|||
|
|||
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); |
|||
@ -0,0 +1,20 @@ |
|||
function loadRole(sel,selName,url){ |
|||
jQuery("#"+selName+" option").each(function(){ |
|||
jQuery(this).remove(); |
|||
}); |
|||
jQuery("<option value=0>请选择</option>").appendTo(jQuery("#"+selName)); |
|||
if(jQuery("#"+sel).val()==0){ |
|||
return; |
|||
} |
|||
jQuery.getJSON(url,{pid:jQuery("#"+sel).val()}, |
|||
function(data){ |
|||
if(data){ |
|||
jQuery.each(data,function(idx,item){ |
|||
jQuery("<option value="+item.id+">"+item.name+"</option>").appendTo(jQuery("#"+selName)); |
|||
}); |
|||
}else{ |
|||
jQuery("<option value='0'>资料上传者角色</option>").appendTo(jQuery("#"+selName)); |
|||
} |
|||
} |
|||
); |
|||
} |
|||
@ -0,0 +1,339 @@ |
|||
GNU GENERAL PUBLIC LICENSE |
|||
Version 2, June 1991 |
|||
|
|||
Copyright (C) 1989, 1991 Free Software Foundation, Inc., |
|||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|||
Everyone is permitted to copy and distribute verbatim copies |
|||
of this license document, but changing it is not allowed. |
|||
|
|||
Preamble |
|||
|
|||
The licenses for most software are designed to take away your |
|||
freedom to share and change it. By contrast, the GNU General Public |
|||
License is intended to guarantee your freedom to share and change free |
|||
software--to make sure the software is free for all its users. This |
|||
General Public License applies to most of the Free Software |
|||
Foundation's software and to any other program whose authors commit to |
|||
using it. (Some other Free Software Foundation software is covered by |
|||
the GNU Lesser General Public License instead.) You can apply it to |
|||
your programs, too. |
|||
|
|||
When we speak of free software, we are referring to freedom, not |
|||
price. Our General Public Licenses are designed to make sure that you |
|||
have the freedom to distribute copies of free software (and charge for |
|||
this service if you wish), that you receive source code or can get it |
|||
if you want it, that you can change the software or use pieces of it |
|||
in new free programs; and that you know you can do these things. |
|||
|
|||
To protect your rights, we need to make restrictions that forbid |
|||
anyone to deny you these rights or to ask you to surrender the rights. |
|||
These restrictions translate to certain responsibilities for you if you |
|||
distribute copies of the software, or if you modify it. |
|||
|
|||
For example, if you distribute copies of such a program, whether |
|||
gratis or for a fee, you must give the recipients all the rights that |
|||
you have. You must make sure that they, too, receive or can get the |
|||
source code. And you must show them these terms so they know their |
|||
rights. |
|||
|
|||
We protect your rights with two steps: (1) copyright the software, and |
|||
(2) offer you this license which gives you legal permission to copy, |
|||
distribute and/or modify the software. |
|||
|
|||
Also, for each author's protection and ours, we want to make certain |
|||
that everyone understands that there is no warranty for this free |
|||
software. If the software is modified by someone else and passed on, we |
|||
want its recipients to know that what they have is not the original, so |
|||
that any problems introduced by others will not reflect on the original |
|||
authors' reputations. |
|||
|
|||
Finally, any free program is threatened constantly by software |
|||
patents. We wish to avoid the danger that redistributors of a free |
|||
program will individually obtain patent licenses, in effect making the |
|||
program proprietary. To prevent this, we have made it clear that any |
|||
patent must be licensed for everyone's free use or not licensed at all. |
|||
|
|||
The precise terms and conditions for copying, distribution and |
|||
modification follow. |
|||
|
|||
GNU GENERAL PUBLIC LICENSE |
|||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
|||
|
|||
0. This License applies to any program or other work which contains |
|||
a notice placed by the copyright holder saying it may be distributed |
|||
under the terms of this General Public License. The "Program", below, |
|||
refers to any such program or work, and a "work based on the Program" |
|||
means either the Program or any derivative work under copyright law: |
|||
that is to say, a work containing the Program or a portion of it, |
|||
either verbatim or with modifications and/or translated into another |
|||
language. (Hereinafter, translation is included without limitation in |
|||
the term "modification".) Each licensee is addressed as "you". |
|||
|
|||
Activities other than copying, distribution and modification are not |
|||
covered by this License; they are outside its scope. The act of |
|||
running the Program is not restricted, and the output from the Program |
|||
is covered only if its contents constitute a work based on the |
|||
Program (independent of having been made by running the Program). |
|||
Whether that is true depends on what the Program does. |
|||
|
|||
1. You may copy and distribute verbatim copies of the Program's |
|||
source code as you receive it, in any medium, provided that you |
|||
conspicuously and appropriately publish on each copy an appropriate |
|||
copyright notice and disclaimer of warranty; keep intact all the |
|||
notices that refer to this License and to the absence of any warranty; |
|||
and give any other recipients of the Program a copy of this License |
|||
along with the Program. |
|||
|
|||
You may charge a fee for the physical act of transferring a copy, and |
|||
you may at your option offer warranty protection in exchange for a fee. |
|||
|
|||
2. You may modify your copy or copies of the Program or any portion |
|||
of it, thus forming a work based on the Program, and copy and |
|||
distribute such modifications or work under the terms of Section 1 |
|||
above, provided that you also meet all of these conditions: |
|||
|
|||
a) You must cause the modified files to carry prominent notices |
|||
stating that you changed the files and the date of any change. |
|||
|
|||
b) You must cause any work that you distribute or publish, that in |
|||
whole or in part contains or is derived from the Program or any |
|||
part thereof, to be licensed as a whole at no charge to all third |
|||
parties under the terms of this License. |
|||
|
|||
c) If the modified program normally reads commands interactively |
|||
when run, you must cause it, when started running for such |
|||
interactive use in the most ordinary way, to print or display an |
|||
announcement including an appropriate copyright notice and a |
|||
notice that there is no warranty (or else, saying that you provide |
|||
a warranty) and that users may redistribute the program under |
|||
these conditions, and telling the user how to view a copy of this |
|||
License. (Exception: if the Program itself is interactive but |
|||
does not normally print such an announcement, your work based on |
|||
the Program is not required to print an announcement.) |
|||
|
|||
These requirements apply to the modified work as a whole. If |
|||
identifiable sections of that work are not derived from the Program, |
|||
and can be reasonably considered independent and separate works in |
|||
themselves, then this License, and its terms, do not apply to those |
|||
sections when you distribute them as separate works. But when you |
|||
distribute the same sections as part of a whole which is a work based |
|||
on the Program, the distribution of the whole must be on the terms of |
|||
this License, whose permissions for other licensees extend to the |
|||
entire whole, and thus to each and every part regardless of who wrote it. |
|||
|
|||
Thus, it is not the intent of this section to claim rights or contest |
|||
your rights to work written entirely by you; rather, the intent is to |
|||
exercise the right to control the distribution of derivative or |
|||
collective works based on the Program. |
|||
|
|||
In addition, mere aggregation of another work not based on the Program |
|||
with the Program (or with a work based on the Program) on a volume of |
|||
a storage or distribution medium does not bring the other work under |
|||
the scope of this License. |
|||
|
|||
3. You may copy and distribute the Program (or a work based on it, |
|||
under Section 2) in object code or executable form under the terms of |
|||
Sections 1 and 2 above provided that you also do one of the following: |
|||
|
|||
a) Accompany it with the complete corresponding machine-readable |
|||
source code, which must be distributed under the terms of Sections |
|||
1 and 2 above on a medium customarily used for software interchange; or, |
|||
|
|||
b) Accompany it with a written offer, valid for at least three |
|||
years, to give any third party, for a charge no more than your |
|||
cost of physically performing source distribution, a complete |
|||
machine-readable copy of the corresponding source code, to be |
|||
distributed under the terms of Sections 1 and 2 above on a medium |
|||
customarily used for software interchange; or, |
|||
|
|||
c) Accompany it with the information you received as to the offer |
|||
to distribute corresponding source code. (This alternative is |
|||
allowed only for noncommercial distribution and only if you |
|||
received the program in object code or executable form with such |
|||
an offer, in accord with Subsection b above.) |
|||
|
|||
The source code for a work means the preferred form of the work for |
|||
making modifications to it. For an executable work, complete source |
|||
code means all the source code for all modules it contains, plus any |
|||
associated interface definition files, plus the scripts used to |
|||
control compilation and installation of the executable. However, as a |
|||
special exception, the source code distributed need not include |
|||
anything that is normally distributed (in either source or binary |
|||
form) with the major components (compiler, kernel, and so on) of the |
|||
operating system on which the executable runs, unless that component |
|||
itself accompanies the executable. |
|||
|
|||
If distribution of executable or object code is made by offering |
|||
access to copy from a designated place, then offering equivalent |
|||
access to copy the source code from the same place counts as |
|||
distribution of the source code, even though third parties are not |
|||
compelled to copy the source along with the object code. |
|||
|
|||
4. You may not copy, modify, sublicense, or distribute the Program |
|||
except as expressly provided under this License. Any attempt |
|||
otherwise to copy, modify, sublicense or distribute the Program is |
|||
void, and will automatically terminate your rights under this License. |
|||
However, parties who have received copies, or rights, from you under |
|||
this License will not have their licenses terminated so long as such |
|||
parties remain in full compliance. |
|||
|
|||
5. You are not required to accept this License, since you have not |
|||
signed it. However, nothing else grants you permission to modify or |
|||
distribute the Program or its derivative works. These actions are |
|||
prohibited by law if you do not accept this License. Therefore, by |
|||
modifying or distributing the Program (or any work based on the |
|||
Program), you indicate your acceptance of this License to do so, and |
|||
all its terms and conditions for copying, distributing or modifying |
|||
the Program or works based on it. |
|||
|
|||
6. Each time you redistribute the Program (or any work based on the |
|||
Program), the recipient automatically receives a license from the |
|||
original licensor to copy, distribute or modify the Program subject to |
|||
these terms and conditions. You may not impose any further |
|||
restrictions on the recipients' exercise of the rights granted herein. |
|||
You are not responsible for enforcing compliance by third parties to |
|||
this License. |
|||
|
|||
7. If, as a consequence of a court judgment or allegation of patent |
|||
infringement or for any other reason (not limited to patent issues), |
|||
conditions are imposed on you (whether by court order, agreement or |
|||
otherwise) that contradict the conditions of this License, they do not |
|||
excuse you from the conditions of this License. If you cannot |
|||
distribute so as to satisfy simultaneously your obligations under this |
|||
License and any other pertinent obligations, then as a consequence you |
|||
may not distribute the Program at all. For example, if a patent |
|||
license would not permit royalty-free redistribution of the Program by |
|||
all those who receive copies directly or indirectly through you, then |
|||
the only way you could satisfy both it and this License would be to |
|||
refrain entirely from distribution of the Program. |
|||
|
|||
If any portion of this section is held invalid or unenforceable under |
|||
any particular circumstance, the balance of the section is intended to |
|||
apply and the section as a whole is intended to apply in other |
|||
circumstances. |
|||
|
|||
It is not the purpose of this section to induce you to infringe any |
|||
patents or other property right claims or to contest validity of any |
|||
such claims; this section has the sole purpose of protecting the |
|||
integrity of the free software distribution system, which is |
|||
implemented by public license practices. Many people have made |
|||
generous contributions to the wide range of software distributed |
|||
through that system in reliance on consistent application of that |
|||
system; it is up to the author/donor to decide if he or she is willing |
|||
to distribute software through any other system and a licensee cannot |
|||
impose that choice. |
|||
|
|||
This section is intended to make thoroughly clear what is believed to |
|||
be a consequence of the rest of this License. |
|||
|
|||
8. If the distribution and/or use of the Program is restricted in |
|||
certain countries either by patents or by copyrighted interfaces, the |
|||
original copyright holder who places the Program under this License |
|||
may add an explicit geographical distribution limitation excluding |
|||
those countries, so that distribution is permitted only in or among |
|||
countries not thus excluded. In such case, this License incorporates |
|||
the limitation as if written in the body of this License. |
|||
|
|||
9. The Free Software Foundation may publish revised and/or new versions |
|||
of the General Public License from time to time. Such new versions will |
|||
be similar in spirit to the present version, but may differ in detail to |
|||
address new problems or concerns. |
|||
|
|||
Each version is given a distinguishing version number. If the Program |
|||
specifies a version number of this License which applies to it and "any |
|||
later version", you have the option of following the terms and conditions |
|||
either of that version or of any later version published by the Free |
|||
Software Foundation. If the Program does not specify a version number of |
|||
this License, you may choose any version ever published by the Free Software |
|||
Foundation. |
|||
|
|||
10. If you wish to incorporate parts of the Program into other free |
|||
programs whose distribution conditions are different, write to the author |
|||
to ask for permission. For software which is copyrighted by the Free |
|||
Software Foundation, write to the Free Software Foundation; we sometimes |
|||
make exceptions for this. Our decision will be guided by the two goals |
|||
of preserving the free status of all derivatives of our free software and |
|||
of promoting the sharing and reuse of software generally. |
|||
|
|||
NO WARRANTY |
|||
|
|||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY |
|||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN |
|||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES |
|||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED |
|||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS |
|||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE |
|||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, |
|||
REPAIR OR CORRECTION. |
|||
|
|||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
|||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR |
|||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, |
|||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING |
|||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED |
|||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY |
|||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER |
|||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE |
|||
POSSIBILITY OF SUCH DAMAGES. |
|||
|
|||
END OF TERMS AND CONDITIONS |
|||
|
|||
How to Apply These Terms to Your New Programs |
|||
|
|||
If you develop a new program, and you want it to be of the greatest |
|||
possible use to the public, the best way to achieve this is to make it |
|||
free software which everyone can redistribute and change under these terms. |
|||
|
|||
To do so, attach the following notices to the program. It is safest |
|||
to attach them to the start of each source file to most effectively |
|||
convey the exclusion of warranty; and each file should have at least |
|||
the "copyright" line and a pointer to where the full notice is found. |
|||
|
|||
<one line to give the program's name and a brief idea of what it does.> |
|||
Copyright (C) <year> <name of author> |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License along |
|||
with this program; if not, write to the Free Software Foundation, Inc., |
|||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
|||
|
|||
Also add information on how to contact you by electronic and paper mail. |
|||
|
|||
If the program is interactive, make it output a short notice like this |
|||
when it starts in an interactive mode: |
|||
|
|||
Gnomovision version 69, Copyright (C) year name of author |
|||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
|||
This is free software, and you are welcome to redistribute it |
|||
under certain conditions; type `show c' for details. |
|||
|
|||
The hypothetical commands `show w' and `show c' should show the appropriate |
|||
parts of the General Public License. Of course, the commands you use may |
|||
be called something other than `show w' and `show c'; they could even be |
|||
mouse-clicks or menu items--whatever suits your program. |
|||
|
|||
You should also get your employer (if you work as a programmer) or your |
|||
school, if any, to sign a "copyright disclaimer" for the program, if |
|||
necessary. Here is a sample; alter the names: |
|||
|
|||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program |
|||
`Gnomovision' (which makes passes at compilers) written by James Hacker. |
|||
|
|||
<signature of Ty Coon>, 1 April 1989 |
|||
Ty Coon, President of Vice |
|||
|
|||
This General Public License does not permit incorporating your program into |
|||
proprietary programs. If your program is a subroutine library, you may |
|||
consider it more useful to permit linking proprietary applications with the |
|||
library. If this is what you want to do, use the GNU Lesser General |
|||
Public License instead of this License. |
|||
@ -0,0 +1,147 @@ |
|||
# Plupload |
|||
|
|||
Plupload is a cross-browser multi-runtime file uploading API. Basically, a set of tools that will help you to |
|||
build a reliable and visually appealing file uploader in minutes. |
|||
|
|||
Historically, Plupload comes from a dark and hostile age of no HTML5, hence all the alternative fallbacks, |
|||
like Flash, Silverlight and Java (still in development). It is meant to provide an API, that |
|||
will work anywhere and in any case, in one way or another. While having very solid fallbacks, Plupload |
|||
is built with the future of HTML5 in mind. |
|||
|
|||
### Table of Contents |
|||
* [Backstory](https://github.com/moxiecode/plupload/blob/master/readme.md#backstory) |
|||
* [Structure](https://github.com/moxiecode/plupload/blob/master/readme.md#structure) |
|||
* [File API and XHR L2 pollyfills](https://github.com/moxiecode/moxie/blob/master/README.md) |
|||
* [Plupload API](https://github.com/moxiecode/plupload/wiki/API) |
|||
* [UI Widget](https://github.com/moxiecode/plupload/wiki/UI.Plupload) |
|||
* [Queue Widget](https://github.com/moxiecode/plupload/wiki/pluploadQueue) |
|||
* [Demos](https://github.com/jayarjo/plupload-demos/blob/master/README.md) |
|||
* [Building Instructions](https://github.com/moxiecode/plupload/blob/master/readme.md#build) |
|||
* [Getting Started](https://github.com/moxiecode/plupload/wiki/Getting-Started) |
|||
* [Options](https://github.com/moxiecode/plupload/wiki/Options) |
|||
* [Events](https://github.com/moxiecode/plupload/wiki/Uploader#wiki-events) |
|||
* [Methods](https://github.com/moxiecode/plupload/wiki/Uploader#wiki-methods) |
|||
* [Plupload in Your Language](https://github.com/moxiecode/plupload/wiki/Plupload-in-Your-Language) |
|||
* [File Filters](https://github.com/moxiecode/plupload/wiki/File-Filters) |
|||
* [Image Resizing on Client-Side](https://github.com/moxiecode/plupload/wiki/Image-Resizing-on-Client-Side) |
|||
* [Chunking](https://github.com/moxiecode/plupload/wiki/Chunking) |
|||
* [Upload to Amazon S3](https://github.com/moxiecode/plupload/wiki/Upload-to-Amazon-S3) |
|||
* [FAQ](https://github.com/moxiecode/plupload/wiki/Frequently-Asked-Questions) |
|||
* [Support](https://github.com/moxiecode/plupload/blob/master/readme.md##support) |
|||
* [Create a Fiddle](https://github.com/moxiecode/plupload/wiki/Create-a-Fiddle) |
|||
* [Contributing](https://github.com/moxiecode/plupload/blob/master/readme.md#contribute) |
|||
* [License](https://github.com/moxiecode/plupload/blob/master/readme.md#license) |
|||
* [Contact Us](http://www.moxiecode.com/contact.php) |
|||
|
|||
<a name="backstory" /> |
|||
### Backstory |
|||
|
|||
Plupload started in a time when uploading a file in a responsive and customizable manner was a real pain. |
|||
Internally, browsers only had the `input[type="file"]` element. It was ugly and clunky at the same time. |
|||
One couldn't even change it's visuals, without hiding it and coding another one on top of it from scratch. |
|||
And then there was no progress indication for the upload process... Sounds pretty crazy today. |
|||
|
|||
It was very logical for developers to look for alternatives and writing their own implementations, using |
|||
Flash and Java, in order to somehow extend limited browser capabilities. And so did we, in our search for |
|||
a reliable and flexible file uploader for |
|||
our [TinyMCE](http://www.tinymce.com/index.php)'s |
|||
[MCImageManager](http://www.tinymce.com/enterprise/mcimagemanager.php). |
|||
|
|||
Quickly enough though, Plupload grew big. It easily split into a standalone project. |
|||
With major *version 2.0* it underwent another huge reconstruction, basically |
|||
[from the ground up](http://blog.moxiecode.com/2012/11/28/first-public-beta-plupload-2/), |
|||
as all the low-level runtime logic has been extracted into separate [File API](http://www.w3.org/TR/FileAPI/) |
|||
and [XHR L2](http://www.w3.org/TR/XMLHttpRequest/) pollyfills (currently known under combined name of [mOxie](https://github.com/moxiecode/moxie)), |
|||
giving Plupload a chance to evolve further. |
|||
|
|||
<a name="structure" /> |
|||
### Structure |
|||
|
|||
Currently, Plupload may be considered as consisting of three parts: low-level pollyfills, |
|||
Plupload API and Widgets (UI and Queue). Initially, Widgets were meant only to serve as examples |
|||
of the API, but quickly formed into fully-functional API implementations that now come bundled with |
|||
the Plupload API. This has been a source for multiple misconceptions about the API as Widgets were |
|||
easily mistaken for the Plupload itself. They are only implementations, such as any of you can |
|||
build by yourself out of the API. |
|||
|
|||
* [Low-level pollyfills (mOxie)](https://github.com/moxiecode/moxie) - have their own [code base](https://github.com/moxiecode/moxie) and [documentation](https://github.com/moxiecode/moxie/wiki) on GitHub. |
|||
* [Plupload API](https://github.com/moxiecode/plupload/wiki/API) |
|||
* [UI Widget](https://github.com/moxiecode/plupload/wiki/UI.Plupload) |
|||
* [Queue Widget](https://github.com/moxiecode/plupload/wiki/pluploadQueue) |
|||
|
|||
<a name="build" /> |
|||
### Building instructions |
|||
|
|||
Plupload depends on File API and XHR2 L2 pollyfills that currently have their |
|||
[own repository](https://github.com/moxiecode/moxie) on GitHub. However, in most cases you shouldn't |
|||
care as we bundle the latest build of mOxie, including full and minified JavaScript source and |
|||
pre-compiled `SWF` and `XAP` components, with [every release](https://github.com/moxiecode/plupload/releases). You can find everything you may need under `js/` folder. |
|||
|
|||
There are cases where you might need a custom build, for example free of unnecessary runtimes, half the |
|||
original size, etc. The difficult part of this task comes from mOxie and its set of additional runtimes |
|||
that require special tools on your workstation in order to compile. |
|||
Consider [build instructions for mOxie](https://github.com/moxiecode/moxie#build-instructions) - |
|||
everything applies to Plupload as well. |
|||
|
|||
First of all, if you want to build custom Plupload packages you will require [Node.js](http://nodejs.org/), |
|||
as this is our build environment of choice. Node.js binaries (as well as Source) |
|||
[are available](http://nodejs.org/download/) for all major operating systems. |
|||
|
|||
Plupload includes _mOxie_ as a submodule, it also depends on some other repositories for building up it's dev |
|||
environment - to avoid necessity of downloading them one by one, we recommended you to simply clone Plupload |
|||
with [git](http://git-scm.com/) recursively (you will require git installed on your system for this operation |
|||
to succeed): |
|||
|
|||
``` |
|||
git clone --recursive https://github.com/moxiecode/plupload.git |
|||
``` |
|||
|
|||
And finalize the preparation stage with: `npm install` - this will install all additional modules, including those |
|||
required by dev and test environments. In case you would rather keep it minimal, add a `--production` flag. |
|||
|
|||
*Note:* Currently, for an unknown reason, locally installed Node.js modules on Windows, may not be automatically |
|||
added to the system PATH. So, if `jake` commands below are not recognized you will need to add them manually: |
|||
|
|||
``` |
|||
set PATH=%PATH%;%CD%\node_modules\.bin\ |
|||
``` |
|||
|
|||
<a name="support" /> |
|||
### Support |
|||
|
|||
We are actively standing behind the Plupload and now that we are done with major rewrites and refactoring, |
|||
the only real goal that we have ahead is making it as reliable and bulletproof as possible. We are open to |
|||
all the suggestions and feature requests. We ask you to file bug reports if you encounter any. We may not |
|||
react to them instantly, but we constantly bear them in my mind as we extend the code base. |
|||
|
|||
In addition to dedicated support for those who dare to buy our OEM licenses, we got |
|||
[discussion boards](http://www.plupload.com/punbb/index.php), which is like an enormous FAQ, |
|||
covering every possible application case. Of course, you are welcome to file a bug report or feature request, |
|||
here on [GitHub](https://github.com/moxiecode/plupload/issues). |
|||
|
|||
Sometimes it is easier to notice the problem when bug report is accompained by the actual code. Consider providing |
|||
[a Plupload fiddle](https://github.com/moxiecode/plupload/wiki/Create-a-Fiddle) for the troublesome code. |
|||
|
|||
<a name="contribute" /> |
|||
### Contributing |
|||
|
|||
We are open to suggestions and code revisions, however there are some rules and limitations that you might |
|||
want to consider first. |
|||
|
|||
* Code that you contribute will automatically be licensed under the LGPL, but will not be limited to LGPL. |
|||
* Although all contributors will get the credit for their work, copyright notices will be changed to [Moxiecode Systems AB](http://www.moxiecode.com/). |
|||
* Third party code will be reviewed, tested and possibly modified before being released. |
|||
|
|||
These basic rules help us earn a living and ensure that code remains Open Source and compatible with LGPL license. All contributions will be added to the changelog and appear in every release and on the site. |
|||
|
|||
An easy place to start is to [translate Plupload to your language](https://github.com/moxiecode/plupload/wiki/Plupload-in-Your-Language#contribute). |
|||
|
|||
You can read more about how to contribute at: [http://www.plupload.com/contributing](http://www.plupload.com/contributing) |
|||
|
|||
<a name="license" /> |
|||
### License |
|||
|
|||
Copyright 2013, [Moxiecode Systems AB](http://www.moxiecode.com/) |
|||
Released under [GPLv2 License](https://github.com/moxiecode/plupload/blob/master/license.txt). |
|||
|
|||
We also provide [commercial license](http://www.plupload.com/commercial.php). |
|||
@ -0,0 +1 @@ |
|||
@import url(http://fonts.useso.com/css?family=Raleway:200,500,700,800);@font-face{font-family:'icomoon';src:url(../fonts/icomoon.eot?rretjt);src:url(../fonts/icomoon.eot?#iefixrretjt) format('embedded-opentype'),url(../fonts/icomoon.woff?rretjt) format('woff'),url(../fonts/icomoon.ttf?rretjt) format('truetype'),url(../fonts/icomoon.svg?rretjt#icomoon) format('svg');font-weight:400;font-style:normal}[class*=" icon-"],[class^=icon-]{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{font-size:100%;padding:0;margin:0}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}body{background:#f9f7f6;color:#404d5b;font-weight:500;font-size:1.05em;font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3",FontAwesome,sans-serif}a{color:#2fa0ec;text-decoration:none;outline:0}a:focus,a:hover{color:#74777b}.htmleaf-container{margin:0 auto;overflow:hidden}.bgcolor-1{background:#f0efee}.bgcolor-2{background:#f9f9f9}.bgcolor-3{background:#e8e8e8}.bgcolor-4{background:#2f3238;color:#fff}.bgcolor-5{background:#df6659;color:#521e18}.bgcolor-6{background:#2fa8ec}.bgcolor-7{background:#d0d6d6}.bgcolor-8{background:#3d4444;color:#fff}.bgcolor-9{background:#ef3f52;color:#fff}.bgcolor-10{background:#64448f;color:#fff}.bgcolor-11{background:#3755ad;color:#fff}.bgcolor-12{background:#3498DB;color:#fff}.htmleaf-header{padding:1em 190px 1em;letter-spacing:-1px;text-align:center}.htmleaf-header h1{font-weight:600;font-size:2em;line-height:1;margin-bottom:0;font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3",FontAwesome,sans-serif}.htmleaf-header h1 span{font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3",FontAwesome,sans-serif;display:block;font-size:60%;font-weight:400;padding:.8em 0 .5em 0;color:#c3c8cd}.htmleaf-demo a{color:#1d7db1;text-decoration:none}.htmleaf-demo{width:100%;padding-bottom:1.2em}.htmleaf-demo a{display:inline-block;margin:.5em;padding:.6em 1em;border:3px solid #1d7db1;font-weight:700}.htmleaf-demo a:hover{opacity:.6}.htmleaf-demo a.current{background:#1d7db1;color:#fff}.htmleaf-links{position:relative;display:inline-block;white-space:nowrap;font-size:1.5em;text-align:center}.htmleaf-links::after{position:absolute;top:0;left:50%;margin-left:-1px;width:2px;height:100%;background:#dbdbdb;content:'';-webkit-transform:rotate3d(0,0,1,22.5deg);transform:rotate3d(0,0,1,22.5deg)}.htmleaf-icon{display:inline-block;margin:.5em;padding:0 0;width:1.5em;text-decoration:none}.htmleaf-icon span{display:none}.htmleaf-icon:before{margin:0 5px;text-transform:none;font-weight:400;font-style:normal;font-variant:normal;font-family:icomoon;line-height:1;speak:none;-webkit-font-smoothing:antialiased}.htmleaf-footer{width:100%;padding-top:10px}.htmleaf-small{font-size:.8em}.center{text-align:center}.related{color:#fff;background:#333;text-align:center;font-size:1.25em;padding:.5em 0;overflow:hidden}.related>a{vertical-align:top;width:calc(100% - 20px);max-width:340px;display:inline-block;text-align:center;margin:20px 10px;padding:25px;font-family:"Segoe UI","Lucida Grande",Helvetica,Arial,"Microsoft YaHei",FreeSans,Arimo,"Droid Sans","wenquanyi micro hei","Hiragino Sans GB","Hiragino Sans GB W3",FontAwesome,sans-serif}.related a{display:inline-block;text-align:left;margin:20px auto;padding:10px 20px;opacity:.8;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-backface-visibility:hidden}.related a:active,.related a:hover{opacity:1}.related a img{max-width:100%;opacity:.8;border-radius:4px}.related a:active img,.related a:hover img{opacity:1}.related h3{font-family:"Microsoft YaHei",sans-serif}.related a h3{font-weight:300;margin-top:.15em;color:#fff}.icon-htmleaf-home-outline:before{content:"\e5000"}.icon-htmleaf-arrow-forward-outline:before{content:"\e5001"}@media screen and (max-width:50em){.htmleaf-header{padding:3em 10% 4em}.htmleaf-header h1{font-size:2em}}@media screen and (max-width:40em){.htmleaf-header h1{font-size:1.5em}}@media screen and (max-width:30em){.htmleaf-header h1{font-size:1.2em}} |
|||
@ -0,0 +1,11 @@ |
|||
/*! |
|||
* @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
|||
* @package bootstrap-fileinput |
|||
* @version 4.1.9 |
|||
* |
|||
* File input styling for Bootstrap 3.0 |
|||
* Built for Yii Framework 2.0 |
|||
* Author: Kartik Visweswaran |
|||
* Year: 2015 |
|||
* For more Yii related demos visit http://demos.krajee.com |
|||
*/.file-input{overflow-x:auto}.file-loading{top:0;right:0;width:25px;height:25px;font-size:999px;text-align:right;color:#fff;background:transparent url(../img/loading.gif) top left no-repeat;border:none}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;text-align:right;opacity:0;filter:alpha(opacity=0);opacity:0;background:none repeat scroll 0 0 transparent;cursor:inherit;display:block}.file-caption .glyphicon{display:inline-block;min-width:18px;margin-top:2px}.file-caption-name{display:inline-block;overflow:hidden;max-height:20px;padding-right:10px;word-break:break-all}.file-caption-ellipsis{position:absolute;right:10px;margin-top:-6px;font-size:1.2em;display:none;font-weight:700;cursor:default}.kv-has-ellipsis .file-caption-ellipsis{display:inline}.kv-has-ellipsis{padding-right:17px}.kv-search-container .kv-search-clear{position:absolute;padding:10px;right:0}.file-error-message{background-color:#f2dede;color:#a94442;text-align:center;border-radius:5px;padding:5px}.file-error-message pre,.file-error-message ul{margin:5px 0;text-align:left}.file-caption-disabled{background-color:#EEE;cursor:not-allowed;opacity:1}.file-input .btn .disabled,.file-input .btn[disabled]{cursor:not-allowed}.file-preview{border-radius:5px;border:1px solid #ddd;padding:5px;width:100%;margin-bottom:5px}.file-preview-frame{display:table;margin:8px;height:160px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left;text-align:center;vertical-align:middle}.file-preview-frame:hover{box-shadow:3px 3px 5px 0 #333}.file-preview-image{height:160px;vertical-align:text-center}.file-preview-text{width:160px;color:#428bca;font-size:11px;text-align:center}.file-preview-other{padding-top:48px;text-align:center}.file-preview-other i{font-size:2.4em}.file-other-error{width:100%;padding-top:30px;text-align:right}.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file{display:none}.loading{background:transparent url(../img/loading.gif) no-repeat scroll center center content-box!important}.wrap-indicator{font-weight:700;color:#245269;cursor:pointer}.file-actions{text-align:left}.file-footer-buttons{float:right}.file-thumbnail-footer .file-caption-name{padding-top:4px;font-size:11px;color:#777}.file-upload-indicator{padding-top:2px;cursor:default}.file-upload-indicator:hover{font-size:1.2em;font-weight:700;padding-top:0}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone-title{color:#aaa;font-size:40px;padding:85px 10px}.highlighted{border:2px dashed #999!important;background-color:#f0f0f0}.file-uploading{background-image:url(../img/loading-sm.gif);background-position:center bottom 10px;background-repeat:no-repeat;opacity:.6}.file-icon-large{font-size:1.2em} |
|||
@ -0,0 +1,11 @@ |
|||
/*! |
|||
* @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
|||
* @package bootstrap-fileinput |
|||
* @version 4.1.9 |
|||
* |
|||
* File input styling for Bootstrap 3.0 |
|||
* Built for Yii Framework 2.0 |
|||
* Author: Kartik Visweswaran |
|||
* Year: 2015 |
|||
* For more Yii related demos visit http://demos.krajee.com |
|||
*/.file-input{overflow-x:auto}.file-loading{top:0;right:0;width:25px;height:25px;font-size:999px;text-align:right;color:#fff;background:transparent url(../img/loading.gif) top left no-repeat;border:none}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;text-align:right;filter:alpha(opacity=0);opacity:0;background:none repeat scroll 0 0 transparent;cursor:inherit;display:block}.file-caption .glyphicon{display:inline-block;min-width:18px;margin-top:2px}.file-caption-name{display:inline-block;overflow:hidden;max-height:20px;padding-right:10px;word-break:break-all}.file-caption-ellipsis{position:absolute;right:10px;margin-top:-6px;font-size:1.2em;display:none;font-weight:700;cursor:default}.kv-has-ellipsis .file-caption-ellipsis{display:inline}.kv-has-ellipsis{padding-right:17px}.kv-search-container .kv-search-clear{position:absolute;padding:10px;right:0}.file-error-message{background-color:#f2dede;color:#a94442;text-align:center;border-radius:5px;padding:5px}.file-error-message pre,.file-error-message ul{margin:5px 0;text-align:left}.file-caption-disabled{background-color:#EEE;cursor:not-allowed;opacity:1}.file-input .btn .disabled,.file-input .btn[disabled]{cursor:not-allowed}.file-preview{border-radius:5px;border:1px solid #ddd;padding:5px;width:100%;margin-bottom:5px}.file-preview-frame{display:table;margin:8px;height:160px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left;text-align:center;vertical-align:middle}.file-preview-frame:hover{box-shadow:3px 3px 5px 0 #333}.file-preview-image{height:160px;vertical-align:text-center}.file-preview-text{width:160px;color:#428bca;font-size:11px;text-align:center}.file-preview-other{padding-top:48px;text-align:center}.file-preview-other i{font-size:2.4em}.file-other-error{width:100%;padding-top:30px;text-align:right}.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file{display:none}.loading{background:transparent url(../img/loading.gif) no-repeat scroll center center content-box!important}.wrap-indicator{font-weight:700;color:#245269;cursor:pointer}.file-actions{text-align:left}.file-footer-buttons{float:right}.file-thumbnail-footer .file-caption-name{padding-top:4px;font-size:11px;color:#777}.file-upload-indicator{padding-top:2px;cursor:default}.file-upload-indicator:hover{font-size:1.2em;font-weight:700;padding-top:0}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone-title{color:#aaa;font-size:40px;padding:85px 10px}.highlighted{border:2px dashed #999!important;background-color:#f0f0f0}.file-uploading{background-image:url(../img/loading-sm.gif);background-position:center bottom 10px;background-repeat:no-repeat;opacity:.6}.file-icon-large{font-size:1.2em} |
|||
@ -0,0 +1 @@ |
|||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;} |
|||
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 847 B |
@ -0,0 +1 @@ |
|||
(function($){"use strict";$.fn.fileinput.locales._LANG_={fileSingle:'file',filePlural:'files',browseLabel:'Browse …',removeLabel:'Remove',removeTitle:'Clear selected files',cancelLabel:'Cancel',cancelTitle:'Abort ongoing upload',uploadLabel:'Upload',uploadTitle:'Upload selected files',msgSizeTooLarge:'File "{name}" (<b>{size} KB</b>) exceeds maximum allowed upload size of <b>{maxSize} KB</b>. Please retry your upload!',msgFilesTooLess:'You must select at least <b>{n}</b> {files} to upload. Please retry your upload!',msgFilesTooMany:'Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>. Please retry your upload!',msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgValidationError:'File Upload Error',msgLoading:'Loading file {index} of {files} …',msgProgress:'Loading file {index} of {files} - {name} - {percent}% completed.',msgSelected:'{n} {files} selected',msgFoldersNotAllowed:'Drag & drop files only! Skipped {n} dropped folder(s).',dropZoneTitle:'Drag & drop files here …'};$.extend($.fn.fileinput.defaults,$.fn.fileinput.locales._LANG_)})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Czech Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.cz = { |
|||
fileSingle: 'soubor', |
|||
filePlural: 'soubory', |
|||
browseLabel: 'Vybrat …', |
|||
removeLabel: 'Odstranit', |
|||
removeTitle: 'Vyčistit vybrané soubory', |
|||
cancelLabel: 'Storno', |
|||
cancelTitle: 'Přerušit nahrávání', |
|||
uploadLabel: 'Nahrát', |
|||
uploadTitle: 'Nahrát vybrané soubory', |
|||
msgSizeTooLarge: 'Soubor "{name}" (<b>{size} KB</b>): překročení - maximální povolená velikost <b>{maxSize} KB</b>. Zkuste nahrát znova, prosím!', |
|||
msgFilesTooLess: 'Musíte vybrat nejméně <b>{n}</b> {files} pro nahrání. Zkuste nahrát znova, prosím!', |
|||
msgFilesTooMany: 'Počet vybraných souborů pro nahrání <b>({n})</b>: překročení - maximální povolený limit <b>{m}</b>. Zkuste nahrát znova, prosím!', |
|||
msgFileNotFound: 'Soubor "{name}" nebyl nalezen!', |
|||
msgFileSecured: 'Zabezpečení souboru znemožnilo číst soubor "{name}".', |
|||
msgFileNotReadable: 'Soubor "{name}" není čitelný.', |
|||
msgFilePreviewAborted: 'Náhled souboru byl přerušen pro "{name}".', |
|||
msgFilePreviewError: 'Nastala chyba při načtení souboru "{name}".', |
|||
msgInvalidFileType: 'Neplatný typ souboru "{name}". Pouze "{types}" souborů jsou podporovány.', |
|||
msgInvalidFileExtension: 'Neplatná extenze souboru "{name}". Pouze "{extensions}" souborů jsou podporovány.', |
|||
msgValidationError: 'Chyba nahrání souboru.', |
|||
msgLoading: 'Nahrávání souboru {index} z {files} …', |
|||
msgProgress: 'Nahrávání souboru {index} z {files} - {name} - {percent}% dokončeno.', |
|||
msgSelected: '{n} {files} vybrano', |
|||
msgFoldersNotAllowed: 'Táhni a pusť pouze soubory! Vynechané {n} pustěné složk(y).', |
|||
dropZoneTitle: 'Táhni a pusť soubory sem …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.cz); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,41 @@ |
|||
/*! |
|||
* FileInput German Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.de = { |
|||
fileSingle: 'Datei', |
|||
filePlural: 'Dateien', |
|||
browseLabel: 'Auswählen …', |
|||
removeLabel: 'Löschen', |
|||
removeTitle: 'Ausgewählte löschen', |
|||
cancelLabel: 'Laden', |
|||
cancelTitle: 'Hochladen abbrechen', |
|||
uploadLabel: 'Hochladen', |
|||
uploadTitle: 'Hochladen der ausgewählten Dateien', |
|||
msgSizeTooLarge: 'Datei "{name}" (<b>{size} KB</b>) überschreitet maximal zulässige Upload-Größe von <b>{maxSize} KB</b>.', |
|||
msgFilesTooLess: 'Sie müssen mindestens <b>{n}</b> {files} zum Hochladen auswählen. Bitte versuchen es erneut!', |
|||
msgFilesTooMany: 'Anzahl der Dateien für den Upload ausgewählt <b>({n})</b> überschreitet maximal zulässige Grenze von <b>{m}</b> Stück.', |
|||
msgFileNotFound: 'Datei "{name}" wurde nicht gefunden!', |
|||
msgFileSecured: 'Sicherheitseinstellungen verhindern das Lesen der Datei "{name}".', |
|||
msgFileNotReadable: 'Die Datei "{name}" ist nicht lesbar.', |
|||
msgFilePreviewAborted: 'Dateivorschau abgebrochen für "{name}".', |
|||
msgFilePreviewError: 'Beim Lesen der Datei "{name}" ein Fehler aufgetreten.', |
|||
msgInvalidFileType: 'Ungültiger Typ für Datei "{name}". Nur Dateien der Typen "{types}" werden unterstützt.', |
|||
msgInvalidFileExtension: 'Ungültige Erweiterung für Datei "{name}". Nur Dateien mit der Endung "{extensions}" werden unterstützt.', |
|||
msgValidationError: 'Fehler beim Hochladen', |
|||
msgLoading: 'Lade Datei {index} von {files} hoch…', |
|||
msgProgress: 'Datei {index} von {files} - {name} - zu {percent}% fertiggestellt.', |
|||
msgSelected: '{n} {files} ausgewählt', |
|||
msgFoldersNotAllowed: 'Drag & Drop funktioniert nur bei Dateien! {n} Ordner übersprungen.', |
|||
dropZoneTitle: 'Dateien hierher ziehen …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.de); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Spanish (Latin American) Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.es = { |
|||
fileSingle: 'archivo', |
|||
filePlural: 'archivos', |
|||
browseLabel: 'Buscar …', |
|||
removeLabel: 'Remover', |
|||
removeTitle: 'Limpiar archivos seleccionados', |
|||
cancelLabel: 'Cancelar', |
|||
cancelTitle: 'Abortar el cargue en curso', |
|||
uploadLabel: 'Cargar Archivo', |
|||
uploadTitle: 'Cargar archivos seleccionados', |
|||
msgSizeTooLarge: 'Archivo "{name}" (<b>{size} KB</b>) excede el tamaño máximo permitido de <b>{maxSize} KB</b>. Por favor reintente su cargue!', |
|||
msgFilesTooLess: 'Usted debe seleccionar al menos <b>{n}</b> {files} a cargar. Por favor reintente su cargue!', |
|||
msgFilesTooMany: 'El número de archivos seleccionados a cargar <b>({n})</b> excede el límite máximo permitido de <b>{m}</b>. Por favor reintente su cargue!', |
|||
msgFileNotFound: 'Archivo "{name}" no encontrado!', |
|||
msgFileSecured: 'Restricciones de seguridad previenen la lectura del archivo "{name}".', |
|||
msgFileNotReadable: 'Archivo "{name}" no se puede leer.', |
|||
msgFilePreviewAborted: 'Previsualización del archivo abortada para "{name}".', |
|||
msgFilePreviewError: 'Ocurrió un error mientras se leía el archivo "{name}".', |
|||
msgInvalidFileType: 'Tipo de archivo inválido para el archivo "{name}". Sólo archivos "{types}" son permitidos.', |
|||
msgInvalidFileExtension: 'Extensión de archivo inválido para "{name}". Sólo archivos "{extensions}" son permitidos.', |
|||
msgValidationError: 'Error Cargando Archivo', |
|||
msgLoading: 'Cargando archivo {index} of {files} …', |
|||
msgProgress: 'Cargando archivo {index} of {files} - {name} - {percent}% completado.', |
|||
msgSelected: '{n} {files} seleccionados', |
|||
msgFoldersNotAllowed: 'Arrastre y suelte únicamente archivos! Se omite {n} carpeta(s).', |
|||
dropZoneTitle: 'Arrastre y suelte los archivos aquí …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.es); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput French Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.fr = { |
|||
fileSingle: 'fichier', |
|||
filePlural: 'fichiers', |
|||
browseLabel: 'Parcourir…', |
|||
removeLabel: 'Retirer', |
|||
removeTitle: 'Retirer les fichiers sélectionnés', |
|||
cancelLabel: 'Annuler', |
|||
cancelTitle: "Annuler l'envoi en cours", |
|||
uploadLabel: 'Transférer', |
|||
uploadTitle: 'Transférer les fichiers sélectionnés', |
|||
msgSizeTooLarge: 'Le fichier "{name}" (<b>{size} KB</b>) dépasse la taille maximale autorisée qui est de <b>{maxSize} KB</b>. Merci de recommencer !', |
|||
msgFilesTooLess: 'Vous devez sélectionner au moins <b>{n}</b> {files} à transmetter. Merci de recommencer !', |
|||
msgFilesTooMany: 'Le nombre de fichier sélectionné <b>({n})</b> dépasse la quantité maximale autorisée qui est de <b>{m}</b>. Merci de recommencer !', |
|||
msgFileNotFound: 'Le fichier "{name}" est introuvable !', |
|||
msgFileSecured: "Des restrictions de sécurité vous empêchent d'accéder au fichier \"{name}\".", |
|||
msgFileNotReadable: 'Le fichier "{name}" est illisble.', |
|||
msgFilePreviewAborted: 'Prévisualisation du fichier "{name}" annulée.', |
|||
msgFilePreviewError: 'Une erreur est survenue lors de la lecture du fichier "{name}".', |
|||
msgInvalidFileType: 'Type de document invalide pour "{name}". Seulement les documents de type "{types}" sont autorisés.', |
|||
msgInvalidFileExtension: 'Extension invalide pour le fichier "{name}". Seules les extensions "{extensions}" sont autorisées.', |
|||
msgValidationError: 'Erreur lors de la transmission du fichier', |
|||
msgLoading: 'Transmission du fichier {index} sur {files}…', |
|||
msgProgress: 'Transmission du fichier {index} sur {files} - {name} - {percent}% faits.', |
|||
msgSelected: '{n} {files} sélectionné(s)', |
|||
msgFoldersNotAllowed: 'Glissez et déposez uniquement des fichiers ! {n} répertoire(s) exclu(s).', |
|||
dropZoneTitle: 'Glissez et déposez les fichiers ici…' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.fr); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Hungarian Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.hu = { |
|||
fileSingle: 'fájl', |
|||
filePlural: 'fájlok', |
|||
browseLabel: 'Böngész …', |
|||
removeLabel: 'Eltávolít', |
|||
removeTitle: 'Kijelölt fájlok törlése', |
|||
cancelLabel: 'Mégse', |
|||
cancelTitle: 'Feltöltés megszakítása', |
|||
uploadLabel: 'Feltöltés', |
|||
uploadTitle: 'Kijelölt fájlok feltöltése', |
|||
msgSizeTooLarge: '"{name}" fájl (<b>{size} KB</b>) mérete nagyobb a megengedettnél <b>{maxSize} KB</b>. Kérjük próbálja újra!', |
|||
msgFilesTooLess: 'Legalább <b>{n}</b> {files} ki kell választania a feltöltéshez. Kérjük próbálja újra!', |
|||
msgFilesTooMany: 'A feltölteni kívánt fájlok száma <b>({n})</b> elérte a megengedett maximumot <b>{m}</b>. Kérjük próbálja újra!', |
|||
msgFileNotFound: '"{name}" fájl nem található!', |
|||
msgFileSecured: 'Biztonsági beállítások nem engedik olvasni a fájlt "{name}".', |
|||
msgFileNotReadable: '"{name}" fájl nem olvasható', |
|||
msgFilePreviewAborted: '"{name}" fájl feltöltése megszakítva.', |
|||
msgFilePreviewError: 'Hiba lépett fel a "{name}" fájl olvasása közben.', |
|||
msgInvalidFileType: 'Nem megengedett fájl "{name}". Csak a "{types}" fájl típusok támogatottak.', |
|||
msgInvalidFileExtension: 'Nem megengedett kiterjesztés / fájltípus "{name}". Csak a "{extensions}" kiterjesztés(ek) / fájltípus(ok) támogatottak.', |
|||
msgValidationError: 'Fájl ellenörzési hiba.', |
|||
msgLoading: '{index} / {files} töltése …', |
|||
msgProgress: 'Feltöltés: {index} / {files} - {name} - {percent}% kész.', |
|||
msgSelected: '{n} {files} kiválasztva.', |
|||
msgFoldersNotAllowed: 'Csak fájlokat húzzon ide! Kihagyva {n} könyvtár.', |
|||
dropZoneTitle: 'Fájlok húzása ide …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.hu); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,45 @@ |
|||
/*! |
|||
* FileInput Italian Translation |
|||
* |
|||
* Author: Lorenzo Milesi <maxxer@yetopen.it> |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.it = { |
|||
fileSingle: 'file', |
|||
filePlural: 'file', |
|||
browseLabel: 'Sfoglia…', |
|||
removeLabel: 'Rimuovi', |
|||
removeTitle: 'Rimuovi i file selezionati', |
|||
cancelLabel: 'Annulla', |
|||
cancelTitle: 'Annulla i caricamenti in corso', |
|||
uploadLabel: 'Carica', |
|||
uploadTitle: 'Carica i file selezionati', |
|||
msgSizeTooLarge: 'Il file "{name}" (<b>{size} KB</b>) eccede la dimensione massima di caricamento di <b>{maxSize} KB</b>. Per favore correggi il file e riprova!', |
|||
msgFilesTooLess: 'Devi selezionare almeno <b>{n}</b> {files} da caricare. Per favore correggi e riprova!', |
|||
msgFilesTooMany: 'Il numero di file selezionati per il caricamento <b>({n})</b> eccede il numero massimo di file accettati <b>{m}</b>. Per favore correggi e riprova!', |
|||
msgFileNotFound: 'File "{name}" non trovato!', |
|||
msgFileSecured: 'Restrizioni di sicurezza impediscono la lettura del file "{name}".', |
|||
msgFileNotReadable: 'Il file "{name}" non \xE8 leggibile.', |
|||
msgFilePreviewAborted: 'Generazione anteprima per "{name}" annullata.', |
|||
msgFilePreviewError: 'Errore durante la lettura del file "{name}".', |
|||
msgInvalidFileType: 'Tipo non valido per il file "{name}". Sono ammessi solo file di tipo "{types}".', |
|||
msgInvalidFileExtension: 'Estensione non valida per il file "{name}". Sono ammessi solo file con estensione "{extensions}".', |
|||
msgValidationError: 'Errore caricamento file', |
|||
msgLoading: 'Caricamento file {index} di {files}…', |
|||
msgProgress: 'Caricamento file {index} di {files} - {name} - {percent}% completato.', |
|||
msgSelected: '{n} {files} selezionati', |
|||
msgFoldersNotAllowed: 'Trascina solo file! Ignorata/e {n} cartella/e.', |
|||
dropZoneTitle: 'Trascina i file qui…' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.it); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Dutch Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.nl = { |
|||
fileSingle: 'bestand', |
|||
filePlural: 'bestanden', |
|||
browseLabel: 'Zoek …', |
|||
removeLabel: 'Verwijder', |
|||
removeTitle: 'Verwijder geselecteerde bestanden', |
|||
cancelLabel: 'Annuleren', |
|||
cancelTitle: 'Annuleer gaande upload', |
|||
uploadLabel: 'Upload', |
|||
uploadTitle: 'Upload geselecteerde bestanden', |
|||
msgSizeTooLarge: 'Bestand "{name}" (<b>{size} KB</b>) is groter dan de toegestaande <b>{maxSize} KB</b>. Probeer opnieuw!', |
|||
msgFilesTooLess: 'U moet minstens <b>{n}</b> {files} selecteren om te uploaden. Probeer opnieuw!', |
|||
msgFilesTooMany: 'Aantal geselecteerde bestanden <b>({n})</b> is meer dan de toegestaande <b>{m}</b>. Probeer opnieuw!', |
|||
msgFileNotFound: 'Bestand "{name}" niet gevonden!', |
|||
msgFileSecured: 'Bestand kan niet gelezen worden in verband met beveiligings redenen "{name}".', |
|||
msgFileNotReadable: 'Bestand "{name}" is niet leesbaar.', |
|||
msgFilePreviewAborted: 'Bestand weergaven geannuleerd voor "{name}".', |
|||
msgFilePreviewError: 'Er is een fout opgetreden met lezen van "{name}".', |
|||
msgInvalidFileType: 'Geen geldig bestand "{name}". Alleen "{types}" zijn toegestaan.', |
|||
msgInvalidFileExtension: 'Geen geldige extensie "{name}". Alleen "{extensions}" zijn toegestaan.', |
|||
msgValidationError: 'Bestand upload fout', |
|||
msgLoading: 'Bestanden laden {index} van de {files} …', |
|||
msgProgress: 'Bestanden laden {index} van de {files} - {name} - {percent}% compleet.', |
|||
msgSelected: '{n} {files} geselecteerd', |
|||
msgFoldersNotAllowed: 'Drag & drop bestanden alleen! overgeslagen {n} mappen(s).', |
|||
dropZoneTitle: 'Drag & drop bestanden hier …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.nl); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Polish Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.pl = { |
|||
fileSingle: 'plik', |
|||
filePlural: 'pliki', |
|||
browseLabel: 'Przeglądaj …', |
|||
removeLabel: 'Usuń', |
|||
removeTitle: 'Usuń zaznaczone pliki', |
|||
cancelLabel: 'Przerwij', |
|||
cancelTitle: 'Anuluj wysyłanie', |
|||
uploadLabel: 'Wgraj', |
|||
uploadTitle: 'Wgraj zaznaczone pliki', |
|||
msgSizeTooLarge: 'Plik o nazwie "{name}" (<b>{size} KB</b>) przekroczył maksymalną dopuszczalną wielkość pliku wynoszącą <b>{maxSize} KB</b>. Proszę ponowić próbę wysłania pliku!', |
|||
msgFilesTooLess: 'Musisz wybrać przynajmniej <b>{n}</b> {files} do wgrania. Proszę spróbować jeszcze raz wgrać pliki!', |
|||
msgFilesTooMany: 'Liczba plików wybranych do wgrania w liczbie <b>({n})</b>, przekracza maksymalny dozwolony limit wynoszący <b>{m}</b>. Proszę spróbować ponownie!', |
|||
msgFileNotFound: 'Plik "{name}" nie istnieje!', |
|||
msgFileSecured: 'Ustawienia zabezpieczeń uniemożliwiają odczyt pliku "{name}".', |
|||
msgFileNotReadable: 'Plik "{name}" nie jest plikiem do odczytu.', |
|||
msgFilePreviewAborted: 'Podgląd pliku "{name}" został przerwany.', |
|||
msgFilePreviewError: 'Wystąpił błąd w czasie odczytu pliku "{name}".', |
|||
msgInvalidFileType: 'Nieznny typ pliku "{name}". Tylko następujące rodzaje plików "{types}", są obsługiwane.', |
|||
msgInvalidFileExtension: 'Złe rozszerzenie dla pliku "{name}". Tylko następujące rozszerzenia plików "{extensions}", są obsługiwane.', |
|||
msgValidationError: 'Błąd podczas przesyłania pliku.', |
|||
msgLoading: 'Wczytywanie pliku {index} z {files} …', |
|||
msgProgress: 'Wczytywanie pliku {index} z {files} - {name} - {percent}% zakończone.', |
|||
msgSelected: '{n} {files} zaznaczonych', |
|||
msgFoldersNotAllowed: 'Metodą przeciągnij i upuść, można przenosić tylko pliki. Pominięto {n} katalogów.', |
|||
dropZoneTitle: 'Przeciągnij i upuść pliki tu …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.pl); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Portuguese Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.pt= { |
|||
fileSingle: 'ficheiro', |
|||
filePlural: 'ficheiros', |
|||
browseLabel: 'Procurar …', |
|||
removeLabel: 'Remover', |
|||
removeTitle: 'Remover ficheiros seleccionados', |
|||
cancelLabel: 'Cancelar', |
|||
cancelTitle: 'Abortar carregamento ', |
|||
uploadLabel: 'Carregar', |
|||
uploadTitle: 'Carregar ficheiros seleccionados', |
|||
msgSizeTooLarge: 'Ficheiro "{name}" (<b>{size} KB</b>) excede o tamanho máximo permido de <b>{maxSize} KB</b>. Por favor carregue de novo!', |
|||
msgFilesTooLess: 'Deve seleccionar pelo menos <b>{n}</b> {files} para fazer upload. Por favor carregue de novo!', |
|||
msgFilesTooMany: 'Número máximo de ficheiros seleccionados <b>({n})</b> excede o limite máximo de <b>{m}</b>. Por favor carregue de novo!', |
|||
msgFileNotFound: 'Ficheiro "{name}" não encontrado!', |
|||
msgFileSecured: 'Restrições de segurança preventem a leitura do ficheiro "{name}".', |
|||
msgFileNotReadable: 'Ficheiro "{name}" não pode ser lido.', |
|||
msgFilePreviewAborted: 'Pré-visualização abortado para o ficheiro "{name}".', |
|||
msgFilePreviewError: 'Ocorreu um erro ao ler o ficheiro "{name}".', |
|||
msgInvalidFileType: 'Tipo inválido para o ficheiro "{name}". Apenas ficheiros "{types}" são suportados.', |
|||
msgInvalidFileExtension: 'Extensão inválida para o ficheiro "{name}". Apenas ficheiros "{extensions}" são suportados.', |
|||
msgValidationError: 'Erro de carregamento de ficheiro', |
|||
msgLoading: 'A carregar ficheiro {index} de {files} …', |
|||
msgProgress: 'A carregar ficheiro {index} de {files} - {name} - {percent}% completo.', |
|||
msgSelected: '{n} {files} seleccionados', |
|||
msgFoldersNotAllowed: 'Arrastar e largar ficheiros apenas! {n} pasta(s) ignoradas.', |
|||
dropZoneTitle: 'Arrastar e largar ficheiros aqui …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.pt); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,44 @@ |
|||
/*! |
|||
* FileInput Russian Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* @author CyanoFresh <cyanofresh@gmail.com> |
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.ru = { |
|||
fileSingle: 'файл', |
|||
filePlural: 'файлы', |
|||
browseLabel: 'Выбрать …', |
|||
removeLabel: 'Удалить', |
|||
removeTitle: 'Очистить выбранные файлы', |
|||
cancelLabel: 'Отмена', |
|||
cancelTitle: 'Отменить текущую загрузку', |
|||
uploadLabel: 'Загрузить', |
|||
uploadTitle: 'Загрузить выбранные файлы', |
|||
msgSizeTooLarge: 'Файл "{name}" (<b>{size} KB</b>) превышает максимальный размер <b>{maxSize} KB</b>', |
|||
msgFilesTooLess: 'Вы должны выбрать как минимум <b>{n}</b> {files} для загрузки', |
|||
msgFilesTooMany: 'Количество выбранных файлов <b>({n})</b> превышает максимально допустимое количество <b>{m}</b>', |
|||
msgFileNotFound: 'Файл "{name}" не найден!', |
|||
msgFileSecured: 'Ограничения безопасности запрещают читать файл "{name}".', |
|||
msgFileNotReadable: 'Файл "{name}" невозможно прочитать.', |
|||
msgFilePreviewAborted: 'Предпросмотр отменен для файла "{name}".', |
|||
msgFilePreviewError: 'Произошла ошибка при чтении файла "{name}".', |
|||
msgInvalidFileType: 'Запрещенный тип файла для "{name}". Только "{types}" разрешены.', |
|||
msgInvalidFileExtension: 'Запрещенное расширение для файла "{name}". Только "{extensions}" разрешены.', |
|||
msgValidationError: 'Ошибка при загрузке файла', |
|||
msgLoading: 'Загрузка файла {index} из {files} …', |
|||
msgProgress: 'Загрузка файла {index} из {files} - {name} - {percent}% завершено.', |
|||
msgSelected: '{n} {files} выбрано', |
|||
msgFoldersNotAllowed: 'Разрешено только перетаскивание файлов! Пропущено {n} папок.', |
|||
dropZoneTitle: 'Перетащите файлы сюда …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.ru); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Slovakian Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.sk = { |
|||
fileSingle: 'súbor', |
|||
filePlural: 'súbory', |
|||
browseLabel: 'Vybrať …', |
|||
removeLabel: 'Odstrániť', |
|||
removeTitle: 'Vyčistiť vybraté súbory', |
|||
cancelLabel: 'Storno', |
|||
cancelTitle: 'Prerušiť nahrávanie', |
|||
uploadLabel: 'Nahrať', |
|||
uploadTitle: 'Nahrať vybraté súbory', |
|||
msgSizeTooLarge: 'Súbor "{name}" (<b>{size} KB</b>): prekročenie - maximálna povolená veľkosť <b>{maxSize} KB</b>. Skúste nahrať opäť, prosím!', |
|||
msgFilesTooLess: 'Musíte vybrať najmenej <b>{n}</b> {files} pre nahranie. Skúste nahrať opäť, prosím!', |
|||
msgFilesTooMany: 'Počet vybratých súborov pre nahranie <b>({n})</b>: prekročenie - maximálny povolený limit <b>{m}</b>. Skúste nahrať opäť, prosím!', |
|||
msgFileNotFound: 'Súbor "{name}" nebol nájdený!', |
|||
msgFileSecured: 'Zabezpečenie súboru znemožnilo čítať súbor "{name}".', |
|||
msgFileNotReadable: 'Súbor "{name}" nie je čitateľný.', |
|||
msgFilePreviewAborted: 'Náhľad súboru bol prerušený pre "{name}".', |
|||
msgFilePreviewError: 'Nastala chyba pri načítaní súboru "{name}".', |
|||
msgInvalidFileType: 'Neplatný typ súboru "{name}". Iba "{types}" súborov sú podporované.', |
|||
msgInvalidFileExtension: 'Neplatná extenzia súboru "{name}". Iba "{extensions}" súborov sú podporované.', |
|||
msgValidationError: 'Chyba nahratia súboru.', |
|||
msgLoading: 'Nahrávanie súboru {index} z {files} …', |
|||
msgProgress: 'Nahrávanie súboru {index} z {files} - {name} - {percent}% dokončené.', |
|||
msgSelected: '{n} {files} vybraté', |
|||
msgFoldersNotAllowed: 'Tiahni a pusť iba súbory! Vynechané {n} pustené prečinok(y).', |
|||
dropZoneTitle: 'Tiahni a pusť súbory tu …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.sk); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,44 @@ |
|||
/*! |
|||
* FileInput Serbian Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* @author Milos Stojanovic <stojanovic.loshmi@gmail.com> |
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.sr = { |
|||
fileSingle: 'datoteka', |
|||
filePlural: 'datoteke', |
|||
browseLabel: 'Izaberi …', |
|||
removeLabel: 'Ukloni', |
|||
removeTitle: 'Ukloni označene datoteke', |
|||
cancelLabel: 'Odustani', |
|||
cancelTitle: 'Prekini trenutno otpremanje', |
|||
uploadLabel: 'Otpremi', |
|||
uploadTitle: 'Otpremi označene datoteke', |
|||
msgSizeTooLarge: 'Datoteka "{name}" (<b>{size} KB</b>) prekoračuje maksimalnu dozvoljenu veličinu datoteke od <b>{maxSize} KB</b>. Molimo pokušajte ponovo!', |
|||
msgFilesTooLess: 'Morate odabrati najmanje <b>{n}</b> {files} za otpremanje. Molimo pokušajte ponovo!', |
|||
msgFilesTooMany: 'Broj datoteka označenih za otpremanje <b>({n})</b> prekoračuje maksimalni dozvoljeni limit od <b>{m}</b>. Molimo pokušajte ponovo!', |
|||
msgFileNotFound: 'Datoteka "{name}" nije pronađena!', |
|||
msgFileSecured: 'Datoteku "{name}" nije moguće pročitati zbog bezbednosnih ograničenja.', |
|||
msgFileNotReadable: 'Datoteku "{name}" nije moguće pročitati.', |
|||
msgFilePreviewAborted: 'Generisanje prikaza nije moguće za "{name}".', |
|||
msgFilePreviewError: 'Došlo je do greške prilikom čitanja datoteke "{name}".', |
|||
msgInvalidFileType: 'Datoteka "{name}" je pogrešnog formata. Dozvoljeni formati su "{types}".', |
|||
msgInvalidFileExtension: 'Ekstenzija datoteke "{name}" nije dozvoljena. Dozvoljene ekstenzije su "{extensions}".', |
|||
msgValidationError: 'Greška prilikom otpremanja fajla', |
|||
msgLoading: 'Učitavanje datoteke {index} od {files} …', |
|||
msgProgress: 'Učitavanje datoteke {index} od {files} - {name} - {percent}% završeno.', |
|||
msgSelected: '{n} {files} je označeno', |
|||
msgFoldersNotAllowed: 'Moguće je prevlačiti samo datoteke! Preskočeno je {n} fascikla.', |
|||
dropZoneTitle: 'Prevucite datoteke ovde …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.sr); |
|||
})(window.jQuery); |
|||
@ -0,0 +1 @@ |
|||
(function($){"use strict";$.fn.fileinput.locales.th={fileSingle:'ไฟล์',filePlural:'ไฟล์',browseLabel:'เลือกดู …',removeLabel:'ลบทิ้ง',removeTitle:'ลบไฟล์ที่เลือกทิ้ง',cancelLabel:'ยกเลิก',cancelTitle:'ยกเลิกการอัพโหลด',uploadLabel:'อัพโหลด',uploadTitle:'อัพโหลดไฟล์ที่เลือก',msgSizeTooLarge:'ไฟล์ "{name}" (<b>{size} KB</b>) มีขนาดเกินที่ระบบอนุญาตที่ <b>{maxSize} KB</b>, กรุณาลองใหม่อีกครั้ง!',msgFilesTooLess:'คุณต้องเลือกไฟล์จำนวนอย่างน้อย <b>{n}</b> {files} เพื่ออัพโหลด, กรุณาลองใหม่อีกครั้ง!',msgFilesTooMany:'ไฟล์ที่คุณเลือกมีจำนวน <b>({n})</b> ซึ่งเกินกว่าที่ระบบอนุญาตที่ <b>{m}</b>, กรุณาลองใหม่อีกครั้ง!',msgFileNotFound:'ไม่พบไฟล์ "{name}" !',msgFileSecured:'ระบบความปลอดภัยไม่อนุญาตให้อ่านไฟล์ "{name}".',msgFileNotReadable:'ไม่สามารถอ่านไฟล์ "{name}" ได้',msgFilePreviewAborted:'ไฟล์ "{name}" ไม่อนุญาตให้ดูตัวอย่าง',msgFilePreviewError:'พบปัญหาในการดูตัวอย่างไฟล์ "{name}".',msgInvalidFileType:'ไฟล์ "{name}" เป็นประเภทไฟล์ที่ไม่ถูกต้อง, อนุญาตเฉพาะไฟล์ประเภท "{types}"',msgInvalidFileExtension:'ไฟล์ "{name}" เป็น extension ที่ไมถูกต้อง, อนุญาตเฉพาะไฟล์ extension "{extensions}"',msgValidationError:'อัพโหลดไฟล์มีปัญหา',msgLoading:'กำลังโหลดไฟล์ {index} จาก {files} …',msgProgress:'กำลังโหลดไฟล์ {index} จาก {files} - {name} - {percent}%',msgSelected:'{n} {files} ถูกเลือก',msgFoldersNotAllowed:'Drag & drop เฉพาะไฟล์เท่านั้น! ข้าม dropped folder จำนวน {n}',dropZoneTitle:'Drag & drop ไฟล์ตรงนี้ …'};$.extend($.fn.fileinput.defaults,$.fn.fileinput.locales.th)})(window.jQuery); |
|||
@ -0,0 +1,43 @@ |
|||
/*! |
|||
* FileInput Turkish Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.tr = { |
|||
fileSingle: 'dosya', |
|||
filePlural: 'dosyalar', |
|||
browseLabel: 'Gözat …', |
|||
removeLabel: 'Sil', |
|||
removeTitle: 'Seçilen dosyaları sil', |
|||
cancelLabel: 'İptal', |
|||
cancelTitle: 'Devam eden yüklemeyi iptal et', |
|||
uploadLabel: 'Yükle', |
|||
uploadTitle: 'Seçilen dosyaları yükle', |
|||
msgSizeTooLarge: '"{name}" dosyasının boyutu (<b>{size} KB</b>) izin verilen azami dosya boyutu olan <b>{maxSize} KB</b>\'tan büyük. Lütfen tekrar deneyin!', |
|||
msgFilesTooLess: 'Yüklemek için en az <b>{n}</b> {files} dosya seçmelisiniz. Lütfen tekrar deneyin!', |
|||
msgFilesTooMany: 'Yüklemek için seçtiğiniz dosya sayısı <b>({n})</b> azami limitin <b>{m}</b> altında olmalıdır. Lütfen tekrar deneyin!', |
|||
msgFileNotFound: '"{name}" dosyası bulunamadı!', |
|||
msgFileSecured: 'Güvenlik kısıtlamaları "{name}" dosyasının okunmasını engelliyor.', |
|||
msgFileNotReadable: '"{name}" dosyası okunabilir değil.', |
|||
msgFilePreviewAborted: '"{name}" dosyası için önizleme iptal edildi.', |
|||
msgFilePreviewError: '"{name}" dosyası okunurken bir hata oluştu.', |
|||
msgInvalidFileType: '"{name}" dosyasının türü geçerli değil. Yalnızca "{types}" türünde dosyalara izin veriliyor.', |
|||
msgInvalidFileExtension: '"{name}" dosyasının uzantısı geçersiz. Yalnızca "{extensions}" uzantılı dosyalara izin veriliyor.', |
|||
msgValidationError: 'Dosya Yükleme Hatası', |
|||
msgLoading: 'Dosyalar yükleniyor {index} / {files} …', |
|||
msgProgress: 'Dosya yükleniyor {index} / {files} - {name} - %{percent} tamamlandı.', |
|||
msgSelected: '{n} {files} seçildi', |
|||
msgFoldersNotAllowed: 'Yalnızca dosyaları sürükleyip bırakabilirsiniz! {n} dizin(ler) göz ardı edildi.', |
|||
dropZoneTitle: 'Dosyaları buraya sürükleyip bırakın …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.tr); |
|||
})(window.jQuery); |
|||
@ -0,0 +1,44 @@ |
|||
/*! |
|||
* FileInput Ukrainian Translations |
|||
* |
|||
* This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or |
|||
* any HTML markup tags in the messages must not be converted or translated. |
|||
* |
|||
* @see http://github.com/kartik-v/bootstrap-fileinput
|
|||
* @author CyanoFresh <cyanofresh@gmail.com> |
|||
* |
|||
* NOTE: this file must be saved in UTF-8 encoding. |
|||
*/ |
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
$.fn.fileinput.locales.uk = { |
|||
fileSingle: 'файл', |
|||
filePlural: 'файли', |
|||
browseLabel: 'Вибрати …', |
|||
removeLabel: 'Видалити', |
|||
removeTitle: 'Видалити вибрані файли', |
|||
cancelLabel: 'Скасувати', |
|||
cancelTitle: 'Скасувати поточну загрузку', |
|||
uploadLabel: 'Загрузити', |
|||
uploadTitle: 'Загрузити вибрані файли', |
|||
msgSizeTooLarge: 'Файл "{name}" (<b>{size} KB</b>) перевищує максимальний розмыр <b>{maxSize} KB</b>', |
|||
msgFilesTooLess: 'Ви повинні вибрати як мінімум <b>{n}</b> {files} для загрузки', |
|||
msgFilesTooMany: 'Кількість вибраних файлів <b>({n})</b> перевищує максимально допустиму кількість <b>{m}</b>', |
|||
msgFileNotFound: 'Файл "{name}" не знайдено!', |
|||
msgFileSecured: 'Обмеження безпеки перешкоджають читанню файла "{name}".', |
|||
msgFileNotReadable: 'Файл "{name}" неможливо прочитати.', |
|||
msgFilePreviewAborted: 'Перегляд скасований для файла "{name}".', |
|||
msgFilePreviewError: 'Сталася помилка під час читання файла "{name}".', |
|||
msgInvalidFileType: 'Заборонений тип файла для "{name}". Тільки "{types}" дозволені.', |
|||
msgInvalidFileExtension: 'Заборонене розширення для файла "{name}". Тільки "{extensions}" дозволені.', |
|||
msgValidationError: 'Помилка під час загрузки файла', |
|||
msgLoading: 'Загрузка файла {index} із {files} …', |
|||
msgProgress: 'Загрузка файла {index} із {files} - {name} - {percent}% завершено.', |
|||
msgSelected: '{n} {files} вибрано', |
|||
msgFoldersNotAllowed: 'Дозволено перетягувати тільки файли! Пропущено {n} папок.', |
|||
dropZoneTitle: 'Перетяніть файли сюди …' |
|||
}; |
|||
|
|||
$.extend($.fn.fileinput.defaults, $.fn.fileinput.locales.uk); |
|||
})(window.jQuery); |
|||
@ -0,0 +1 @@ |
|||
(function($){"use strict";$.fn.fileinput.locales.zh={fileSingle:'文件',filePlural:'多个文件',browseLabel:'选择 …',removeLabel:'移除全部',removeTitle:'清除选中文件',cancelLabel:'取消',cancelTitle:'取消进行中的上传',uploadLabel:'上传',uploadTitle:'上传选中文件',msgSizeTooLarge:'文件 "{name}" (<b>{size} KB</b>) 超过了允许大小 <b>{maxSize} KB</b>. 请重新上传!',msgFilesTooLess:'你必须选择最少 <b>{n}</b> {files} 来上传. 请重新上传!',msgFilesTooMany:'选择的上传文件个数 <b>({n})</b> 超出最大文件的限制个数 <b>{m}</b>. 请重新上传!',msgFileNotFound:'文件 "{name}" 未找到!',msgFileSecured:'安全限制,为了防止读取文件 "{name}".',msgFileNotReadable:'文件 "{name}" 不可读.',msgFilePreviewAborted:'取消 "{name}" 的预览.',msgFilePreviewError:'读取 "{name}" 时出现了一个错误.',msgInvalidFileType:'不正确的类型 "{name}". 只支持 "{types}" 类型的文件.',msgInvalidFileExtension:'不正确的文件扩展名 "{name}". 只支持 "{extensions}" 的文件扩展名.',msgValidationError:'文件上传错误',msgLoading:'加载第 {index} 文件 共 {files} …',msgProgress:'加载第 {index} 文件 共 {files} - {name} - {percent}% 完成.',msgSelected:'{n} {files} 选中',msgFoldersNotAllowed:'只支持拖拽文件! 跳过 {n} 拖拽的文件夹.',dropZoneTitle:'',slugCallback:function(text){return text?text.split(/(\\|\/)/g).pop().replace(/[^\w\u4e00-\u9fa5\-.\\\/ ]+/g,''):''}};$.extend($.fn.fileinput.defaults,$.fn.fileinput.locales.zh)})(window.jQuery); |
|||