////////////////////////////////////////////////////////////////////////////////////////
//Document Ready
////////////////////////////////////////////////////////////////////////////////////////
function execDocReady() {
var pluginGroups = [
["../reference/light-blue/lib/vendor/jquery.ui.widget.js", "../reference/lightblue4/docs/lib/widgster/widgster.js"],
["../reference/lightblue4/docs/lib/bootstrap-select/dist/js/bootstrap-select.min.js"],
["../reference/jquery-plugins/twbs-pagination-master/jquery.twbsPagination.min.js"]
// 추가적인 플러그인 그룹들을 이곳에 추가하면 됩니다.
];
loadPluginGroupsParallelAndSequential(pluginGroups)
.then(function () {
console.log("모든 플러그인 로드 완료");
$(".widget").widgster();
var boardComponents = (function () {
return {
loading: function () {
return $(
`
Loading...
`
);
},
main: function (board) {
return $(
`
${board.userName}
${board.viewCount || 0}
${new Date(board.createdDate).toLocaleString()}
`
);
},
noData: function () {
return $(
`
등록된 게시글이 없습니다.
`
);
}
};
})();
var drawBoardList = function (_page, _subjectName) {
var $bbs = $("#bbs");
var SIZE = 10;
var requestBody = {
size: SIZE,
page: _page
};
if (_subjectName) {
requestBody.subjectName = _subjectName + "*";
}
$.ajax({
url: "/bbs/board-list/only-post-list",
type: "GET",
data: requestBody,
beforeSend: function () {
$bbs.html(boardComponents.loading());
},
success: function (data) {
$("#total_counts").text(data.response.totalHits);
var pageCount = Math.ceil(data.response.totalHits / SIZE);
$(".pagination").twbsPagination({
totalPages: pageCount,
visiblePages: 7,
first: "",
prev: "",
next: "",
last: ""
});
$bbs.empty();
if (data.response.bbsEntities.length <= 0) {
return $bbs.append(boardComponents.noData());
}
data.response.bbsEntities.forEach(function (board) {
$bbs.append(boardComponents.main(board));
});
}
});
};
drawBoardList(0);
$(".pagination").on("page", function (event, page) {
drawBoardList(page - 1, searchQuery);
});
var searchQuery = "";
$("#search_form").on("submit", function (event) {
event.preventDefault();
searchQuery = $(event.target).find("input").val();
drawBoardList(0, searchQuery);
});
})
.catch(function (error) {
console.error("플러그인 로드 중 오류 발생");
console.error(error);
});
}