/* ========================================================================
* menu-collapse
* ======================================================================== */
+function ($) {
$.fn.menucollapse = function (){
var $this = $(this),
$a = $this.find('li>a');
if($this.is('.menu-collapse-infeed')){
$this.on('mouseenter',"li",function(){
$(this).addClass('curr').children('ul.sub-menu').show();
}).on('mouseleave',"li",function(){
$(this).removeClass('curr');
if($(this).data('click')){
$(this).addClass('curr');
}
$(this).children('ul.sub-menu').hide();
}).on('click','a',function(){
$(this).parents('.menu-li').data('click',true).siblings().removeClass('curr').data('click',false);
});
}else{
$this.on('click',"li>a",function(){
if($this.data('retract')){
if($(this).is('.curr')){
return false;
}
}
$this.find('a').removeClass('curr');
$(this).addClass('curr');
if($(this).parent().parent().parent().children('a').length>0){
$(this).parent().parent().parent().children('a').addClass('curr');
}
$(this).parent('li').parent('ul').find('li').each(function(index, element) {
$(this).children('a').find('span.arrow').html('');
$(this).find('ul.sub-menu').slideUp();
});
var $arrow=$(this).find('span.arrow'),
$ul=$(this).parent().children('ul.sub-menu');
if($ul.length>0){
if($ul.css('display')=="none"){
$ul.slideDown();
$arrow.html('');
}else{
$ul.slideUp();
$arrow.html('');
}
}
});
}
return this;
};
$('div[data-nav="menu"]').menucollapse();
}(jQuery);
/* ========================================================================
* tabs
* ======================================================================== */
+(function($){
$.fn.tabs = function(options){
if(this.length == 0) return this;
if(this.length > 1){
this.each(function(){$(this).tabs(options)});
return this;
}
if($(this).data('binds')=='yes') return false;
$(this).data('binds','yes');
var defaults={
"hdChildren":'a',
"bdChildren":'div.tabs-bd-box',
"events":'click'
};
var opts=$.extend(defaults,options || {});
var $this=$(this),
el=this,
$hd=$this.children('div.tabs-hd').children(opts.hdChildren),
$bd=$this.children('div.tabs-bd').children(opts.bdChildren);
if($this.data('toggle-tabs')){
$hd.on(opts.events,function(){
var $el=$(this),
index=$el.index();
$el.addClass('curr').siblings().removeClass('curr');
$bd.eq(0).find('iframe').attr('src',$el.data('src'));
if(opts.callback){
opts.callback(index,$this);
}
});
}else{
$hd.on(opts.events,function(){
var $el=$(this),
index=$el.index();
$el.addClass('curr').siblings().removeClass('curr');
$bd.eq(index).addClass('curr').siblings().removeClass('curr');
if(opts.callback){
opts.callback(index,$this);
}
});
}
el.goTo = function (index,toOpts){
$hd.eq(index).addClass('curr').siblings().removeClass('curr');
$bd.eq(index).addClass('curr').siblings().removeClass('curr');
};
return this;
};
$(document).on('mouseenter', '[data-toggle="tabs"]', function (e) {
$(this).tabs();
});
})(jQuery);
/* ========================================================================
* formSelect
* ======================================================================== */
+function ($) {
$.fn.formSelect = function (options,downBack,selectBack,initBack){
var defaultsettings= {
jsonData:null,
initialValue:null,
jsonDataId:null,
jsonDataText:null
};
if(this.length == 0) return this;
if(this.length > 1){
this.each(function(){$(this).formSelect(options,downBack,selectBack)});
return this;
}
if(typeof(options)=='string'){
var $this=$(this),_data=downBack;
function setCurr(v){
if($this.find('a[data-value="'+_data+'"]').length<=0){
return false;
}
$this.children(".cus-sel-chosed").find(".cus-sel-chosed-txt").text(v.val).attr("data-value", v.key);
$this.children('.cus-sel-chosed').find('input').val(v.key);
$this.attr('value',v.key);
$this.find('.cus-sel-list').find('a').removeClass('hover');
$this.find('.cus-sel-list').find('a[data-value="'+v.key+'"]').addClass('hover');
}
switch(options)
{
case 'setDatas':
setCurr(_data);
break;
case 'setDataKey':
var setKey={};
setKey.key=_data;
setKey.val= $.trim($this.find('.cus-sel-list').find('a[data-value="'+_data+'"]').text());
setCurr(setKey);
break;
case 'setDataVal':
var setVal={};
setVal.val=_data;
$this.find('.cus-sel-list').find('a').each(function(){
if($.trim($(this).text())==_data){
setVal.key= $(this).data('value');
}
});
setCurr(setVal);
break;
case 'getDatas':
var getData={};
getData.key = $this.children('.cus-sel-chosed').find('input').val();
getData.val = $.trim($this.children(".cus-sel-chosed").find(".cus-sel-chosed-txt").text());
return getData;
break;
case 'getDataKey':
return $this.children('.cus-sel-chosed').find('input').val();
break;
case 'getDataVal':
return $.trim($this.children(".cus-sel-chosed").find(".cus-sel-chosed-txt").text());
break;
case 'resetValue':
$(this).find(".cus-sel-chosed").find(".cus-sel-chosed-txt").text('-请选择-').attr("data-value", '');
$(this).find('.cus-sel-chosed').find('input').val('');
$(this).attr('value','');
$(this).find('.cus-sel-list').find('a.hover').removeClass('hover');
break;
case 'clearValue':
$(this).find(".cus-sel-chosed").find(".cus-sel-chosed-txt").text('-请选择-').attr("data-value", '');
$(this).find('.cus-sel-chosed').find('input').val('');
$(this).attr('value','');
$(this).find('.cus-sel-list').find('ul').html('');
break;
}
return false;
}
var opts=$.extend(defaultsettings, options);
var _this=$(this),tempStr='',el=this;
if(_this.data('bind')){
_this.off('click','.cus-sel-chosed');
_this.children(".cus-sel-list").off("click","a");
}else{
_this.data('bind',true);
}
if(opts.jsonDataId && opts.jsonDataText){
$(opts.jsonData).each(function(i,data){
var idVal = eval('data.'+opts.jsonDataId),
textVal = eval('data.'+opts.jsonDataText);
if(idVal==''){
tempStr+='
'+textVal+'';
}else if(idVal<=0){
tempStr+=''+textVal+'';
}
});
$(opts.jsonData).each(function(i,data){
var idVal = eval('data.'+opts.jsonDataId),
textVal = eval('data.'+opts.jsonDataText);
if(idVal!='' && idVal>0) {
tempStr+=''+textVal+'';
}else if (isNaN(idVal*1)){
tempStr+=''+textVal+'';
}
});
_this.children('.cus-sel-list').children('ul').html(tempStr);
}else if(opts.jsonData) {
for(var key in opts.jsonData){
if(key==''){
tempStr+=''+opts.jsonData[key]+'';
}else if(key<=0){
tempStr+=''+opts.jsonData[key]+'';
}
}
for(var key in opts.jsonData){
if(key!='' && key>0) {
tempStr+=''+opts.jsonData[key]+'';
}else if (isNaN(key*1)){
tempStr+=''+opts.jsonData[key]+'';
}
}
_this.children('.cus-sel-list').children('ul').html(tempStr);
}
if(opts.initialValue){
if(opts.initialValue.key==undefined){
for(var key in opts.initialValue){
_this.find('.cus-sel-chosed-txt').text(opts.initialValue[key]).attr("data-value", key);
_this.find('.cus-sel-chosed').find('input').val(key);
_this.find('.cus-sel-list').find('a[data-value="'+key+'"]').addClass('hover');
_this.attr('value',opts.initialValue.val);
}
}else{
_this.find('.cus-sel-chosed-txt').text(opts.initialValue.val).attr("data-value", opts.initialValue.key);
_this.find('.cus-sel-chosed').find('input').val(opts.initialValue.key);
_this.find('.cus-sel-list').find('a[data-value="'+opts.initialValue.key+'"]').addClass('hover');
_this.attr('value',opts.initialValue.val);
}
}
_this.on('click','.cus-sel-chosed',function(){
if(_this.is('.disabled') || _this.is('.active')){
return false;
}
$(".cus-sel").removeClass("active").css({zIndex:1});
$(".cus-sel-list").hide();
$(this).parent(".cus-sel").addClass("active").css({zIndex:1000});
var bodyScrollTop=document.documentElement.scrollTop+document.body.scrollTop,
domTop=_this.offset().top,
bodyHeight=$(window).height(),
listHeight=$(this).siblings('.cus-sel-list').outerHeight(true),
chosedHeight=$(this).outerHeight(true);
if(-(domTop+chosedHeight-bodyScrollTop-bodyHeight)'+data[key]+'';
}else{
var idVal = eval('data[dataLength].'+opts.jsonDataId),
textVal = eval('data[dataLength].'+opts.jsonDataText);
if(idVal==''){
optionsHtml+=''+textVal+'';
}else if(idVal<=0){
optionsHtml+=''+textVal+'';
}else if(idVal!='' && idVal>0) {
optionsHtml+=''+textVal+'';
}else if (isNaN(idVal*1)){
optionsHtml+=''+textVal+'';
}
dataLength++;
}
}
_this.children('.cus-sel-list').children('ul').html(optionsHtml);
_this.find('.cus-sel-chosed-txt').text('-请选择-').attr("data-value", '');
_this.find('.cus-sel-chosed').find('input').val('');
_this.attr('value','');
}
if(funback){
funback(_this);
}
};
return this;
};
$("html,body").click(function (e) {
var target = e.target;
if ($(target).parents(".cus-sel").length == 0) {
$(".cus-sel").removeClass("active").css({zIndex:1});
$(".cus-sel-list").hide();
}
});
$(document).on('mouseenter', '[data-toggle="formSelect"]', function (e) {
if($(this).data('mouseenter')) return false;
$(this).data('mouseenter',true);
$(this).formSelect();
});
}(jQuery);
/* ========================================================================
* comboFormSelect
* ======================================================================== */
+function ($) {
$.fn.comboFormSelect = function (options,downBack){
if(this.length == 0) return this;
if(this.length > 1){
this.each(function(){$(this).comboFormSelect(options,downBack)});
return this;
}
var _this = $(this),
$list = _this.children('.cus-sel-list'),
$input = _this.children('.cus-sel-chosed').children('input[type="text"]'),
$txt = _this.find('.cus-sel-chosed-txt'),
el = this,
tempStr='';
if(typeof(options)=='string') {
var _data = downBack,
_tempVal = _tempName = '';
if(_this.data('combo')=='checkbox' || _this.data('combo')=='radio'){
switch (options)
{
case 'getKey':
return _this.attr('value');
break;
case 'getVal':
return $txt.html();
break;
case 'resetValue':
if(_this.data('combo')=='checkbox'){
$list.find('label.checkbox').removeClass('checked').find(':checkbox').prop({'checked':false});
}else if(_this.data('combo')=='radio'){
$list.find('label.radio').removeClass('checked').find(':radio').prop({'checked':false});
}
_this.attr('value','');
$input.val('');
$txt.html('-请选择-');
return;
break;
case 'clearValue':
$list.html('');
return;
break;
}
}
switch(_this.data('combo'))
{
case 'checkbox':
var $labelCheckbox = $list.find('label.checkbox');
$labelCheckbox.removeClass('checked').find(':checkbox').prop({'checked':false});
switch (options)
{
case 'setKey':
$labelCheckbox.each(function(){
for(var i=0; i<_data.length; i++){
var _val = $(this).children('input').val(),
_name = $(this).children('input').data('name');
if(_data[i] == _val){
_tempVal += _val+',';
_tempName += _name+',';
$(this).addClass('checked').find(':checkbox').prop({'checked':true});
}
}
});
break;
case 'setVal':
$labelCheckbox.each(function(){
for(var i=0; i<_data.length; i++){
var _val = $(this).children('input').val(),
_name = $(this).children('input').data('name');
if(_data[i] == _name){
_tempVal += _val+',';
_tempName += _name+',';
$(this).addClass('checked').find(':checkbox').prop({'checked':true});
}
}
});
break;
}
_tempVal = _tempVal.substring(0,_tempVal.length-1);
_tempName = _tempName.substring(0,_tempName.length-1);
_this.attr('value',_tempVal);
$input.val(_tempVal);
$txt.html(_tempName);
break;
case 'radio':
var $labelRadio = $list.find('label.radio');
$labelRadio.removeClass('checked').find(':radio').prop({'checked':false});
switch (options) {
case 'setKey':
$labelRadio.each(function(){
var _val = $(this).children('input').val(),
_name = $(this).children('input').data('name');
if(_data == _val){
_tempVal = _val;
_tempName = _name;
$(this).addClass('checked').find(':radio').prop({'checked':true});
}
});
break;
case 'setVal':
$labelRadio.each(function(){
var _val = $(this).children('input').val(),
_name = $(this).children('input').data('name');
if(_data == _name){
_tempVal = _val;
_tempName = _name;
$(this).addClass('checked').find(':radio').prop({'checked':true});
}
});
break;
}
_this.attr('value',_tempVal);
$input.val(_tempVal);
$txt.html(_tempName);
break;
}
return false;
}
var defaultsettings= {
jsonData:null,
initialValue:null,
jsonDataId:null,
jsonDataText:null
};
var opts=$.extend(defaultsettings, options);
var isb;
if(_this.data('combo')=='checkbox'){
isb = true;
}else if(_this.data('combo')=='radio'){
isb = false;
}
function createTempStr(textVal,idVal){
var tempStrHtml = '';
if(isb){
tempStrHtml = ''+
''+
'';
}else{
tempStrHtml = ''+
''+
'';
}
return tempStrHtml;
}
if(opts.jsonDataId && opts.jsonDataText){
$(opts.jsonData).each(function(i,data){
var idVal = eval('data.'+opts.jsonDataId),
textVal = eval('data.'+opts.jsonDataText);
if(idVal==''){
tempStr+=createTempStr(textVal,idVal);
}else if(idVal<=0){
tempStr+=createTempStr(textVal,idVal);
}
});
$(opts.jsonData).each(function(i,data){
var idVal = eval('data.'+opts.jsonDataId),
textVal = eval('data.'+opts.jsonDataText);
if(idVal!='' && idVal>0) {
tempStr+=createTempStr(textVal,idVal);
}else if (isNaN(idVal*1)){
tempStr+=createTempStr(textVal,idVal);
}
});
_this.children('.cus-sel-list').find('ul').html(tempStr);
}
if(opts.initialValue){
var _initVal = _initName = '';
if(isb){
var $labelCheckbox = $list.find('label.checkbox');
$labelCheckbox.removeClass('checked').find(':checkbox').prop({'checked':false});
$labelCheckbox.each(function(){
for(var i=0; i'
+''
+''
+'
'
+''+$el.data('text')+'
'
+'').appendTo('body');
errorTipsDom.css({'left':$el.offset().left+24,'top':$el.offset().top-5}).show(150);
}).on('mouseleave', '[data-toggle="errorTips"]', function (e) {
errorTipsDom.remove();
});
}(jQuery);
/* ========================================================================
* c-btn-disable
* ======================================================================== */
+(function($){
$(document).on("mouseenter",'[data-toggle="disableBtn"]',function (e) {
if (e || e.preventDefault()) e.preventDefault(); else window.event.returnValue = false;
$(this).off('click');
if($(this).attr('onclick')){
$(this).removeAttr('onclick');
}
return false;
});
})(jQuery);
/* ========================================================================
* checkbox , radio
* ======================================================================== */
+(function($){
$(document).on("click",'[data-toggle="checkbox"]',function (e) {
if (e || e.preventDefault()) e.preventDefault(); else window.event.returnValue = false;
if($(this).is('.disabled')||$(this).children('input').is(':disabled')){
return false;
}
$(this).toggleClass('checked');
if($(this).hasClass('checked')) {
$(this).find(':checkbox').prop({'checked':true});
} else {
$(this).find(':checkbox').prop({'checked':false});
}
});
$(document).on("click",'[data-toggle="radio"]',function(e){
if (e || e.preventDefault()) e.preventDefault(); else window.event.returnValue = false;
if($(this).is('.disabled')||$(this).children('input').is(':disabled')){
return false;
}
$(this).parent().find('.radio').removeClass('checked').find(':radio').prop({'checked':false});
$(this).addClass('checked').find(':radio').attr({'checked':"checked"});
});
})(jQuery);
/* ========================================================================
* checkboxGroup
* ======================================================================== */
+(function($){
$.fn.checkboxGroup = function (options){
var defaultsettings= {
operate : null,
opreateDataKey : null,
opreateDataOther : null,
elemClass : '.checkbox',
oneElemClass : '',
allElemClass : '',
callBack : null
};
if(this.length == 0) return this;
if(this.length > 1){
this.each(function(){$(this).checkboxGroup(options)});
return this;
}
var opts = $.extend(defaultsettings, options),
$this = $(this);
if(typeof (opts.operate)=='string'){
switch(opts.operate) {
case 'setKey':
$this.find(opts.elemClass).removeClass('checked').find(':checkbox').prop({'checked':false});
$this.find(':checkbox').each(function(){
if(typeof (opts.opreateDataKey) == 'object'){
var $checkbox = $(this);
$(opts.opreateDataKey).each(function(i,d){
if ($checkbox.val()==d){
$checkbox.parent().addClass('checked').find(':checkbox').attr({'checked':"checked"});
}
});
} else if (typeof (opts.opreateDataKey) == 'number'){
if ($(this).val()==opts.opreateDataKey){
$(this).parent().addClass('checked').find(':checkbox').attr({'checked':"checked"});
}
}
});
return false;
break;
case 'getKey':
var _val = '';
$this.find(':checkbox').each(function(){
if($(this).is(':checked')){
_val+=$(this).val()+',';
}
});
_val=_val.substring(0,_val.length-1);
return _val;
break;
case 'other':
var _val = '';
$this.find(':checkbox').each(function(){
if($(this).is(':checked')){
_val+=$(this).attr(opts.opreateDataOther)+',';
}
});
_val=_val.substring(0,_val.length-1);
return _val;
break;
case 'reset':
$this.find('label.checkbox').removeClass('checked').find(':checkbox').prop({'checked':false});
return false;
break;
}
}else if (opts.operate === true){
//单击全选 checkbox
$this.on('click',opts.allElemClass,function(e){
if (e || e.preventDefault()) e.preventDefault(); else window.event.returnValue = false;
if($(this).is('.disabled')||$(this).children('input').is(':disabled')){
return false;
}
$(this).toggleClass('checked');
if($(this).hasClass('checked')) {
$(this).find(':checkbox').prop({'checked':true});
} else {
$(this).find(':checkbox').prop({'checked':false});
}
if($(this).find(':checkbox').is(':checked')){
$this.find(opts.oneElemClass).each(function(){
$(this).addClass('checked');
$(this).find(':checkbox').prop({'checked':true});
});
}else{
$this.find(opts.oneElemClass).each(function(){
$(this).removeClass('checked');
$(this).find(':checkbox').prop({'checked':false});
});
}
if(opts.callBack){
opts.callBack($(this));
}
});
//单击单个 checkbox
$this.on('click',opts.oneElemClass,function(e){
if (e || e.preventDefault()) e.preventDefault(); else window.event.returnValue = false;
if($(this).is('.disabled')||$(this).children('input').is(':disabled')){
return false;
}
$(this).toggleClass('checked');
if($(this).hasClass('checked')) {
$(this).find(':checkbox').prop({'checked':true});
} else {
$(this).find(':checkbox').prop({'checked':false});
}
var chekboxAll=true,
$all=$this.find(opts.allElemClass);
$this.find(opts.oneElemClass).each(function(){
if(!($(this).find(':checkbox').is(':checked'))){
chekboxAll=false;
}
});
if(chekboxAll){
$all.addClass('checked');
$all.find(':checkbox').prop({'checked':true});
}else{
$all.removeClass('checked');
$all.find(':checkbox').prop({'checked':false});
}
if(opts.callBack){
opts.callBack($(this));
}
});
}
};
})(jQuery);
/* ========================================================================
* radioGroup
* ======================================================================== */
+(function($){
$.fn.radioGroup = function (options){
var defaultsettings= {
operate : null,
opreateDataKey : null,
opreateDataOther : null,
elemClass : '.radio'
};
if(this.length == 0) return this;
if(this.length > 1){
this.each(function(){$(this).radioGroup(options)});
return this;
}
var opts = $.extend(defaultsettings, options),
$this = $(this);
if(typeof (opts.operate)=='string'){
switch(opts.operate) {
case 'setKey':
$this.find(opts.elemClass).removeClass('checked').find(':radio').prop({'checked':false});
$this.find(':radio').each(function(){
if($(this).val()==opts.opreateDataKey){
$(this).parent().addClass('checked').find(':radio').attr({'checked':"checked"});
}
});
return false;
break;
case 'getKey':
var _val = null;
$this.find('.radio').each(function(){
if($(this).is('.checked')){
_val=$(this).find('input:radio').val();
}
});
return _val;
break;
case 'other':
var _val = null;
$this.find('.radio').each(function(){
if($(this).is('.checked')){
_val=$(this).find('input:radio').attr(opts.opreateDataOther);
}
});
return _val;
break;
case 'reset':
$this.find('label.radio').removeClass('checked').find(':radio').prop({'checked':false});
return false;
break;
}
}
$this.on("click",opts.elemClass,function(e){
if (e || e.preventDefault()) e.preventDefault(); else window.event.returnValue = false;
if($(this).is('.disabled')||$(this).children('input').is(':disabled')){
return false;
}
$this.find(opts.elemClass).removeClass('checked').find(':radio').prop({'checked':false});
$(this).addClass('checked').find(':radio').attr({'checked':"checked"});
if(opts.callBack){
opts.callBack($(this));
}
});
};
})(jQuery);
/* ========================================================================
* panels
* ======================================================================== */
+(function($){
$.fn.panels = function (options){
var defaultsettings= {
};
var opts=$.extend(defaultsettings, options);
return this.each(function(){
var _this=$(this),el=this,
$hd=_this.parents('div.c-panel-hd'),
$bd=$hd.next('div.c-panel-bd'),
$panel=_this.parents('div.c-panel');
switch (_this.data('toggle'))
{
case "panelCollapse":
_this.on('click',function(){
if($bd.css('display')=='none'){
$bd.stop(true,false).slideDown("fast",function(){
_this.html('');
});
}else{
$bd.stop(true,false).slideUp("fast",function(){
_this.html('');
});
}
});
break;
case "panelremove":
_this.on('click',function(){
$panel.remove();
});
break;
}
return this;
});
};
$(document).on('mouseenter', '[data-toggle="panelCollapse"],[data-toggle="panelremove"]', function (e) {
if($(this).data('mouseenter')) return false;
$(this).data('mouseenter',true);
$(this).panels();
});
})(jQuery);
/* ========================================================================
* page-layout-menu
* ======================================================================== */
+(function($){
$(document).ready(function(){
if($('div[data-toggle="pageLayoutMenu"]').length>0){
$(".page-layout-menu").height($(window).height()).niceScroll({cursorborder:"",cursorcolor:"#cccdd1"});
}
});
})(jQuery);
/* ========================================================================
* formReadonly 表单禁用、只读
* ======================================================================== */
+(function($){
$.fn.formReadonly = function (options,callback){
var defaultsettings= {
readonlys : null
};
var opts=$.extend(defaultsettings, options);
return this.each(function(){
var _this = $(this),
el = this;
if(opts.readonlys == true){
_this.find('input.input-text').each(function(){
$(this).addClass('input-text-disabled').prop('disabled','disabled');
});
_this.find('textarea.textarea').each(function(){
$(this).addClass('textarea-disabled').prop('disabled','disabled');
});
_this.find('input.search').each(function(){
$(this).parent().addClass('input-search-disabled');
$(this).prop('disabled','disabled');
});
_this.find('.form-select').each(function(){
$(this).addClass('form-select-disabled').find('select').prop('disabled','disabled');
});
_this.find('.cus-sel').each(function(){
$(this).addClass('disabled');
});
_this.find('input.radio,input.checkbox').each(function(){
$(this).prop('disabled','disabled');
});
_this.find('input.datetimepicker').each(function(){
$(this).addClass('disabled');
$(this).datetimepicker('destroy');
});
_this.find('label.radio,label.checkbox').each(function(){
$(this).addClass('disabled').find('input').prop('disabled','disabled');
});
}else if (opts.readonlys == false){
_this.find('input.input-text').each(function(){
$(this).removeClass('input-text-disabled').prop('disabled','');
});
_this.find('textarea.textarea').each(function(){
$(this).removeClass('textarea-disabled').prop('disabled','');
});
_this.find('input.search').each(function(){
$(this).parent().removeClass('input-search-disabled');
$(this).prop('disabled','');
});
_this.find('.form-select').each(function(){
$(this).removeClass('form-select-disabled').find('select').prop('disabled','');
});
_this.find('.cus-sel').each(function(){
$(this).removeClass('disabled');
});
_this.find('input.radio,input.checkbox').each(function(){
$(this).prop('disabled','');
});
_this.find('label.radio,label.checkbox').each(function(){
$(this).removeClass('disabled').find('input').prop('disabled','');
});
_this.find('input.datetimepicker').each(function(){
$(this).removeClass('disabled');
});
}
if(callback){
callback();
}
return this;
});
};
$(function(){
$('[data-toggle="formReadonly"]').formReadonly({readonlys:true});
});
})(jQuery);
/* ========================================================================
* BtnDropdown
* ======================================================================== */
!(function($,window,document,undefined){
var BtnDropdown = function(options,ele){
var defaults = {
data: null,
togglemethod:''
},
_this = this,
ul,
tempLis;
_this.DOM = ele;
_this.opts = $.extend({}, defaults, options);
function isPercentage(num) {
var patt = new RegExp(/^\d+%$/);
return patt.test(num);
}
function bindTogglemethod(toggleMethod) {
switch(toggleMethod) {
case 'click':
$(_this.DOM).on('click',function(){
$(this).toggleClass('dropdown-open');
if($(this).hasClass('dropdown-open')) {
var dropdownMenu = $(this).children('.dropdown-menu').eq(0),
dropdownMenuTop = isPercentage(dropdownMenu.css('top'))?parseFloat(dropdownMenu.css('top'))/100 * $(this).outerHeight():parseInt(dropdownMenu.css('top'));
if(dropdownMenuTop>=0) {
if($(window).scrollTop()+$(window).height()<$(this).offset().top + dropdownMenuTop + dropdownMenu.outerHeight(true)){
dropdownMenu.css({'top':-dropdownMenu.outerHeight()});
}
} else {
if($(window).scrollTop()>$(this).offset().top + dropdownMenuTop){
dropdownMenu.css({'top':dropdownMenu.css('top','')});
}
}
$(this).children('.dropdown-menu').show();
} else {
$(this).children('.dropdown-menu').hide();
}
});
break;
case 'hover':
$(_this.DOM).on('mouseenter',function(){
$(this).addClass('dropdown-open');
var dropdownMenu = $(this).children('.dropdown-menu').eq(0),
dropdownMenuTop = isPercentage(dropdownMenu.css('top'))?parseFloat(dropdownMenu.css('top'))/100 * $(this).outerHeight():parseInt(dropdownMenu.css('top'));
if(dropdownMenuTop>=0) {
if($(window).scrollTop()+$(window).height()<$(this).offset().top + dropdownMenuTop + dropdownMenu.outerHeight(true)){
dropdownMenu.css({'top':-dropdownMenu.outerHeight()});
}
} else {
if($(window).scrollTop()>$(this).offset().top + dropdownMenuTop){
dropdownMenu.css({'top':dropdownMenu.css('top','')});
}
}
$(this).children('.dropdown-menu').show();
}).on('mouseleave',function(){
$(this).removeClass('dropdown-open').children('.dropdown-menu').hide();
});
break;
//default: break;
}
}
if(_this.opts.togglemethod) {
bindTogglemethod(_this.opts.togglemethod);
} else if(_this.DOM.getAttribute('data-togglemethod')!='') {
bindTogglemethod(_this.DOM.getAttribute('data-togglemethod'));
} else {
bindTogglemethod('click');
}
function isArrayFn(value){
//console.log(Object.prototype.toString.call(value));
if(typeof Array.isArray === "function") {
return Array.isArray(value);
} else {
return Object.prototype.toString.call(value) === "[object Array]";
}
}
function render(data) {
var i, dataLength = data.length, tempStr = '';
if(isArrayFn(data)) {
for(i=0; i';
}
if(isArrayFn(data[i])) {
tempStr += render(data[i]);
} else {
switch(data[i].type) {
case 'anchor':
case 'link':
tempStr+='' + data[i].text + '';
break;
case 'function':
tempStr+='' + data[i].text + '';
break;
}
}
}
}
return tempStr;
}
ul = $(_this.DOM).children('.dropdown-menu').children('ul').eq(0);
if(_this.opts.data!=null) {
tempLis = render(_this.opts.data);
ul.append(tempLis);
}
$.extend(
_this,
{
show:function() {
$(this.DOM).addClass('dropdown-open').children('.dropdown-menu').show();
},
hide:function() {
$(this.DOM).removeClass('dropdown-open').children('.dropdown-menu').hide();
},
one:function() {
if(this.opts.togglemethod === 'hover' || (this.opts.togglemethod === '' && this.DOM.getAttribute('data-togglemethod')==='hover')) {
$(this.DOM).trigger('mouseenter');
}
},
disable:function(arrDisableItems) {
var i, arrLen;
if(arrDisableItems != undefined) {
for(i=0, arrLen=arrDisableItems.length; ia').each(function(){
var tempObjWithFn = $(this).clone(true,true),
tempObj = $(this).clone();
tempObj.insertAfter($(this)).data('btnDropdownEle',tempObjWithFn);
tempObj.get(0).setAttribute('onclick', null);
$(this).remove();
}).end().on('click','.disabled>a',function(){
return false;
});
},
enable:function(arrEnableItems){
var i, arrLen, tempEle;
if(arrEnableItems != undefined) {
for(i=0, arrLen=arrEnableItems.length; i