$(function() {
require(['util'], function(util) {
var funbaredit = false;
var edithtml = '编辑 删除';
var funbarstatus = util.cookie.get('funbar');
if (funbarstatus && funbarstatus > 0) {
$(".funbar").addClass("active")
}
$(".funbar-toggle").unbind('click').click(function() {
$(".funbar").toggleClass('active');
if ($('.funbar').hasClass('active')) {
util.cookie.set('funbar', 1)
} else {
util.cookie.set('funbar', 0)
}
});
$(".funbar .edit-btn").unbind('click').click(function() {
$(".fb-footer .default").hide();
$(".fb-footer .complete").show();
$(".funbar").data('edit', 1).addClass('edit');
$(".page-gotop.style2").addClass('edit');
funbaredit = true;
require(['jquery.ui'], function() {
$("#funbar-btns").sortable({
containment: 'parent'
})
})
});
$(document).on('mouseover', '.funbar .fb-inner nav', function() {
if (funbaredit) {
if ($(this).find('.editdel').length <= 0) {
$(this).append(edithtml)
} else {
$(this).find('.editdel').show()
}
}
});
$(document).on('mouseleave', '.funbar .fb-inner nav', function() {
$(this).find('.editdel').hide()
});
$(".funbar .save-btn").unbind('click').click(function() {
$(".fb-footer .complete").hide();
$(".fb-footer .default").show();
$(".funbar").data('edit', 0).removeClass('edit');
$(".page-gotop.style2").removeClass('edit');
funbaredit = false;
$("#funbar-btns").sortable('destroy');
saveFun()
});
$(document).on('click', '.funbar .fb-inner nav .edit', function() {
if (funbaredit) {
var nav = $(this).closest('nav');
var text = nav.find('span').eq(0).text();
var color = rgb2hex(nav.css('color'));
if (color == '#ffffff') {
color = '#666666'
}
var bold = nav.css('font-weight');
if (bold == 'bold') {
$("#modal-funbar").find('#menubold1').prop('checked', true);
$("#modal-funbar").find('#menubold0').removeAttr('checked')
} else {
$("#modal-funbar").find('#menubold0').prop('checked', true);
$("#modal-funbar").find('#menubold1').removeAttr('checked')
}
var link = nav.data('href');
if ($.trim(link) == '') {
link = thisUrl()
}
$("#modal-funbar").find('#menuname').val(text);
$("#modal-funbar").find('#menucolor').val(color);
$("#modal-funbar").find('#menulink').val(link);
nav.addClass('active');
$("#modal-funbar .modal-header h3").text("编辑快捷导航");
$("#modal-funbar").modal({
backdrop: 'static',
keyboard: false
})
}
});
$(document).on('click', '.funbar .fb-inner nav .del', function() {
if (funbaredit) {
var _this = $(this);
tip.confirm("确定删除吗? 删除后点击保存才生效哦~", function() {
_this.closest("nav").remove()
})
}
});
$("#modal-funbar .close-modal").unbind('click').click(function() {
var modal = $(this).closest('#modal-funbar');
var text = modal.find('#menuname').val();
var color = modal.find('#menucolor').val();
var link = modal.find('#menulink').val();
var bold = modal.find("input[name='bold']:checked").val();
if ($.trim(text) == '') {
modal.find('#menuname').focus();
tip.msgbox.err("请填写导航名称!");
return false
}
if ($.trim(link) == '') {
link = thisUrl()
}
if (bold && bold > 0) {
var style = {
'font-weight': 'bold'
}
} else {
var style = {
'font-weight': 'normal'
}
}
if (color != '#666666') {
style.color = color
}
if ($(".funbar .fb-inner nav.active").length > 0) {
$(".funbar .fb-inner nav.active").css(style).data('href', link).find("span").eq(0).text(text);
$(".funbar .fb-inner nav").removeClass('active')
} else {
var _html = '';
$("#funbar-btns").append(_html)
}
});
$("#modal-funbar .close-modal2").unbind('click').click(function() {
$(".funbar .fb-inner nav.active").removeClass('active')
});
$(document).on('click', '.funbar .fb-inner nav', function() {
if (!funbaredit) {
var href = $(this).data('href');
if (href) {
location.href = href
}
}
});
$(".add-btn").unbind('click').click(function() {
$("#modal-funbar .modal-header h3").text("添加快捷导航");
$("#modal-funbar").find('#menuname').val('');
$("#modal-funbar").find('#menucolor').val('#666666');
$("#modal-funbar").find('#menulink').val(thisUrl());
$("#modal-funbar").modal({
backdrop: 'static',
keyboard: false
})
});
$("#funsearch").keyup(function() {
var kw = $(this).val();
if (kw) {
$("#funbar-btns nav").each(function() {
var _kw = $(this).find('span').eq(0).text();
if (_kw.indexOf(kw) >= 0) {
$(this).show()
} else {
$(this).hide()
}
})
} else {
$("#funbar-btns nav").show()
}
});
if ($(".funbar.style2").length > 0) {
var funbarTop = $(".funbar.style2").css('top').replace('px', '');
$(window).bind('scroll resize load', function() {
var top = $(window).scrollTop();
var top = top + parseInt(funbarTop);
$(".funbar.style2").animate({
'top': top + 'px'
}, 13)
})
}
});
function rgb2hex(rgb) {
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
function hex(x) {
return ("0" + parseInt(x).toString(16)).slice(-2)
}
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3])
}
function saveFun() {
var fundata = [];
$("#funbar-btns nav").each(function() {
var _href = $(this).data('href');
var _text = $(this).find('span').eq(0).text();
var _color = rgb2hex($(this).css('color'));
if (_color == '#666666') {
_color = ''
}
var _bold = 0;
if ($(this).css('font-weight') == 'bold') {
_bold = 1
}
fundata.push({
'href': _href,
'text': _text,
'color': _color,
'bold': _bold,
})
});
$.post(biz.url('sysset/funbar'), {
funbardata: fundata
}, function(ret) {
if (ret.status == 1) {
tip.msgbox.suc("保存成功!")
} else {
tip.msgbox.err("保存失败请重试!")
}
}, 'json')
}
function thisUrl() {
var str = location.protocol + "//" + location.hostname + "/web/";
var url = window.location + '';
return url.replace(str, "./")
}
});