diff --git a/src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp b/src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp index bc8b3347..6896da2d 100644 --- a/src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp @@ -1200,10 +1200,10 @@ function fn_tabToggle(tabNum){ <%@include file="/WEB-INF/jsp/web/fax/addr/include/FaxAddrListforExcel.jsp" %> @@ -4108,13 +4119,13 @@ function getMjMsgSentListAll(pageNo) {
-
+
diff --git a/src/main/webapp/js/user/fax/addr/faxTabulator.js b/src/main/webapp/js/user/fax/addr/faxTabulator.js index 5a34cdf2..179741e4 100644 --- a/src/main/webapp/js/user/fax/addr/faxTabulator.js +++ b/src/main/webapp/js/user/fax/addr/faxTabulator.js @@ -50,6 +50,43 @@ $(document).ready(function(){ }, }); + + + $tableClip = new Tabulator("#tabulator_clip", { + height:"255px", + width:"100%", + layout:"fitColumns", + editor:true, + headerHozAlign:"center", + validationMode:"highlight", + placeholder:"복사(Ctrl+C)한 내용을 여기에 붙여넣기(Ctrl+V) 해주세요.", //fit columns to width of table (optional) +// clipboard:true, // 클립보드 기능 활성화 + clipboardPasteAction:"update", // insert, update, replace + columns: [ + {formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) { + cell.getRow().toggleSelect(); + }}, + {formatter:"rownum", hozAlign:"center" ,title:"No", hozAlign:"center", headerHozAlign:"center", width:40}, + {title:"A", field:"A", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]}, + {title:"B", field:"B", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]}, + {title:"C", field:"C", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]}, + {title:"D", field:"D", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]}, + {title:"E", field:"E", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]}, + {title:"F", field:"F", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]}, + {title:"G", field:"G", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]} + ], + validationFailed: function(cell, value, parameters) { + var valid = cell.isValid(); + if (!valid) { + alert("양식에 맞지 않는 정보가 입력되었습니다."); + cell.setValue(""); // 해당 셀 데이터 삭제 + } + return false; // 유효하지 않은 경우 false 반환 + }, + }); + + + //Tabulator AJAX Data Loading $tableError = new Tabulator("#tabulator_error", { height:"255px", @@ -89,5 +126,84 @@ $(document).ready(function(){ $(".tableExcel .adr_excel").on("scroll",function(){ $(".tableExcel .tabulator-tableholder").scrollLeft($(this).scrollLeft()); }); + + + + $tableClip.on("columnWidth",function(column){ + var titleIndex = titleArray.indexOf(column._column.definition.title); + titleIndex += 1; + if(titleIndex != 0){ + $('.tableClip .select_adr_hd>div').eq(titleIndex).css('width', column._column.width); + }else{ + $('.tableClip .select_adr_hd>div').eq(0).css('width', column._column.width + 40); + } + }); + + $tableClip.on("scrollHorizontal",function(left){ + $(".tableClip .adr_excel").scrollLeft(left); + }) + + $(".tableClip .adr_excel").on("scroll",function(){ + $(".tableClip .tabulator-tableholder").scrollLeft($(this).scrollLeft()); + }); + + }); + + +function fn_selfmakeTable(){ + + var tableData = []; + for (var i = 0; i < 1000; i++) { + tableData.push({addrNm: "", addrPhoneNo: "", addrInfo1: "", addrInfo2: "", addrInfo3: "", addrInfo4: "", addrComment: ""}); + } + + // 테이블 초기화 + $tableSelf = new Tabulator("#tabulator_self", { + height: "255px", + width: "100%", + layout: "fitColumns", + clipboardPasteAction: "update", + keybindings: { + "navRight": "tab", // Tab 키를 누르면 오른쪽 셀로 이동 + "navLeft": "shift+tab", + "editNext": false // Tab 키를 누를 때 편집 모드를 종료하지 않도록 설정 + }, + data: tableData, + columns: [ + {formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) { + cell.getRow().toggleSelect(); + }}, + {formatter:"rownum", hozAlign:"center" ,title:"No", headerHozAlign:"center", width:40}, + {title:"이름", field:"addrNm", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}, + {title:"휴대폰", field:"addrPhoneNo", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input" + , cellEdited:function(cell){ + var currentValue = cell.getValue(); + console.log('cell.getValue() : ', currentValue); + + // 현재 값이 null 또는 undefined가 아니고, 값이 변경된 경우에만 처리 + if (currentValue !== null + && currentValue !== '' + ) { + var newValue = fn_selfUpdataCount(currentValue); + + // 값이 실제로 변경된 경우에만 setValue 호출 + if (currentValue !== newValue) { + cell.setValue(newValue); + } + } + } + }, + {title:"[*1*]", field:"addrInfo1", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}, + {title:"[*2*]", field:"addrInfo2", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}, + {title:"[*3*]", field:"addrInfo3", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}, + {title:"[*4*]", field:"addrInfo4", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}, + {title:"메모", field:"addrComment", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"} + ], + navigation: true // 키보드 탐색 활성화 + }); +} + + + diff --git a/src/main/webapp/js/web/addr/init.js b/src/main/webapp/js/web/addr/init.js index aa73bd71..8477a88d 100644 --- a/src/main/webapp/js/web/addr/init.js +++ b/src/main/webapp/js/web/addr/init.js @@ -200,9 +200,6 @@ $(document).ready(function(){ }); -function fn_ClipMakeTable(){ -} - function fn_selfmakeTable(){