<?php if($is_checkbox) { ?>
<noscript>
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
</noscript>
<?php } ?>
<?php if ($is_checkbox) { ?>
<script>
function all_checked(sw) {
var f = document.fboardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]")
f.elements[i].checked = sw;
}
}
function fboardlist_submit(f) {
var chk_count = 0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
chk_count++;
}
if (!chk_count) {
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
return false;
}
if(document.pressed == "선택복사") {
select_copy("copy");
return;
}
if(document.pressed == "선택이동") {
select_copy("move");
return;
}
if(document.pressed == "선택삭제") {
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
return false;
f.removeAttribute("target");
f.action = g5_bbs_url+"/board_list_update.php";
}
return true;
}
// 선택한 게시물 복사 및 이동
function select_copy(sw) {
var f = document.fboardlist;
if (sw == "copy")
str = "복사";
else
str = "이동";
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
f.sw.value = sw;
f.target = "move";
f.action = g5_bbs_url+"/move.php";
f.submit();
}
// 게시판 리스트 관리자 옵션
jQuery(function($){
$(".btn_more_opt.is_list_btn").on("click", function(e) {
e.stopPropagation();
$(".more_opt.is_list_btn").toggle();
});
$(document).on("click", function (e) {
if(!$(e.target).closest('.is_list_btn').length) {
$(".more_opt.is_list_btn").hide();
}
});
});
</script>
<?php } ?>
<script>
jQuery(function($){
var memoOpenKey = 'daemon_kind_bybit_memo_open';
var memoViewKey = 'daemon_kind_bybit_memo_view';
var $listRoot = $('#LIST');
var $memoLayer = $('#MemoLayer');
var $memoButton = $('#btnOpenMemo');
var $memoViewButtons = $('.memo-view-btn');
function getMemoView() {
var value = localStorage.getItem(memoViewKey);
return (value === '1x1' || value === '1x2') ? value : '1x2';
}
function setMemoView(view) {
$memoLayer.removeClass('view-1x1 view-1x2').addClass('view-' + view);
$memoViewButtons.removeClass('is-active');
$memoViewButtons.filter('[data-view="' + view + '"]').addClass('is-active');
localStorage.setItem(memoViewKey, view);
}
function openMemoLayer() {
$memoLayer.addClass('is-open');
$memoButton.addClass('is-active');
$listRoot.addClass('memo-open');
localStorage.setItem(memoOpenKey, '1');
}
function closeMemoLayer() {
$memoLayer.removeClass('is-open');
$memoButton.removeClass('is-active');
$listRoot.removeClass('memo-open');
localStorage.setItem(memoOpenKey, '0');
}
setMemoView(getMemoView());
if (localStorage.getItem(memoOpenKey) === '1') {
openMemoLayer();
} else {
closeMemoLayer();
}
$memoViewButtons.on('click', function(){
var view = $(this).data('view');
if (view === '1x1' || view === '1x2') {
setMemoView(view);
}
});
$('#btnOpenMemo').on('click', function(){
if ($memoLayer.hasClass('is-open')) {
closeMemoLayer();
} else {
openMemoLayer();
}
});
$('#btnCloseMemoTop, #btnCloseMemoBottom').on('click', function(){
closeMemoLayer();
});
$('#btnOpenNotice').on('click', function(){
$('#NoticeLayer').fadeIn(120);
});
$('#btnCloseNoticeTop, #btnCloseNoticeBottom').on('click', function(){
$('#NoticeLayer').fadeOut(120);
});
$('#btnOpenSearch').on('click', function(){
$('#SCH').css('display', 'flex').hide().fadeIn(120);
});
$('#btnCloseSearch').on('click', function(){
$('#SCH').fadeOut(120);
});
$('#SCH').on('click', function(e){
if (e.target === this) {
$('#SCH').fadeOut(120);
}
});
var $rows = $('.list-row');
var $noResult = $('#RealtimeNoResult');
function normalizeText(value) {
return (value || '').toString().toLowerCase().replace(/\s+/g, ' ').trim();
}
$('#realtimeSearch').on('input', function(){
var keyword = normalizeText($(this).val());
var visibleCount = 0;
$rows.each(function(){
var symbol = normalizeText($(this).data('symbol'));
var korean = normalizeText($(this).data('korean'));
var matched = (keyword === '') || (symbol.indexOf(keyword) > -1) || (korean.indexOf(keyword) > -1);
$(this).toggle(matched);
if (matched) visibleCount++;
});
if (keyword !== '' && visibleCount === 0) {
$noResult.show();
} else {
$noResult.hide();
}
});
});
</script>
<script>
// 팝업 열기: URL만 갈아끼우고 보여줌
function open_memo_popup(url) {
var iframe = document.getElementById('memo_iframe');
iframe.src = url;
document.getElementById('memo_layer_popup').style.display = 'block';
document.body.style.overflow = 'hidden'; // 팝업 시 본문 스크롤 방지
}
// 팝업 닫기: 주소 비우고 창만 닫음 (오류 방지)
function close_memo_popup() {
var iframe = document.getElementById('memo_iframe');
iframe.src = ''; // 아이프레임 주소 초기화 (잔상 및 오류 방지)
document.getElementById('memo_layer_popup').style.display = 'none';
document.body.style.overflow = 'auto'; // 본문 스크롤 복구
}
</script>
<script>
$(document).ready(function() {
// [에이스급 스무스 필터 함수]
function filterMemosElite(type) {
var $items = $('.memo-card-item');
var $btnAll = $('#btnFilterAll');
// 1. '전체' 버튼 노출 조교 (미완료/완료 클릭 시만 슥~ 등장!)
if (type === 'all') {
$btnAll.fadeOut(300); // 전체 누르면 다시 숨기기
} else {
$btnAll.fadeIn(400); // 필터링 시작하면 빳빳하게 등장!
}
// 2. 리스트 개별 조교 (깜빡임 없이 슥~ 슥~ 접고 펴기)
$('.memo-card-body').each(function() {
var $item = $(this).closest('.memo-card-item');
// 완료 조건: opacity 0.3 이나 취소선이 있는 경우 (x2_end 필드 기반)
var isEnd = ($(this).css('opacity') == '0.3' || $(this).css('text-decoration-line') === 'line-through');
if (type === 'all') {
$item.show(400); // 0.4초 동안 빳빳하게 등장!
} else if (type === 'pending') {
if (isEnd) $item.hide(400); else $item.show(400); // 미완료만 남기고 슥~
} else if (type === 'completed') {
if (!isEnd) $item.hide(400); else $item.show(400); // 완료만 남기고 슥~
}
});
// 메이슨리 레이아웃 재배치 (쓰고 있다면 주석 해제!)
// if ($('.memo-masonry-wrapper').data('masonry')) {
// $('.memo-masonry-wrapper').masonry('layout');
// }
}
// [버튼 클릭 이벤트들]
// 미완료 클릭
$('#btnFilterPending').on('click', function() {
filterMemosElite('pending');
$('.btn-filter').css('opacity', '0.6').css('color', '');
$(this).css('opacity', '1').css('color', '#ff4444');
});
// 완료만 클릭 (반대)
$('#btnFilterCompleted').on('click', function() {
filterMemosElite('completed');
$('.btn-filter').css('opacity', '0.6').css('color', '');
$(this).css('opacity', '1').css('color', '#00ff00');
});
// 전체보기 클릭
$('#btnFilterAll').on('click', function() {
filterMemosElite('all');
$('.btn-filter').css('opacity', '1').css('color', '');
});
});
</script>