diff --git a/pom.xml b/pom.xml
index b0d69dc..2ced722 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,10 +66,6 @@
${basedir}/src/main/resources
-
- ${basedir}/src/main/webapp/resources
- META-INF/resources/webjars
-
@@ -118,7 +114,6 @@
**/*.class
- META-INF/resources/webjars/**
diff --git a/src/main/webapp/resources/applib/css/applib.css b/src/main/webapp/resources/applib/css/applib.css
deleted file mode 100644
index b81f673..0000000
--- a/src/main/webapp/resources/applib/css/applib.css
+++ /dev/null
@@ -1,212 +0,0 @@
-@charset "UTF-8";
-
-/** 앱 공통 */
-
-input[type=text]:disabled,
-input[type=text]:read-only {
- background-color: #eceef1;
-}
-
-input[data-fmt-type=number] {
- text-align: right;
- padding-right: 10px;
-}
-/* 셀내용에 관계없이 셀 너비 고정 */
-.table-layout-fixed {
- table-layout: fixed;
- padding-right : 10px;
-}
-
-.dummy-th {
- width:auto;
- background-color: #ECEEF1!important;
-}
-.dummy-td {
- background-color: #ECEEF1;
-}
-
-/* 스크롤 시에도 그리드 타이틀 표시 */
-.sticky-thead {
- position: sticky;
- top: 0;
-}
-table:has(.sticky-thead) {
- border-collapse: separate;
- border-spacing: 0;
-}
-
-table:has(.sticky-thead) th,
-table:has(.sticky-thead) td {
- border-width: 1px;
- border-color: #d9dee3;
-}
-
-
-/** 텍스트,배경,선 색상 추가 */
-
-.text-red {
- --bs-text-opacity: 1;
- color: red !important;
-}
-
-.text-orange {
- --bs-text-opacity: 1;
- color: orange !important;
-}
-
-.text-blue {
- --bs-text-opacity: 1;
- color: blue !important;
-}
-
-.text-green{
- --bs-text-opacity: 1;
- color: green !important;
-}
-
-.bg-bordergray {
- background-color: #D9DEE3;
-}
-
-.bg-orange {
- --bs-bg-opacity: 1;
- background-color: orange !important;
-}
-
-.bg-yellow {
- --bs-bg-opacity: 1;
- background-color: yellow !important;
-}
-
-.bg-green {
- --bs-bg-opacity: 1;
- background-color: green !important;
-}
-
-.bg-yellowgreen {
- --bs-bg-opacity: 1;
- background-color: yellowgreen !important;
-}
-
-.border-card {
- border: 1px solid #d9dee3;
-}
-
-/** 루트 탭 */
-#main-tab-content {
- padding-bottom: 0px;
-}
-
-
-/* 조회조건 영역 */
-.container-search {
- clear: both;
- position: relative;
- padding: 10px 15px;
- background-color: var(--bs-nav-link-color);
- border: 1px solid #d0d0d0;
- box-shadow: rgb(0 0 0 / 15%) 1.95px 1.95px 2.6px;
- line-height: 24px;
-}
-
-.container-search-detail {
- background-color: #f2f2f2;
-}
-
-.form-search-title {
- display: inline-block;
- min-width: 6.25rem;
-}
-
-.form-search-linebox {
- display: inline-block;
- width: max-content;
-}
-
-/* 날짜입력 */
-.form-date, .form-time {
- width: 7.5rem;
- color: #515151;
- border: 1px solid #a9a9a9;
- text-align: center;
-}
-
-
-/* 버튼영역 */
-.container-page-btn {
- min-height : 30px;
- margin:8px 0;
- clear: both;
- position: relative;
- overflow: hidden;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.container-page-btn .btn{
- margin:0 3px;
-}
-
-.container-window-btn-right {
- display: flex;
- align-items: center;
- margin-left: auto;
- column-gap: 3px;
-}
-
-.btns .btn {
- margin:0 3px;
-}
-
-/* 버튼 추가 */
-.btn-search {
- --bs-btn-color: #fff;
- --bs-btn-bg: #44539e;
-
- --bs-btn-hover-color: #fff;
- --bs-btn-hover-bg:#44539e;
-}
-
-.btn-excel {
- --bs-btn-color: #fff;
- --bs-btn-bg: #217346;
-
- --bs-btn-hover-color: #fff;
- --bs-btn-hover-bg:#217346;
-}
-
-.btn-open-detail {
- --bs-btn-color: #fff;
- --bs-btn-bg: #44539e;
-
- --bs-btn-hover-color: #fff;
- --bs-btn-hover-bg:#44539e;
-
- float:right;
-}
-
-
-.resize-handle {
- position: absolute;
- top: 0; width: 7px; height: 40px;
- background: transparent;
- cursor: col-resize;
-}
-
-
-
-.ox-auto {
- overflow-x: auto;
-}
-
-.oy-auto {
- overflow-y: auto;
-}
-
-.ox-scroll {
- overflow-x: scroll;
-}
-
-.oy-scroll {
- overflow-y: scroll;
-}
\ No newline at end of file
diff --git a/src/main/webapp/resources/applib/css/overwrite.css b/src/main/webapp/resources/applib/css/overwrite.css
deleted file mode 100644
index 22743b9..0000000
--- a/src/main/webapp/resources/applib/css/overwrite.css
+++ /dev/null
@@ -1,317 +0,0 @@
-@charset "UTF-8";
-
-/** 스타일 재정의 */
-
-/** 컨테이너 사이즈 */
-@media (min-width: 1400px) {
- .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
- max-width: 1600px;
- }
-}
-
-/** 기본 폰트,버튼 배경 */
-:root{
- --bs-font-sans-serif: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
- --bs-root-font-size: 14px;
- --bs-body-font-size: 14px; /* body 폰트사이즈 */
- --bs-body-bg: #ffffff;
- --bs-btn-hover-bg : #eee;
- --bs-btn-active-bg : #d2d2d2;
- --bs-btn-disabled-bg : #676767;
-}
-
-/** 버튼 폰트,패딩,높이,색상 */
-.btn {
- --bs-btn-font-family: "Public Sans";
- --bs-btn-padding-x: 0.9375rem;
- --bs-btn-padding-y: 0.9375rem;
- --bs-btn-font-size: 1rem;
- --bs-btn-height: var(--bs-btn-font-size);
- --bs-btn-font-weight: 600;
- --bs-btn-line-height: 1.875rem;
- --bs-btn-hover-bg: #eee;
-}
-
-.btn-xl, .btn-group-xl > .btn {
- --bs-btn-font-size: 1.25rem;
- --bs-btn-padding-x: 2.125rem;
- --bs-btn-padding-y: 1.25rem;
- --bs-btn-border-radius: 0.625rem;
-}
-
-/** 카드 */
-.card {
- --bs-card-title-spacer-y: 0.175rem;
- --bs-card-border-width: 1px;
- --bs-card-body-border-width: 0;
- --bs-card-box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
- --bs-card-cap-padding-y: 0.75rem;
- --bs-card-cap-padding-x: 0.75rem;
-}
-
-/** 모달 해더 패딩 */
-.modal {
- --bs-modal-header-padding: 0.5rem 1.5rem 0.25rem;
-}
-
-/** 네비게이션 링크 폰트 크기,굵기*/
-.nav {
- --bs-nav-link-font-size: 1rem;
- --bs-nav-link-font-weight: 600;
-}
-
-/** 모달 닫기 버튼 */
-.modal .modal-header .btn-close {
- margin-top: 0;
-}
-
-.modal-header .btn-close {
- margin-top: 0;
- margin-right: calc(-0.5* var(--bs-modal-header-padding-x));
- margin-bottom: calc(-0.5* var(--bs-modal-header-padding-y));
- margin-left: auto;
-}
-
-/** 모달 마진 */
-.modal-dialog:not(.modal-dialog-centered) {
- margin-top: 30px;
-}
-
-/** 카드 헤더 */
-.card-header {
- border-bottom: var(--bs-card-body-border-width) solid var(--bs-card-border-color);
-}
-
-/** 내비게이션 탭 */
-.nav-tabs {
- --bs-nav-tabs-border-radius: 0rem;
- --bs-nav-tabs-link-border-radius: 0.375rem;
- --bs-nav-tabs-bg-image: none;
- --bs-nav-tabs-padding-top: 0rem;
- --bs-nav-tabs-padding-left: 0rem;
- padding-top: var(--bs-nav-tabs-padding-top);
- padding-left: var(--bs-nav-tabs-padding-left);
- border-radius: var(--bs-nav-tabs-border-radius);
-}
-
-/** 내비게이션 아이템 */
-ul.nav-tabs > li.nav-item {
- align-items: center;
-}
-
-/** 내비게이션 링크 */
-.nav-link {
- height: 1.875rem
-}
-
-.nav-tabs .nav-item .nav-link {
- border: 1px solid #d9dee3;
-}
-
-.menu-vertical .menu-item .menu-link {
- font-size: 1rem;
-}
-
-.menu-vertical .menu-sub .menu-link {
- padding-left: 2rem;
-}
-
-/** 메뉴 링크 */
-.bg-menu-theme .menu-sub > .menu-item > .menu-link:before {
- display: none;
-}
-
-ol > li::marker {
- font-weight: bold
-}
-
-/** 내비게이션 링크 */
-.nav-align-top .nav-tabs .nav-item .nav-link.active, .nav-align-top .nav-tabs .nav-item .nav-link:active {
- border-bottom-color: #fff;
-}
-
-.nav-tabs .nav-item .nav-link.active, .nav-tabs .nav-item .nav-link:active {
- box-shadow: none !important;
-}
-
-/** 폼 컨트롤 길이 */
-.form-control {
- width: initial;
-}
-
-/** 레이아웃 네비게이션바 */
-.layout-navbar {
- height: 4rem;
- color : #000000;
-}
-
-/** 라벨 폰트사이즈 */
-.form-label, .col-form-label {
- font-size: 1rem;
-}
-
-/** 모달 닫기 버튼 */
-.modal .modal-header .btn-close {
- border: 1px solid black !important;
-}
-
-
-/** 버튼 */
-.btn {
- min-width: max-content;
- height: 1rem;
-}
-
-.btn-outline-dark {
- background: white;
-}
-
-/** 체크박스,라디오 */
-.custom-option-basic .custom-option-content {
- padding: 0.2rem;
-}
-
-/** 레이아웃 네비게이션바 컨테이너 */
-.layout-navbar.navbar-detached.container-xxl {
- max-width: 1600px;
-}
-
-/** 굵은 글씨 */
-b,
-strong {
- font-weight: 700;
-}
-
-
-/** 폼컨트롤 폰트크기,패딩,디스플레이 */
-.form-control {
- font-size: 1rem;
- display: inline-block;
- padding: 0.25rem 0.625rem;
-}
-
-/** 폼셀렉트 */
-.form-select {
- display: inline-block;
- color: #515151;
- font-size: 1rem;
- padding-top: 0.25rem;
- padding-bottom: 0.25rem;
- padding-left: 0.625rem;
- padding-right: 1.25rem;
- background-position: right 0.25rem center;
- width: max-content;
- min-width: 6.25rem;
- max-width: 16.25rem;
-}
-
-/** 테이블 */
-.table-responsive {
- overflow-x: auto;
- border: solid 1px #d9dee3;
-}
-
-.table > :not(caption) > * > * {
- padding: 0.625rem 1rem;
-}
-
-/* 그리드 테이블 */
-.dataTable thead{
- background-color:#FCFDFD;
-}
-
-.dataTable th{
- text-align: center;
-}
-
-.dataTable td,
-.dataTable th {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-
-
-/* 모달 사이즈 */
-.modal-sm { min-width: 250px; --bs-modal-width: 310px; }
-.modal-md { min-width: 400px; --bs-modal-width: 500px; }
-.modal-lg { min-width: 800px; --bs-modal-width: 1000px; }
-.modal-xl { min-width: 1000px; --bs-modal-width: 1140px; }
-.modal-xxl { min-width: 1400px; --bs-modal-width: 1600px; }
-
-
-
-
-/** 길이,높이 설정 추가 */
-.w-px-10 { width: 10px !important; }
-.w-px-60 { width: 60px !important; }
-.w-px-70 { width: 70px !important; }
-.w-px-80 { width: 80px !important; }
-.w-px-90 { width: 90px !important; }
-.w-px-110 { width: 110px !important; }
-.w-px-120 { width: 120px !important; }
-.w-px-130 { width: 130px !important; }
-.w-px-140 { width: 140px !important; }
-.w-px-160 { width: 160px !important; }
-.w-px-170 { width: 170px !important; }
-.w-px-180 { width: 180px !important; }
-.w-px-190 { width: 190px !important; }
-.w-px-210 { width: 210px !important; }
-.w-px-220 { width: 220px !important; }
-.w-px-230 { width: 230px !important; }
-.w-px-240 { width: 240px !important; }
-.w-px-300 { width: 300px !important; }
-.w-px-320 { width: 320px !important; }
-.w-px-450 { width: 450px !important; }
-.w-px-550 { width: 550px !important; }
-.w-px-900 { width: 900px !important; }
-.w-px-1000 { width: 1000px !important; }
-.w-px-1100 { width: 1100px !important; }
-.w-px-1150 { width: 1150px !important; }
-.w-px-1200 { width: 1200px !important; }
-.w-px-1300 { width: 1300px !important; }
-.w-px-1400 { width: 1400px !important; }
-.w-px-1500 { width: 1500px !important; }
-
-.w-10 { width: 10% !important; }
-.w-15 { width: 15% !important; }
-.w-20 { width: 20% !important; }
-.w-30 { width: 30% !important; }
-.w-35 { width: 35% !important; }
-.w-40 { width: 40% !important; }
-.w-45 { width: 45% !important; }
-.w-55 { width: 55% !important; }
-.w-60 { width: 60% !important; }
-.w-65 { width: 65% !important; }
-.w-70 { width: 70% !important; }
-.w-78 { width: 78% !important; }
-.w-80 { width: 80% !important; }
-.w-85 { width: 85% !important; }
-.w-87 { width: 87% !important; }
-.w-90 { width: 90% !important; }
-.w-95 { width: 95% !important; }
-
-.h-px-10 { height: 10px !important; }
-.h-px-25 { height: 25px !important; }
-.h-px-60 { height: 60px !important; }
-.h-px-70 { height: 70px !important; }
-.h-px-80 { height: 80px !important; }
-.h-px-125 { height: 125px !important; }
-.h-px-175 { height: 175px !important; }
-.h-px-450 { height: 450px !important; }
-.h-px-550 { height: 550px !important; }
-.h-px-650 { height: 650px !important; }
-.h-px-750 { height: 750px !important; }
-.h-px-850 { height: 850px !important; }
-.h-px-900 { height: 900px !important; }
-.h-px-950 { height: 950px !important; }
-
-
-/** 폰트 사이즈 재정의 */
-.fs-1 { font-size: 2.375rem !important; }
-.fs-2 { font-size: 2rem !important; }
-.fs-3 { font-size: 1.625rem !important; }
-.fs-4 { font-size: 1.375rem !important; }
-.fs-5 { font-size: 1.125rem !important; }
-.fs-6 { font-size: 0.9375rem !important; }
\ No newline at end of file
diff --git a/src/main/webapp/resources/applib/js/cmmnDateUtil.js b/src/main/webapp/resources/applib/js/cmmnDateUtil.js
deleted file mode 100644
index b6c012a..0000000
--- a/src/main/webapp/resources/applib/js/cmmnDateUtil.js
+++ /dev/null
@@ -1,624 +0,0 @@
-/*
- * 현재날짜를 YYYY-MM-DD 포맷으로 반환
- */
-function TODAY(){
- return dateFormat.format(new Date());
-}
-
-function inputDateComparison(sndngYmd, sndngEndYmd) {
- let startDate = inputDateSplit(sndngYmd); // 시작일
- let endDate = inputDateSplit(sndngEndYmd); // 종료일
-
- if (typeof startDate == "undefined" || startDate == null || startDate == "") {
- alert("시작일이 입력되지 않았습니다.\n시작일을 입력해주세요.");
- $("#sndngYmd").focus();
-
- return false;
- }
- if (typeof endDate == "undefined" || endDate == null || endDate == "") {
- alert("종료일이 입력되지 않았습니다.\n종료일을 입력해주세요.");
- $("#sndngEndYmd").focus();
-
- return false;
- }
- // 입력일을 확인하는 이유는 현재 작성한 일자가 시작일인지 종료일인지 확인하기 위해서이다.
- if (startDate > endDate) {
- alert("시작일이 종료일보다 이 후 일수는 없습니다.\n다시 선택하여 주시기 바랍니다.");
- $("#sndngYmd").focus();
-
- return false;
- }
-
- return true;
-}
-
-// 날짜형식에 "-"이 사용된 경우에 한하여 날짜값에서 "-" 기호를 제거한다.
-function inputDateSplit(obj) {
- if (obj == "") {
- return obj;
- } else {
- let dateArray = obj.split("-");
-
- return dateArray[0] + dateArray[1] + dateArray[2];
- }
-}
-
-var DateUtil = {
- /*============================
- * 현재날짜로부터 월 단위로 계산된 날짜(yyyymmdd) 반환
- * -addMonth가 0 이면 현재월
- * -음의 숫자면 전월 (ex: -1 전월, -2 전전월, -3 ...)
- * -양의 숫자면 차월 (ex: 1 차월, 2 차차월, 3 ...)
- ============================*/
- getDate : function(){
- var result = new Object();
- switch (arguments.length) {
- case 1:
- result = calcDate(arguments[0]);
- break;
- case 2:
- result = calcDate(arguments[0], arguments[1]);
- break;
- default:
- result = calcDate();
- break;
- }
- return result;
-
- //날짜 계산
- function calcDate(addMonth, stdDay){
- if(addMonth!=undefined)
- addMonth = addMonth + 1;
- addMonth = addMonth==undefined?1:addMonth;
-
-
- /*
- * 필수값 설정
- * -날짜 설정
- * -ago OR after 여부 설정
- */
- var date = new Date();
- var yyyy = date.getFullYear();
- var mm = ( date.getMonth() + (addMonth) );
- var dd = date.getDate();
- if(stdDay!=undefined){
- stdDay = stdDay.replace(/[^0-9]/gi,'');
- yyyy = stdDay.substring(0,4);
- mm = stdDay.substring(4,6);
- dd = stdDay.substring(6,8);
-
- if(addMonth==13)
- yyyy = Number(yyyy)+1;
- }
-
- var isAfter = false;
- if((addMonth*1)>0)
- isAfter = true;
-
- /*
- * 유효성 처리
- * -해(year) 넘김 처리
- * -말일(last day) 처리
- */
- var newYear = DateUtil.getNewYear(isAfter, yyyy, mm);
- yyyy = newYear.yyyy;
- mm = newYear.mm;
- var ago_last_dd = DateUtil.getEndOfMonthDay(yyyy, mm);
- dd = dd>ago_last_dd?ago_last_dd:dd;
-
-
- /*
- * format 설정
- */
- if( (''+dd).length == 1 )
- dd = "0"+ dd;
-
-
- /*
- * 결과 반환
- */
- var obj = new Object();
- obj.date = ""+yyyy+mm+dd;
- obj.yyyy = ""+yyyy;
- obj.mm = ""+mm;
- obj.dd = ""+dd;
- return obj;
- }
- },
-
- //+ 한달 후 말일 계산
- getAddMonth : function(stdDay){
- //날짜 계산
-
- var rtnVal = calcDate(0,stdDay);
- return rtnVal;
-
-
- function calcDate(addMonth, stdDay){
- if(addMonth!=undefined)
- addMonth = addMonth + 1;
- addMonth = addMonth==undefined?1:addMonth;
-
-
- /*
- * 필수값 설정
- * -날짜 설정
- * -ago OR after 여부 설정
- */
- stdDay = stdDay.replace(/[^0-9]/gi,'');
- var yyyy = stdDay.substring(0,4);
- var mm = stdDay.substring(4,6);
- var dd = stdDay.substring(6,8);
- mm = Number(mm)+addMonth;
- if(addMonth==13)
- yyyy = Number(yyyy)+1;
-
- var isAfter = false;
- if((addMonth*1)>0)
- isAfter = true;
-
- /*
- * 유효성 처리
- * -해(year) 넘김 처리
- * -말일(last day) 처리
- */
- var newYear = DateUtil.getNewYear(isAfter, yyyy, mm);
- yyyy = newYear.yyyy;
- mm = newYear.mm;
- var ago_last_dd = DateUtil.getEndOfMonthDay(yyyy, mm);
- dd = ago_last_dd;
-
-
- /*
- * format 설정
- */
- if( (''+dd).length == 1 )
- dd = "0"+ dd;
-
-
- /*
- * 결과 반환
- */
- var obj = new Object();
- obj.date = ""+yyyy+mm+dd;
- obj.yyyy = ""+yyyy;
- obj.mm = ""+mm;
- obj.dd = ""+dd;
- return obj;
- }
- },
-
- /*============================
- * 현재날짜(or 기준일)로부터 일 단위로 계산된 날짜(yyyymmdd) 반환
- * -addDay가 0 이면 금일
- * -음의 숫자면 전일 (ex: -1 작일, -2 재작일, -3 ...)
- * -양의 숫자면 차일 (ex: 1 명일, 2 재명일, 3 ...)
- ============================*/
- getDateDay: function(addDay){
- var result = new Object();
- switch (arguments.length) {
- case 1:
- result = calcDate(arguments[0], DateUtil.getDate().date);
- break;
- default:
- result = calcDate(0, DateUtil.getDate().date);
- break;
- }
- return result;
-
-
- //날짜 계산
- function calcDate(addDay, stdDay){
- addDay = addDay==undefined||addDay==null?0:addDay*1;
-
- /*
- * 필수값 설정
- * -날짜 설정
- * -ago OR after 여부 설정
- */
- var yyyy = stdDay.substring(0,4);
- var mm = stdDay.substring(4,6);
- var dd = stdDay.substring(6,8);
- var dateObj = new Date(yyyy, (mm-1)*1, dd*1);
- dateObj.setDate(dateObj.getDate()+(addDay));
-
- yyyy = dateObj.getFullYear();
- mm = dateObj.getMonth()+1;
- dd = dateObj.getDate();
-
- if( (''+mm).length == 1 )
- mm = "0"+ mm;
- if( (''+dd).length == 1 )
- dd = "0"+ dd;
-
- /*
- * 결과 반환
- */
- var obj = new Object();
- obj.date = ""+yyyy+"-"+mm+"-"+dd;
- obj.yyyy = yyyy;
- obj.mm = mm;
- obj.dd = dd;
- return obj;
- }
- },
- /*============================
- * 달의 마지막 날짜(dd) 반환
- ============================*/
- getEndOfMonthDay : function(yy, mm){
- var max_days=0;
- if(mm == 1 || mm == '01') {
- max_days = 31 ;
- } else if(mm == 2 || mm == '02') {
- if ((( yy % 4 == 0) && (yy % 100 != 0)) || (yy % 400 == 0))
- max_days = 29;
- else
- max_days = 28;
- }
- else if (mm == 3 || mm == '03') max_days = 31;
- else if (mm == 4 || mm == '04') max_days = 30;
- else if (mm == 5 || mm == '05') max_days = 31;
- else if (mm == 6 || mm == '06') max_days = 30;
- else if (mm == 7 || mm == '07') max_days = 31;
- else if (mm == 8 || mm == '08') max_days = 31;
- else if (mm == 9 || mm == '09') max_days = 30;
- else if (mm == 10 || mm == '10') max_days = 31;
- else if (mm == 11 || mm == '11') max_days = 30;
- else if (mm == 12 || mm == '12') max_days = 31;
- else return '';
- return max_days;
- },
-
- /*============================
- * 해(year) 넘김 처리
- ============================*/
- getNewYear : function(isAfter, yyyy, mm){
- /*
- * 해(year) 넘김 처리
- */
- if(isAfter){
- if(mm>12){
- var formula = Math.floor(mm/12);
- yyyy = Number(yyyy)+(formula);
- mm = mm - ((formula)*12);
- }
- }else{
- if(mm<1){
- var formula = Math.floor((mm*(-1))/12)+1;
- yyyy = yyyy-(formula);
- mm = mm + ((formula)*12);
- }
- }
-
- /*
- * 포맷 설정
- * -월(month) 두자리 설정
- */
- if( (''+mm).length == 1 )
- mm = "0"+ mm;
-
- /*
- * 결과 반환
- */
- var obj = new Object();
- obj.yyyy = ''+yyyy;
- obj.mm = ''+mm;
- return obj;
- }
-}
-
-
-function getDateObject(dateStr){
- var year = dateStr.substr(0,4);
- var month = dateStr.substr(4,2) - 1;
- var day = dateStr.substr(6,2);
-
- return new Date(year,month,day);
-}
-
-function getDateString(dateObj) {
- var result = "";
-
- var dateFormat = "YYYYMMDD";
-
- for (var i = 0; i < dateFormat.length; i++) {
- result += dateFormat.indexOf("YYYY", i) == i ? (i+=3, dateObj.getFullYear() ) :
- dateFormat.indexOf("MM", i) == i ? (i+=1, to2(dateObj.getMonth()+1) ) :
- dateFormat.indexOf("DD", i) == i ? (i+=1, to2(dateObj.getDate()) ) :
- (dateFormat.charAt(i) );
- }
- return result;
-};
-
-function to2(numberObj) {
- return (numberObj > 9 ? "" : "0") + numberObj;
-};
-
-/**
- * 입력일의 이전일 계산
- */
-function getPrevDay(datestr, days) {
- if ( days == "0")
- return datestr;
- datestr = datestr.replace(/-/g, "");
- if (datestr == "")
- return "";
-
- var dateObj = window.getDateObject(datestr);
-
- dateObj.setDate(dateObj.getDate() - parseInt(days, 10));
-
- return window.getDateString(dateObj);
-};
-
-/**
- * 입력일의 다음일 계산
- */
-function getNextDay(datestr, days) {
- if ( days == "0") return datestr;
- datestr = datestr.replace(/-/g, "");
- if (datestr == "") return "";
- var dateObj = window.getDateObject(datestr);
-
- dateObj.setDate(dateObj.getDate()+ parseInt(days, 10));
-
- return window.getDateString(dateObj);
-};
-
-/**
- * 해당월의 마지막날
- */
-function getLastDay(datestr) {
- datestr = datestr.replace(/-/g, "");
- if (datestr == "") return "";
- var strNextMonth = window.addMonth(datestr, 1);
- strNextMonth = strNextMonth.replace(/-/g, "");
- datestr = strNextMonth.substring(0, 6) + '01';
- var strLastDay = window.addDate(datestr, -1);
- strLastDay = strLastDay.replace(/-/g, "");
- var dateObj = window.getDateObject(strLastDay);
- return dateObj.getDate();
-};
-
-/**
- * 년, 월, 일을 입력 받아 Date String으로 변환
- */
-function getDatetime(nYear, nMonth, nDate){
- var dateObj = null;
-
- if (nYear.toString().trim().length >= 5) {
- var sDate = new String(nYear);
- var nYear = sDate.substr(0,4);
- var nMonth = sDate.substr(4,2);
- var nDate = ((sDate.substr(6,2) == "") ? 1 : sDate.substr(6,2));
- var nHours = ((sDate.substr(8,2) == "") ? 0 : sDate.substr(8,2));
- var nMinutes = ((sDate.substr(10,2) == "") ? 0 : sDate.substr(10,2));
- var nSeconds = ((sDate.substr(12,2) == "") ? 0 : sDate.substr(12,2));
-
- dateObj = new Date(parseInt(nYear), parseInt(nMonth)-1, parseInt(nDate), parseInt(nHours), parseInt(nMinutes), parseInt(nSeconds));
- } else {
- dateObj = new Date(parseInt(nYear), parseInt(nMonth)-1, parseInt(((nDate == null) ? 1 : nDate)));
- }
-
- var strYear = dateObj.getFullYear().toString();
- var strMonth = (dateObj.getMonth() + 1).toString();
- var strDate = dateObj.getDate().toString();
- if (strMonth.length == 1) strMonth = "0" + strMonth;
- if (strDate.length == 1) strDate = "0" + strDate;
- return strYear + "-" + strMonth + "-" + strDate;
-};
-
-/**
- * 년 계산
- */
-function addYear(date, nOffSet){
- date = date.replace(/-/g, "");
- var nYear = parseInt(date.substr(0, 4), 10) + nOffSet;
- var nMonth = parseInt(date.substr(4, 2), 10);
- var nDate = parseInt(date.substr(6, 2), 10);
- return window.getDatetime(nYear, nMonth, nDate);
-};
-
-/**
- * 월 계산
- */
-function addMonth(date, nOffSet) {
- date = date.replace(/-/g, "");
- var nYear = parseInt(date.substr(0, 4), 10);
- var nMonth = parseInt(date.substr(4, 2), 10) + nOffSet;
- var nDate = parseInt(date.substr(6, 2), 10);
- return window.getDatetime(nYear, nMonth, nDate);
-};
-
-/**
- * 일 계산
- */
-function addDate(date, nOffSet) {
- date = date.replace(/-/g, "");
- var nYear = parseInt(date.substr(0, 4), 10);
- var nMonth = parseInt(date.substr(4, 2), 10);
- var nDate = parseInt(date.substr(6, 2), 10) + nOffSet;
- return window.getDatetime(nYear, nMonth, nDate);
-};
-
-/**
- * 이전해 계산
- */
-function getPrevYear(datestr, year) {
- if ( year == "0") return datestr;
- datestr = datestr.replace(/-/g, "");
- if (datestr == "") return "";
- var dateObj = window.getDateObject(datestr);
-
- dateObj.setYear(dateObj.getFullYear() - year);
-
- return window.getDateString(dateObj);
-};
-
-/**
- * 다음해 계산
- */
-function getNextYear(datestr, year) {
- if ( year == "0") return datestr;
- datestr = datestr.replace(/-/g, "");
- if (datestr == "") return "";
- var dateObj = window.getDateObject(datestr);
-
- dateObj.setYear(dateObj.getFullYear() + year);
-
- return window.getDateString(dateObj);
-};
-
-/**
- * select 연도
- */
-function setYearCombo(id,isAll,isSelect,range){
- var now = new Date();
- var dayYear = now.getFullYear();
- var str = "";
- if(range == null || range <= 0){
- range = 5;
- }
- if(isAll){
- str += "";
- }
- for(var year=dayYear-range; year"+year+"";
-
- }
-
- $("#"+id).append(str);
-
- if(isSelect){
- $("#"+id).val(dayYear).attr("selected", "selected");
- }
-};
-
-/**
- * select 연도(올해이후)
- */
-function setYearComboNext(id,isAll,isSelect,range){
- var now = new Date();
- var dayYear = now.getFullYear();
- var str = "";
- if(range == null || range <= 0){
- range = 5;
- }
- if(isAll){
- str += "";
- }
- for(var year=dayYear; year"+year+"";
-
- }
-
- $("#"+id).append(str);
-
- if(isSelect){
- $("#"+id).val(dayYear).attr("selected", "selected");
- }
-};
-
-
-/**
- * select 년월
- */
-function setYearMonCombo(id,isAll,isSelect){
- var day = new Date();
- var dayYear = day.getFullYear().toString();
- var now = day.getMonth()+1;
- now = dayYear + (now < 10 ? "0" : "") + now;
- var month = "";
- var str = "";
-
- if(isAll){
- str += "";
- }
- for(var i = 1; i <13 ; i++){
- month = i < 10 ? "0" + i : "" + i;
- str += "";
- }
- $("#"+id).append(str);
- if(isSelect){
- $("#"+id).val(now).attr("selected", "selected");
- }
-};
-
-
-/**
- * 두 일자간의 일수 계산
- * @param1 day1 : 일자 8자리 - 'YYYYMMDD', 'YYYY-MM-DD', 'YYYY/MM/DD', etc
- * @param2 day2 : 일자 8자리 - 'YYYYMMDD', 'YYYY-MM-DD', 'YYYY/MM/DD', etc
- * @return 두 일자간의 일수
- */
-function calcDayCount(day1, day2) {
- day1 = day1.replace(/-/g, "");
- day2 = day2.replace(/-/g, "");
- if (day1 == "" || day2 == "") return "";
- var date1 = window.getDateObject(day1);
- var date2 = window.getDateObject(day2);
-
- if(date1 > date2) return ((date1.getTime() - date2.getTime()) / 1000 / 60 / 60 / 24) + 1;
- else return ((date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24) + 1;
-};
-
-/**
- * Get 요일
- */
-function getWeek(datestr, isConvert){
- datestr = datestr.replace(/-/g, "");
- var dateObj = window.getDateObject(datestr);
- var week = dateObj.getDay() + 1;
-
- if(!isConvert) return week;
-
- if(week == 1) week = '일';
- else if(week == 2) week = '월';
- else if(week == 3) week = '화';
- else if(week == 4) week = '수';
- else if(week == 5) week = '목';
- else if(week == 6) week = '금';
- else if(week == 7) week = '토';
- return week;
-};
-
-
-/**
- * 날짜형식이 올바른지 검사
- *
- * @param astrValue 날짜포맷(yyyymmdd, yyyy/mm/dd, yyyy-mm-dd)
- * @param astrNotNull: nn:not null, "": null 허용
- * @return true/false
- **/
-function blnOkDate(astrValue, astrNotNull) {
- var arrDate;
-
- if (astrValue==''){
- if (astrNotNull == "nn")
- return false;
- else
- return true;
- }
-
- if (astrValue.indexOf("-") != -1){
- arrDate = astrValue.split("-");
- } else if (astrValue.indexOf("/") != -1){
- arrDate = astrValue.split("/");
- } else {
- if (astrValue.length != 8) return false;
- astrValue = astrValue.substring(0,4)+"/"+astrValue.substring(4,6)+"/" +astrValue.substring(6,8);
- arrDate = astrValue.split("/");
- }
-
- if (arrDate.length != 3) return false;
-
- var chkDate = new Date(arrDate[0] + "/" + arrDate[1] + "/" + arrDate[2]);
- if (isNaN(chkDate) == true
- || (arrDate[1] != chkDate.getMonth() + 1 || arrDate[2] != chkDate.getDate())) {
- return false;
- }
-
- return true;
-}
-
-
diff --git a/src/main/webapp/resources/applib/js/cmmnUtil.js b/src/main/webapp/resources/applib/js/cmmnUtil.js
deleted file mode 100644
index 7d6f96a..0000000
--- a/src/main/webapp/resources/applib/js/cmmnUtil.js
+++ /dev/null
@@ -1,455 +0,0 @@
-/**************************************************************************
-* 동기식 대화상자
-**************************************************************************/
-async function confirm2(msg){
- return await dialog2(msg, "confirm");
-}
-
-async function alert2(msg){
- return await dialog2(msg, "alert");
-}
-
-async function prompt2(msg){
- return await dialog2(msg, "prompt");
-}
-
-async function dialog2(msg, type, buttons){
- var dlgId = "dlg-" + uuid();
- var resp = await fetch(wctx.url("/webjars/html/dialog.html"));
- var template = await resp.text();
- var container = "{content}
";
- if(type == "prompt"){
- var rsn = '
';
- content = container.replace(/{content}/g, msg + rsn);
- } else {
- content = container.replace(/{content}/g, msg);
- }
- var backdropID = dlgId + "-backdrop";
- var tmpl = template.replace(/{id}/g, dlgId).replace(/{title}/g, "").replace(/{size}/, "").replace("","");
- tmpl = tmpl.replace("modal-dialog", "modal-dialog-centered modal-dialog");
- tmpl = tmpl.replace("data-bs-backdrop=\"static\"", "data-bs-backdrop=\"static\" data-bs-keyboard=\"false\"");
- tmpl = tmpl.replace("text-end hidden","text-end");
- tmpl = tmpl.replace("btn-primary","btn-primary btn-ok");
- var dlg = $(tmpl).appendTo("body");
- if(type == "confirm" || type == "alert" || type == "prompt"){
- if(type == "confirm" || type == "prompt"){
- dlg.find(".modal-footer").append('');
- }
- } else {
- dlg.find(".modal-footer").find(".btn-ok").remove();
-
- for(var i=0; i < buttons.length; i++){
- dlg.find(".modal-footer").append(
- '');
- }
-
- }
-
- dlg.find(".modal-header").remove();
- dlg.find(".modal-body").html(content).fadeIn();
- dlg.on("hidden.bs.modal", function() {
- $("#" + dlgId +",#" + backdropID).remove();
- });
- dlg.modal("show");
- $(".modal-backdrop").each(function() {
- var backdrop = $(this);
- if (!backdrop.prop("id")){
- backdrop.prop("id", backdropID);
- }
- });
-
- setDialogZindex();
-
- return new Promise(resolve => {
- if(type == "confirm" || type == "alert" || type == "prompt"){
- if(type == "prompt"){
- dlg[0].querySelector(".btn-ok").addEventListener("click", () => {
- dlg.modal("hide");
- resolve($("#rsn").val());
- });
- } else {
- dlg[0].querySelector(".btn-ok").addEventListener("click", () => {
- dlg.modal("hide");
- resolve(true);
- });
- }
-
- if(type == "confirm"){
- dlg[0].querySelector(".btn-cancel").addEventListener("click", () => {
- dlg.modal("hide");
- resolve(false);
- });
- }
- if(type == "prompt"){
- dlg[0].querySelector(".btn-cancel").addEventListener("click", () => {
- dlg.modal("hide");
- resolve(null);
- });
- }
- } else {
- dlg.find(".btn-custom").each(function(){
- this.addEventListener("click", () => {
- dlg.modal("hide");
- resolve(this.dataset.key);
- });
- });
- }
-
- });
-}
-
-/**************************************************************************
-* 모달창 z-index 초기화
-**************************************************************************/
-function setDialogZindex(){
- var parentDialog = getLastOpenDialog();
- var childDialog = getLastDialog();
-
- if($(parentDialog).length == 0 || parentDialog == childDialog){
- return;
- }
-
- var parentZ = $(parentDialog).css("z-index");
- $(childDialog).css("z-index", Number(parentZ)+10);
-
- var backdrop = $(childDialog).next();
- if(backdrop.hasClass("modal-backdrop")){
- backdrop.css("z-index", Number(parentZ)+9);
- };
-}
-
-/**************************************************************************
-* 모달창 닫기 버튼 포커스
-**************************************************************************/
-function focusClose() {
- $(document).find("div.modal").last().on('shown.bs.modal', function () {
- $(this).find(".btn-close").trigger('focus');
- });
-}
-
-/**************************************************************************
-* 모달창 확인 버튼 포커스
-**************************************************************************/
-function focusOK() {
- $(document).find("div.modal").last().on('shown.bs.modal', function () {
- $(this).find(".modal-footer").find("button").each(function(){
- if($(this).text() == "확인"){
- $(this).trigger('focus');
- }
- });
- });
-}
-
-/**************************************************************************
-* validation
-**************************************************************************/
-function customValidate(targetArr) {
- var handler = validationFailureHandler();
- for(var i=0;i="00" && hour<="23"){
- if(minute>="00" && minute<="59"){
- if(second>="00" && second<="59"){
- return true;
- }
- }
- }
-
- return false;
-}
-
-// 날짜체크
-function isDate(str) {
-
- str = str.replaceAll("-","");
-
- if(str.length != 8){
- return false;
- }
-
- if (!isNumber(str, "")) {
- return false;
- }
-
- // 숫자, length 확인
- var year = str.substring(0,4);
- var month = str.substring(4,6);
- var day = str.substring(6,8);
-
- // 유효날짜 확인
- if (year>="0001" && year<="9999" && month>="01" && month<="12") {
- febDays = "29";
- if ((parseInt(year,10) % 4) == 0) {
- if ((parseInt(year,10) % 100) == 0 && (parseInt(year,10) % 400) != 0){
- febDays = "28";
- }
- }else{
- febDays = "28";
- }
- if (month=="01" && day>="01" && day<="31") return true;
- if (month=="02" && day>="01" && day<=febDays) return true;
- if (month=="03" && day>="01" && day<="31") return true;
- if (month=="04" && day>="01" && day<="30") return true;
- if (month=="05" && day>="01" && day<="31") return true;
- if (month=="06" && day>="01" && day<="30") return true;
- if (month=="07" && day>="01" && day<="31") return true;
- if (month=="08" && day>="01" && day<="31") return true;
- if (month=="09" && day>="01" && day<="30") return true;
- if (month=="10" && day>="01" && day<="31") return true;
- if (month=="11" && day>="01" && day<="30") return true;
- if (month=="12" && day>="01" && day<="31") return true;
- return false;
- }
-
-
- return false;
-}
-
-
-
-/**
- * 문자열이 지정한 최소길이 이상인지의 여부를 반환한다.
- * @param minLen - 최소길이
- * @return 최소길이 이상인지의 여부
- */
-function isMin(str, minLen) {
- return str.length >= minLen;
-};
-
-/**
- * 문자열이 지정한 최대길이 이하인지의 여부를 반환한다.
- * @param maxLen - 최대길이
- * @return 최대길이 이하인지의 여부
- */
-function isMax(str, maxLen) {
- return str.length <= maxLen;
-};
-
-/**
- * 문자열이 지정한 최소바이트수 이상인지의 여부를 반환한다.
- * @param minByte - 최소바이트수
- * @return 최소바이트수 이상인지의 여부
- */
-function isMinByte(str, minByte) {
- return getByte(str) >= minByte;
-};
-
-/**
- * 문자열이 지정한 최대바이트수 이하인지의 여부를 반환한다.
- * @param maxByte - 최대바이트수
- * @return 최대바이트수 이하인지의 여부
- */
-function isMaxByte(str, maxByte) {
- return getByte(str) <= maxByte;
-};
-
-
-/**
- * 문자열이 영어만으로 구성되어 있는지의 여부를 반환한다.
- * @param exceptChar - 추가 허용할 문자
- * @return 영어만으로 구성되어 있는지의 여부
- */
-function isEng(str, exceptChar) {
- return (/^[a-zA-Z]+$/).test(str.replaceAll(exceptChar,"")) ? true : false;
-};
-
-/**
- * 문자열이 숫자와 영어만으로 구성되어 있는지의 여부를 반환한다.
- * @param exceptChar - 추가 허용할 문자
- * @return 숫자와 영어만으로 구성되어 있는지의 여부
- */
-function isEngNum(str, exceptChar) {
- return (/^[0-9a-zA-Z]+$/).test(str.replaceAll(exceptChar,"")) ? true : false;
-};
-
-/**
- * 이메일 주소의 유효성 여부를 반환한다.
- * @return 유효성 여부
- */
-function isEmail(str) {
- return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(str);
-};
-
-/**************************************************************************
-* 엑셀 파일 작성 정보 생성
-**************************************************************************/
-function getCellDefs($ths, $tds, fieldGetterOption){
- var cellDefs = [];
-
- for(var i=0; i < $ths.length; i++){
-
- var label = $ths.eq(i).text();
- label = label.replace("\n", "");
- label = label.replace("\t", "");
- label = label.replace(" ", "");
-
- if(label != ""){
-
- var width = $ths.eq(i).outerWidth();
- width = Math.ceil(width/10) + 2;
-
- var field = "";
- if(fieldGetterOption != null){
- field = fieldGetterOption($tds.eq(i));
- } else {
- field = $tds.eq(i).text();
- }
-
- field = field.replace("{", "");
- field = field.replace("}", "");
- field = field.replace("\n", "");
- field = field.replace("\t", "");
- field = field.replace(" ", "");
-
- var cellDef = {
- label : label,
- width : width,
- field : field
- };
-
- cellDefs.push(cellDef);
- }
-
- }
-
- return JSON.stringify(cellDefs);
-}
-
-
-
-//마지막으로 열린 다이얼로그 영역을 반환한다.
-function getLastOpenDialog(){
- return $("div.modal.show").last()[0];
-}
-//마지막으로 생성된 다이얼로그 영역을 반환환다.
-function getLastDialog(){
- return $("div.modal").last()[0];
-}
-
-
-
-
-
-/**************************************************************************
-* 지연
-**************************************************************************/
-function sleep(ms) {
- return new Promise((r) => setTimeout(r, ms));
-}
-
-
-
-/**************************************************************************
-* String util
-**************************************************************************/
-/**
- * 문자열의 byte 길이를 반환한다.
- * @return 문자열의 byte 길이
- */
-function getByte(str) {
-
- if ( str == null || str.length == 0 ) {
- return 0;
- }
- var size = 0;
- for ( var i=0, len=str.length ; i < len ;i++ ) {
- var charCode = str.charCodeAt(i),
- charSize = 0;
-
- if ( charCode <= 0x00007F ) { //127
- charSize = 1;
- } else if ( charCode <= 0x0007FF) { //2047
- charSize = 2;
- } else if ( charCode <= 0x00FFFF) { //65535
- charSize = 3;
- } else {
- charSize = 4;
- }
- size += charSize;
- }
- return size;
-};
-
-
diff --git a/src/main/webapp/resources/applib/js/componentization.js b/src/main/webapp/resources/applib/js/componentization.js
deleted file mode 100644
index 5576215..0000000
--- a/src/main/webapp/resources/applib/js/componentization.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/**************************************************************************
-* 스크롤 테이블
-**************************************************************************/
-function fnMakeScrollableTable(tableScrollEl, thisScrollendEvent){
-
- tableScrollEl.thisScrollendEvent = thisScrollendEvent;
-
- tableScrollEl.changeContent = function(content, initScrollPosition, noMore){
- var beforeRender = this.scrollTop;
-
- $(this).find("tbody").html(content);
-
- this.scrollTop = 0;
- var min = this.scrollTop;
- this.scrollTop = this.scrollHeight;
- var max = this.scrollTop;
- var hasScroll = (min != max);
-
- var more = document.createElement("tr");
-
- if(hasScroll && !noMore){
- more.classList.add("h-px-30");
-
- $(this).find("tbody").append(more);
-
- var ioCallbackFunc = function(entries, observer){
- var entry = entries[0];
- var target = entry.target;
- if(entry.isIntersecting){
- observer.unobserve(target);
- tableScrollEl.thisScrollendEvent();
- }
- };
-
- var io = new IntersectionObserver(ioCallbackFunc, {threshold : 0});
- io.observe(more);
- }
-
- if(initScrollPosition){
- this.scrollTop = 0;
- } else {
-
- var afterRender = this.scrollTop;
-
- if(beforeRender < afterRender){
- this.scrollTop = beforeRender;
- }
- }
-
- };
-}
-
-/**************************************************************************
-* 컬럼 크기 조절 테이블
-**************************************************************************/
-function fnMakeResizableTable(containerEl){
-
- var cur_container, cur_handle, cur_index, cur_col, cur_col_width;
- var cursorStart = 0, dragStart = false;
-
- function fnMouseDown(e){
-
- e.preventDefault();
-
- cur_handle = this;
- cur_container = cur_handle.tableContainer;
-
- cur_index = parseInt(cur_handle.getAttribute("data-resizecol"))-1;
-
- var thEls = $(cur_container.getElementsByTagName("table")[0]).find("th").not(".dummy-th");
- cur_col = thEls[cur_index];
- cur_col_width = cur_col.getBoundingClientRect().width;
-
- dragStart = true;
- cursorStart = event.pageX;
-
- document.onmouseup = fnCloseResize;
- document.onmousemove = fnMouseMove;
-
- }
-
- function fnMouseMove(e){
- e.preventDefault();
-
- if(dragStart){
- var cursorPosition = event.pageX;
- var mouseMoved = (cursorPosition - cursorStart);
- var newWidth = cur_col_width + mouseMoved;
-
- if(newWidth > 30){
- cur_col.style.width = newWidth+"px";
- }
- }
- }
-
- function fnCloseResize(e){
- document.onmousemove = null;
- document.onmouseup = null;
- cur_container.removeHandle();
- cur_container.addHandle();
- }
-
- containerEl.style.position = "relative";
-
- containerEl.addHandle = function(){
- var thEls = $(this.getElementsByTagName("table")[0]).find("th").not(".dummy-th");
- var th_length = thEls.length;
- var widthAcc = 0;
- for(var i=0; i < th_length; i++){
- widthAcc += thEls[i].getBoundingClientRect().width;
- var yDiv = document.createElement("div");
- yDiv.className = "resize-handle";
- yDiv.setAttribute("data-resizecol",i+1);
- yDiv.style.cssText = "left: "+widthAcc+"px;";
- this.append(yDiv);
- }
-
- handleEls = this.getElementsByClassName("resize-handle");
- var handle_length = handleEls.length;
- for(var i = 0; i < handle_length; i++){
- handleEls[i].tableContainer = this;
- handleEls[i].onmousedown = fnMouseDown;
- }
- };
-
- containerEl.removeHandle = function(){
- $(this).find(".resize-handle").remove();
- }
-
- containerEl.changeColumn = function(ths){
- this.removeHandle();
- $(this).find("table thead tr").html(ths);
- this.addHandle();
- }
-
- containerEl.addHandle();
-}
\ No newline at end of file
diff --git a/src/main/webapp/resources/applib/js/initAfterPageLoad.js b/src/main/webapp/resources/applib/js/initAfterPageLoad.js
deleted file mode 100644
index 154e934..0000000
--- a/src/main/webapp/resources/applib/js/initAfterPageLoad.js
+++ /dev/null
@@ -1,19 +0,0 @@
-function initDatepicker(elementId){
-
- var executionArea = $("#"+elementId);
-
- executionArea.find(".form-date").datePicker();
-
-}
-
-function initDetailSearchButton(elementId){
-
- var executionArea = $("#"+elementId);
-
- /*--------------------- 상세검색 버튼 제어 ---------------------*/
- executionArea.find(".btn-open-detail").on("click", function() {
- $(this).find('i').toggleClass('bx-chevron-down');
- $(this).find('i').toggleClass('bx-chevron-up');
- });
-
-}
\ No newline at end of file