/* ***********************************************************
Author : www.drimhitech.com
Create Date : 2022. 11. 30
Subject : °øÅë javascript class
Comment : JS ÆäÀÌÁö
------------------------------------------------------------
Modify Date :
Comment :
*********************************************************** */
class CommonClass{
/**
* »ý¼ºÀÚ
*/
constructor(){
this.gl_formIdAry = []; // forms Id¸¦ ÀúÀåÇÏ´Â ¹è¿
this.gl_transactionData = {}; // serTransaction ÇÔ¼ö¿¡¼ »ç¿ëÇÏ´Â Æ®·£Àè¼Ç °´Ã¼
this.gl_transactionDataTop = {}; // serTransaction ÇÔ¼ö¿¡¼ »ç¿ëÇÏ´Â Æ®·£Àè¼Ç °´Ã¼(main top)¿¡¼ »ç¿ë
this.gl_stroeAry = []; // ½Ä´çã±â ¸®½ºÆ®¸¦ ÀúÀåÇÏ´Â ¹è¿
this.message = new MessageClass();
}
/**
* @title null °ª üũ ÇÔ¼ö
* @functionName isNull
* @param pStr üũ °ª
* @returns boolean
*/
isNull(pStr){
let retVal = false;
if(Array.isArray(pStr)){
if(pStr.length == 0) retVal = true;
}else{
try{
if(pStr == null || pStr == "null" || pStr == "" || pStr == undefined || pStr == "undefined"){
retVal = true;
}
}catch(error){
retVal = false;
}
}
return retVal;
}
/**
* @title ÄÞ¸¶ Ãß°¡ ÇÔ¼ö
* @functionName addComma
* @param pObj ¿ÀºêÁ§Æ®
* @returns String
*/
addComma(pObj){
var str = "", pnt = "", arg= "", decimal = "", pos="";
if(typeof(pObj) == 'object') {str = pObj.value;}
else {str = String(pObj);}
var intFlag = '', tmpStr = '';
for(var i = 0; i <= str.length; i++){
if(str.charAt(i) != ',') {tmpStr += str.charAt(i);}
}
str = tmpStr;
if(parseFloat(str,10)<0){ // À½¼öÀÎ °æ¿ì (-°¡ ºÙÀº°æ¿ì)
str = str * (-1);
intFlag = '-';
}
str = str+'';
pnt = str.indexOf('.'); // ¼Ò¼ýÁ¡ÀÌ ºÙÀº °æ¿ì
if(pnt != -1){
decimal = str.substr(pnt, str.length);
str = str.substr(0, pnt);
}
else {decimal = '';}
var len = str.length, arg = '';
if (len > 3){
switch(len%3){
case 0: pos = 0; break;
case 1: pos = 1; break;
case 2: pos = 2; break;
case 3: pos = 3; break;
}
for (i = 0; i < len; i++){
if (i < pos) {arg += str.charAt(i);}
else{
if (i != 0 && i%3 == pos){arg += ',';}
arg += str.charAt(i);
}
}
}
else {arg = str;}
arg = arg+'';
arg = intFlag + arg + decimal;
if(typeof(pObj) == 'object') {pObj.value = arg;}
else{ return arg; }
}
/**
* @title ÄÞ¸¶ Á¦°Å ÇÔ¼ö
* @functionName rmComma
* @param pObj ¿ÀºêÁ§Æ®
* @returns String
*/
rmComma(pObj){
var retVal = "", str="";
if(typeof(pObj) == 'object') {str = pObj.value;}
else {str = pObj;}
for(var i = 0; i <= str.length; i++){
if(str.charAt(i) != ','){retVal += str.charAt(i);}
}
if(!retVal) retVal = str;
if(typeof(pObj) == 'object') {pObj.value = retVal;}
else return retVal;
}
/**
* @title localStorage ÀúÀåÇÔ¼ö
* @functionName setStorage
* @param pKeyName ½ºÆ®¸®Áö key°ª
* @param pKeyValue ½ºÆ®¸®Áö value°ª
* @returns boolean
*/
setStorage(pKeyName, pKeyValue){
if(this.isNull(pKeyName) || this.isNull(pKeyValue)) return;
let keyName = this.message._STOR+pKeyName;
window.localStorage.setItem(pKeyName, pKeyValue);
}
/**
* @title localStorage °ª ÃßÃâ ÇÔ¼ö
* @functionName setStorage
* @param pKeyName ½ºÆ®¸®Áö key°ª
* @returns string
*/
getStorage(pKeyName){
let retVal = "";
if(this.isNull(pKeyName)) return retVal;
let keyName = this.message._STOR+pKeyName;
retVal = window.localStorage.getItem(pKeyName);
return retVal;
}
/**
* @title µð¹ÙÀ̽º â »çÀÌÁî ·¯ÅÏ ÇÔ¼ö
* @functionName getViewSize
* @param pSizeGb ¸®ÅÏ ±¸ºÐ(°ªÀÌ ¾øÀ»°æ¿ì Àüü[°¡·Î, ¼¼·Î] / W:°¡·Î»çÀÌÁî / H:¼¼·Î»çÀÌÁî)
* @returns array / number
*/
getViewSize(pSizeGb){
let screenW = window.innerWidth;
let screenH = window.innerHeight;
// »çÀÌÁºÐÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¹è¿·Î ¸®ÅÏ
let retVal = "";
if(this.isNull(pSizeGb)){
retVal = [screenW, screenH];
}else{
if(pSizeGb.toUpperCase() == "W"){
retVal = screenW;
}else if(pSizeGb.toUpperCase() == "H"){
retVal = screenH;
}else{
retVal = [screenW, screenH];
}
}
return retVal;
}
/**
* @title µðÀÚÀÎ °¡·Î³ÐÀ̸¦ µð¹ÙÀ̽º ±âÁØ °¡·Î³ÐÀÌ·Î º¯È¯Çؼ ¸®ÅÏÇØÁÖ´Â ÇÔ¼ö
* @functionName getRateWidth
* @param pWidth ¸®ÅÏ ±¸ºÐ(°ªÀÌ ¾øÀ»°æ¿ì Àüü[°¡·Î, ¼¼·Î] / W:°¡·Î»çÀÌÁî / H:¼¼·Î»çÀÌÁî)
* @returns number
*/
getRateWidth(pWidth){
let defW = 640;
let screenW = this.getViewSize("W");
// È¸é »çÀÌÁî°¡ 400ÀÌ ³ÑÀ¸¸é 400À¸·Î °íÁ¤
if(screenW >= 400) screenW = 400;
let retVal = 0;
if(this.isNull(pWidth)) return retVal;
if(parseInt(pWidth,10) > defW) return defW;
// µðÀÚÀαâÁØÀ¸·Î width ¸®»çÀÌÁî ³ÐÀÌ ±¸Çϱâ
retVal = Math.round((parseInt(pWidth,10) * screenW) / defW);
// µðÀÚÀαâÁغ¸°¡ Ŭ °æ¿ì µðÀÚÀÎ ±âÁØÀ¸·Î ¸®ÅÏ
if(retVal > screenW) return screenW;
else if(retVal> parseInt(pWidth,10)) return pWidth;
return retVal;
}
/**
* @title µðÀÚÀÎ °¡·Î³ÐÀ̸¦ µð¹ÙÀ̽º ±âÁØ font·Î º¯È¯Çؼ ¸®ÅÏÇØÁÖ´Â ÇÔ¼ö
* @functionName getRateFont
* @param pSize µðÀÚÀÎµÈ ÆùÆ® »çÀÌÁî
* @returns number
*/
getRateFont(pSize){
let defW = 640;
let screenW = this.getViewSize("W");
// È¸é »çÀÌÁî°¡ 400ÀÌ ³ÑÀ¸¸é 400À¸·Î °íÁ¤
if(screenW >= 400) screenW = 400;
let retVal = 0;
if(this.isNull(pSize)) return retVal;
if(screenW > defW) return pSize;
// µðÀÚÀαâÁØÀ¸·Î width ÆùÆ® Å©±â ±¸Çϱâ
retVal = Math.round((parseInt(pSize,10) * screenW) / defW)+1;
if(retVal > parseInt(pSize, 10)) return pSize;
return retVal;
}
/**
* @title µðÀÚÀÎ °¡·Î/¼¼·Î ±âÁØÀ¸·Î ¼¼·Î ³ÐÀ̸¦ º¯È¯Çؼ ¸®ÅÏÇØÁÖ´Â ÇÔ¼ö
* @functionName getRateHeight
* @param pOldWidth µðÀÚÀÎÀÇ width
* @param pOldHeight µðÀÚÀÎÀÇ height
* @param pNewWidth º¯°æµÈ width
* @returns number
*/
getRateHeight(pOldWidth, pOldHeight, pNewWidth){
let defW = 640;
let screenW = 400;
let retVal = 0;
if(!pOldWidth > 0 || !pOldHeight > 0 || !pNewWidth > 0) return retVal;
// µðÀÚÀαâÁØ ³ÐÀ̺¸´Ù Ŭ°æ¿ì 400±âº»À¸·Î ¼³Á¤
if(parseInt(pNewWidth,10) >= screenW) pNewWidth = screenW;
// ±âÁ¸ °¡·Î¼¼·Î ºñÀ²·Î ¼¼·Î ºñÀ² ±¸Çϱâ
retVal = Math.round((parseInt(pOldHeight,10) * parseInt(pNewWidth,10) ) / parseInt(pOldWidth,10));
// µðÀÚÀαâÁغ¸°¡ Ŭ °æ¿ì µðÀÚÀÎ ±âÁØÀ¸·Î ¸®ÅÏ
if(retVal > parseInt(pOldHeight,10)) return pOldHeight;
return retVal;
}
/**
* @title form ű×ÀÇ id¸¦ ¸®ÅÏÇÏ´Â ÇÔ¼ö
* @functionName getFormId
* @param pParam ÆÄ¶ó¸ÞÅÍ
* {
* index : form index (°ªÀÌ ¾øÀ»°æ¿ì Àüü ¹è¿¸®ÅÏ)
* }
* @return string or array
*/
getFormId(pParam){
if(this.gl_formIdAry.length == 0){
var forms = document.forms;
for(let i=0,form; form = forms[i]; i++){
this.gl_formIdAry[i] = form.id;
}
}
if(!pParam) pParam = {};
let idx = pParam.index;
if(idx >= 0) return this.gl_formIdAry[idx];
else return this.gl_formIdAry;
}
/**
* @title ȸé ÃʱâÈ ÇÔ¼ö
* @functionName pageInit
*/
pageInit(){
// formId¹è¿ ÃʱâÈ
this.gl_formIdAry = [];
// form id ÀúÀå
let formObjs = document.forms;
for(let i=0; i < formObjs.length; i++){
let formId = formObjs[i].getAttribute("id");
this.gl_formIdAry.push(formId);
}
// ·Îµù¹Ù ¿µ¿ª »ý¼º
let loadingObj = document.getElementById("pul-dvLoadingbarWrapper");
if(!loadingObj){
let loadHtml = `
loading...
`;
let loadObj = document.createElement("div");
loadObj.setAttribute("id", "pul-dvLoadingbarWrapper");
loadObj.innerHTML = loadHtml;
document.body.appendChild(loadObj);
}
// ¸Þ½ÃÁö ¿µ¿ª »ý¼º
let messageObj = document.getElementById("pul-dvMessageWrapper");
if(!messageObj){
let messageHtml = ` `;
let msgObj = document.createElement("div");
msgObj.setAttribute("id", "pul-dvMessageWrapper");
msgObj.innerHTML = messageHtml;
document.body.appendChild(msgObj);
}
// À©µµ¿ì ¸®»çÀÌÁî À̺¥Æ® ¼³Á¤
window.addEventListener("resize", function(e){common.pageResize();}, false);
}
/**
* @title ¸®»çÀÌÁî ÇÔ¼ö
* @functionName pageResize
* @param pResizeGb ¸®»çÀÌÁî ±¸ºÐ(message:¸Þ½ÃÁöâ)
*/
pageResize(pResizeGb){
// ¸Þ½ÃÁö ÆË¾÷âÀÌ ¶ç¾îÁ® ÀÖ´Â °æ¿ì ¸Þ½ÃÁöâ ¸®»çÀÌÁî
let msgObj = document.getElementById("pul-dvMessageWrapper");
if(msgObj){
let msgDisGb = msgObj.style.display;
if(msgDisGb == "table" || pResizeGb == "message"){
// À§Ä¡ ¼³Á¤
let viewSize = this.getViewSize();
let viewW = viewSize[0];
let viewH = viewSize[1];
msgObj.style.width = viewW+"px";
msgObj.style.height = viewH+"px";
// ¸Þ½ÃÁö ÄÁÅÙÃ÷ ¿µ¿ª
let messageObj = msgObj.querySelector("#pul-dvMessageContents");
let messageObjW = this.getRateWidth(400);
let messageObjH = this.getRateHeight(400,380,messageObjW);
messageObj.style.width = messageObjW+"px";
messageObj.style.height = messageObjH+"px";
// ¸Þ½ÃÁö ¹öư ¿µ¿ª
let messageBtnObj = msgObj.querySelector("#pul-dvMessageBtn");
let messageBtnObjW = this.getRateWidth(200);
let messageBtnObjH = this.getRateHeight(200,50,messageBtnObjW);
let messageBtnObjF = this.getRateFont(20);
messageBtnObj.style.width = messageBtnObjW+"px";
messageBtnObj.style.height = messageBtnObjH+"px";
messageBtnObj.style.fontSize = messageBtnObjF+"px";
// ¸Þ½ÃÁö Ãâ·Â ¿µ¿ª
let messageTxtObj = msgObj.querySelector("#pul-dvMessageTxt");
let messageTxtObjH = messageObjH - (14+messageBtnObjH+15+23);
let messageTxtObjF = this.getRateFont(24);
messageTxtObj.style.height = messageTxtObjH+"px";
messageTxtObj.style.fontSize = messageTxtObjF+"px";
}
}
// ·ÎµùâÀÌ µï¾îÁ® ÀÖ´Â °æ¿ì ·Îµùâ ¸®»çÀÌÁî
let loadObj = document.getElementById("pul-dvLoadingbarWrapper");
if(loadObj){
let loadDisGb = loadObj.style.display;
if(loadDisGb == "table" || pResizeGb == "load"){
// »çÀÌÁî Á¶Á¤
let screenSize = this.getViewSize();
loadObj.style.width = screenSize[0]+"px";
loadObj.style.height = screenSize[1]+"px";
let loadingObj = loadObj.querySelector("#pul-dvLoading");
let loadingImg = loadObj.querySelector("#pul-imLoad");
let loadingTxt = loadObj.querySelector("#pul-dvLoadTxt");
let loadingObjW = common.getRateWidth(200);
let loadingObjF = common.getRateFont(20);
let loadingImgW = Math.round(loadingObjW / 2);
loadingObj.style.width = loadingObjW+"px";
loadingObj.style.height = loadingObjW+"px";
loadingImg.style.width = loadingImgW+"px";
loadingTxt.style.fontSize = loadingObjF+"px";
}
}
// ½Ä´çã±â âÀÌ ¶ç¾îÁ® ÀÖ´Â °æ¿ì ½Ä´çã±â â ¸®»çÀÌÁî
let storeObj = document.getElementById("pul-dvPopupStoreBack");
if(storeObj){
let storeDisGb = storeObj.style.display;
if(storeDisGb == "table" || pResizeGb == "store"){
// »çÀÌÁî Á¶Àý
let screenSize = this.getViewSize();
let screenW = screenSize[0];
let screenH = screenSize[1];
let storeGb = storeObj.getAttribute("data-store");
storeObj.style.width = screenW+"px";
storeObj.style.height = screenH+"px";
let popWrapperW = this.getRateWidth(568);
let popWrapperH = (storeGb == "change")?this.getRateHeight(568,700,popWrapperW):this.getRateHeight(568,850,popWrapperW);
let popWrapperObj = storeObj.querySelector("#pul-dvPopStoreWrapper");
popWrapperObj.style.width = popWrapperW+"px";
popWrapperObj.style.height = popWrapperH+"px";
let popFindObj = storeObj.querySelector("#pul-dvPopFindWrapper");
let popFindObjH = popFindObj.clientHeight;
let popStoreListObjH = (popWrapperH - popFindObjH)-40;
let popStoreListObj = storeObj.querySelector("#pul-dvPopStoreListWrapper");
popStoreListObj.style.height = popStoreListObjH+"px";
}
}
}
/**
* @title È¸é ·Îµù¹Ù ÇÔ¼ö
* @functionName pageLoadingBar
* @param pViewGb Ãâ·Â±¸ºÐ - open(Ãâ·Â) / close(´Ý±â)
*/
pageLoadingBar(pViewGb){
setTimeout(function(){
common.pageLoadingView(pViewGb);
}, 100);
}
pageLoadingView(pViewGb){
let loadObj = document.getElementById("pul-dvLoadingbarWrapper");
if(!loadObj) return;
// ´Ý±â
if(pViewGb == "close"){
loadObj.style.display="none";
}
// ¿±â
else{
// ¸Þ½ÃÁöâ »çÀÌÁî Á¶Àý
this.pageResize("load");
loadObj.style.display="table";
}
}
/**
* @title ¸Þ½ÃÁö ÆË¾÷
* @functionName pageAlterMsg
* @param pMsg Ãâ·Â ¸Þ½ÃÁö
* @param pBtnCallback ¹öư¼±Åà ÄݹéÇÔ¼ö
*/
pageAlterMsg(pMsg,pBtnCallback){
let msgObj = document.getElementById("pul-dvMessageWrapper");
if(!msgObj) return;
// ¸Þ½ÃÁö â »çÀÌÁî Á¶Á¤
this.pageResize("message");
msgObj.querySelector("#pul-dvMessageView").innerHTML = pMsg;
// ȸé Ãâ·Â
msgObj.style.display = "table";
// Á¾·á ¹öư Ŭ¸¯ À̺¥Æ® ¼³Á¤
msgObj.querySelector("#pul-imMessageClose").addEventListener("click",function(e){
common.pageAlterMsgClose(msgObj, pBtnCallback);
},{ once: true });
// È®ÀÎ ¹öư Ŭ¸¯ À̺¥Æ® ¼³Á¤
msgObj.querySelector("#pul-dvMessageBtn").addEventListener("click", function(e){
common.pageAlterMsgClose(msgObj, pBtnCallback);
},{ once: true });
}
/**
* @title ¸Þ½ÃÁö ÆË¾÷ ´Ý±â ÇÔ¼ö
* @functionName pageAlterMsgClose
*/
pageAlterMsgClose(pObj, pBtnCallback){
if(!pObj) return;
pObj.querySelector("#pul-dvMessageView").innerHTML = "";
pObj.style.display = "none";
// callback ÇÔ¼ö ½ÇÇà
if(pBtnCallback) pBtnCallback();
}
/**
* @title ½Ä´çã±â ÆË¾÷ »ý¼º ÇÔ¼ö
* @functionName pageStoreMake
* @param pStoreGb ÆË¾÷±¸ºÐ(find:½Ä´çã±â, change:½Ä´çº¯°æ)
* @param pParam ÆÄ¶ó¸ÞÅÍ
* [
* operCd, assignCd, assignNm
* ]
* @param pAssignGrp ¼Ò¼Ó±×·ì(½Ä´çº¯°æ¿¡¼¸¸ »ç¿ë)
*/
pageStoreMake(pStoreGb, pParam, pAssignGrp){
let storeList = pParam;
this.gl_stroeAry = storeList;
let storeTitle = (pStoreGb == "change")?"½Ä´çº¯°æ":"½Ä´çã±â";
// ½Ä´çã±â ¿µ¿ª Á¸Àç ¿©ºÎ È®ÀÎ
let storeObj = document.getElementById("pul-dvPopupStoreBack");
if(!storeObj){
let obj = document.createElement("div");
let inHtml = "";
inHtml += `
${storeTitle}
°Ë»öÇÏ½Ç »ç¾÷Àå¸íÀ» 3±ÛÀÚ ÀÌ»ó ÀÔ·Â ÈÄ Ã£¾ÆÁÖ¼¼¿ä
`;
obj.setAttribute("id", "pul-dvPopupStoreBack");
obj.innerHTML = inHtml;
storeObj = document.body.appendChild(obj);
}
// ŸÀÌÆ² º¯°æ
storeObj.querySelector(".pul-dvPopStoreTitleCss").innerText = storeTitle;
// ¸®½ºÆ® »èÁ¦
let storeListWrpObj = storeObj.querySelector("#pul-dvPopStoreListWrapper");
let storeListObj = storeObj.querySelector(".pul-dvPopStroeListCss");
storeListWrpObj.removeChild(storeListObj);
// ¸®½ºÆ® Ãß°¡
let createHtml = "";
let createObj = document.createElement("div");
createObj.setAttribute("class", "pul-dvPopStroeListCss");
if( storeList && storeList.length > 0){
// ½ºÅ丮Áö¿¡ ÀúÀåµÈ ½Ä´ç È®ÀÎ
let storageVal = this.getStorage(this.message._STOR_STORE);
let chkAssignCd = "";
if(!this.isNull(storageVal)){
let tmpValAry = storageVal.split("^");
chkAssignCd = tmpValAry[0];
}
// ½Ä´ç Ãâ·Â
let assignGrp = pAssignGrp;
for(let i= 0; i < storeList.length; i++){
let infoAry = storeList[i];
if(pStoreGb == "change"){
if(assignGrp == infoAry[3]){
if(infoAry[1] == chkAssignCd) createHtml += "\n";
else createHtml += "\n";
}
}else{
if(infoAry[1] == chkAssignCd) createHtml += "\n";
else createHtml += "\n";
}
}
// ÇØ´ç °á°ú°¡ ¾ø½À´Ï´Ù.
createHtml += "\n";
createObj.innerHTML = createHtml;
}
storeListWrpObj.appendChild(createObj);
// ȸ鱸ºÐ¿¡ µû¸¥ Ãâ·Â ¿µ¿ª ÁöÁ¤
if(pStoreGb == "change") storeObj.querySelector("#pul-dvPopSearchWrapper").style.display="none";
else storeObj.querySelector("#pul-dvPopSearchWrapper").style.display="block";
// ȸé Ãâ·Â
storeObj.style.display = "table";
// ´Ý±â À̺¥Æ® »ý¼º
let closeObj = storeObj.querySelector(".pul-dvPopStoreCloseCss");
closeObj.addEventListener("click",this.pageStoreClose, false);
// ã±â ¹öư À̺¥Æ® »ý¼º
let findObj = storeObj.querySelector("#pul-imStoreFind");
findObj.onclick = function(e){common.pageStoreFilter(storeObj);}
// input enterŰ À̺¥Æ® »ý¼º
let inputObj = storeObj.querySelector("#pul-inStoreFind");
inputObj.value = "";
inputObj.onkeyup = function(e){common.pageStoreKeyCode(e.keyCode, storeObj); }
// ¸Þ½ÃÁö»ö ÃʱâÈ
storeObj.querySelector(".pul-dvPopStoreMsgCss").classList.remove("pul-dvPopStoreMsgNoCss");
// ½Ä´ç ¼±Åà À̺¥Æ® »ý¼º
if( storeList && storeList.length > 0 ){
let storeAtObjs = storeObj.querySelector(".pul-dvPopStroeListCss");
storeAtObjs.addEventListener("click", function(e){
let tarObj = e.target;
if(tarObj.getAttribute("name") == "pul-dvStoreList"){
let param = {"url":common.message._TODAY, param:{"Ta":tarObj.getAttribute("data-oper"), "Tb":tarObj.getAttribute("id"), "Tc":tarObj.innerText
, "Td":tarObj.getAttribute("data-group")}};
common.pageStoreMove(tarObj, param);
}
}, false);
}
// »çÀÌÁî Á¶Á¤
storeObj.setAttribute("data-store",pStoreGb);
this.pageResize("store");
}
/**
* @title ½Ä´çã±â ÆË¾÷ Á¾·á ÇÔ¼ö
* @functionName pageStoreClose
*/
pageStoreClose(){
let storeObj = document.getElementById("pul-dvPopupStoreBack");
if(storeObj) storeObj.style.display = "none";
}
/**
* @title ½Ä´ç ÇÊÅÍ ÇÔ¼ö
* @functionName pageStoreFilter
* @param pObj ½Ä´çã±â object
*/
pageStoreFilter(pObj){
if(this.isNull(pObj)) return;
// ·Îµù¹Ù Ãâ·Â
this.pageLoadingBar("open");
let txtObj = pObj.querySelector("#pul-inStoreFind");
let findTxt = "";
if(txtObj) findTxt = txtObj.value;
let msgObj = pObj.querySelector(".pul-dvPopStoreMsgCss");
// 3ÀÚ ÀÌ»ó ÀÔ·Â
let disGb = false;
if(!(findTxt.length > 2)){
this.pageLoadingBar("close");
msgObj.classList.add("pul-dvPopStoreMsgNoCss");
return;
}
findTxt = findTxt.toLowerCase();
let storeList = pObj.querySelectorAll("div[name='pul-dvStoreList']");
let viewCnt = 0;
for(let i=0; i < storeList.length; i++){
let storeObj = storeList[i];
let chkTxt = storeObj.innerText;
if(chkTxt) chkTxt = chkTxt.toLowerCase();
if(disGb){
storeObj.parentNode.style.display = "table-row";
viewCnt++;
}else if(chkTxt.indexOf(findTxt) >= 0){
storeObj.parentNode.style.display = "table-row";
viewCnt++;
}else{
storeObj.parentNode.style.display = "none";
}
}
// ã´Â »ç¾÷ÀåÀÌ Á¸ÀçÇÏÁö ¾ÊÀ»°æ¿ì ¸Þ¼¼Áö Ãâ·Â
let storeNotObj = pObj.querySelector("#pul-dvStoreListNot");
if(viewCnt == 0) storeNotObj.style.display = "table-row";
else storeNotObj.style.display = "none";
this.pageLoadingBar("close");
}
/**
* @title ½Ä´ç °Ë»öÁ¶°Ç Ű´Ù¿îÇÔ¼ö
* @functionName pageStoreKeyCode
* @param pKeycode keyCode
* @param pObj ½Ä´çã±â object
*/
pageStoreKeyCode(pKeycode, pObj){
// enterŰ - ã±â
if(pKeycode == 13){
this.pageStoreFilter(pObj);
}
// ÀÚ¸´¼ö°¡ 3ÀÚ¸®°¡ ³Ñ¾î°¡¸é °¡³ª ¾øÀ¸¸é »ö ÃʱâÈ
let inputObj = pObj.querySelector("#pul-inStoreFind");
let inputLen = inputObj.value.length;
if(inputLen == 0 || inputLen > 2){
pObj.querySelector(".pul-dvPopStoreMsgCss").classList.remove("pul-dvPopStoreMsgNoCss");
// °Ë»öÁ¶°ÇÀÌ »èÁ¦µÇ¾úÀ»°æ¿ì °á°ú¾øÀ½ ºñȰ¼ºÈ ó¸®
if(inputLen == 0) pObj.querySelector("#pul-dvStoreListNot").style.display = "none";
}
}
/**
* @title ½Ä´ç À̵¿ ÇÔ¼ö
* @functionName pageStoreMove
* @param pObj ¼±ÅÃÇÑ ½Ä´ç object
* @param pParam ÆÄ¶ó¸ÞÅÍ
* {
* url : À̵¿ÇÒ ÆäÀÌÁö
* param : ÆäÀÌÁö¿¡ Àü´ÞÇÒ ÆÄ¶ó¹ÌÅÍ(°´Ã¼){}
* }
*/
pageStoreMove(pObj, pParam){
if(this.isNull(pObj)) return;
if(this.isNull(pParam)) return;
let objId = pObj.id;
let operCd = pObj.getAttribute("data-oper");
let assignGrp = pObj.getAttribute("data-group");
let assignNm = pObj.innerText;
let topParamGbObj = document.getElementById("topParamGb");
let topParamGb = "no";
if(topParamGbObj) topParamGb = topParamGbObj.value;
// ½ºÅ丮Áö ÀúÀå(³Ñ¾î¿Â »ç¾÷Àå Äڵ尡 Á¸ÀçÇÏ´Â °æ¿ì ½ºÅ丮Áö ÀúÀå ÇÏÁö ¾ÊÀ½)
if(topParamGb == "ok") pParam.Te = topParamGb;
else this.setStorage(this.message._STOR_STORE, objId+"^"+operCd+"^"+assignNm+"^"+assignGrp);
// ¼±Åà ½Ä´ç »ö º¯°æ
let storeList = pObj.parentNode.parentNode.querySelectorAll("div[name='pul-dvStoreList']");
for(let i=0; i < storeList.length; i++){
let storeObj = storeList[i];
storeObj.parentNode.classList.remove("pul-dvPopStroeFontCss");
if(storeObj.id == objId){
storeObj.parentNode.classList.add("pul-dvPopStroeFontCss");
}
}
// ÆäÀÌÁö À̵¿
pParam.infoGb = 1; // »ç¾÷Àå±âº»Á¤º¸ Àü´Þ¿©ºÎ Àü´Þ
this.pageMove(pParam);
}
/**
* @title ÆäÀÌÁö À̵¿ ÇÔ¼ö
* @functionName pageMove
* @param pParam ÆÄ¶ó¸ÞÅÍ
* {
* url : À̵¿ÇÒ ÆäÀÌÁö
* param : ÆäÀÌÁö¿¡ Àü´ÞÇÒ ÆÄ¶ó¹ÌÅÍ(°´Ã¼){}
* infoGb : »ç¾÷Àڱ⺻Á¤º¸ ÆÄ¶ó¹ÌÅÍ Àü´Þ¿©ºÎ(0:¹ÌÀü´Þ[default] / 1:Àü´Þ)
* }
*/
pageMove(pParam){
if(this.isNull(pParam)) return;
let url = pParam.url;
let params = pParam.param;
let tOperCd = document.getElementById("topOperCd");
let tAssignCd = document.getElementById("topAssignCd");
let tAssignNm = document.getElementById("topAssignNm");
let tAssignGrp = document.getElementById("topAssignGrp");
let tParamGb = document.getElementById("topParamGb");
// ÆÄ¶ó¹ÌÅÍ Á¶ÇÕ
var urlParam = url+"?";
for(var key in params){
urlParam += key+"="+params[key]+"&";
}
if(!pParam.infoGb){
if(!this.isNull(tOperCd)) urlParam += "Ta="+tOperCd.value+"&";
if(!this.isNull(tAssignCd)) urlParam += "Tb="+tAssignCd.value+"&";
if(!this.isNull(tAssignNm)) urlParam += "Tc="+tAssignNm.value+"&";
if(!this.isNull(tAssignGrp)) urlParam += "Td="+tAssignGrp.value+"&";
if(!this.isNull(tParamGb)) urlParam += "Te="+tParamGb.value+"&";
}
urlParam = urlParam.substring(0,(urlParam.length-1));
// ½Ä´çã±â ÆË¾÷ ´Ý±â
this.pageStoreClose();
// ÆäÀÌÁö À̵¿
window.location.href = urlParam;
}
/**
* @title ¼¹ö Æ®·£Àè¼Ç ÇÔ¼ö
* @functionName serTransaction
* @param pParam ÆÄ¶ó¸ÞÅÍ
* {
* requestId : Æ®·£Àè¼Ç ¾ÆÀ̵ð, [ Çʼö ]
* requestUrl : Á¢¼ÓURL, [ Çʼö ]
* requestFormId : FORM ID, [ Çʼö ]
* requestMode : Åë½Å¹æ¹ý, ( 1:ajax¸ðµå[default] / 2:submit¸ðµå / 3:debug¸ðµå )
* requestParam : Àü¼ÛÆÄ¶ó¸ÞÅÍ, ( °´Ã¼{} )
* requestTimeout : Åë½Å TIMEOUT ( ÃÊ´ÜÀ§ : 1000(1ÃÊ) )( »ý·«°¡´É[default:60ÃÊ] )
* }
* @param pFn CALLBACK ÇÔ¼ö
*/
serTransaction(pParam, pFn){
let vitalChk = "";
if(!pParam.requestId) vitalChk = "requestId";
else if(!pParam.requestUrl) vitalChk = "requestUrl";
else if(!pParam.requestFormId) vitalChk = "requestFormId";
// Çʼö°ªÀÌ Á¸ÀçÇÏÁö ¾ÊÀ»°æ¿ì ¾Ë¸² Ç¥½Ã
if(vitalChk){
this.pageAlterMsg("Çʼö°ªÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
return;
}
this.gl_transactionData = {};
this.gl_transactionData.fn = pFn;
// transaction ½ÃÀÛ
this.startTransaction(pParam);
}
/**
* @title Æ®·£Àè¼Ç ½ÃÀÛÇÔ¼ö
* @functionName startTransaction
* @param pParam ÆÄ¶ó¸ÞÅÍ
*/
startTransaction(pParam){
let paramObj = pParam;
let requestFormId = paramObj.requestFormId;
let requestId = paramObj.requestId;
let requestUrl = paramObj.requestUrl;
let requestParam = paramObj.requestParam;
let requestMode = paramObj.requestMode;
let requestTimeout = paramObj.requestTimeout;
if(this.isNull(requestMode)) requestMode = 1; // 1:ajax¸ðµå[default] / 2:submit¸ðµå / 3:debug¸ðµå
if(this.isNull(requestTimeout)) requestTimeout = 1000*60; // ÃÊ´ÜÀ§[default : 60ÃÊ]
if(typeof(requestParam) != "object") requestParam = {};
// ajax ¸ðµå·Î transaction ó¸®
if(requestMode == 1){
let formObj = document.getElementById(requestFormId);
let jsonParam = {"requestId": requestId, "requestUrl": requestUrl, "requestMode": requestMode, "requestParam": JSON.stringify(requestParam)};
$.ajax({
url:requestUrl,
type:"POST",
data:jsonParam,
dataType:"json",
error:function(jqXHR,textStatus,strError){
//console.log(textStatus, jqXHR);
if(textStatus=="parsererror"){
common.endTransaction(requestId,-999,{error:jqXHR.responseText});
}else{
common.endTransaction(requestId,0,{error:jqXHR.statusText});
}
},
timeout:requestTimeout,
success:function(data){
//console.log("ajax success");
common.endTransaction(requestId,1,data);
}
});
}
// sumbit or debug ¸ðµå·Î transaction ó¸®
else if(requestMode == 2 || requestMode == 3) {
let formObj ="";
if(requestFormId){
formObj = document.getElementById(requestFormId);
}else{
formObj = document.forms[0];
}
let iframeObj =formObj.querySelector("page-sumbit-wrapper");
if(!iframeObj){
var obj = document.createElement("div");
obj.setAttribute("id", "page-sumbit-wrapper");
obj.style.display = "none";
obj.innerHTML = "";
formObj.appendChild(obj);
}
let tagRequestId = formObj.querySelector("#requestId");
let tagRequestMode = formObj.querySelector("#requestMode");
let tagRequestTimeout = formObj.querySelector("#requestTimeout");
let tagRequestParam = formObj.querySelector("#requestParam");
// requestId
if(tagRequestId){ formObj.requestId.value = requestId; }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestId");
obj.setAttribute("name", "requestId");
obj.setAttribute("value", requestId);
formObj.appendChild(obj);
}
// requestMode
if(tagRequestMode){ formObj.requestMode.value = requestMode; }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestMode");
obj.setAttribute("name", "requestMode");
obj.setAttribute("value", requestMode);
formObj.appendChild(obj);
}
// tagRequestTimeout
if(tagRequestTimeout){ formObj.requestTimeout.value = requestTimeout; }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestTimeout");
obj.setAttribute("name", "requestTimeout");
obj.setAttribute("value", requestTimeout);
formObj.appendChild(obj);
}
// tagRequestParam
if(tagRequestParam) { formObj.requestParam.value = JSON.stringify(requestParam); }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestParam");
obj.setAttribute("name", "requestParam");
obj.setAttribute("value", JSON.stringify(requestParam));
formObj.appendChild(obj);
}
// submit()
if(requestMode == 2) formObj.target ='iframe'; // submit ¸ðµå
else formObj.target ='debug'; // debug ¸ðµå
formObj.action = requestUrl;
formObj.submit();
}
}
/**
* @title Æ®·£Àè¼Ç Á¾·áÇÔ¼ö
* @functionName endTransaction (CommonClass.php ¿¡¼ È£Ãâ ÇÔ)
* @param pResId Æ®·£Àè¼Ç ¾ÆÀ̵ð
* @param pResCode Æ®·£Àè¼Ç ¼º°ø¿©ºÎ(0:½ÇÆÐ,1:¼º°ø)
* @param pResData ¸®ÅÏ µ¥ÀÌÅÍ
*/
endTransaction(pResId,pResCode,pResData){
// Æ®·£Àè¼ÇÀÌ ¼º°øÀ̸é
if(pResCode >= 1){
let fn = this.gl_transactionData.fn;
if(fn) fn(pResId, pResCode, pResData);
}
// DB¿¡·¯
else if(pResCode == -999){
this.pageLoadingBar("close");
this.pageAlterMsg("DB Error");
}
// Æ®·£Àè¼ÇÀÌ ½ÇÆÐÀÌ¸é ¸Þ½ÃÁö Ãâ·Â
else{
this.pageLoadingBar("close");
this.pageAlterMsg(""+"Transaction Error : "+pResData.error+"");
}
}
/**
* @title ¼¹ö Æ®·£Àè¼Ç ÇÔ¼ö(main Top¿¡¼ »ç¿ë)
* @functionName serTransaction
* @param pParam ÆÄ¶ó¸ÞÅÍ
* {
* requestId : Æ®·£Àè¼Ç ¾ÆÀ̵ð, [ Çʼö ]
* requestUrl : Á¢¼ÓURL, [ Çʼö ]
* requestFormId : FORM ID, [ Çʼö ]
* requestMode : Åë½Å¹æ¹ý, ( 1:ajax¸ðµå[default] / 2:submit¸ðµå / 3:debug¸ðµå )
* requestParam : Àü¼ÛÆÄ¶ó¸ÞÅÍ, ( °´Ã¼{} )
* requestTimeout : Åë½Å TIMEOUT ( ÃÊ´ÜÀ§ : 1000(1ÃÊ) )( »ý·«°¡´É[default:60ÃÊ] )
* }
* @param pFn CALLBACK ÇÔ¼ö
*/
serTransactionTop(pParam, pFn){
let vitalChk = "";
if(!pParam.requestId) vitalChk = "requestId";
else if(!pParam.requestUrl) vitalChk = "requestUrl";
else if(!pParam.requestFormId) vitalChk = "requestFormId";
// Çʼö°ªÀÌ Á¸ÀçÇÏÁö ¾ÊÀ»°æ¿ì ¾Ë¸² Ç¥½Ã
if(vitalChk){
this.pageAlterMsg("Çʼö°ªÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
return;
}
this.gl_transactionDataTop = {};
this.gl_transactionDataTop.fn = pFn;
// transaction ½ÃÀÛ
this.startTransactionTop(pParam);
}
/**
* @title Æ®·£Àè¼Ç ½ÃÀÛÇÔ¼ö(main Top¿¡¼ »ç¿ë)
* @functionName startTransaction
* @param pParam ÆÄ¶ó¸ÞÅÍ
*/
startTransactionTop(pParam){
let paramObj = pParam;
let requestFormId = paramObj.requestFormId;
let requestId = paramObj.requestId;
let requestUrl = paramObj.requestUrl;
let requestParam = paramObj.requestParam;
let requestMode = paramObj.requestMode;
let requestTimeout = paramObj.requestTimeout;
if(this.isNull(requestMode)) requestMode = 1; // 1:ajax¸ðµå[default] / 2:submit¸ðµå / 3:debug¸ðµå
if(this.isNull(requestTimeout)) requestTimeout = 1000*60; // ÃÊ´ÜÀ§[default : 60ÃÊ]
if(typeof(requestParam) != "object") requestParam = {};
// ajax ¸ðµå·Î transaction ó¸®
if(requestMode == 1){
let formObj = document.getElementById(requestFormId);
let jsonParam = {"requestId": requestId, "requestUrl": requestUrl, "requestMode": requestMode, "requestParam": JSON.stringify(requestParam)};
$.ajax({
url:requestUrl,
type:"POST",
data:jsonParam,
dataType:"json",
error:function(jqXHR,textStatus,strError){
//console.log(textStatus, jqXHR);
if(textStatus=="parsererror"){
common.endTransactionTop(requestId,-999,{error:jqXHR.responseText});
}else{
common.endTransactionTop(requestId,0,{error:jqXHR.statusText});
}
},
timeout:requestTimeout,
success:function(data){
//console.log("ajax success");
common.endTransactionTop(requestId,1,data);
}
});
}
// sumbit or debug ¸ðµå·Î transaction ó¸®
else if(requestMode == 2 || requestMode == 3) {
let formObj ="";
if(requestFormId){
formObj = document.getElementById(requestFormId);
}else{
formObj = document.forms[0];
}
let iframeObj =formObj.querySelector("page-sumbit-wrapper");
if(!iframeObj){
var obj = document.createElement("div");
obj.setAttribute("id", "page-sumbit-wrapper");
obj.style.display = "none";
obj.innerHTML = "";
formObj.appendChild(obj);
}
let tagRequestId = formObj.querySelector("#requestId");
let tagRequestMode = formObj.querySelector("#requestMode");
let tagRequestTimeout = formObj.querySelector("#requestTimeout");
let tagRequestParam = formObj.querySelector("#requestParam");
// requestId
if(tagRequestId){ formObj.requestId.value = requestId; }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestId");
obj.setAttribute("name", "requestId");
obj.setAttribute("value", requestId);
formObj.appendChild(obj);
}
// requestMode
if(tagRequestMode){ formObj.requestMode.value = requestMode; }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestMode");
obj.setAttribute("name", "requestMode");
obj.setAttribute("value", requestMode);
formObj.appendChild(obj);
}
// tagRequestTimeout
if(tagRequestTimeout){ formObj.requestTimeout.value = requestTimeout; }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestTimeout");
obj.setAttribute("name", "requestTimeout");
obj.setAttribute("value", requestTimeout);
formObj.appendChild(obj);
}
// tagRequestParam
if(tagRequestParam) { formObj.requestParam.value = JSON.stringify(requestParam); }
else{
let obj = document.createElement("input");
obj.setAttribute("type", "hidden");
obj.setAttribute("id", "requestParam");
obj.setAttribute("name", "requestParam");
obj.setAttribute("value", JSON.stringify(requestParam));
formObj.appendChild(obj);
}
// submit()
if(requestMode == 2) formObj.target ='iframe'; // submit ¸ðµå
else formObj.target ='debug'; // debug ¸ðµå
formObj.action = requestUrl;
formObj.submit();
}
}
/**
* @title Æ®·£Àè¼Ç Á¾·áÇÔ¼ö(main Top¿¡¼ »ç¿ë)
* @functionName endTransaction (CommonClass.php ¿¡¼ È£Ãâ ÇÔ)
* @param pResId Æ®·£Àè¼Ç ¾ÆÀ̵ð
* @param pResCode Æ®·£Àè¼Ç ¼º°ø¿©ºÎ(0:½ÇÆÐ,1:¼º°ø)
* @param pResData ¸®ÅÏ µ¥ÀÌÅÍ
*/
endTransactionTop(pResId,pResCode,pResData){
// Æ®·£Àè¼ÇÀÌ ¼º°øÀ̸é
if(pResCode >= 1){
let fn = this.gl_transactionDataTop.fn;
if(fn) fn(pResId, pResCode, pResData);
}
// DB¿¡·¯
else if(pResCode == -999){
this.pageLoadingBar("close");
this.pageAlterMsg("DB Error");
}
// Æ®·£Àè¼ÇÀÌ ½ÇÆÐÀÌ¸é ¸Þ½ÃÁö Ãâ·Â
else{
this.pageLoadingBar("close");
this.pageAlterMsg(""+"Transaction Error : "+pResData.error+"");
}
}
}