2025년 1분기 신규기능(Ver 8.2.0.15 ~ )
Ver 8.2.0.15-20250102-15
1. (Cfg) ValidCheck
로 나오는 경고 메시지 이후 동작을 제어할 수 있는 Edit
, Focus
옵션 추가
(Cfg) ValidCheck
로 나오는 경고 메시지 이후 동작을 제어할 수 있는 Edit
, Focus
옵션 추가 기존에 ValidCheck: true 로 설정 시 경고 메시지 출력 이후 무조건 해당 셀에 Focus 가 가고, Edit 상태가 됩니다.
해당 속성을 boolean 이 아닌, Json 형태로 설정하면 경고 메세지 출력 이후 Focus 와 Edit 을 커스텀하여 설정 할 수 있게 되었습니다.
[사용 예시]
Cfg.ValidCheck: { Focus : 1, // 경고 메세지 출력 이후 해당 셀에 Focus 를 주기 Edit : 0 // 경고 메세지 출력 이후 해당 셀은 Edit 상태로 들어가지 않기} |
2. makePivotTable
에 평균 계산 기능 추가
Ver 8.2.0.15-20250102-15 에 맞는 locale 파일이 필요합니다.
기존에는 피벗 테이블을 만들 때 Sum, Count, Max, Min 으로만 컬럼을 계산 할 수 있었습니다.
여기에 추가해 Type: "Avg" 를 추가하여 평균값을 계산할 수 있도록 수정하였습니다.
Ver 8.2.0.16-20250109-13
1. importData
로 'xls'파일을 선택 시 서버모듈 호출 여부를 설정하는 (Cfg) XlsImportMode
추가
importData
로 'xls'파일을 선택 시 서버모듈 호출 여부를 설정하는 (Cfg) XlsImportMode
추가
ibsheet-excel.js 1.1.9-20250109-13 이상 버전이 필요합니다.
클라이언트 모듈인 importData 로 xls 파일을 업로드 시도하면
"xls 파일 형식은 지원하지 않습니다." 라는 경고창이 출력되며 업로드가 불가능했습니다.
(Cfg)XlsImportMode:1 로 사용하면 importData 로 xls 파일을 선택했을 때 서버모듈로 동작하여 xls 파일을 업로드 할 수 있도록 동작합니다.
[사용 예시]
Cfg : { // importData 를 이용하여 xls 파일 업로드 시 서버모듈을 이용 XlsImportMode:1 } |
2. DataFormat
에 타임존을 포함하는 yyyyMMddTHHmmssz
추가
DataFormat
에 타임존을 포함하는 yyyyMMddTHHmmssz
추가 기존에는 DataFormat 에 타임존 포함 형식을 지정하면 인식하지 못하고 NaN으로 값이 표시되었습니다.
DataFormat: yyyyMMddTHHmmssz 의 타임존 포함 형식이 지원됩니다.
Ver 8.2.0.18-20250123-14
1. 특정 아이디의 시트가 존재하는 지 확인하는 IBSheet.hasSheet API 추가
특정 아이디의 시트가 존재하는 지 확인하는 IBSheet.hasSheet API 추가
기존에는 특정 아이디의 시트가 존재하는지 판단하기 위해 window 객체에 직접 접근하여 시트 ID를 탐색했습니다.
특정 아이디의 시트가 존재하는 지 확인하는 로직은 꽤 많이 이용되는 로직이기 때문에(특히 SPA 사용자)
시트단에서 저리를 하는 방식으로 hasSheet API 가 추가되었습니다.
IBSheet.hasSheet("찾고자하는ID") 방식으로 호출하시면 해당 ID시트 존재 여부에 따라 true/false 를 리턴합니다.
[사용 예시]
IBSheet.hasSheet("sheet") // sheet 라는 id의 시트가 존재하면 true, 없으면 false return |
Ver 8.2.0.19-20250206-14
1. doSave
, getSaveJson
, getSaveString
시 유효성 검사를 할 수 있는 onValidation
이벤트 추가
doSave
, getSaveJson
, getSaveString
시 유효성 검사를 할 수 있는 onValidation
이벤트 추가
doSave, getSaveJson, getSaveString 등 저장 api 호출시, 사용자가 저장할 값들에 관해 유효성 검사를 진행할 수 있도록 셀 별로 순회하며 발생하는 이벤트 입니다.
기본적인 필수입력 항목에 대한 확인이나 전체 입력 여부에 대한 확인은 저장 전에 시트가 내부적으로 확인하지만, 업무 로직에 따라 발생할 수 있는 각종 유효성 검사를 이 이벤트에서 처리합니다.
[사용 예시]
options.Events = { onValidation: function (evtParam) { if (evtParam.col != "TextData") return false; var prevCol = evtParam.sheet.getPrevCol(evtParam.col); // TextData 컬럼의 이전 컬럼 값이 100보다 큰 경우 메세지창을 띄우고 저장을 중단합니다. if (evtParam.sheet.getValue(evtParam.row, prevCol) >= 100) { var index = evtParam.sheet.getRowIndex(evtParam.row);
evtParam.sheet.showMessageTime({ message: index + "행 정수(Int)컬럼 셀 값이 100보다 큽니다.", time: 10000, buttons: ["OK", "취소"], }) return true; } } } |
2. onBeforeSave 이벤트에 source.params(소문자) 추가
이벤트 내부 인자의 통일성을 위해 기존 Params에서 params 로 첫글자가 소문자로 변경되었습니다.
3. (Method)setValue 호출 시 이벤트 발생 여부를 제어할 수 있는 ignoreEvent 인자 추가
setValue 호출 시 ignoreEvent 설정을 통해 제어할 수 있는 각 이벤트의 사용방법은 아래와 같습니다.
인자로 Json 형태로 옵션 세팅이 가능하며, 이벤트 이름을 key 값으로 넣고, true 리턴 시 지정한 이벤트가 발생하지 않습니다.
[사용 예시]
var setRow = sheet.getRowById("AR5") sheet.setValue({ row: setRow, col: "sName", val: "홍길동", ignoreEvent : { OnChange: true, // setValue 시 OnChange 발생x OnSame: true // setValue 시 OnSame 발생x } }) |