var UI = {
maxDeptDepth: 5,
stepSize: 500,
lockvalue: 0,
listSize: 20,
listOffset: function(pageNum) {
pageNum = pageNum > 1 ? pageNum : 1;
return (pageNum - 1) * this.listSize;
},
listLimit: function() {
return this.listSize;
},
listTotalPage: function(totalSize) {
var totalPage = 0;
if (totalSize) {
totalPage = Math.ceil(parseInt(totalSize) / this.listSize);
}
return totalPage;
},
getValue: function(elem) {
return C.trim(elem.val());
},
setTreeNav: function(nodes, name_key, container) {
if (!container) {
container = $('#tree-nav');
}
if (!name_key) {
name_key = 'domain_name';
}
var html = '';
for (var i in nodes) {
html += '
';
html += C.htmlEncode(nodes[i][name_key]) + '';
}
container.html(html);
},
toggleTab: function(e) {
if (e.target.tagName.toUpperCase() === 'A') {
var $this = $(this);
$this.parent().siblings().removeClass('active');
$this.parent().addClass('active');
var tab = $this.attr('data-tab-toggle');
UI.showTab(tab);
return false;
}
},
showTab: function(tab) {
$('[data-tab]').hide();
$('[data-tab="' + tab + '"]').show();
this.resetContainer($('[data-tab="' + tab + '"]'));
},
showFrame: function(frame) {
var frames = $('div.page');
frames.filter(':not([data-content="' + frame + '"])').hide();
frames.filter('[data-content="' + frame + '"]').show();
this.resetContainer(frames.filter('[data-content="' + frame + '"]'));
},
resetContainer: function(container) {
this.uncheckChecker(this.getChecker(container));
},
checkerHtml: function(value, status_class) {
var html = '';
return html;
},
getChecker: function(container) {
return container.find('div.checker');
},
getChecked: function(container) {
return this.getChecker(container).filter('.checked');
},
checkChecker: function(checkerElem) {
checkerElem.removeClass('partial').addClass('checked');
checkerElem.parents('tr').addClass('checkon');
},
uncheckChecker: function(checkerElem) {
checkerElem.removeClass('checked').removeClass('partial');
checkerElem.parents('tr').removeClass('checkon');
},
partialCheckChecker: function(checkerElem) {
checkerElem.removeClass('checked').addClass('partial');
},
togglerChecker: function(checkerElem) {
if (checkerElem.hasClass('checked')) {
this.uncheckChecker(checkerElem);
} else {
this.checkChecker(checkerElem);
}
},
trCheckerClick: function(checkerElem, btnChecker) {
if (!btnChecker) {
var btnChecker = checkerElem.parents('div.box').prev('div.toolbar').find('div.checker');
// 弹出框中
if (!btnChecker.length) {
var tableName = checkerElem.parents('table').attr('data-name');
btnChecker = $('div.toolbar-row[data-targetname="' + tableName + '"]').find('div.checker');
}
// 其他
if (!btnChecker.length) {
var tableId = checkerElem.parents('table').attr('id');
if (tableId) {
btnChecker = UI.getChecker($('[data-target="' + tableId + '"]'));
}
}
}
var checker = UI.getChecker(checkerElem.parents('tbody')),
checked = UI.getChecked(checkerElem.parents('tbody'));
UI.changeButton(checkerElem.parents('table'));
if (checked.length === 0) {
UI.uncheckChecker(btnChecker);
} else if (checker.length === checked.length) {
UI.checkChecker(btnChecker);
} else {
UI.partialCheckChecker(btnChecker);
}
},
btnCheckerClick: function(checkerElem, targetContainer) {
if (!targetContainer) {
var targetContainer = checkerElem.parents('div.toolbar').next('div.box');
// 弹出框中
if (!targetContainer.length) {
var targetName = checkerElem.parents('.toolbar-row').attr('data-targetname');
targetContainer = $('table[data-name="' + targetName +'"]');
}
// 其他
if (!targetContainer.length) {
var targetId = checkerElem.parents('.btn-toolbar').attr('data-target');
if (!targetId) {
targetId = checkerElem.parents('.toolbar').attr('data-target');
}
if (targetId) {
targetContainer = $('#' + targetId);
}
}
}
if (checkerElem.hasClass('checked')) {
UI.checkChecker(targetContainer.find('div.checker'));
} else {
UI.uncheckChecker(targetContainer.find('div.checker'));
}
UI.changeButton(targetContainer);
},
checkerClick: function(checkerElem) {
UI.togglerChecker(checkerElem);
// if target is a checker in a table
if (checkerElem.parents('tr').length) {
UI.trCheckerClick(checkerElem);
// if target is a button checker
} else if (checkerElem.parents('div.toolbar-row').length || checkerElem.parents('div.btn-toolbar').length) {
UI.btnCheckerClick(checkerElem);
}
},
changeButton: function(targetContainer) {
var valueLength = UI.getChecked(targetContainer).length;
// if (valueLength > 0) {
// $('[data-target="' + targetContainer.attr('id') + '"]').find('.btn').removeClass('disabled');
// } else {
// $('[data-target="' + targetContainer.attr('id') + '"]').find('.btn').addClass('disabled');
// }
//dialog内
if (targetContainer.parents('div.modal').length && $('.tools-text').length) {
if (valueLength > 0) {
$('.tools-text').html('已选 : ' + valueLength + '', targetContainer.parents('div.modal'), 0);
} else {
$('.tools-text').html('');
}
}
},
tableCheckedValue: function(table, attrName) {
var checked = this.getChecked(table),
values = [];
if (!attrName) {
attrName = 'data-value';
}
for (var i = 0, n = checked.length; i < n; i ++) {
values.push(checked.eq(i).parents('tr').attr(attrName));
}
return values;
},
tableValue: function(table, attrName) {
var checker = this.getChecker(table),
values = [];
if (!attrName) {
attrName = 'data-value';
}
for (var i = 0, n = checker.length; i < n; i ++) {
values.push(checker.eq(i).parents('tr').attr(attrName));
}
return values;
},
tableCheckedTr: function(table) {
var checked = this.getChecked(table);
var checkedTrs = checked.parents('tr');
return checkedTrs;
},
isChecker: function(elem) {
if (elem.hasClass('checker')) {
return true;
}
return false;
},
isCheckerWrap: function(elem) {
if (elem.hasClass('checker-wrap')) {
return true;
}
return false;
},
radioHtml: function(value, name) {
var html = '';
return html;
},
radioClick: function(elem) {
if (elem.hasClass('checked')) {
return;
}
var name = elem.attr('name');
UI.uncheckRadio($('div.iradio[name="' + name + '"]'));
UI.checkRadio(elem);
},
checkRadio: function(elem) {
elem.addClass('checked');
elem.parents('tr').addClass('checkon');
},
uncheckRadio: function(elem) {
elem.removeClass('checked');
elem.parents('tr').removeClass('checkon');
},
isRadio: function(elem) {
if (elem.hasClass('iradio')) {
return true;
}
return false;
},
getRadioValue: function(elem) {
return elem.attr('value');
},
tableRadioValue: function(container, name) {
var checked = container.find('div.iradio').filter('.checked');
var values = [];
for (var i = 0, n = checked.length; i < n; i ++) {
values.push(UI.getRadioValue(checked.eq(i)));
}
return values;
},
itInfo: function(elem, msg) {
var parent = elem.parents('.field').eq(0);
UI.clearError(parent);
if (msg) {
var msgElem = parent.find('.feedback');
if (!msgElem.length) {
msgElem = $('');
parent.append(msgElem);
}
msgElem.html(msg);
}
},
itError: function(elem, msg) {
if (elem.parents('div.text').length) {
var parent = elem.parents('div.text').eq(0);
} else {
var parent = elem.parents('.field').eq(0);
}
UI.clearError(parent);
elem.addClass('has-error');
if (msg) {
var msgElem = parent.find('.feedback');
if (!msgElem.length) {
msgElem = $('');
parent.append(msgElem);
}
msgElem.html(msg);
}
},
itWarning: function(elem, msg) {
var parent = elem.parents('.field').eq(0);
UI.clearError(parent);
elem.addClass('has-warning');
if (msg) {
var msgElem = parent.find('.feedback');
if (!msgElem.length) {
msgElem = $('');
parent.append(msgElem);
}
msgElem.html(msg);
}
},
removeError: function(e) {
if ($(this).parents('div.text').length) {
var parent = $(this).parents('div.text').eq(0);
} else {
var parent = $(this).parents('.field').eq(0);
}
$(this).removeClass('has-error');
$(this).removeClass('has-warning');
parent.find('.feedback').remove();
},
clearError: function(container) {
container.find('.has-error').removeClass('has-error');
container.find('.has-warning').removeClass('has-warning');
container.find('.feedback').remove();
},
resetForm: function(form) {
form[0].reset();
},
setFocus: function(container){
var input = container.find('input[type!="file"][type!="submit"]');
var n = input.length;
for (var i = 0; i < n; i ++) {
if (input.eq(i).val() === '') {
input.eq(i).focus();
break;
}
}
if (n === 0) {
container.find('textarea').eq(0).focus();
}
},
setRightCursor: function(inputElem) {
if (inputElem.length) {
var value = trim(inputElem.val());
inputElem.focus();
inputElem.val('');
inputElem.val(value);
}
},
toolbarEvent: function(e) {
var elem = $(e.target);
var optype = elem.attr('data-optype');
if (optype) {
if (elem.attr('data-event')) {
var callback = UI.getCallback(elem.attr('data-event'));
} else {
var callback = UI.getCallback(elem.parents('[data-event]').attr('data-event'));
}
var target;
var targetId = elem.parents('[data-target]').attr('data-target');
if (targetId) {
target = $('#' + targetId);
} else {
target = elem.parents('.toolbar').next('.box').find('table');
}
var values = UI.tableCheckedValue(target);
if (!values.length) {
UI.msg.error('未选择操作对象');
return;
}
callback(optype, values);
}
},
formEvent: function(e) {
var elem = $(e.target);
var eventType = elem.attr('data-event-type');
if (eventType) {
if (elem.attr('data-form-event')) {
var callback = UI.getCallback(elem.attr('data-form-event'));
} else {
var callback = UI.getCallback(elem.parents('[data-form-event]').attr('data-form-event'));
}
e.preventDefault();
callback(e, eventType);
}
},
getCallback: function(callbackStr) {
var callbackLocation = callbackStr.split('-'),
callback = window;
for (var i in callbackLocation) {
callback = callback[callbackLocation[i]];
}
return callback;
},
msgFormatter: function(msg1, msg2, url) {
if (!msg1 || !msg2 || !url) {
msg = C.htmlEncode('无数据');
} else {
msg = '' + C.htmlEncode(msg1) + '' + '' + C.htmlEncode(msg2) + '';
return msg;
}
},
showEmptyMsg: function(table, msg) {
if (!msg) {
msg = '无数据';
}
var div = table.siblings('.table-empty');
if (!div.length) {
div = $('');
div.insertAfter(table);
}
div.html(msg);
},
removeEmptyMsg: function(table) {
table.siblings('.table-empty').remove();
},
setContainerHeight: function() {
var container = $('.container').filter(':visible').eq(0);
if (container.length) {
container.height($(document).height() - container.offset().top - 40);
}
},
download: function(url, callback) {
var frame = $('#frame1');
if (frame.length !== 0) {
frame.remove();
}
var html = '';
frame = $(html);
frame.attr('src', url);
frame.bind('load', function() {
var msg = $('#frame1').contents().find('body').text();
if (callback !== undefined) {
callback(msg);
}
});
$('body').append(frame);
return false;
},
htmlHighlight: function(str, keyword) {
// case-insensitive highlighting
if (keyword === '') {
return C.htmlEncode(str);
}
var reg = new RegExp(keyword, 'i');
var html = '';
var index;
while ((index = str.search(reg)) !== -1) {
html += C.htmlEncode(str.substr(0, index));
html += '' + C.htmlEncode(str.substr(index, keyword.length)) + '';
str = str.substr(index + keyword.length);
}
html += C.htmlEncode(str);
return html;
},
dropItemSwitch: function(e, container) {
if (e.keyCode == 38) { // up arrow
var itemactive = $('.active:eq(0)', container);
var prev = itemactive.prev('li');
itemactive.removeClass('active');
if (prev.length > 0){
prev.addClass('active');
} else {
$('li', container).last().addClass('active');
}
var targetElem = $(e.target);
targetElem.val(targetElem.val());
// To prevent changing the cursor position in the search box
e.cancelable = true;
e.preventDefault();
} else if (e.keyCode == 40) { // down arrow
var itemactive = $('.active:eq(0)', container);
var next = itemactive.next('li');
itemactive.removeClass('active');
if (next.length > 0) {
next.addClass('active');
} else {
$('li:eq(0)', container).addClass('active');
}
}
},
togglePwdShow: function(e) {
var $this = $(this);
var input = $('#' + $this.attr('data-toggle-pwd'));
// var input = $this.parents('.field').find('input:text');
// if (input.length == 0) {
// input = $this.parents('.field').find('input:password');
// }
var inputId = input.attr('id');
var cssClass = input.attr('class');
var maxlength = input.attr('maxlength');
var placeholder = input.attr('placeholder');
var autocomplete = input.attr('autocomplete');
var disabled = input.attr('disabled');
var readonly = input.attr('readonly');
var val = input.val();
var elem = null;
// if ($this.attr('checked') == 'checked') {
if (input.attr('type') === 'password') {
elem = $('');
} else {
elem = $('');
}
elem.val(val).attr('id', inputId).addClass(cssClass).focus(UI.removeError);
if (cssClass != undefined) {
elem.addClass(cssClass);
}
if (maxlength != undefined) {
elem.attr('maxlength', maxlength);
}
if (placeholder != undefined) {
elem.attr('placeholder', placeholder);
}
if (autocomplete != undefined) {
elem.attr('autocomplete', autocomplete);
}
if (disabled != undefined) {
elem.attr('disabled', disabled);
}
if (readonly != undefined) {
elem.attr('readonly', readonly);
}
elem.insertBefore(input);
input.remove();
return true;
},
deptDropTree: function(container, settings) {
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getMyDepts();
}
settings = settings || {};
if (!settings.title) {
settings.title = '按部门过滤';
}
settings.keys = {
value: 'id',
name: 'deptname',
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
var dropTree = UI.DropTree(container, data, settings);
return dropTree;
},
roleDropSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按角色过滤';
}
settings.keys = {
value: 'id',
name: 'rolename'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getMyRoles();
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
assetGroupSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按主机组过滤';
}
settings.keys = {
value: 'id',
name: 'groupname'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
assetVpcSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按主机网络过滤';
}
settings.keys = {
value: 'id',
name: 'vpcname'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getMyVpcs();
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
assetOsSelect: function(container, settings) {
settings = settings || {};
settings.keys = {
groupname: 'major',
list: 'list',
value: 'id',
name: 'minor'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getAssetOs();
}
var dropGroupSelect = UI.DropGroupSelect(container, data, settings);
return dropGroupSelect;
},
aliNetworkSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按网络类型过滤';
}
settings.keys = {
value: 'value',
name: 'name'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getAliNetwork();
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
aliRegionSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按区域过滤';
}
settings.keys = {
value: 'value',
name: 'name'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
aliZoneSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按可用区过滤';
}
settings.keys = {
value: 'value',
name: 'name'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
protSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按协议过滤';
}
settings.keys = {
value: 'id',
name: 'prot'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
if (!settings.size) {
settings.size = 'full';
}
var includeSysdef = true;
if (typeof settings.includeSysdef !== 'undefined') {
includeSysdef = settings.includeSysdef;
}
// data
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else if (settings && settings.protids) {
var prots = AC.getAllProtocol();
for (var protid in prots) {
for (var i in settings.protids) {
if (String(protid) == String(settings.protids[i])) {
data.push({id: protid, prot: prots[protid]});
break;
}
}
}
} else {
if (includeSysdef) {
var prots = AC.getAllProtocol();
} else {
var prots = AC.getProtocol();
}
for (var protid in prots) {
data.push({id: protid, prot: prots[protid]});
}
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
appAccountSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按应用服务器帐户过滤';
}
settings.keys = {
value: 'id',
name: 'acctname'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.size = 'full';
settings.enableCount = false;
settings.nameFormatter = function(row) {
var html = C.htmlEncode(row.acctname) + '@' + C.htmlEncode(row.astname);
return html;
};
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getObjectFromUrl('/index.php/common/server_accounts', null, [[], 0])[0];
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
accountTypeSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按帐户类型过滤';
}
settings.keys = {
value: 'value',
name: 'name'
};
if (typeof settings.callback !== 'undefied') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getAccountType();
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
authtypeSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按认证类型过滤';
}
settings.keys = {
value: 'value',
name: 'name'
};
if (typeof settings.callback !== 'undefied') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getAuthtypeData();
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
authmodeSelect: function(container, settings) {
settings = settings || {};
if (!settings.title) {
settings.title = '按认证模式过滤';
}
settings.keys = {
value: 'value',
name: 'name'
};
if (typeof settings.callback !== 'undefined') {
settings.callback.select = settings.callback;
}
settings.enableCount = false;
var data = [];
if (settings && settings.data) {
data = settings.data;
delete settings.data;
} else {
data = AC.getUserAuthMode();
}
var dropSelect = UI.DropSelect(container, data, settings);
return dropSelect;
},
bindPagination: function() {
var elem = $('[data-optype="pagination"]');
if (!elem.length) {
return;
}
var curPage = Number(elem.find('[data-type="cur-page"]').text());
var totalPage = Number(elem.find('[data-type="total-page"]').text());
function goPage(pageNum) {
pageNum = pageNum <= 0 ? 1 : pageNum;
pageNum = pageNum > totalPage ? totalPage : pageNum;
var url = C.urlParse();
url[1].page = pageNum;
window.location.href = url[0][0] + '?' + C.queryStr(url[1]);
}
elem.find('[data-optype="first-page"]').click(function(){
goPage(1);
});
elem.find('[data-optype="prev-page"]').click(function(){
var pageNum = curPage - 1;
goPage(pageNum);
});
elem.find('[data-optype="next-page"]').click(function(){
var pageNum = curPage + 1;
goPage(pageNum);
});
elem.find('[data-optype="last-page"]').click(function(){
goPage(totalPage);
});
elem.find('form').submit(function() {
var pageNum = $(this).find('input:text').val();
pageNum = parseInt(pageNum);
if (isNaN(pageNum)) {
alert('页码输入错误');
return false;
}
if (pageNum < 1) pageNum = 1;
goPage(pageNum);
// Hide the dropdown menu
// $this.find('div.dropdown-toggle').click();
return false;
});
},
subFormToggle: function() {
$('*[data-subname]').each(function() {
var subname = $(this).attr('data-subname');
if ($('[data-sub-form="' + subname + '"]').prop('checked')) {
$(this).find('input').removeAttr('disabled');
} else {
$(this).find('input').attr('disabled', 'disabled');
}
});
},
dataEventBind: function(){
// Bind submit callback for forms
$('form[data-callback]').unbind('submit').bind('submit', function(e) {
var formData = C.parseForm($(this)),
callback = UI.getCallback($(this).attr('data-callback'));
callback(e, formData);
return false;
}).find('input').focus(UI.removeError);
$('form[data-callback]').find('select').focus(UI.removeError);
$('form[data-callback]').find('textarea').focus(UI.removeError);
$('form[data-callback]').on('click', 'div.btn.dropdown-toggle', UI.removeError);
// Bind other callback
$('*[data-callback]').filter(':not(form)').unbind('click').bind('click', function(e){
var callback = UI.getCallback($(this).attr('data-callback'));
callback(e);
if (e.target.tagName.toUpperCase() == 'A') {
e.preventDefault();
}
});
$('form[data-form-event]').find('input').focus(UI.removeError);
//Bind input select
$('*[data-select]').unbind('change').on('change', function(e){
$("."+ $(this).attr('data-select')).hide();
$("."+ $(this).attr('data-select') +".is" + this.value).show()
});
//Bind input select
$('*[data-select-active]').unbind('change').on('change', function(e){
$("."+ $(this).attr('data-select-active')).attr('disabled', 'disabled');
$("."+ $(this).attr('data-select-active') +".is_a_" + this.value).removeAttr('disabled');
});
$('*[data-optype="clear-filter"]').click(function() {
window.location.href = C.urlParse()[0][0];
});
$('*[data-focusout]').unbind('focusout').bind('focusout', function(e) {
var callback = UI.getCallback($(this).attr('data-focusout'));
var value = C.getValue($(this));
callback(e, value);
});
$('*[data-sub-form]').bind('click', function() {
UI.subFormToggle();
});
$('input[data-switch]').focus(function() {
if ($(this).attr('data-switch') !== '') {
if ($(this).prop('type') !== 'password') {
$(this).prop('type', 'password').val('');
}
}
})
$('input[data-switch]').blur(function() {
if ($(this).attr('data-switch') !== '') {
if ($(this).val() == '') {
$(this).prop('type', 'text').val($(this).attr('data-switch'));
}
}
})
},
menuToggle: function() {
var menus = $('.nav-primary').children('li');
var tog = menus.has('.nav-secondary').children('a');
tog.on('click', function(event) {
event.preventDefault();
var $this = $(this);
menus.not($this.parent('li')).removeClass('active').children('.nav-secondary').slideUp(200);
$this.parent('li').toggleClass('active').children('.nav-secondary').slideToggle(200);
});
},
formRequst: function(settings) {
var method = settings.method === undefined ? 'POST' : settings.method;
var action = settings.action === undefined ? '' : settings.action;
var target = settings.target === undefined ? '_self' : settings.target;
var inputs = '';
for (var i in settings.data) {
inputs += '';
}
if (method === 'POST') {
inputs += '';
}
var form = $('');
form.attr('method', method);
form.attr('action', action);
form.attr('target', target);
form.html(inputs);
$('body').append(form);
form.submit();
form.remove()
}
};
$(document).ready(function() {
UI.dataEventBind();
UI.menuToggle();
$(document).click(function(e) {
var target = $(e.target);
// handle checker click event
if (UI.isChecker(target)) {
UI.checkerClick(target);
}
if (UI.isCheckerWrap(target)) {
UI.checkerClick(UI.getChecker(target));
}
if (UI.isRadio(target)) {
UI.radioClick(target);
}
});
$('div[data-event]').click(UI.toolbarEvent);
$('form[data-form-event]').click(UI.formEvent);
UI.bindPagination();
$('[data-optype="language-switch"]').click(function(e){
e.preventDefault(); // 阻止标签的默认行为
var val = $(this).attr('data-value');
C.setCookie('LANG', val);
window.location.reload();
});
var msg = C.getCookie('msg1');
if (msg !== '') {
msg = C.jsonDecode(msg);
UI.msg.show(msg[0], msg[1]);
C.delCookie('msg1', '/');
}
//消息展示隐藏
$('.msg-trigger-open').click(function() {
var msglist = $(this).attr('data-target');
$('.' + msglist).show();
$(this).hide();
$('.msg-trigger-close[data-target="' + msglist + '"]').show();
});
$('.msg-trigger-close').click(function() {
var msglist = $(this).attr('data-target');
$('.' + msglist).hide();
$(this).hide();
$('.msg-trigger-open[data-target="' + msglist + '"]').show();
});
if (typeof login == 'undefined') {
check_login_id = setInterval(function() {
$.ajax({
url: '/index.php/extend/check_login',
data: {t: Math.random()},
success: function(msg) {
if (msg == -1) {
DG.createComfirmDialog({
msg: '登录已失效,是否返回主界面重新登录?',
submit: function() {
document.location.href = '/index.php/login/login_redirect';
}
});
clearInterval(check_login_id);
}
}
});
}, 60000)
}
});
$(document).on('click.toggle.pwd', '*[data-toggle-pwd]', UI.togglePwdShow);
$(document).on('click.toggle.tab', 'a[data-tab-toggle]', UI.toggleTab);