413 lines
19 KiB
JavaScript
413 lines
19 KiB
JavaScript
|
|
//filter clk evt
|
|
function reference_filterClk(){
|
|
$(document).on("click","#referencelistForm [name=second_class],#referencelistForm [name=second_category],#referencelistForm [name=first_agency]",function(){
|
|
//first chk
|
|
if( $(this).parents('.depth-2').find('input:checkbox[name="' + event.target.name + '"]:checked').length >= 1){
|
|
$(this).parents('.depth-2').siblings('.depth-1').find('input').prop("checked", true);
|
|
}else{
|
|
$(this).parents('.depth-2').siblings('.depth-1').find('input').prop("checked", false);
|
|
}
|
|
|
|
//filter_mylist clk array
|
|
var filter_mylist = "";
|
|
var filter_mylist_clk = "";
|
|
var filter_agency = "";
|
|
var filter_agency_clk = "";
|
|
filter_agency = $('#filter_agency').val();
|
|
filter_mylist = $('#filter_mylist').val();
|
|
|
|
if($(this).attr('name') == 'second_class'){
|
|
filter_mylist_clk = 'class_'+$(this).val() +',';
|
|
}else if($(this).attr('name') == 'second_category'){
|
|
filter_mylist_clk = 'category_'+$(this).val() +',';
|
|
}else if($(this).attr('name') == 'first_agency'){
|
|
filter_mylist_clk = 'agency_'+$(this).val() +',';
|
|
//생산기관은 1depth 이므로 별도처리
|
|
filter_agency_clk = $(this).val() +",";
|
|
}
|
|
|
|
//생산기관은 1depth 이므로 별도처리
|
|
if($(this).is(":checked")){
|
|
filter_mylist += filter_mylist_clk;
|
|
filter_agency += filter_agency_clk;
|
|
}else{
|
|
filter_mylist = filter_mylist.replace(filter_mylist_clk,'');
|
|
filter_agency = filter_agency.replace(filter_agency,'');
|
|
}
|
|
$('#filter_mylist').val(filter_mylist);
|
|
$('#filter_agency').val(filter_agency);
|
|
|
|
|
|
//depth-1
|
|
var on_classArr = document.querySelectorAll("div.depth-1.on");
|
|
var filter_class = "" ;
|
|
var filter_category = "" ;
|
|
for(var i=0; i<on_classArr.length; i++){
|
|
if($(on_classArr[i]).find('input').attr('name') == 'first_class') {
|
|
filter_class = $(on_classArr[i]).find('input').val();
|
|
}else{
|
|
filter_category = $(on_classArr[i]).find('input').val();
|
|
}
|
|
}
|
|
|
|
var listForm = document.forms["referencelistForm"];
|
|
listForm.pageIndex.value = 1;
|
|
listForm.filter_class.value = filter_class;
|
|
listForm.filter_category.value = filter_category;
|
|
|
|
fnFilterSch();
|
|
});
|
|
|
|
}
|
|
function filter_creatYyyyAply(){
|
|
$(document).on("click","#referencelistForm button[class^='btn-apply']",function(){
|
|
var filter_mylist = "";
|
|
filter_mylist = $('#filter_mylist').val();
|
|
|
|
//전체
|
|
if($("#m-year-1").is(':checked') == true)
|
|
{
|
|
$("#filter_creatYyyy").val("all");
|
|
filter_mylist = filter_mylist.replace("creat_all","");
|
|
filter_mylist = filter_mylist.replace("creat_date,","");
|
|
filter_mylist += "creat_all,";
|
|
$("#filter_mylist").val(filter_mylist);
|
|
}
|
|
|
|
//생산년도 검색
|
|
if($("#m-year-2").is(':checked') == true)
|
|
{
|
|
if($("#creatYyyyStart").val() == "")
|
|
{
|
|
alert("생산년도 검색 시작일자를 입력해주세요.");
|
|
return false;
|
|
}
|
|
if($("#creatYyyyEnd").val() == "")
|
|
{
|
|
alert("생산년도 검색 종료일자를 입력해주세요.");
|
|
return false;
|
|
}
|
|
$("#filter_creatYyyy").val("date");
|
|
filter_mylist = filter_mylist.replace("creat_all","");
|
|
filter_mylist = filter_mylist.replace("creat_date,","");
|
|
filter_mylist += "creat_date,";
|
|
$("#filter_mylist").val(filter_mylist);
|
|
}
|
|
|
|
fnFilterSch();
|
|
});
|
|
|
|
}
|
|
//초기화
|
|
function reference_filterReset(){
|
|
$(document).on("click","#referencelistForm button[class^='btn-filter-reset']",function(){
|
|
$("#pageIndex").val("1");
|
|
$("#filter_creatYyyy").val("");
|
|
$("#creatYyyyStart").val("");
|
|
$("#creatYyyyEnd").val("");
|
|
$("#filter_class").val("");
|
|
$("#filter_category").val("");
|
|
$("#filter_agency").val("");
|
|
$("#filter_mylist").val("");
|
|
$("#bookIndex").val("");
|
|
$("#mngtNo").val("");
|
|
$("#createStartDate").val("");
|
|
$("#createEndDate").val("");
|
|
$("#ageCode").val("");
|
|
$("#collectionList").val("");
|
|
$("#realQuery").val("");
|
|
$("#reQueryChk").val("query");
|
|
$("#query").val("");
|
|
$("#reQuery").val("");
|
|
$("#collection").val("lib_total");
|
|
$("#referencelistForm [name=first_class],#referencelistForm [name=second_class],#referencelistForm [name=first_category],#referencelistForm [name=second_category],#referencelistForm [name=creatYyyyYn],#referencelistForm [name=first_agency]").prop("checked", false);
|
|
fnFilterSch();
|
|
});
|
|
}
|
|
//reference 결과 필터 del 클릭
|
|
function reference_filterDel(){
|
|
$(document).on("click","#referencelistForm button[id^='c_cate_data-type-chk'],#referencelistForm button[id^='j_cate_theme-chk'],#referencelistForm button[name=first_agency_del]",function(){
|
|
|
|
var s_cate_id = $(this).attr("id");
|
|
s_cate_id = s_cate_id.substring(s_cate_id.lastIndexOf("_")+1);
|
|
|
|
var reference_gubun_name = "";
|
|
|
|
if( $(this).attr('id').indexOf("theme-chk") != -1){
|
|
reference_gubun_name = "second_category";
|
|
}else if( $(this).attr('id').indexOf("data-type-chk")!= -1){
|
|
reference_gubun_name = "second_class";
|
|
}
|
|
//first
|
|
var first_nm = $(this).attr('id').replace('c_cate_', '').replace('j_cate_', '');
|
|
|
|
first_nm = first_nm.substring(0,first_nm.indexOf("_",-2)); //data-type-chk1-4
|
|
first_nm = first_nm.substring(0,first_nm.lastIndexOf("-")) ; //data-type-chk1
|
|
|
|
if($("#referencelistForm input:checkbox[id^='"+ first_nm +"-']:checked").length ==1){
|
|
$("input:checkbox[id='" + first_nm + "']").prop("checked", false);
|
|
}
|
|
|
|
//second
|
|
$("#referencelistForm input[name='"+ reference_gubun_name+ "']:input[value='"+s_cate_id+"']").each(function () {
|
|
$(this).prop("checked",false);
|
|
});
|
|
|
|
|
|
//filter_mylist clk array remove
|
|
var filter_mylist = "";
|
|
var filter_mylist_clk = "";
|
|
var filter_agency = "";
|
|
var filter_agency_clk = "";
|
|
filter_agency = $('#filter_agency').val();
|
|
filter_mylist = $('#filter_mylist').val();
|
|
|
|
if($(this).attr('id').indexOf('c_cate_data-type') >= 0 ){
|
|
filter_mylist_clk = 'class_'+ s_cate_id +',';
|
|
}else if($(this).attr('id').indexOf('j_cate_theme')>= 0 ){
|
|
filter_mylist_clk = 'category_'+ s_cate_id +',';
|
|
}else if($(this).attr('name').indexOf('first_agency_del')>= 0 ){
|
|
filter_mylist_clk = 'agency_'+ s_cate_id +',';
|
|
filter_agency_clk = s_cate_id +',';
|
|
}
|
|
filter_agency = filter_agency.replace(filter_agency_clk,'');
|
|
filter_mylist = filter_mylist.replace(filter_mylist_clk,'');
|
|
$('#filter_agency').val(filter_agency);
|
|
$('#filter_mylist').val(filter_mylist);
|
|
|
|
|
|
//depth-1
|
|
var on_classArr = document.querySelectorAll("div.depth-1.on");
|
|
var filter_class = "" ;
|
|
var filter_category = "" ;
|
|
for(var i=0; i<on_classArr.length; i++){
|
|
if($(on_classArr[i]).find('input').attr('name') == 'first_class') {
|
|
filter_class = $(on_classArr[i]).find('input').val();
|
|
}else{
|
|
filter_category = $(on_classArr[i]).find('input').val();
|
|
}
|
|
}
|
|
|
|
|
|
var listForm = document.forms["referencelistForm"];
|
|
listForm.pageIndex.value = 1;
|
|
listForm.filter_class.value = filter_class;
|
|
listForm.filter_category.value = filter_category;
|
|
fnFilterSch();
|
|
|
|
});
|
|
}
|
|
|
|
//reference 결과 필터 del 클릭(상세검색에 추가된 부분)
|
|
function reference_detailFilterDel(){
|
|
$(document).on("click","#referencelistForm .detailFilter",function(){
|
|
var filter_mylist = "";
|
|
var deleteFilterId = "";
|
|
var count = 0;
|
|
filter_mylist = $('#filter_mylist').val();
|
|
deleteFilterId = $(this).attr('name').substring($(this).attr('name').indexOf("_",0)+1);
|
|
|
|
if($(this).attr('name') == "search_ageCode" || $(this).attr('name') == "search_collectionList")
|
|
{
|
|
if($(".filter-wrap button[name="+$(this).attr('name')+"]").length == 1)
|
|
{
|
|
filter_mylist = filter_mylist.replace($(this).attr('name')+",",'');
|
|
$("#" + deleteFilterId).val("");
|
|
}else{
|
|
var deleteFilterArr = $("#" + deleteFilterId).val().split(",");
|
|
|
|
|
|
$("#" + deleteFilterId).val(deleteFilterArr[0]);
|
|
|
|
for(var i=1; i < deleteFilterArr.length ; i++){
|
|
if($(this).val() != deleteFilterArr[i])
|
|
{
|
|
if(count == 0)
|
|
{
|
|
$("#" + deleteFilterId).val(deleteFilterArr[i]);
|
|
}else
|
|
{
|
|
$("#" + deleteFilterId).val("," + deleteFilterArr[i]);
|
|
}
|
|
count+= 1;
|
|
}
|
|
//탭 필터 지웠을 시 다른탭 셀렉트
|
|
if($(this).attr('name') == "search_collectionList" && count == 1)
|
|
{
|
|
|
|
$("#collection").val(deleteFilterArr[i]);
|
|
}
|
|
}
|
|
}
|
|
}else
|
|
{
|
|
filter_mylist = filter_mylist.replace($(this).attr('name')+",",'');
|
|
$("#" + deleteFilterId).val($("#" + deleteFilterId).val().replace($(this).val(),''));
|
|
}
|
|
$("#filter_mylist").val(filter_mylist);
|
|
fnFilterSch();
|
|
});
|
|
}
|
|
function fnLabel_reference(){
|
|
var mylist_arr = $("#referencelistForm [name=filter_mylist]").val().split(",");
|
|
var comparisonData;
|
|
for(var j=0; j < mylist_arr.length ; j++){
|
|
if(mylist_arr[j].indexOf("class") >= 0){
|
|
var checked = document.querySelectorAll("#referencelistForm [name='second_class']:checked");
|
|
|
|
for(var i=0; i<checked.length; i++){
|
|
var checkVal = util.xssCheck($(checked[i]).val());
|
|
if(mylist_arr[j].indexOf(checkVal) >= 0 ){
|
|
var second_cate_id = "c_cate_"+ $(checked[i]).attr('id') +"_id_" +checkVal ;
|
|
var first_cate_nm =$(checked[i]).parents('.depth-2').siblings('.depth-1').find('label').text();
|
|
var second_cate_nm = $(checked[i]).next().text();
|
|
|
|
first_cate_nm = first_cate_nm.substring(0,first_cate_nm.indexOf("(",-1));
|
|
second_cate_nm = second_cate_nm.substring(0,second_cate_nm.lastIndexOf("("));
|
|
|
|
if(comparisonData != second_cate_id){
|
|
first_cate_nm = util.xssCheck(first_cate_nm);
|
|
second_cate_nm = util.xssCheck(second_cate_nm);
|
|
second_cate_id = util.xssCheck(second_cate_id);
|
|
$("#reference_fillter_append").append("<li>"+ first_cate_nm + " > "+ second_cate_nm + "<button type=\"button\" name=\"first_agency_del\" class=\"btn-del-filter\" id=\""+second_cate_id+"\">삭제</button></li>").text();
|
|
comparisonData = second_cate_id;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
else if(mylist_arr[j].indexOf("category") >= 0){
|
|
var checked = document.querySelectorAll("#referencelistForm [name='second_category']:checked");
|
|
var comparisonData;
|
|
//필터라벨
|
|
for(var i=0; i<checked.length; i++){
|
|
var checkVal = util.xssCheck($(checked[i]).val());
|
|
if(mylist_arr[j].indexOf(checkVal) >= 0 ){
|
|
var second_cate_id = "j_cate_"+ $(checked[i]).attr('id') +"_id_" +checkVal ;
|
|
var first_cate_nm =$(checked[i]).parents('.depth-2').siblings('.depth-1').find('input').next().text();
|
|
var second_cate_nm = $(checked[i]).next().text();
|
|
|
|
first_cate_nm = first_cate_nm.substring(0,first_cate_nm.indexOf("(",-1));
|
|
second_cate_nm = second_cate_nm.substring(0,second_cate_nm.indexOf("(",-1));
|
|
|
|
if(comparisonData != second_cate_id){
|
|
first_cate_nm = util.xssCheck(first_cate_nm);
|
|
second_cate_nm = util.xssCheck(second_cate_nm);
|
|
second_cate_id = util.xssCheck(second_cate_id);
|
|
$("#reference_fillter_append").append("<li>"+ first_cate_nm + " > "+ second_cate_nm + "<button type=\"button\" class=\"btn-del-filter\" id=\""+second_cate_id+"\">삭제</button></li>").text();
|
|
comparisonData = second_cate_id;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
else if(mylist_arr[j].indexOf("creat_all") >= 0){
|
|
$("#reference_fillter_append").append("<li>생산년도 > 전체<button type=\"button\" class=\"btn-del-filter\" id=\""+second_cate_id+"\">삭제</button></li>").text();
|
|
}
|
|
else if(mylist_arr[j].indexOf("creat_date") >= 0){
|
|
$("#reference_fillter_append").append("<li>생산년도 > " + $("#creatYyyyStart").val() + "~" + $("#creatYyyyEnd").val() +"<button type=\"button\" class=\"btn-del-filter\" id=\""+second_cate_id+"\">삭제</button></li>").text();
|
|
}else if(mylist_arr[j].indexOf("agency") >= 0){
|
|
var second_cate_nm = mylist_arr[j].substring(mylist_arr[j].indexOf("_")+1);
|
|
$("#reference_fillter_append").append("<li>생산기관 > "+ second_cate_nm + "<button type=\"button\" class=\"btn-del-filter\" id=\"" + second_cate_nm + "\" name=\"first_agency_del\" >삭제</button></li>").text();
|
|
}else if(mylist_arr[j].indexOf("search_query") >= 0){
|
|
$("#reference_fillter_append").append("<li>검색어 > "+ $("#realQuery").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_query\">삭제</button></li>").text();
|
|
}else if(mylist_arr[j].indexOf("search_bookIndex") >= 0){
|
|
$("#reference_fillter_append").append("<li>목차 > "+ $("#bookIndex").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_bookIndex\">삭제</button></li>").text();
|
|
}else if(mylist_arr[j].indexOf("search_mngtNo") >= 0){
|
|
$("#reference_fillter_append").append("<li>관리번호 > "+ $("#mngtNo").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_mngtNo\">삭제</button></li>").text();
|
|
}else if(mylist_arr[j].indexOf("search_era") >= 0){
|
|
$("#reference_fillter_append").append("<li>연대 > "+ $("#createStartDate").val() + "~" + $("#createEndDate").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_era\">삭제</button></li>").text();
|
|
}else if(mylist_arr[j].indexOf("search_ageCode") >= 0){
|
|
var ageCode_arr = $("#referencelistForm [name=ageCode]").val().split(",");
|
|
for(var i=0; i < ageCode_arr.length ; i++)
|
|
{
|
|
$("#reference_fillter_append").append("<li>시대 > "+ ageCodeNm(ageCode_arr[i]) + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_ageCode\" value=\"" + ageCode_arr[i] + "\">삭제</button></li>").text();
|
|
}
|
|
}else if(mylist_arr[j].indexOf("search_collectionList") >= 0){
|
|
var collectionList_arr = $("#referencelistForm [name=collectionList]").val().split(",");
|
|
for(var i=0; i < collectionList_arr.length ; i++)
|
|
{
|
|
$("#reference_fillter_append").append("<li>이용구분 > "+ collectionNm(collectionList_arr[i]) + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_collectionList\" value=\"" + collectionList_arr[i] + "\">삭제</button></li>").text();
|
|
}
|
|
}
|
|
|
|
} //for end
|
|
}
|
|
|
|
function ageCodeNm(ageCode){
|
|
if(ageCode == null)
|
|
{
|
|
return ageCode;
|
|
}
|
|
if(ageCode == "03") return "선사";
|
|
if(ageCode == "04|05|06") return "고대";
|
|
if(ageCode == "07") return "고려";
|
|
if(ageCode == "08") return "조선";
|
|
if(ageCode == "11|12") return "근대";
|
|
if(ageCode == "13|14") return "현대";
|
|
if(ageCode == "02") return "시대미상";
|
|
|
|
return ageCode;
|
|
}
|
|
|
|
function collectionNm(collection){
|
|
if(collection == null)
|
|
{
|
|
return collection;
|
|
}
|
|
if(collection == "lib_online") return "온라인열람";
|
|
if(collection == "lib_loan") return "대출";
|
|
if(collection == "lib_offline") return "열람";
|
|
if(collection == "lib_etc") return "기타";
|
|
|
|
return collection;
|
|
}
|
|
function fnLabel_reference_detail(){
|
|
$('#referencelistForm input[name=sojang_council]').prop("checked",false);
|
|
$('#referencelistForm input[name=sido_name]').prop("checked",false);
|
|
|
|
$("#referencelistForm .cmm-list-chk").each(function (index, item) {
|
|
$(this).prop("checked",true);
|
|
});
|
|
|
|
$("#reference_council_append").empty();
|
|
|
|
var mylist_arr = $("#referencelistForm [name=filter_mylist]").val().split(",");
|
|
|
|
for(var j=0; j < mylist_arr.length ; j++){
|
|
if(mylist_arr[j].indexOf("council") >= 0){
|
|
var checked = document.querySelectorAll("#referencelistForm [name='sojang_council']:checked");
|
|
|
|
for(var i=0; i<checked.length; i++){
|
|
var checkVal = util.xssCheck($(checked[i]).val());
|
|
if(mylist_arr[j].indexOf(checkVal) >= 0 ){
|
|
var second_cate_id = $(checked[i]).attr('id')+"_id";
|
|
var second_cate_id_del = $(checked[i]).attr('id')+"_id_del";
|
|
var first_cate_nm =$(checked[i]).parents('.depth-2').siblings('.depth-1').find('input').next().text();
|
|
var second_cate_nm = $(checked[i]).next().text();
|
|
|
|
first_cate_nm = first_cate_nm.substring(0,first_cate_nm.indexOf("(",-1));
|
|
second_cate_nm = second_cate_nm.substring(0,second_cate_nm.indexOf("(",-1));
|
|
|
|
second_cate_id = util.xssCheck(second_cate_id);
|
|
second_cate_id_del = util.xssCheck(second_cate_id_del);
|
|
first_cate_nm = util.xssCheck(first_cate_nm);
|
|
second_cate_nm = util.xssCheck(second_cate_nm);
|
|
$("#reference_council_append").append("<li id=\""+second_cate_id+"\"><button type=\"button\" title=\"삭제\" id=\""+second_cate_id_del+"\"><span class=\"sign\">"+ first_cate_nm+" > </span>"+ second_cate_nm+"</button></li>");
|
|
}
|
|
}
|
|
}//if end
|
|
}//for end
|
|
|
|
var checked2 = document.querySelectorAll("#referencelistForm [name='sido_name']:checked");
|
|
for(var i=0; i<checked2.length; i++){
|
|
$(checked2[i]).prop("checked", true);
|
|
}
|
|
}
|
|
function fnFilterSch(){
|
|
document.referencelistForm.action="/search/searchList.do";
|
|
document.referencelistForm.submit();
|
|
}
|
|
|