front.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. $(function() {
  2. $('[data-bs-toggle="popover"]').popover({
  3. trigger: 'click',
  4. placement: "bottom",
  5. html: true,
  6. content: function() {
  7. return "";
  8. }
  9. });
  10. // const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
  11. // const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
  12. $.validator.setDefaults({
  13. ignore: [], // hidden
  14. invalidHandler: function (form, validator) { // 커스텀 포커스 핸들링
  15. if (validator.numberOfInvalids()) {
  16. if (typeof validator.containers[0] != "undefined") {
  17. var id = validator.containers[0].getAttribute("id");
  18. var target = document.getElementById(id);
  19. }
  20. setTimeout(function () {
  21. if (target) {
  22. target.parentNode.scrollIntoView();
  23. } else {
  24. validator.currentForm.parentNode.parentNode.scrollIntoView();
  25. }
  26. }, 1);
  27. }
  28. }
  29. });
  30. $(".date-picker").datepicker({
  31. dayViewHeaderFormat: 'YYYY MMMM',
  32. format: 'YYYY-MM-DD',
  33. useCurrent: false,
  34. dateFormat: 'yy-mm-dd', // 날짜 포맷이다. 보통 yy-mm-dd 를 많이 사용하는것 같다.
  35. prevText: '이전 달', // 마우스 오버시 이전달 텍스트
  36. nextText: '다음 달', // 마우스 오버시 다음달 텍스트
  37. closeText: '닫기', // 닫기 버튼 텍스트 변경
  38. currentText: '오늘', // 오늘 텍스트 변경
  39. monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], //한글 캘린더중 월 표시를 위한 부분
  40. monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], //한글 캘린더 중 월 표시를 위한 부분
  41. dayNames: ['일', '월', '화', '수', '목', '금', '토'], // 한글 캘린더 요일 표시 부분
  42. dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'], // 한글 요일 표시 부분
  43. dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'], // 한글 요일 표시 부분
  44. showMonthAfterYear: true, // true : 년 월 false : 월 년 순으로 보여줌
  45. yearSuffix: '년',
  46. showButtonPanel: true, // 오늘로 가는 버튼과 달력 닫기 버튼 보기 옵션
  47. onClose: function(value) {
  48. var date = getOnlyDigit(value);
  49. if(date) {
  50. this.value = moment(date, "YYYY-MM-DD").format("YYYY-MM-DD");
  51. }else{
  52. this.value = "";
  53. }
  54. }
  55. });
  56. layerPopup.init();
  57. });
  58. // 회원 로그아웃
  59. $(document).on("click", "a#logout", function() {
  60. document.getElementById('logoutForm').submit();
  61. return false;
  62. });
  63. // 팝업 - 오늘 하루 안보기
  64. $(document).on("click", "#layerPops .layer-pops .btn-closed", function () {
  65. let layer = this.parentNode.parentNode;
  66. let key = layer.dataset.key;
  67. let second = (Number(layer.dataset.disableHours) / 86400);
  68. Cookies.set('layerPop_' + key, 'Y', {expires: second});
  69. layer.style.display = "none";
  70. });
  71. // 팝업 - 닫기
  72. $(document).on("click", "#layerPops .layer-pops .btn-cancel", function () {
  73. this.parentNode.parentNode.style.display = "none";
  74. });
  75. var layerPopup =
  76. {
  77. init: function () {
  78. let layerPops = document.getElementsByClassName("layer-pops");
  79. for (let i in layerPops) {
  80. let pop = layerPops.item(i);
  81. if (pop !== null) {
  82. let isDisplay = Cookies.get('layerPop_' + pop.dataset.key);
  83. if (isDisplay !== 'Y') {
  84. pop.style.display = "block";
  85. $(pop).draggable({
  86. drag: function (e) {
  87. e.target.style.transform = "none";
  88. },
  89. });
  90. }
  91. }
  92. }
  93. }
  94. };