ninegrid2 6.83.0 → 6.85.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.cjs.js +714 -697
- package/dist/bundle.esm.js +714 -697
- package/dist/etc/___nxUtils.js +1 -1
- package/dist/etc/__ngUtils.js +1 -1
- package/dist/etc/_ngCell.js +1 -1
- package/dist/etc/ngButton.js +1 -1
- package/dist/etc/ngCellCopyPaste.js +1 -1
- package/dist/etc/ngCellManager.js +1 -1
- package/dist/etc/ngCellSelection.js +1 -1
- package/dist/etc/ngChart.js +1 -1
- package/dist/etc/ngCheckBox.js +1 -1
- package/dist/etc/ngColExpand.js +1 -1
- package/dist/etc/ngColMover.js +1 -1
- package/dist/etc/ngColResizer.js +1 -1
- package/dist/etc/ngColumns.js +1 -1
- package/dist/etc/ngCombo.js +1 -1
- package/dist/etc/ngContextMenu.js +1 -1
- package/dist/etc/ngCustomEvent.js +1 -1
- package/dist/etc/ngData.js +1 -1
- package/dist/etc/ngDataManager.js +1 -1
- package/dist/etc/ngExpandIcon.js +1 -1
- package/dist/etc/ngExport.js +1 -1
- package/dist/etc/ngFields.js +1 -1
- package/dist/etc/ngFiltering.js +1 -1
- package/dist/etc/ngFoot.js +1 -1
- package/dist/etc/ngHead.js +1 -1
- package/dist/etc/ngIcon.js +1 -1
- package/dist/etc/ngImage.js +1 -1
- package/dist/etc/ngImport.js +1 -1
- package/dist/etc/ngInfo.js +1 -1
- package/dist/etc/ngInputColor.js +1 -1
- package/dist/etc/ngInputDate.js +1 -1
- package/dist/etc/ngInputText.js +1 -1
- package/dist/etc/ngMatrixManager.js +1 -1
- package/dist/etc/ngMaximize.js +1 -1
- package/dist/etc/ngMenu.js +1 -1
- package/dist/etc/ngPaging.js +1 -1
- package/dist/etc/ngProgress.js +1 -1
- package/dist/etc/ngRadio.js +1 -1
- package/dist/etc/ngRenderer.js +1 -1
- package/dist/etc/ngRowDetail.js +1 -1
- package/dist/etc/ngRowDrag.js +1 -1
- package/dist/etc/ngRowExpand.js +2 -2
- package/dist/etc/ngRowIndicator.js +1 -1
- package/dist/etc/ngRowPin.js +1 -1
- package/dist/etc/ngRowState.js +1 -1
- package/dist/etc/ngScrollBar.js +1 -1
- package/dist/etc/ngSorting.js +1 -1
- package/dist/etc/ngTableManager.js +1 -1
- package/dist/etc/ngTableWrapper.js +1 -1
- package/dist/etc/ngTextArea.js +1 -1
- package/dist/etc/ngTree.js +1 -1
- package/dist/etc/ngView.js +1 -1
- package/dist/etc/ninegridContainer.js +1 -1
- package/dist/etc/nxConfirm.js +1 -1
- package/dist/etc/nxDialog.js +1 -1
- package/dist/etc/nxDiv.js +1 -1
- package/dist/etc/nxI18nExt.js +1 -1
- package/dist/etc/nxSideMenu.js +1 -1
- package/dist/etc/nxSidebar.js +1 -1
- package/dist/etc/nxSpan.js +1 -1
- package/dist/etc/nxTab.js +1 -1
- package/dist/etc/nxTopMenu.js +1 -1
- package/dist/index.js +7 -2
- package/dist/utils/ninegrid.js +1 -1
- package/package.json +1 -1
- package/src/etc/___nxUtils.js +1 -1
- package/src/etc/__ngUtils.js +1 -1
- package/src/etc/_ngCell.js +1 -1
- package/src/etc/ngButton.js +1 -1
- package/src/etc/ngCellCopyPaste.js +1 -1
- package/src/etc/ngCellManager.js +1 -1
- package/src/etc/ngCellSelection.js +1 -1
- package/src/etc/ngChart.js +1 -1
- package/src/etc/ngCheckBox.js +1 -1
- package/src/etc/ngColExpand.js +1 -1
- package/src/etc/ngColMover.js +1 -1
- package/src/etc/ngColResizer.js +1 -1
- package/src/etc/ngColumns.js +1 -1
- package/src/etc/ngCombo.js +1 -1
- package/src/etc/ngContextMenu.js +1 -1
- package/src/etc/ngCustomEvent.js +1 -1
- package/src/etc/ngData.js +1 -1
- package/src/etc/ngDataManager.js +1 -1
- package/src/etc/ngExpandIcon.js +1 -1
- package/src/etc/ngExport.js +1 -1
- package/src/etc/ngFields.js +1 -1
- package/src/etc/ngFiltering.js +1 -1
- package/src/etc/ngFoot.js +1 -1
- package/src/etc/ngHead.js +1 -1
- package/src/etc/ngIcon.js +1 -1
- package/src/etc/ngImage.js +1 -1
- package/src/etc/ngImport.js +1 -1
- package/src/etc/ngInfo.js +1 -1
- package/src/etc/ngInputColor.js +1 -1
- package/src/etc/ngInputDate.js +1 -1
- package/src/etc/ngInputText.js +1 -1
- package/src/etc/ngMatrixManager.js +1 -1
- package/src/etc/ngMaximize.js +1 -1
- package/src/etc/ngMenu.js +1 -1
- package/src/etc/ngPaging.js +1 -1
- package/src/etc/ngProgress.js +1 -1
- package/src/etc/ngRadio.js +1 -1
- package/src/etc/ngRenderer.js +1 -1
- package/src/etc/ngRowDetail.js +1 -1
- package/src/etc/ngRowDrag.js +1 -1
- package/src/etc/ngRowExpand.js +2 -2
- package/src/etc/ngRowIndicator.js +1 -1
- package/src/etc/ngRowPin.js +1 -1
- package/src/etc/ngRowState.js +1 -1
- package/src/etc/ngScrollBar.js +1 -1
- package/src/etc/ngSorting.js +1 -1
- package/src/etc/ngTableManager.js +1 -1
- package/src/etc/ngTableWrapper.js +1 -1
- package/src/etc/ngTextArea.js +1 -1
- package/src/etc/ngTree.js +1 -1
- package/src/etc/ngView.js +1 -1
- package/src/etc/ninegridContainer.js +1 -1
- package/src/etc/nxConfirm.js +1 -1
- package/src/etc/nxDialog.js +1 -1
- package/src/etc/nxDiv.js +1 -1
- package/src/etc/nxI18nExt.js +1 -1
- package/src/etc/nxSideMenu.js +1 -1
- package/src/etc/nxSidebar.js +1 -1
- package/src/etc/nxSpan.js +1 -1
- package/src/etc/nxTab.js +1 -1
- package/src/etc/nxTopMenu.js +1 -1
- package/src/index.js +7 -2
- package/src/utils/ninegrid.js +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -10706,790 +10706,802 @@ function requireJquery () {
|
|
|
10706
10706
|
var jqueryExports = requireJquery();
|
|
10707
10707
|
var $$1 = /*@__PURE__*/getDefaultExportFromCjs(jqueryExports);
|
|
10708
10708
|
|
|
10709
|
-
|
|
10709
|
+
var ninegrid$2 = {};
|
|
10710
10710
|
|
|
10711
|
+
var hasRequiredNinegrid;
|
|
10711
10712
|
|
|
10712
|
-
|
|
10713
|
-
|
|
10713
|
+
function requireNinegrid () {
|
|
10714
|
+
if (hasRequiredNinegrid) return ninegrid$2;
|
|
10715
|
+
hasRequiredNinegrid = 1;
|
|
10716
|
+
class ninegrid {
|
|
10714
10717
|
|
|
10715
|
-
//console.log(i18next);
|
|
10716
|
-
}
|
|
10717
10718
|
|
|
10718
|
-
|
|
10719
|
-
|
|
10720
|
-
|
|
10721
|
-
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
|
|
10726
|
-
|
|
10719
|
+
constructor() {
|
|
10720
|
+
console.log(`welcome nine-grid@${ninegrid.version}`, window.location.hostname);
|
|
10721
|
+
|
|
10722
|
+
//console.log(i18next);
|
|
10723
|
+
}
|
|
10724
|
+
|
|
10725
|
+
static LOG = {
|
|
10726
|
+
LEVEL : {
|
|
10727
|
+
ALL : 0,
|
|
10728
|
+
DEBUG : 1,
|
|
10729
|
+
INFO : 2,
|
|
10730
|
+
WARN : 3,
|
|
10731
|
+
ERROR : 4,
|
|
10732
|
+
OFF : 9,
|
|
10733
|
+
},
|
|
10734
|
+
};
|
|
10735
|
+
|
|
10736
|
+
static EVENT = {
|
|
10737
|
+
LOAD : "load",
|
|
10738
|
+
BUTTON_CLICK : "buttonclick",
|
|
10739
|
+
LINK_CLICK : "linklick",
|
|
10740
|
+
LAYOUT_CHANGED : "layoutchanged",
|
|
10741
|
+
CELL_CLICK : "cellclick",
|
|
10742
|
+
CELL_DBL_CLICK : "celldblclick",
|
|
10743
|
+
HEADCELL_CLICK : "headcellclick",
|
|
10744
|
+
HEADCELL_DBL_CLICK : "headcelldblclick",
|
|
10745
|
+
FOOTCELL_CLICK : "footcellclick",
|
|
10746
|
+
FOOTCELL_DBL_CLICK : "footcelldblclick",
|
|
10747
|
+
CELL_POS_CHANGED : "cellposchanged",
|
|
10748
|
+
ROW_POS_CHANGED : "rowposchanged",
|
|
10749
|
+
DATA_CHANGED : "datachanged",
|
|
10750
|
+
CAN_ROW_MOVE : "canrowmove",
|
|
10751
|
+
ROW_MOVED : "rowmoved",
|
|
10752
|
+
//CAN_FIXED_CHANGE : "canfixedchange",
|
|
10753
|
+
//FIXED_CHANGED : "fixedchanged",
|
|
10727
10754
|
};
|
|
10728
|
-
|
|
10729
|
-
static EVENT = {
|
|
10730
|
-
LOAD : "load",
|
|
10731
|
-
BUTTON_CLICK : "buttonclick",
|
|
10732
|
-
LINK_CLICK : "linklick",
|
|
10733
|
-
LAYOUT_CHANGED : "layoutchanged",
|
|
10734
|
-
CELL_CLICK : "cellclick",
|
|
10735
|
-
CELL_DBL_CLICK : "celldblclick",
|
|
10736
|
-
HEADCELL_CLICK : "headcellclick",
|
|
10737
|
-
HEADCELL_DBL_CLICK : "headcelldblclick",
|
|
10738
|
-
FOOTCELL_CLICK : "footcellclick",
|
|
10739
|
-
FOOTCELL_DBL_CLICK : "footcelldblclick",
|
|
10740
|
-
CELL_POS_CHANGED : "cellposchanged",
|
|
10741
|
-
ROW_POS_CHANGED : "rowposchanged",
|
|
10742
|
-
DATA_CHANGED : "datachanged",
|
|
10743
|
-
CAN_ROW_MOVE : "canrowmove",
|
|
10744
|
-
ROW_MOVED : "rowmoved",
|
|
10745
|
-
//CAN_FIXED_CHANGE : "canfixedchange",
|
|
10746
|
-
//FIXED_CHANGED : "fixedchanged",
|
|
10747
|
-
};
|
|
10748
10755
|
|
|
10749
|
-
|
|
10750
|
-
|
|
10751
|
-
|
|
10752
|
-
|
|
10753
|
-
|
|
10756
|
+
static BAND = {
|
|
10757
|
+
BODY : "body",
|
|
10758
|
+
LEFT : "left",
|
|
10759
|
+
RIGHT : "right",
|
|
10760
|
+
};
|
|
10754
10761
|
|
|
10755
|
-
|
|
10756
|
-
|
|
10757
|
-
|
|
10758
|
-
|
|
10759
|
-
|
|
10760
|
-
|
|
10761
|
-
|
|
10762
|
-
|
|
10763
|
-
|
|
10764
|
-
|
|
10765
|
-
|
|
10766
|
-
|
|
10767
|
-
|
|
10768
|
-
|
|
10769
|
-
|
|
10770
|
-
|
|
10771
|
-
|
|
10772
|
-
|
|
10773
|
-
|
|
10762
|
+
/** .__ng._[ninegrid.ROW.ID] */
|
|
10763
|
+
static ROW = {
|
|
10764
|
+
ID : 0,
|
|
10765
|
+
INDEX : 1, /** 전체 INDEX */
|
|
10766
|
+
ORDER : 2, /** valid(collapse,pin,paging) ROW */
|
|
10767
|
+
VISIBLE_ROW : 3, /** visible INDEX */
|
|
10768
|
+
STATE : 4,
|
|
10769
|
+
FILTER : 5,
|
|
10770
|
+
PIN : 6,
|
|
10771
|
+
EXPAND : 7,
|
|
10772
|
+
COLLAPSE : 8,
|
|
10773
|
+
VISIBLE : 9,
|
|
10774
|
+
PAGING : 10,
|
|
10775
|
+
DELETED : 11,
|
|
10776
|
+
HEIGHT : 12,
|
|
10777
|
+
ORIGIN_ORDER: 13,
|
|
10778
|
+
ORIGIN_VALUE: 14,
|
|
10779
|
+
EXPAND_CHECK: 15,
|
|
10780
|
+
}
|
|
10774
10781
|
|
|
10775
|
-
|
|
10776
|
-
|
|
10777
|
-
|
|
10778
|
-
|
|
10779
|
-
|
|
10780
|
-
|
|
10781
|
-
|
|
10782
|
-
|
|
10782
|
+
static ROW_STATE = {
|
|
10783
|
+
EMPTY : 0,
|
|
10784
|
+
NORMAL : 1,
|
|
10785
|
+
INSERT : 2,
|
|
10786
|
+
UPDATE : 4,
|
|
10787
|
+
DELETE : 8,
|
|
10788
|
+
GROUP : 16,
|
|
10789
|
+
}
|
|
10783
10790
|
|
|
10784
|
-
|
|
10785
|
-
|
|
10786
|
-
|
|
10787
|
-
|
|
10788
|
-
|
|
10789
|
-
|
|
10790
|
-
|
|
10791
|
-
|
|
10792
|
-
|
|
10791
|
+
static SELECTTYPE = {
|
|
10792
|
+
NONE : "none",
|
|
10793
|
+
ROW : "row",
|
|
10794
|
+
ROWS : "rows",
|
|
10795
|
+
COL : "col",
|
|
10796
|
+
COLS : "cols",
|
|
10797
|
+
CELL : "cell",
|
|
10798
|
+
AREA : "area",
|
|
10799
|
+
}
|
|
10793
10800
|
|
|
10794
|
-
|
|
10795
|
-
|
|
10796
|
-
|
|
10797
|
-
|
|
10801
|
+
static COLINDICATORTYPE = {
|
|
10802
|
+
EXPAND : "expand",
|
|
10803
|
+
COLLAPSE: "collapse",
|
|
10804
|
+
}
|
|
10798
10805
|
|
|
10799
|
-
|
|
10800
|
-
|
|
10801
|
-
|
|
10802
|
-
|
|
10803
|
-
|
|
10806
|
+
static PAGINGTYPE = {
|
|
10807
|
+
NONE : "none",
|
|
10808
|
+
CLIENT : "client",
|
|
10809
|
+
SERVER : "server",
|
|
10810
|
+
}
|
|
10804
10811
|
|
|
10805
|
-
|
|
10806
|
-
|
|
10807
|
-
|
|
10808
|
-
|
|
10809
|
-
|
|
10810
|
-
|
|
10811
|
-
|
|
10812
|
-
|
|
10813
|
-
|
|
10814
|
-
|
|
10815
|
-
|
|
10816
|
-
|
|
10812
|
+
static PAGINGCOUNT = {
|
|
10813
|
+
AUTO : "auto",
|
|
10814
|
+
NUM_1 : "1",
|
|
10815
|
+
NUM_5 : "5",
|
|
10816
|
+
NUM_10 : "10",
|
|
10817
|
+
NUM_20 : "20",
|
|
10818
|
+
NUM_30 : "30",
|
|
10819
|
+
NUM_50 : "50",
|
|
10820
|
+
NUM_100 : "100",
|
|
10821
|
+
NUM_1000 : "1000",
|
|
10822
|
+
NUM_10000 : "10000",
|
|
10823
|
+
}
|
|
10817
10824
|
|
|
10818
|
-
|
|
10819
|
-
|
|
10820
|
-
static options = {
|
|
10821
|
-
confirm : {
|
|
10822
|
-
"class" : "classic",
|
|
10823
|
-
"animation" : "run", //run,moveUp
|
|
10824
|
-
"true-text" : "Yes",
|
|
10825
|
-
"false-text" : "No",
|
|
10826
|
-
},
|
|
10827
|
-
alert : {
|
|
10828
|
-
"class" : "classic",
|
|
10829
|
-
"animation" : "zoom", //run, reverseRun, moveUp, moveDown, zoom, fade
|
|
10830
|
-
},
|
|
10831
|
-
};
|
|
10825
|
+
static version = "1.1.1";
|
|
10832
10826
|
|
|
10833
|
-
|
|
10834
|
-
|
|
10835
|
-
|
|
10836
|
-
|
|
10837
|
-
|
|
10838
|
-
|
|
10839
|
-
|
|
10840
|
-
|
|
10841
|
-
|
|
10842
|
-
|
|
10843
|
-
|
|
10844
|
-
|
|
10845
|
-
// 새로운 파일 입력 엘리먼트 생성
|
|
10846
|
-
const input = document.createElement("input");
|
|
10847
|
-
input.type = "file";
|
|
10848
|
-
input.accept = "*";
|
|
10849
|
-
input.id = "ninegridFileInput";
|
|
10850
|
-
|
|
10851
|
-
input.addEventListener("change", (event) => {
|
|
10852
|
-
const file = event.target.files[0];
|
|
10853
|
-
if (file) {
|
|
10854
|
-
resolve(file); // 파일 선택 시 Promise 해결
|
|
10855
|
-
} else {
|
|
10856
|
-
reject(new Error("파일이 선택되지 않았습니다."));
|
|
10857
|
-
}
|
|
10858
|
-
});
|
|
10859
|
-
|
|
10860
|
-
input.click(); // 파일 선택 창 열기
|
|
10861
|
-
});
|
|
10862
|
-
}
|
|
10863
|
-
|
|
10864
|
-
static getCustomPath = (c,v) => {
|
|
10827
|
+
static options = {
|
|
10828
|
+
confirm : {
|
|
10829
|
+
"class" : "classic",
|
|
10830
|
+
"animation" : "run", //run,moveUp
|
|
10831
|
+
"true-text" : "Yes",
|
|
10832
|
+
"false-text" : "No",
|
|
10833
|
+
},
|
|
10834
|
+
alert : {
|
|
10835
|
+
"class" : "classic",
|
|
10836
|
+
"animation" : "zoom", //run, reverseRun, moveUp, moveDown, zoom, fade
|
|
10837
|
+
},
|
|
10838
|
+
};
|
|
10865
10839
|
|
|
10840
|
+
static cssPath = null;
|
|
10866
10841
|
|
|
10867
|
-
|
|
10868
|
-
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10872
|
-
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
|
|
10876
|
-
|
|
10877
|
-
|
|
10878
|
-
|
|
10842
|
+
|
|
10843
|
+
static openFileDialog = (v) => {
|
|
10844
|
+
|
|
10845
|
+
return new Promise((resolve, reject) => {
|
|
10846
|
+
// 기존 input 요소 제거
|
|
10847
|
+
const existingInput = document.getElementById("ninegridFileInput");
|
|
10848
|
+
if (existingInput) {
|
|
10849
|
+
existingInput.remove();
|
|
10850
|
+
}
|
|
10851
|
+
|
|
10852
|
+
// 새로운 파일 입력 엘리먼트 생성
|
|
10853
|
+
const input = document.createElement("input");
|
|
10854
|
+
input.type = "file";
|
|
10855
|
+
input.accept = "*";
|
|
10856
|
+
input.id = "ninegridFileInput";
|
|
10857
|
+
|
|
10858
|
+
input.addEventListener("change", (event) => {
|
|
10859
|
+
const file = event.target.files[0];
|
|
10860
|
+
if (file) {
|
|
10861
|
+
resolve(file); // 파일 선택 시 Promise 해결
|
|
10862
|
+
} else {
|
|
10863
|
+
reject(new Error("파일이 선택되지 않았습니다."));
|
|
10864
|
+
}
|
|
10865
|
+
});
|
|
10866
|
+
|
|
10867
|
+
input.click(); // 파일 선택 창 열기
|
|
10868
|
+
});
|
|
10879
10869
|
}
|
|
10880
10870
|
|
|
10881
|
-
|
|
10871
|
+
static getCustomPath = (c,v) => {
|
|
10882
10872
|
|
|
10883
|
-
|
|
10884
|
-
|
|
10885
|
-
|
|
10886
|
-
|
|
10887
|
-
|
|
10873
|
+
|
|
10874
|
+
let cssPath;
|
|
10875
|
+
let host;
|
|
10876
|
+
if (c.tagName == "NINE-GRID") {
|
|
10877
|
+
host = c;
|
|
10878
|
+
}
|
|
10879
|
+
else {
|
|
10880
|
+
host = c.getRootNode().host;
|
|
10881
|
+
if (host && host.tagName != "NINE-GRID") host = host.getRootNode().host;
|
|
10882
|
+
}
|
|
10888
10883
|
|
|
10889
|
-
|
|
10884
|
+
if (host && host.tagName == "NINE-GRID") {
|
|
10885
|
+
cssPath = host.getAttribute("css-path");
|
|
10886
|
+
}
|
|
10887
|
+
|
|
10888
|
+
console.log("========================", ninegrid.cssPath);
|
|
10890
10889
|
|
|
10891
|
-
|
|
10892
|
-
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
|
|
10890
|
+
if (!cssPath) cssPath = ninegrid.cssPath;
|
|
10891
|
+
//console.log("================");
|
|
10892
|
+
//console.log(cssPath);
|
|
10893
|
+
|
|
10894
|
+
//console.log(cssPath ? `@import "${cssPath}/dist/${v}";` : null);
|
|
10896
10895
|
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
|
|
10900
|
-
|
|
10896
|
+
console.log("========================", cssPath ? `@import "${cssPath}/${v}";` : "");
|
|
10897
|
+
|
|
10898
|
+
return cssPath ? `@import "${cssPath}/${v}";` : "";
|
|
10899
|
+
};
|
|
10901
10900
|
|
|
10902
|
-
|
|
10903
|
-
|
|
10901
|
+
static closest = (selector, element) => {
|
|
10902
|
+
let currentElement = element;
|
|
10904
10903
|
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
|
|
10908
|
-
static waitForInnerHTML = (element, maxAttempts = 3, intervalTime = 100) => {
|
|
10909
|
-
return new Promise((resolve, reject) => {
|
|
10910
|
-
let attempts = 0;
|
|
10911
|
-
const interval = setInterval(() => {
|
|
10912
|
-
if (element.innerHTML.trim() !== "") {
|
|
10913
|
-
//console.log("InnerHTML 확인됨, init() 실행 가능!");
|
|
10914
|
-
clearInterval(interval);
|
|
10915
|
-
resolve();
|
|
10916
|
-
} else {
|
|
10917
|
-
attempts++;
|
|
10918
|
-
//console.log(`InnerHTML이 비어 있음, ${attempts}/${maxAttempts}번 재시도`);
|
|
10919
|
-
|
|
10920
|
-
if (attempts >= maxAttempts) {
|
|
10921
|
-
clearInterval(interval);
|
|
10922
|
-
reject("InnerHTML을 확인하지 못했습니다.");
|
|
10923
|
-
}
|
|
10904
|
+
while (currentElement) {
|
|
10905
|
+
if (currentElement.tagName.toLowerCase() === selector) {
|
|
10906
|
+
return currentElement;
|
|
10924
10907
|
}
|
|
10925
|
-
|
|
10926
|
-
|
|
10927
|
-
|
|
10928
|
-
|
|
10929
|
-
|
|
10908
|
+
|
|
10909
|
+
currentElement = currentElement.getRootNode().host;
|
|
10910
|
+
}
|
|
10911
|
+
|
|
10912
|
+
return null;
|
|
10913
|
+
}
|
|
10930
10914
|
|
|
10931
|
-
|
|
10915
|
+
static waitForInnerHTML = (element, maxAttempts = 3, intervalTime = 100) => {
|
|
10916
|
+
return new Promise((resolve, reject) => {
|
|
10917
|
+
let attempts = 0;
|
|
10918
|
+
const interval = setInterval(() => {
|
|
10919
|
+
if (element.innerHTML.trim() !== "") {
|
|
10920
|
+
//console.log("InnerHTML 확인됨, init() 실행 가능!");
|
|
10921
|
+
clearInterval(interval);
|
|
10922
|
+
resolve();
|
|
10923
|
+
} else {
|
|
10924
|
+
attempts++;
|
|
10925
|
+
//console.log(`InnerHTML이 비어 있음, ${attempts}/${maxAttempts}번 재시도`);
|
|
10932
10926
|
|
|
10933
|
-
|
|
10934
|
-
|
|
10935
|
-
|
|
10927
|
+
if (attempts >= maxAttempts) {
|
|
10928
|
+
clearInterval(interval);
|
|
10929
|
+
reject("InnerHTML을 확인하지 못했습니다.");
|
|
10930
|
+
}
|
|
10931
|
+
}
|
|
10932
|
+
}, intervalTime);
|
|
10933
|
+
});
|
|
10934
|
+
};
|
|
10935
|
+
|
|
10936
|
+
static copyProperty = (target, source, properties) => {
|
|
10937
|
+
|
|
10938
|
+
if (!Array.isArray(properties)) properties = [properties];
|
|
10939
|
+
|
|
10940
|
+
for (var v in source) {
|
|
10941
|
+
if (properties.includes(v)) {
|
|
10942
|
+
target[v] = source[v];
|
|
10943
|
+
}
|
|
10936
10944
|
}
|
|
10937
|
-
}
|
|
10938
|
-
};
|
|
10945
|
+
};
|
|
10939
10946
|
|
|
10940
|
-
|
|
10941
|
-
|
|
10942
|
-
|
|
10943
|
-
|
|
10947
|
+
static decode = (args) => {
|
|
10948
|
+
for (var i = 1; i < args.length ; i+=2) {
|
|
10949
|
+
if (args[0] === args[i]) return args[i+1];
|
|
10950
|
+
}
|
|
10944
10951
|
|
|
10945
|
-
|
|
10946
|
-
|
|
10952
|
+
return args.length % 2 == 0 ? args[args.length - 1] : null;
|
|
10953
|
+
};
|
|
10947
10954
|
|
|
10948
|
-
|
|
10949
|
-
|
|
10950
|
-
|
|
10955
|
+
static isMobile = () => {
|
|
10956
|
+
return /(iPhone|iPad|Android|BlackBerry|Windows Phone)/i.test(navigator.userAgent);
|
|
10957
|
+
};
|
|
10951
10958
|
|
|
10952
|
-
|
|
10953
|
-
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
|
|
10957
|
-
|
|
10958
|
-
|
|
10959
|
-
|
|
10960
|
-
|
|
10959
|
+
static randomUUID = (num) => {
|
|
10960
|
+
if (!num) num = 10;
|
|
10961
|
+
|
|
10962
|
+
const characters ='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
|
10963
|
+
let result = '';
|
|
10964
|
+
const charactersLength = characters.length;
|
|
10965
|
+
for (let i = 0; i < num; i++) {
|
|
10966
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
10967
|
+
}
|
|
10961
10968
|
|
|
10962
|
-
|
|
10963
|
-
|
|
10969
|
+
return result;
|
|
10970
|
+
};
|
|
10964
10971
|
|
|
10965
|
-
|
|
10966
|
-
|
|
10967
|
-
|
|
10968
|
-
|
|
10969
|
-
|
|
10970
|
-
|
|
10971
|
-
|
|
10972
|
-
|
|
10973
|
-
|
|
10974
|
-
|
|
10975
|
-
|
|
10976
|
-
|
|
10977
|
-
|
|
10978
|
-
|
|
10979
|
-
|
|
10980
|
-
|
|
10981
|
-
|
|
10982
|
-
|
|
10983
|
-
|
|
10972
|
+
static isNvl = (v) => {
|
|
10973
|
+
return (v === null || v === undefined || v === '') ? true : false;
|
|
10974
|
+
};
|
|
10975
|
+
static isNull = (v) => {
|
|
10976
|
+
return ninegrid.isNvl(v);
|
|
10977
|
+
};
|
|
10978
|
+
static nvl = (v, v2) => {
|
|
10979
|
+
return ninegrid.isNvl(v) ? v2 : v;
|
|
10980
|
+
};
|
|
10981
|
+
|
|
10982
|
+
static oppositeColor = (bgColor, lightColor, darkColor) => {
|
|
10983
|
+
var color = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor;
|
|
10984
|
+
var r = parseInt(color.substring(0, 2), 16); // hexToR
|
|
10985
|
+
var g = parseInt(color.substring(2, 4), 16); // hexToG
|
|
10986
|
+
var b = parseInt(color.substring(4, 6), 16); // hexToB
|
|
10987
|
+
var uicolors = [r / 255, g / 255, b / 255];
|
|
10988
|
+
var c = uicolors.map((col) => {
|
|
10989
|
+
if (col <= 0.03928) {
|
|
10990
|
+
return col / 12.92;
|
|
10991
|
+
}
|
|
10992
|
+
|
|
10993
|
+
return Math.pow((col + 0.055) / 1.055, 2.4);
|
|
10994
|
+
});
|
|
10995
|
+
var L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);
|
|
10996
|
+
return (L > 0.179) ? darkColor : lightColor;
|
|
10997
|
+
};
|
|
10998
|
+
|
|
10999
|
+
static parseDate = (v) => {
|
|
11000
|
+
var date;
|
|
11001
|
+
|
|
11002
|
+
if (/[^0-9]/.test(v)) {
|
|
11003
|
+
date = new Date(v);
|
|
10984
11004
|
}
|
|
10985
11005
|
|
|
10986
|
-
return
|
|
10987
|
-
}
|
|
10988
|
-
|
|
10989
|
-
|
|
10990
|
-
|
|
10991
|
-
|
|
10992
|
-
|
|
10993
|
-
|
|
10994
|
-
|
|
10995
|
-
|
|
10996
|
-
|
|
10997
|
-
|
|
10998
|
-
|
|
10999
|
-
|
|
11000
|
-
};
|
|
11001
|
-
static parseDate1 = (_date,_format,_delimiter) => {
|
|
11002
|
-
var formatLowerCase=_format.toLowerCase();
|
|
11003
|
-
var formatItems=formatLowerCase.split(_delimiter);
|
|
11004
|
-
var dateItems=_date.split(_delimiter);
|
|
11005
|
-
var monthIndex=formatItems.indexOf("mm");
|
|
11006
|
-
var dayIndex=formatItems.indexOf("dd");
|
|
11007
|
-
var yearIndex=formatItems.indexOf("yyyy");
|
|
11008
|
-
var month=parseInt(dateItems[monthIndex]);
|
|
11009
|
-
month-=1;
|
|
11010
|
-
var formatedDate = new Date(dateItems[yearIndex],month,dateItems[dayIndex]);
|
|
11011
|
-
return formatedDate;
|
|
11012
|
-
};
|
|
11006
|
+
return date;
|
|
11007
|
+
};
|
|
11008
|
+
static parseDate1 = (_date,_format,_delimiter) => {
|
|
11009
|
+
var formatLowerCase=_format.toLowerCase();
|
|
11010
|
+
var formatItems=formatLowerCase.split(_delimiter);
|
|
11011
|
+
var dateItems=_date.split(_delimiter);
|
|
11012
|
+
var monthIndex=formatItems.indexOf("mm");
|
|
11013
|
+
var dayIndex=formatItems.indexOf("dd");
|
|
11014
|
+
var yearIndex=formatItems.indexOf("yyyy");
|
|
11015
|
+
var month=parseInt(dateItems[monthIndex]);
|
|
11016
|
+
month-=1;
|
|
11017
|
+
var formatedDate = new Date(dateItems[yearIndex],month,dateItems[dayIndex]);
|
|
11018
|
+
return formatedDate;
|
|
11019
|
+
};
|
|
11013
11020
|
|
|
11014
11021
|
|
|
11015
|
-
|
|
11016
|
-
|
|
11017
|
-
|
|
11018
|
-
|
|
11019
|
-
|
|
11020
|
-
|
|
11021
|
-
|
|
11022
|
+
static context;
|
|
11023
|
+
static measureTextSize = (_text, _font) => {
|
|
11024
|
+
if (typeof _text === 'number') _text = _text + "";
|
|
11025
|
+
|
|
11026
|
+
if (!_text) return {width:null,height:null};
|
|
11027
|
+
|
|
11028
|
+
_text = _text.replaceAll("\n", "<br>");
|
|
11022
11029
|
|
|
11023
|
-
|
|
11024
|
-
|
|
11025
|
-
|
|
11026
|
-
|
|
11027
|
-
|
|
11028
|
-
|
|
11030
|
+
// Set the font
|
|
11031
|
+
if (!ninegrid.context) {
|
|
11032
|
+
const canvas = document.createElement('canvas');
|
|
11033
|
+
ninegrid.context = canvas.getContext('2d');
|
|
11034
|
+
}
|
|
11035
|
+
ninegrid.context.font = _font;
|
|
11029
11036
|
|
|
11030
|
-
|
|
11031
|
-
|
|
11032
|
-
|
|
11033
|
-
|
|
11034
|
-
|
|
11035
|
-
|
|
11036
|
-
|
|
11037
|
-
|
|
11038
|
-
|
|
11039
|
-
|
|
11037
|
+
// Measure the text
|
|
11038
|
+
var w = 0;
|
|
11039
|
+
var h = 0;
|
|
11040
|
+
for (var v of _text.split("<br>")) {
|
|
11041
|
+
v = v.replace(/<(\/)?([a-zA-Z]*)(\s[a-zA-Z]*=[^>]*)?(\s)*(\/)?>/ig, "");
|
|
11042
|
+
const metrics = ninegrid.context.measureText(v);
|
|
11043
|
+
w = Math.max(w, metrics.width);
|
|
11044
|
+
|
|
11045
|
+
//let fontHeight = metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent;
|
|
11046
|
+
//let actualHeight = metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent;
|
|
11040
11047
|
|
|
11041
|
-
|
|
11042
|
-
|
|
11048
|
+
h += metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent;
|
|
11049
|
+
}
|
|
11043
11050
|
|
|
11044
|
-
|
|
11045
|
-
|
|
11046
|
-
|
|
11047
|
-
|
|
11051
|
+
// Return the width in pixels
|
|
11052
|
+
return {
|
|
11053
|
+
width : w,
|
|
11054
|
+
height : h
|
|
11055
|
+
};
|
|
11048
11056
|
};
|
|
11049
|
-
};
|
|
11050
11057
|
|
|
11051
|
-
|
|
11052
|
-
|
|
11053
|
-
|
|
11054
|
-
|
|
11055
|
-
|
|
11056
|
-
|
|
11057
|
-
|
|
11058
|
-
|
|
11058
|
+
static num2ExcelCol = (num) => {
|
|
11059
|
+
const alpCount = 'Z'.charCodeAt(0) - 'A'.charCodeAt(0) + 1;
|
|
11060
|
+
let result = '';
|
|
11061
|
+
|
|
11062
|
+
while (num !== -1) {
|
|
11063
|
+
result = String.fromCharCode('A'.charCodeAt(0) + (num % alpCount)) + result;
|
|
11064
|
+
num = Math.floor(num / alpCount) - 1;
|
|
11065
|
+
}
|
|
11066
|
+
|
|
11067
|
+
return result;
|
|
11068
|
+
};
|
|
11059
11069
|
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
static move = (arr, from, to) => {
|
|
11064
|
-
arr.splice(to, 0, arr.splice(from, 1)[0]);
|
|
11065
|
-
};
|
|
11070
|
+
static move = (arr, from, to) => {
|
|
11071
|
+
arr.splice(to, 0, arr.splice(from, 1)[0]);
|
|
11072
|
+
};
|
|
11066
11073
|
|
|
11067
11074
|
|
|
11068
|
-
|
|
11069
|
-
|
|
11070
|
-
|
|
11071
|
-
|
|
11072
|
-
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
}
|
|
11076
|
-
|
|
11077
|
-
return r.join(separator || ",");
|
|
11078
|
-
};
|
|
11079
|
-
|
|
11080
|
-
static removeIf = (arr,callback) => {
|
|
11081
|
-
var i = 0;
|
|
11082
|
-
while (i < arr.length) {
|
|
11083
|
-
if (callback(arr[i], i)) {
|
|
11084
|
-
return arr.splice(i, 1);
|
|
11075
|
+
static binarySearchValue = (arr, searchProperty, searchValue, targetProperty, separator) => {
|
|
11076
|
+
if (!Array.isArray(searchValue)) searchValue = [searchValue];
|
|
11077
|
+
|
|
11078
|
+
var r = [];
|
|
11079
|
+
for (var v of searchValue) {
|
|
11080
|
+
var idx = arr.map(m => { return m[searchProperty]; }).nineBinarySearch(v);
|
|
11081
|
+
r.push( (idx < 0) ? v : arr[idx][targetProperty] );
|
|
11085
11082
|
}
|
|
11086
|
-
|
|
11087
|
-
|
|
11083
|
+
|
|
11084
|
+
return r.join(separator || ",");
|
|
11085
|
+
};
|
|
11086
|
+
|
|
11087
|
+
static removeIf = (arr,callback) => {
|
|
11088
|
+
var i = 0;
|
|
11089
|
+
while (i < arr.length) {
|
|
11090
|
+
if (callback(arr[i], i)) {
|
|
11091
|
+
return arr.splice(i, 1);
|
|
11092
|
+
}
|
|
11093
|
+
else {
|
|
11094
|
+
++i;
|
|
11095
|
+
}
|
|
11088
11096
|
}
|
|
11089
|
-
}
|
|
11090
|
-
};
|
|
11091
|
-
|
|
11092
|
-
static sum = (arr,prop) => {
|
|
11093
|
-
return arr.map(m => { return m[prop]; }).reduce((a, b) => (a+b));
|
|
11094
|
-
};
|
|
11095
|
-
|
|
11096
|
-
static avg = (arr,prop) => {
|
|
11097
|
-
//console.log(arr, prop);
|
|
11098
|
-
if (arr.length == 0) return 0;
|
|
11099
|
-
|
|
11100
|
-
if (prop) arr = arr.getMap(prop);
|
|
11101
|
-
//console.log(arr);
|
|
11102
|
-
//if (prop) return (arr.map(m => { return m[v]; }).reduce((a,b) => (a+b)) / arr.length);
|
|
11103
|
-
|
|
11104
|
-
return (arr.reduce((a, b) => (a+b)) / arr.length);
|
|
11105
|
-
//return (arr.map(m => { return m[v]; }).reduce((a, b) => (a+b)) / arr.length);
|
|
11106
|
-
};
|
|
11097
|
+
};
|
|
11107
11098
|
|
|
11108
|
-
|
|
11109
|
-
|
|
11110
|
-
|
|
11099
|
+
static sum = (arr,prop) => {
|
|
11100
|
+
return arr.map(m => { return m[prop]; }).reduce((a, b) => (a+b));
|
|
11101
|
+
};
|
|
11111
11102
|
|
|
11112
|
-
|
|
11113
|
-
|
|
11114
|
-
|
|
11103
|
+
static avg = (arr,prop) => {
|
|
11104
|
+
//console.log(arr, prop);
|
|
11105
|
+
if (arr.length == 0) return 0;
|
|
11106
|
+
|
|
11107
|
+
if (prop) arr = arr.getMap(prop);
|
|
11108
|
+
//console.log(arr);
|
|
11109
|
+
//if (prop) return (arr.map(m => { return m[v]; }).reduce((a,b) => (a+b)) / arr.length);
|
|
11110
|
+
|
|
11111
|
+
return (arr.reduce((a, b) => (a+b)) / arr.length);
|
|
11112
|
+
//return (arr.map(m => { return m[v]; }).reduce((a, b) => (a+b)) / arr.length);
|
|
11113
|
+
};
|
|
11115
11114
|
|
|
11116
|
-
|
|
11117
|
-
|
|
11118
|
-
|
|
11119
|
-
for (var i=0; i<str.length; i++) {
|
|
11120
|
-
s += (str.charCodeAt(i) > 128) ? 2 : 1;
|
|
11121
|
-
if (s > len) return str.substring(0,i);
|
|
11122
|
-
}
|
|
11123
|
-
return str;
|
|
11124
|
-
};
|
|
11125
|
-
static getByteLength = (v) => {
|
|
11126
|
-
return v.replace(/[\0-\x7f]|([0-\u07ff]|(.))/g,"$&$1$2").length;
|
|
11127
|
-
};
|
|
11115
|
+
static lpad = (v,n,str) => {
|
|
11116
|
+
return Array(n - String(v).length + 1).join(str || '0') + v;
|
|
11117
|
+
};
|
|
11128
11118
|
|
|
11129
|
-
|
|
11130
|
-
|
|
11131
|
-
|
|
11119
|
+
static rpad = (v,n,str) => {
|
|
11120
|
+
return v + Array(n - String(v).length + 1).join(str || '0');
|
|
11121
|
+
};
|
|
11132
11122
|
|
|
11133
|
-
|
|
11134
|
-
|
|
11135
|
-
|
|
11136
|
-
|
|
11137
|
-
|
|
11138
|
-
|
|
11139
|
-
|
|
11140
|
-
|
|
11141
|
-
|
|
11142
|
-
|
|
11143
|
-
|
|
11144
|
-
|
|
11145
|
-
var day = (dIndex > -1) ? v.substr(dIndex, 2) : today.getDate();
|
|
11146
|
-
var hour = (hIndex > -1) ? v.substr(hIndex, 2) : today.getHours();
|
|
11147
|
-
var minute = (iIndex > -1) ? v.substr(iIndex, 2) : today.getMinutes();
|
|
11148
|
-
var second = (sIndex > -1) ? v.substr(sIndex, 2) : today.getSeconds();
|
|
11149
|
-
|
|
11150
|
-
return new Date(year,month,day,hour,minute,second);
|
|
11151
|
-
};
|
|
11123
|
+
static cut = (v,len) => {
|
|
11124
|
+
var str = v;
|
|
11125
|
+
var s = 0;
|
|
11126
|
+
for (var i=0; i<str.length; i++) {
|
|
11127
|
+
s += (str.charCodeAt(i) > 128) ? 2 : 1;
|
|
11128
|
+
if (s > len) return str.substring(0,i);
|
|
11129
|
+
}
|
|
11130
|
+
return str;
|
|
11131
|
+
};
|
|
11132
|
+
static getByteLength = (v) => {
|
|
11133
|
+
return v.replace(/[\0-\x7f]|([0-\u07ff]|(.))/g,"$&$1$2").length;
|
|
11134
|
+
};
|
|
11152
11135
|
|
|
11153
|
-
|
|
11154
|
-
|
|
11155
|
-
|
|
11156
|
-
locale = locale || "en-US";
|
|
11157
|
-
format = format.toLowerCase();
|
|
11158
|
-
|
|
11159
|
-
return format
|
|
11160
|
-
.replace("yyyy", v.getFullYear())
|
|
11161
|
-
.replace("yy", v.getYear())
|
|
11162
|
-
.replace("mon", v.toLocaleString(locale, { month: "short" }))
|
|
11163
|
-
.replace("mm", ninegrid.lpad(v.getMonth()+1, 2))
|
|
11164
|
-
.replace("dd", ninegrid.lpad(v.getDate(), 2))
|
|
11165
|
-
.replace("hh", ninegrid.lpad(v.getHours(), 2))
|
|
11166
|
-
.replace("mi", ninegrid.lpad(v.getMinutes(), 2))
|
|
11167
|
-
.replace("ss", ninegrid.lpad(v.getSeconds(), 2));
|
|
11168
|
-
};
|
|
11169
|
-
|
|
11170
|
-
|
|
11171
|
-
static log = {
|
|
11172
|
-
level : window.location.hostname == "localhost" ? ninegrid.LOG.LEVEL.DEBUG : ninegrid.LOG.LEVEL.WARN,
|
|
11173
|
-
//level : LOG.LEVEL.WARN,
|
|
11174
|
-
}
|
|
11175
|
-
static debug = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.DEBUG) { console.trace(...args); } };
|
|
11176
|
-
static info = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.INFO) { console.trace(...args); } };
|
|
11177
|
-
static warn = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.WARN) { console.warn(...args); } };
|
|
11178
|
-
static error = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.ERROR) { console.error(...args); } };
|
|
11179
|
-
|
|
11180
|
-
static global = {
|
|
11181
|
-
locale : (navigator.language || navigator.userLanguage || 'en').toLowerCase().substring(0, 2),
|
|
11182
|
-
lang : navigator.language,
|
|
11183
|
-
}
|
|
11136
|
+
static formatDate = (v, _format) => {
|
|
11137
|
+
return ninegrid.toDate(v, _format);
|
|
11138
|
+
};
|
|
11184
11139
|
|
|
11140
|
+
static toDate = (v, format) => {
|
|
11141
|
+
var today = new Date();
|
|
11142
|
+
//20000101 yyyymmdd
|
|
11143
|
+
var yIndex = format.indexOf('yyyy');
|
|
11144
|
+
var mIndex = format.indexOf('mm');
|
|
11145
|
+
var dIndex = format.indexOf('dd');
|
|
11146
|
+
var hIndex = format.indexOf('hh');
|
|
11147
|
+
var iIndex = format.indexOf('mi');
|
|
11148
|
+
var sIndex = format.indexOf('ss');
|
|
11149
|
+
|
|
11150
|
+
var year = (yIndex > -1) ? v.substr(yIndex, 4) : today.getFullYear();
|
|
11151
|
+
var month = (mIndex > -1) ? v.substr(mIndex, 2)-1 : today.getMonth()-1;
|
|
11152
|
+
var day = (dIndex > -1) ? v.substr(dIndex, 2) : today.getDate();
|
|
11153
|
+
var hour = (hIndex > -1) ? v.substr(hIndex, 2) : today.getHours();
|
|
11154
|
+
var minute = (iIndex > -1) ? v.substr(iIndex, 2) : today.getMinutes();
|
|
11155
|
+
var second = (sIndex > -1) ? v.substr(sIndex, 2) : today.getSeconds();
|
|
11156
|
+
|
|
11157
|
+
return new Date(year,month,day,hour,minute,second);
|
|
11158
|
+
};
|
|
11185
11159
|
|
|
11186
|
-
|
|
11187
|
-
|
|
11188
|
-
|
|
11189
|
-
|
|
11190
|
-
|
|
11191
|
-
|
|
11192
|
-
|
|
11193
|
-
|
|
11194
|
-
|
|
11195
|
-
|
|
11196
|
-
|
|
11160
|
+
static formatString = (v, format, locale) => {
|
|
11161
|
+
if (isNaN(v)) return "";
|
|
11162
|
+
|
|
11163
|
+
locale = locale || "en-US";
|
|
11164
|
+
format = format.toLowerCase();
|
|
11165
|
+
|
|
11166
|
+
return format
|
|
11167
|
+
.replace("yyyy", v.getFullYear())
|
|
11168
|
+
.replace("yy", v.getYear())
|
|
11169
|
+
.replace("mon", v.toLocaleString(locale, { month: "short" }))
|
|
11170
|
+
.replace("mm", ninegrid.lpad(v.getMonth()+1, 2))
|
|
11171
|
+
.replace("dd", ninegrid.lpad(v.getDate(), 2))
|
|
11172
|
+
.replace("hh", ninegrid.lpad(v.getHours(), 2))
|
|
11173
|
+
.replace("mi", ninegrid.lpad(v.getMinutes(), 2))
|
|
11174
|
+
.replace("ss", ninegrid.lpad(v.getSeconds(), 2));
|
|
11197
11175
|
};
|
|
11198
11176
|
|
|
11199
|
-
if (root.shadowRoot) {
|
|
11200
|
-
pushNestedResults(root.shadowRoot);
|
|
11201
|
-
}
|
|
11202
11177
|
|
|
11203
|
-
|
|
11204
|
-
|
|
11205
|
-
|
|
11206
|
-
}
|
|
11178
|
+
static log = {
|
|
11179
|
+
level : window.location.hostname == "localhost" ? ninegrid.LOG.LEVEL.DEBUG : ninegrid.LOG.LEVEL.WARN,
|
|
11180
|
+
//level : LOG.LEVEL.WARN,
|
|
11207
11181
|
}
|
|
11208
|
-
|
|
11209
|
-
|
|
11210
|
-
|
|
11211
|
-
|
|
11212
|
-
|
|
11213
|
-
|
|
11214
|
-
|
|
11215
|
-
|
|
11216
|
-
|
|
11217
|
-
|
|
11218
|
-
|
|
11219
|
-
|
|
11220
|
-
const index = str.indexOf("=");
|
|
11221
|
-
if (index <= 0) continue;
|
|
11222
|
-
|
|
11223
|
-
const keys = str.substring(0, index).split('.');
|
|
11224
|
-
const value = str.substring(index+1);
|
|
11225
|
-
let current = result;
|
|
11226
|
-
|
|
11227
|
-
for (let i = 0; i < keys.length; i++) {
|
|
11228
|
-
if (i === keys.length - 1) {
|
|
11229
|
-
current[keys[i]] = value;
|
|
11230
|
-
}
|
|
11231
|
-
else {
|
|
11232
|
-
if (!current[keys[i]]) {
|
|
11233
|
-
current[keys[i]] = {};
|
|
11234
|
-
}
|
|
11235
|
-
current = current[keys[i]];
|
|
11236
|
-
}
|
|
11237
|
-
}
|
|
11238
|
-
}
|
|
11239
|
-
|
|
11240
|
-
return result;
|
|
11241
|
-
},
|
|
11242
|
-
updateContent : () => {
|
|
11243
|
-
ninegrid.querySelectorAll("nx-i18n,nx-span").forEach(v => {
|
|
11244
|
-
if (v.refresh) v.refresh();
|
|
11245
|
-
});
|
|
11246
|
-
ninegrid.querySelectorAll("nine-grid").forEach(v => {
|
|
11247
|
-
if (v.refresh) v.refreshData();
|
|
11248
|
-
});
|
|
11249
|
-
},
|
|
11250
|
-
addResourceBundle : (args) => {
|
|
11251
|
-
//console.log(args);
|
|
11182
|
+
static debug = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.DEBUG) { console.trace(...args); } };
|
|
11183
|
+
static info = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.INFO) { console.trace(...args); } };
|
|
11184
|
+
static warn = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.WARN) { console.warn(...args); } };
|
|
11185
|
+
static error = (...args) => { if (ninegrid.log.level <= ninegrid.LOG.LEVEL.ERROR) { console.error(...args); } };
|
|
11186
|
+
|
|
11187
|
+
static global = {
|
|
11188
|
+
locale : (navigator.language || navigator.userLanguage || 'en').toLowerCase().substring(0, 2),
|
|
11189
|
+
lang : navigator.language,
|
|
11190
|
+
}
|
|
11191
|
+
|
|
11192
|
+
|
|
11193
|
+
static querySelectorAll = (selector, root) => {
|
|
11252
11194
|
|
|
11253
|
-
|
|
11195
|
+
root = root || document;
|
|
11254
11196
|
|
|
11255
|
-
|
|
11256
|
-
|
|
11257
|
-
|
|
11258
|
-
|
|
11259
|
-
|
|
11260
|
-
const fileNm = args[i+1];
|
|
11261
|
-
|
|
11262
|
-
$.ajax({
|
|
11263
|
-
url: fileNm, // "/properties/message.ko.prop",
|
|
11264
|
-
dataType: "text",
|
|
11265
|
-
success: (text) => {
|
|
11266
|
-
i18next.addResourceBundle(locale, 'translation', ninegrid.i18n.convertArrayToJSON(text.split("\n")));
|
|
11267
|
-
|
|
11268
|
-
/**
|
|
11269
|
-
* 마지막 파일인 경우 화면갱신
|
|
11270
|
-
*/
|
|
11271
|
-
if (--count == 0) i18next.changeLanguage(ninegrid.global.locale);
|
|
11197
|
+
const results = Array.from(root.querySelectorAll(selector));
|
|
11198
|
+
const pushNestedResults = function (root) {
|
|
11199
|
+
ninegrid.querySelectorAll(selector, root).forEach(elem => {
|
|
11200
|
+
if (!results.includes(elem)) {
|
|
11201
|
+
results.push(elem);
|
|
11272
11202
|
}
|
|
11273
11203
|
});
|
|
11204
|
+
};
|
|
11205
|
+
|
|
11206
|
+
if (root.shadowRoot) {
|
|
11207
|
+
pushNestedResults(root.shadowRoot);
|
|
11274
11208
|
}
|
|
11275
11209
|
|
|
11276
|
-
|
|
11277
|
-
|
|
11278
|
-
|
|
11279
|
-
|
|
11280
|
-
|
|
11281
|
-
|
|
11282
|
-
|
|
11283
|
-
|
|
11284
|
-
|
|
11285
|
-
|
|
11286
|
-
|
|
11287
|
-
|
|
11288
|
-
|
|
11289
|
-
|
|
11210
|
+
for (const elem of root.querySelectorAll('*')) {
|
|
11211
|
+
if (elem.shadowRoot) {
|
|
11212
|
+
pushNestedResults(elem.shadowRoot);
|
|
11213
|
+
}
|
|
11214
|
+
}
|
|
11215
|
+
|
|
11216
|
+
return results;
|
|
11217
|
+
};
|
|
11218
|
+
|
|
11219
|
+
static i18n = {
|
|
11220
|
+
convertArrayToJSON : (arr) => {
|
|
11221
|
+
let result = {};
|
|
11222
|
+
|
|
11223
|
+
for (const str of arr) {
|
|
11224
|
+
|
|
11225
|
+
if (!str) continue;
|
|
11226
|
+
|
|
11227
|
+
const index = str.indexOf("=");
|
|
11228
|
+
if (index <= 0) continue;
|
|
11229
|
+
|
|
11230
|
+
const keys = str.substring(0, index).split('.');
|
|
11231
|
+
const value = str.substring(index+1);
|
|
11232
|
+
let current = result;
|
|
11233
|
+
|
|
11234
|
+
for (let i = 0; i < keys.length; i++) {
|
|
11235
|
+
if (i === keys.length - 1) {
|
|
11236
|
+
current[keys[i]] = value;
|
|
11237
|
+
}
|
|
11238
|
+
else {
|
|
11239
|
+
if (!current[keys[i]]) {
|
|
11240
|
+
current[keys[i]] = {};
|
|
11241
|
+
}
|
|
11242
|
+
current = current[keys[i]];
|
|
11243
|
+
}
|
|
11290
11244
|
}
|
|
11291
11245
|
}
|
|
11292
|
-
);
|
|
11293
11246
|
|
|
11294
|
-
|
|
11295
|
-
|
|
11296
|
-
|
|
11297
|
-
|
|
11298
|
-
|
|
11299
|
-
t : (v) => {
|
|
11300
|
-
console.log(i18next);
|
|
11301
|
-
return i18next.t(v);
|
|
11302
|
-
},
|
|
11303
|
-
}
|
|
11304
|
-
|
|
11305
|
-
static j = {
|
|
11306
|
-
copyEvents: (source, target) => {
|
|
11307
|
-
const events = getEventListeners(source);
|
|
11308
|
-
for (const [type, listeners] of Object.entries(events)) {
|
|
11309
|
-
listeners.forEach(listener => {
|
|
11310
|
-
target.addEventListener(type, listener.listener, listener.options);
|
|
11247
|
+
return result;
|
|
11248
|
+
},
|
|
11249
|
+
updateContent : () => {
|
|
11250
|
+
ninegrid.querySelectorAll("nx-i18n,nx-span").forEach(v => {
|
|
11251
|
+
if (v.refresh) v.refresh();
|
|
11311
11252
|
});
|
|
11312
|
-
|
|
11313
|
-
|
|
11314
|
-
querySelectorAll: (selector, context = document) => {
|
|
11315
|
-
let elements = [];
|
|
11316
|
-
|
|
11317
|
-
if (context instanceof NodeList) {
|
|
11318
|
-
context.forEach(ctx => {
|
|
11319
|
-
if (selector instanceof NodeList) {
|
|
11320
|
-
selector.forEach(sel => {
|
|
11321
|
-
elements.push(...ctx.querySelectorAll(sel));
|
|
11322
|
-
});
|
|
11323
|
-
} else if (selector instanceof HTMLElement) {
|
|
11324
|
-
elements.push(...ctx.querySelectorAll(selector));
|
|
11325
|
-
} else {
|
|
11326
|
-
elements.push(...ctx.querySelectorAll(selector));
|
|
11327
|
-
}
|
|
11328
|
-
});
|
|
11329
|
-
} else {
|
|
11330
|
-
if (selector instanceof HTMLElement) {
|
|
11331
|
-
elements = [selector];
|
|
11332
|
-
} else if (selector instanceof NodeList) {
|
|
11333
|
-
selector.forEach(sel => {
|
|
11334
|
-
elements.push(...context.querySelectorAll(sel));
|
|
11335
|
-
});
|
|
11336
|
-
} else {
|
|
11337
|
-
elements = context.querySelectorAll(selector);
|
|
11338
|
-
}
|
|
11339
|
-
}
|
|
11340
|
-
|
|
11341
|
-
return {
|
|
11342
|
-
elements,
|
|
11343
|
-
elem() {
|
|
11344
|
-
return elements[0];
|
|
11345
|
-
},
|
|
11346
|
-
clone(withEvents = false) {
|
|
11347
|
-
const clones = [];
|
|
11348
|
-
elements.forEach(element => {
|
|
11349
|
-
const clone = element.cloneNode(true);
|
|
11350
|
-
if (withEvents) {
|
|
11351
|
-
ninegrid.j.copyEvents(element, clone);
|
|
11352
|
-
}
|
|
11353
|
-
clones.push(clone);
|
|
11253
|
+
ninegrid.querySelectorAll("nine-grid").forEach(v => {
|
|
11254
|
+
if (v.refresh) v.refreshData();
|
|
11354
11255
|
});
|
|
11355
|
-
this.elements = clones;
|
|
11356
|
-
return this;
|
|
11357
11256
|
},
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
|
|
11361
|
-
|
|
11257
|
+
addResourceBundle : (args) => {
|
|
11258
|
+
//console.log(args);
|
|
11259
|
+
|
|
11260
|
+
let count = Math.floor(args.length / 2);
|
|
11261
|
+
|
|
11262
|
+
for (var i=0; i < args.length; i+=2) {
|
|
11263
|
+
//console.log(i, args.length);
|
|
11264
|
+
if (i+1 >= args.length) break;
|
|
11265
|
+
|
|
11266
|
+
const locale = args[i];
|
|
11267
|
+
const fileNm = args[i+1];
|
|
11268
|
+
|
|
11269
|
+
$.ajax({
|
|
11270
|
+
url: fileNm, // "/properties/message.ko.prop",
|
|
11271
|
+
dataType: "text",
|
|
11272
|
+
success: (text) => {
|
|
11273
|
+
i18next.addResourceBundle(locale, 'translation', ninegrid.i18n.convertArrayToJSON(text.split("\n")));
|
|
11274
|
+
|
|
11275
|
+
/**
|
|
11276
|
+
* 마지막 파일인 경우 화면갱신
|
|
11277
|
+
*/
|
|
11278
|
+
if (--count == 0) i18next.changeLanguage(ninegrid.global.locale);
|
|
11279
|
+
}
|
|
11280
|
+
});
|
|
11281
|
+
}
|
|
11282
|
+
|
|
11283
|
+
//console.log("=========")
|
|
11284
|
+
//ninegrid.i18n.updateContent();
|
|
11285
|
+
},
|
|
11286
|
+
init : () => {
|
|
11287
|
+
//console.log(ninegrid.global.locale);
|
|
11288
|
+
i18next.init(
|
|
11289
|
+
{
|
|
11290
|
+
lng: ninegrid.global.locale,//isKorean ? "ko" : "en", // 한국어인지, 영어인지 표시
|
|
11291
|
+
debug: window.location.hostname == "localhost" ? true : false,
|
|
11292
|
+
resources: {},
|
|
11293
|
+
},
|
|
11294
|
+
function(err, t) {
|
|
11295
|
+
if (err) {
|
|
11296
|
+
console.error(err);
|
|
11297
|
+
}
|
|
11298
|
+
}
|
|
11299
|
+
);
|
|
11300
|
+
|
|
11301
|
+
// 언어 변환 시 이벤트 (위의 select에서 onchange="i18next.changeLanguage(this.value)" 이벤트)
|
|
11302
|
+
i18next.on("languageChanged", () => {
|
|
11303
|
+
ninegrid.i18n.updateContent(); // 바뀐 언어에 따라 웹페이지 텍스트 재대입
|
|
11362
11304
|
});
|
|
11363
|
-
this.elements = childrenArray;
|
|
11364
|
-
return this;
|
|
11365
11305
|
},
|
|
11366
|
-
|
|
11367
|
-
|
|
11368
|
-
|
|
11306
|
+
t : (v) => {
|
|
11307
|
+
console.log(i18next);
|
|
11308
|
+
return i18next.t(v);
|
|
11309
|
+
},
|
|
11310
|
+
}
|
|
11311
|
+
|
|
11312
|
+
static j = {
|
|
11313
|
+
copyEvents: (source, target) => {
|
|
11314
|
+
const events = getEventListeners(source);
|
|
11315
|
+
for (const [type, listeners] of Object.entries(events)) {
|
|
11316
|
+
listeners.forEach(listener => {
|
|
11317
|
+
target.addEventListener(type, listener.listener, listener.options);
|
|
11318
|
+
});
|
|
11369
11319
|
}
|
|
11370
|
-
|
|
11320
|
+
},
|
|
11321
|
+
querySelectorAll: (selector, context = document) => {
|
|
11322
|
+
let elements = [];
|
|
11323
|
+
|
|
11324
|
+
if (context instanceof NodeList) {
|
|
11325
|
+
context.forEach(ctx => {
|
|
11326
|
+
if (selector instanceof NodeList) {
|
|
11327
|
+
selector.forEach(sel => {
|
|
11328
|
+
elements.push(...ctx.querySelectorAll(sel));
|
|
11329
|
+
});
|
|
11330
|
+
} else if (selector instanceof HTMLElement) {
|
|
11331
|
+
elements.push(...ctx.querySelectorAll(selector));
|
|
11332
|
+
} else {
|
|
11333
|
+
elements.push(...ctx.querySelectorAll(selector));
|
|
11334
|
+
}
|
|
11335
|
+
});
|
|
11336
|
+
} else {
|
|
11337
|
+
if (selector instanceof HTMLElement) {
|
|
11338
|
+
elements = [selector];
|
|
11339
|
+
} else if (selector instanceof NodeList) {
|
|
11340
|
+
selector.forEach(sel => {
|
|
11341
|
+
elements.push(...context.querySelectorAll(sel));
|
|
11342
|
+
});
|
|
11343
|
+
} else {
|
|
11344
|
+
elements = context.querySelectorAll(selector);
|
|
11345
|
+
}
|
|
11346
|
+
}
|
|
11347
|
+
|
|
11348
|
+
return {
|
|
11349
|
+
elements,
|
|
11350
|
+
elem() {
|
|
11351
|
+
return elements[0];
|
|
11352
|
+
},
|
|
11353
|
+
clone(withEvents = false) {
|
|
11354
|
+
const clones = [];
|
|
11371
11355
|
elements.forEach(element => {
|
|
11372
|
-
|
|
11373
|
-
|
|
11374
|
-
|
|
11375
|
-
element.removeAttribute(attribute);
|
|
11376
|
-
}
|
|
11377
|
-
else {
|
|
11378
|
-
element.setAttribute(attribute, value === true ? "true" : value);
|
|
11356
|
+
const clone = element.cloneNode(true);
|
|
11357
|
+
if (withEvents) {
|
|
11358
|
+
ninegrid.j.copyEvents(element, clone);
|
|
11379
11359
|
}
|
|
11360
|
+
clones.push(clone);
|
|
11380
11361
|
});
|
|
11362
|
+
this.elements = clones;
|
|
11381
11363
|
return this;
|
|
11382
|
-
}
|
|
11383
|
-
|
|
11384
|
-
|
|
11385
|
-
|
|
11386
|
-
|
|
11387
|
-
|
|
11388
|
-
|
|
11389
|
-
|
|
11390
|
-
|
|
11391
|
-
|
|
11392
|
-
|
|
11393
|
-
|
|
11394
|
-
element.style[property] = value;
|
|
11395
|
-
});
|
|
11396
|
-
return this;
|
|
11397
|
-
},
|
|
11398
|
-
hasClass(className) {
|
|
11399
|
-
const elementsArray = Array.isArray(elements) ? elements : Array.from(elements);
|
|
11400
|
-
|
|
11401
|
-
return elementsArray.some(element => element.classList.contains(className));
|
|
11402
|
-
},
|
|
11403
|
-
addClass(className) {
|
|
11404
|
-
elements.forEach(element => {
|
|
11405
|
-
element.classList.add(className);
|
|
11406
|
-
});
|
|
11407
|
-
return this;
|
|
11408
|
-
},
|
|
11409
|
-
removeClass(className) {
|
|
11410
|
-
elements.forEach(element => {
|
|
11411
|
-
element.classList.remove(className);
|
|
11412
|
-
});
|
|
11413
|
-
return this;
|
|
11414
|
-
},
|
|
11415
|
-
show() {
|
|
11416
|
-
elements.forEach(element => {
|
|
11417
|
-
element.style.display = '';
|
|
11418
|
-
if (getComputedStyle(element).display === 'none') {
|
|
11419
|
-
element.style.display = 'block';
|
|
11364
|
+
},
|
|
11365
|
+
children() {
|
|
11366
|
+
let childrenArray = [];
|
|
11367
|
+
elements.forEach(element => {
|
|
11368
|
+
childrenArray.push(...element.children);
|
|
11369
|
+
});
|
|
11370
|
+
this.elements = childrenArray;
|
|
11371
|
+
return this;
|
|
11372
|
+
},
|
|
11373
|
+
attr(attribute, value) {
|
|
11374
|
+
if (value === undefined) {
|
|
11375
|
+
return elements[0] ? elements[0].getAttribute(attribute) : null;
|
|
11420
11376
|
}
|
|
11421
|
-
|
|
11422
|
-
|
|
11423
|
-
|
|
11424
|
-
|
|
11425
|
-
|
|
11426
|
-
|
|
11427
|
-
|
|
11428
|
-
|
|
11429
|
-
|
|
11430
|
-
|
|
11431
|
-
|
|
11432
|
-
|
|
11433
|
-
|
|
11434
|
-
|
|
11435
|
-
|
|
11436
|
-
|
|
11437
|
-
|
|
11438
|
-
|
|
11439
|
-
|
|
11440
|
-
|
|
11441
|
-
|
|
11442
|
-
|
|
11443
|
-
|
|
11444
|
-
|
|
11445
|
-
|
|
11446
|
-
|
|
11447
|
-
|
|
11448
|
-
|
|
11449
|
-
|
|
11450
|
-
|
|
11377
|
+
else {
|
|
11378
|
+
elements.forEach(element => {
|
|
11379
|
+
//element.setAttribute(attribute, value);
|
|
11380
|
+
//element.setAttribute(attribute, value === true ? "true" : value);
|
|
11381
|
+
if (value === false) {
|
|
11382
|
+
element.removeAttribute(attribute);
|
|
11383
|
+
}
|
|
11384
|
+
else {
|
|
11385
|
+
element.setAttribute(attribute, value === true ? "true" : value);
|
|
11386
|
+
}
|
|
11387
|
+
});
|
|
11388
|
+
return this;
|
|
11389
|
+
}
|
|
11390
|
+
},
|
|
11391
|
+
removeAttr(...attributes) {
|
|
11392
|
+
attributes.forEach(attribute => {
|
|
11393
|
+
elements.forEach(element => {
|
|
11394
|
+
element.removeAttribute(attribute);
|
|
11395
|
+
});
|
|
11396
|
+
});
|
|
11397
|
+
return this;
|
|
11398
|
+
},
|
|
11399
|
+
css(property, value) {
|
|
11400
|
+
elements.forEach(element => {
|
|
11401
|
+
element.style[property] = value;
|
|
11402
|
+
});
|
|
11403
|
+
return this;
|
|
11404
|
+
},
|
|
11405
|
+
hasClass(className) {
|
|
11406
|
+
const elementsArray = Array.isArray(elements) ? elements : Array.from(elements);
|
|
11407
|
+
|
|
11408
|
+
return elementsArray.some(element => element.classList.contains(className));
|
|
11409
|
+
},
|
|
11410
|
+
addClass(className) {
|
|
11411
|
+
elements.forEach(element => {
|
|
11412
|
+
element.classList.add(className);
|
|
11413
|
+
});
|
|
11414
|
+
return this;
|
|
11415
|
+
},
|
|
11416
|
+
removeClass(className) {
|
|
11417
|
+
elements.forEach(element => {
|
|
11418
|
+
element.classList.remove(className);
|
|
11419
|
+
});
|
|
11420
|
+
return this;
|
|
11421
|
+
},
|
|
11422
|
+
show() {
|
|
11423
|
+
elements.forEach(element => {
|
|
11424
|
+
element.style.display = '';
|
|
11425
|
+
if (getComputedStyle(element).display === 'none') {
|
|
11426
|
+
element.style.display = 'block';
|
|
11451
11427
|
}
|
|
11452
|
-
|
|
11428
|
+
});
|
|
11429
|
+
return this;
|
|
11430
|
+
},
|
|
11431
|
+
hide() {
|
|
11432
|
+
elements.forEach(element => {
|
|
11433
|
+
element.style.display = 'none';
|
|
11434
|
+
});
|
|
11435
|
+
return this;
|
|
11436
|
+
},
|
|
11437
|
+
};
|
|
11438
|
+
}
|
|
11439
|
+
};
|
|
11440
|
+
|
|
11441
|
+
|
|
11442
|
+
|
|
11443
|
+
static x = {
|
|
11444
|
+
querySelectorAll :
|
|
11445
|
+
(selector, context = document) => {
|
|
11446
|
+
let elements = (selector instanceof HTMLElement) ? [selector] : context.querySelectorAll(selector);
|
|
11447
|
+
|
|
11448
|
+
//console.log(context, selector);
|
|
11449
|
+
//const elements = context.querySelectorAll(selector);
|
|
11450
|
+
return {
|
|
11451
|
+
elements,
|
|
11452
|
+
elem: function() {
|
|
11453
|
+
return elements[0];
|
|
11454
|
+
},
|
|
11455
|
+
attr: function(attribute, value) {
|
|
11456
|
+
if (value === undefined) {
|
|
11457
|
+
return elements[0] ? elements[0].getAttribute(attribute) : null;
|
|
11458
|
+
}
|
|
11459
|
+
else {
|
|
11460
|
+
elements.forEach(element => {
|
|
11461
|
+
//element.setAttribute(attribute, value);
|
|
11462
|
+
//element.setAttribute(attribute, value === true ? "true" : value);
|
|
11463
|
+
if (value === false) {
|
|
11464
|
+
element.removeAttribute(attribute);
|
|
11465
|
+
}
|
|
11466
|
+
else {
|
|
11467
|
+
element.setAttribute(attribute, value === true ? "true" : value);
|
|
11468
|
+
}
|
|
11469
|
+
});
|
|
11470
|
+
return this;
|
|
11471
|
+
}
|
|
11472
|
+
},
|
|
11473
|
+
css: function(property, value) {
|
|
11474
|
+
elements.forEach(element => {
|
|
11475
|
+
element.style[property] = value;
|
|
11476
|
+
});
|
|
11477
|
+
return this;
|
|
11478
|
+
},
|
|
11479
|
+
addClass: function(className) {
|
|
11453
11480
|
elements.forEach(element => {
|
|
11454
|
-
|
|
11455
|
-
|
|
11456
|
-
if (value === false) {
|
|
11457
|
-
element.removeAttribute(attribute);
|
|
11481
|
+
if (!element.classList.contains(className)) {
|
|
11482
|
+
element.classList.add(className);
|
|
11458
11483
|
}
|
|
11459
|
-
|
|
11460
|
-
|
|
11484
|
+
});
|
|
11485
|
+
return this;
|
|
11486
|
+
},
|
|
11487
|
+
removeClass: function(className) {
|
|
11488
|
+
elements.forEach(element => {
|
|
11489
|
+
if (element.classList.contains(className)) {
|
|
11490
|
+
element.classList.remove(className);
|
|
11461
11491
|
}
|
|
11462
11492
|
});
|
|
11463
11493
|
return this;
|
|
11464
|
-
}
|
|
11465
|
-
}
|
|
11466
|
-
|
|
11467
|
-
|
|
11468
|
-
element.style[property] = value;
|
|
11469
|
-
});
|
|
11470
|
-
return this;
|
|
11471
|
-
},
|
|
11472
|
-
addClass: function(className) {
|
|
11473
|
-
elements.forEach(element => {
|
|
11474
|
-
if (!element.classList.contains(className)) {
|
|
11475
|
-
element.classList.add(className);
|
|
11476
|
-
}
|
|
11477
|
-
});
|
|
11478
|
-
return this;
|
|
11479
|
-
},
|
|
11480
|
-
removeClass: function(className) {
|
|
11481
|
-
elements.forEach(element => {
|
|
11482
|
-
if (element.classList.contains(className)) {
|
|
11483
|
-
element.classList.remove(className);
|
|
11484
|
-
}
|
|
11485
|
-
});
|
|
11486
|
-
return this;
|
|
11487
|
-
},
|
|
11488
|
-
}
|
|
11489
|
-
},
|
|
11494
|
+
},
|
|
11495
|
+
}
|
|
11496
|
+
},
|
|
11497
|
+
}
|
|
11490
11498
|
}
|
|
11499
|
+
return ninegrid$2;
|
|
11491
11500
|
}
|
|
11492
11501
|
|
|
11502
|
+
var ninegridExports = requireNinegrid();
|
|
11503
|
+
var ninegrid$1 = /*@__PURE__*/getDefaultExportFromCjs(ninegridExports);
|
|
11504
|
+
|
|
11493
11505
|
class NgContainer4 extends HTMLElement {
|
|
11494
11506
|
constructor() {
|
|
11495
11507
|
super();
|
|
@@ -21013,7 +21025,7 @@ class ngRowExpand extends HTMLElement
|
|
|
21013
21025
|
|
|
21014
21026
|
connectedCallback() {
|
|
21015
21027
|
|
|
21016
|
-
console.log("%%%%%%%%%%%", ninegrid.version);
|
|
21028
|
+
//console.log("%%%%%%%%%%%", ninegrid.version);
|
|
21017
21029
|
|
|
21018
21030
|
this.shadowRoot.innerHTML = `
|
|
21019
21031
|
<style>
|
|
@@ -27320,6 +27332,11 @@ var ninegrid = Object.assign({ instance: new ninegrid() }, ninegrid);
|
|
|
27320
27332
|
export default ninegrid;
|
|
27321
27333
|
*/
|
|
27322
27334
|
|
|
27323
|
-
|
|
27335
|
+
//export default new ninegrid();
|
|
27336
|
+
|
|
27337
|
+
|
|
27338
|
+
var ninegrid = { ninegrid: ninegrid$1 };
|
|
27339
|
+
|
|
27340
|
+
//export default new ninegrid();
|
|
27324
27341
|
|
|
27325
|
-
module.exports =
|
|
27342
|
+
module.exports = ninegrid;
|