$mpt

Namespace

$mpt

Description:
  • 자주쓰는 전후처리 함수 모음

Author:
  • 이승갑 (dltmdrkq2@gmail.com)
  • 정민석 (whitn86@gmail.com)

Methods

(static) adjustChildrenLeft(form) → {number}

Description:
  • form 내부 컴포넌트의 left 상대좌표값을 일괄 갱신한다. 상대좌표 대상이 visible false일 경우, 이전 대상을 찾아 세팅한다. 이 때 기준은 taborder로 한다.

Example
var width = $mpt.adjustChildrenLeft(this.div_detail.form);
Parameters:
Name Type Description
form nexacro.FormBase

내부 컴포넌트들의 상대좌표 갱신이 필요한 폼

Returns:

예상되는 form의 새로운 넓이(visbile값이 true인 마지막 컴포넌트중 가장 마지막인 컴포넌트의 left좌표 + 넓이 값)

Type
number

(static) adjustChildrenTop(form) → {number}

Description:
  • form 내부 컴포넌트의 top 상대좌표값을 일괄 갱신한다. 상대좌표 대상이 visible false일 경우, 이전 대상을 찾아 세팅한다. 이 때 기준은 taborder로 한다.

Example
var height = $mpt.adjustChildrenTop(this.div_detail.form);
Parameters:
Name Type Description
form nexacro.FormBase

내부 컴포넌트들의 상대좌표 갱신이 필요한 폼

Returns:

예상되는 form의 새로운 높이(visbile값이 true인 마지막 컴포넌트중 가장 마지막인 컴포넌트의 top좌표 + 높이 값)

Type
number

(static) afterRemoved(obj, e, keys) → {Promise}

Description:
  • 기본형 삭제 후처리 함수, 삭제되었음을 알리는 알럿을 호출 한뒤, 트랜잭션 내역이 있을 경우, 비동기로 값 갱신 처리한다.

Example
this.tit_list_removed = function(obj:nexacro.EzTitlebar, e:nexacro.EzTitlebarEventInfo)
{
  $mpt.afterRemoved(obj, e, ["CD", "UP_CD"]);
};
Parameters:
Name Type Description
obj nexacro.EzTitlebar

이벤트를 가진 titlabar객체

e nexacro.EzTitlebarEventInfo

이벤트(onremoved 이벤트의 e)

keys Array.<string>

PK에 해당하는 칼럼명 리스트

Returns:
Type
Promise

(static) afterSaved(obj, e, keys) → {Promise}

Description:
  • 기본형 저장 후처리 함수, 저장되었음을 알리는 알럿을 호출 한뒤, 비동기로 값 갱신 처리한다.

Example
this.tit_list_onsaved = function(obj:nexacro.EzTitlebar, e:nexacro.EzTitlebarEventInfo)
{	
  $mpt.afterSaved(obj, e, ["CD", "UP_CD"]);
};
Parameters:
Name Type Description
obj nexacro.EzTitlebar

이벤트를 가진 titlabar객체

e nexacro.EzTitlebarEventInfo

이벤트(onsaved 이벤트의 e)

keys Array.<string>

PK에 해당하는 칼럼명 리스트

Returns:
Type
Promise

(static) alertRemoved() → {Promise}

Description:
  • 삭제 후 메시지 알럿, 동일한 메시지 표시를 위해 사용

Example
this.tit_list_onremoved = function(obj:nexacro.EzTitlebar, e:nexacro.EzTitlebarEventInfo)
{	
  $mpt.alertRemoved();
};
Returns:

alert 결과

Type
Promise

(static) alertSaved() → {Promise}

Description:
  • 저장 후 메시지 알럿, 동일한 메시지 표시를 위해 사용

Example
this.tit_list_onsaved = function(obj:nexacro.EzTitlebar, e:nexacro.EzTitlebarEventInfo)
{
  $mpt.alertSaved();
};
Returns:

alert 결과

Type
Promise

(static) appendValue(div, info)

Description:
  • Div의 컴포넌트 중 value값이 있는 항목에 일괄적으로 값을 세팅한다. 이 때, 세팅할 값의 key는 컴포넌트 명칭을 따른다 예를들어 edt_name 에는 NAME이라는 key의 값이 세팅된다.

Example
$mpt.appendValue(this.div_search,{
  "UP_CD" : "0001",
  "CD"    : "00010001", 
});
Parameters:
Name Type Description
div nexacro.Div

값을 일괄 세팅할 컴포넌트들이 있는 div

info Object

세팅할 값 정보

(static) checkIndvdlinfoAgree(idifcsSn, form) → {Promise}

Description:
  • 현재 접속자의 특정 개인정보 동의서 동의항목별 동의상태를 조회한 후, 필수항목이 미동의거나 모든 항목에 명시적 의사를 밝히지 않은 경우 팝업을 호출한다.

Example
$mpt.checkIndvdlinfoAgree([15], this)
.then(ds => { trace(ds.saveXML()); });
Parameters:
Name Type Description
idifcsSn string | Array.<string>

동의서 번호

form nexacro.FormBase

내부 컴포넌트들의 상대좌표 갱신이 필요한 폼

Returns:

성공시 각 동의서 항목별 동의완료여부 데이터셋이 resolve된다.

Type
Promise

(static) checkUpdate(arrDs) → {nexacro.Dataset}

Description:
  • 입력 받은 데이터셋 중, update 상태가 있는 첫 번째 Dataset을 찾아 return한다.

Example
var updatedDs = $mpt.checkUpdate([this.ds_list, this.ds_detail]);
Parameters:
Name Type Description
arrDs Array.<nexacro.Dataset>

변경 여부를 확인할 Dataset 배열

Returns:

변경이 있는 첫 번째 Dataset

Type
nexacro.Dataset

(static) compareDate(compStDt, compStTmnullable, compEdDt, compEdTmnullable, errMessageopt) → {boolean}

Description:
  • 날짜 비교 함수, 시작일-종료일 형태의 입력값일 경우 검색 전 정상입력 확인용으로 사용 조회조건으로 사용할 경우 이용되는 함수입니다. 단순 값 비교가 필요할 경우 $date.checkDateRange를 사용하세요

Example
this.ds_list_canrowposchange = function(obj:nexacro.NormalDataset,e:nexacro.DSRowPosChangeEventInfo)
{
  return $mpt.compareDate(this.cal_stdt,null,this.cal_eddt,null);
};
Parameters:
Name Type Attributes Description
compStDt nexacro.Component

시작일 값을 가지고 있는 컴포넌트, 주로 calender,
값이 누락되었거나 해당 컴포넌트의 값이 undefined일 경우 true를 return합니다.

compStTm nexacro.Component <nullable>

시작시각 값을 가지고 있는 컴포넌트, 주로 calender
값이 누락되었거나 해당 컴포넌트의 값이 undefined일 경우 시작 시각은 00시00분으로 판단합니다.

compEdDt nexacro.Component

종료일 값을 가지고 있는 컴포넌트, 주로 calender,
값이 누락되었거나 해당 컴포넌트의 값이 undefined일 경우 true를 return합니다.

compEdTm nexacro.Component <nullable>

종료시각 값을 가지고 있는 컴포넌트, 주로 calender
값이 누락되었거나 해당 컴포넌트의 값이 undefined일 경우 종료 시각은 23시59분으로 판단합니다.

errMessage string | function <optional>

입력값이 비정상일때 alert으로 띄울 메시지
미입력시 기본메시지가 사용됩니다.

Returns:

변경 수행 여부

Type
boolean

(static) confirmAddRow(obj, e, dataset, msgopt) → {Promise}

Description:
  • 행 추가 전, 변경된 내용이 있는지 확인하고, 변경된 내용이 있다면 해당 내용을 무시하고 새로운 행을 추가할 것인지를 묻는 함수 이 함수는 다음의 두가지 방식으로 사용 가능합니다.

    1. 이벤트 발생객체, 이벤트, 가변적인 수의 Dataset을 입력받는 케이스
    2. 이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지를 입력받는 케이스
Examples
// 이벤트 발생객체, 이벤트, 가변적인 수의 Dataset을 입력받는 케이스
this.tit_list_canadd = function(obj:nexacro.EzTitlebar, e:nexacro.ClickEventInfo)
{
  return $mpt.confirmAddRow(obj,e,this.ds_detail);
};
// 이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지를 입력받는 케이스 
this.tit_list_canadd2 = function(obj:nexacro.EzTitlebar, e:nexacro.ClickEventInfo)
{
  return $mpt.confirmAddRow(obj,e,[this.ds_detail], "수정중인 내용이 사라집니다.");	
};
// 이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지 생성 함수를 입력받는 케이스 
this.tit_list_canadd2 = function(obj:nexacro.EzTitlebar, e:nexacro.ClickEventInfo)
{
  return $mpt.confirmAddRow(obj,e,[this.ds_detail], (ds) => "수정중인 내용이 사라집니다.");
};
Parameters:
Name Type Attributes Description
obj nexacro.EzTitlebar | nexacro.Dataset

변경된 내용을 확인할 titlabar객체(canadd 이벤트의 obj) 또는 행을 추가할 dataset

e nexacro.ClickEventInfo

이벤트(canadd 이벤트의 e)

dataset Array.<nexacro.Dataset>

변경된 내용 여부를 확인할 데이터셋 Dataset들중 하나라도 수정된 내용이 있다면, 저장할 내용이 있는것으로 판단합니다.

msg string | function <optional>

수정된 내용이 있을 경우 Confirm창에 표시할 메시지 함수형일 경우 인수로 수정된 내용이 있는 첫번째 Dataset이 입력됩니다. 미입력시 기본메시지가 나옵니다.

Returns:

변경된 내용이 있는지 여부 또는 confirm의 결과 Promise

Type
Promise

(static) confirmComboChange(obj, e, dataset, msgopt) → {boolean}

Description:
  • 콤보값 변경 전, 특정 Dataset에 변경된 내용이 있는지 확인하고, 변경된 내용이 있다면 해당 내용을 무시하고 행을 변경할 것인지를 묻는 함수 이 함수는 다음의 두가지 방식으로 사용 가능합니다.

    1. 이벤트 발생객체, 이벤트, 가변적인 수의 Dataset을 입력받는 케이스
    2. 이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지를 입력받는 케이스
Examples
//이벤트 발생객체, 이벤트, 가변적인 수의 Dataset을 입력받는 케이스
this.cmb_test_canitemchange = function(obj:nexacro.Combo,e:nexacro.ItemChangeEventInfo)
{	 
	 return $mpt.confirmComboChange(obj,e,this.ds_detail); //Case 1
};
//이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지를 입력받는 케이스 
this.cmb_test_canitemchange = function(obj:nexacro.Combo,e:nexacro.ItemChangeEventInfo)
{
	 return $mpt.confirmComboChange(obj,e,[this.ds_detail], "수정중인 내용이 사라집니다.");
};
//이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지 생성 함수를 입력받는 케이스 
this.cmb_test_canitemchange = function(obj:nexacro.Combo,e:nexacro.ItemChangeEventInfo)
{
	 return $mpt.confirmComboChange(obj,e,[this.ds_detail], (ds) => "수정중인 내용이 사라집니다.");
};
Parameters:
Name Type Attributes Description
obj nexacro.Combo

행 변경을 시도하고자 하는 Combo

e nexacro.ItemChangeEventInfo

변경할 행 정보가 있는 이벤트(canitemchange 이벤트의 e)

dataset Array.<nexacro.Dataset>

변경된 내용 여부를 확인할 데이터셋 Dataset들중 하나라도 수정된 내용이 있다면, 저장할 내용이 있는것으로 판단합니다.

msg string | function <optional>

수정된 내용이 있을 경우 Confirm창에 표시할 메시지, 함수형일 경우 인수로 수정된 내용이 있는 첫번째 Dataset이 입력됩니다. 미입력시 기본메시지가 나옵니다.

Returns:

변경 수행 여부

Type
boolean

(static) confirmRemove(comp, confirmMessageopt, nullable, alertMessageopt, nullable) → {Promise}

Description:
  • 삭제 전, 삭제 여부를 묻는 함수

Examples
$mpt.confirmRemove(this.ds_list);
$mpt.confirmRemove(this.ds_list, "삭제하시겠습니까?", "삭제할 대상이 없습니다.");
Parameters:
Name Type Attributes Description
comp nexacro.Dataset | nexacro.EzListCheckBox | nexacro.EzTitlebar

삭제할 내용이 있는 Dataset 또는 삭제할 내용이 있는 컴포넌트의 EzListCheckBox 객체 또는 EzTitlebar Dataset을 입력받을 경우 Dataset의 현재 rowpostion의 행을 삭제 시도합니다(단건) EzListCheckBox을 입력받을 경우 EzListCheckBox로 체크된 행들을 삭제 시도합니다(다건) EzTitlebar을 입력받을 경우, EzTitlebar의 내부 EzListCheckBox를 이용합니다. EzTitlebar가 EzListCheckBox를 가지고 있지 않을 경우, 바인딩된 Dataset을 이용합니다.

confirmMessage string | function <optional>
<nullable>

삭제 대상이 있을 경우 Confirm창에 표시할 메시지, 함수형일 경우 인수로 삭제 대상 행 수가 입력됩니다. 미입력시 기본메시지가 나옵니다.

alertMessage string | function <optional>
<nullable>

삭제 대상이 없을 경우 Alert창에 표시할 메시지. 미입력시 기본메시지가 나옵니다.

Returns:

삭제할 내용이 있는지 여부 또는 confirm의 결과 Promise

Type
Promise

(static) confirmRowChange(obj, e, dataset, msgopt) → {boolean}

Description:
  • 행 변경 전, 변경된 내용이 있는지 확인하고, 변경된 내용이 있다면 해당 내용을 무시하고 행을 변경할 것인지를 묻는 함수 이 함수는 다음의 두가지 방식으로 사용 가능합니다.

    1. 이벤트 발생객체, 이벤트, 가변적인 수의 Dataset을 입력받는 케이스
    2. 이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지를 입력받는 케이스
Examples
//이벤트 발생객체, 이벤트, 가변적인 수의 Dataset을 입력받는 케이스
this.ds_list_canrowposchange = function(obj:nexacro.NormalDataset,e:nexacro.DSRowPosChangeEventInfo)
{
  return $mpt.confirmRowChange(obj,e,this.ds_detail);
};
//이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지를 입력받는 케이스 
this.ds_list_canrowposchange = function(obj:nexacro.NormalDataset,e:nexacro.DSRowPosChangeEventInfo)
{
 return $mpt.confirmRowChange(obj,e,[this.ds_detail],"수정중인내용이 사라집니다.");
};
//이벤트 발생객체, 이벤트, Dataset의 배열, 컨펌메시지 생성 함수를 입력받는 케이스 
this.ds_list_canrowposchange = function(obj:nexacro.NormalDataset,e:nexacro.DSRowPosChangeEventInfo)
{
 return $mpt.confirmRowChange(obj,e,[this.ds_detail],(ds) => "수정중인내용이 사라집니다.");
};
Parameters:
Name Type Attributes Description
obj nexacro.Grid | nexacro.Dataset

행 변경을 시도하고자 하는 Dataset 또는 해당 Dataset이 바인딩된 Grid

e nexacro.DSRowPosChangeEventInfo

변경할 행 정보가 있는 이벤트(canrowposchange 이벤트의 e)

dataset Array.<nexacro.Dataset>

변경된 내용 여부를 확인할 데이터셋 Dataset들중 하나라도 수정된 내용이 있다면, 저장할 내용이 있는것으로 판단합니다.

msg string | function <optional>

수정된 내용이 있을 경우 Confirm창에 표시할 메시지, 함수형일 경우 인수로 수정된 내용이 있는 첫번째 Dataset이 입력됩니다. 미입력시 기본메시지가 나옵니다.

Returns:

변경 수행 여부

Type
boolean

(static) confirmSave(comps, validationopt, confirmMessageopt, alertMessageopt) → {Promise}

Description:
  • 저장 전, 저장할 내용이 있는지, 저장할 내용이 있다면 모두 적합한 데이터인지 확인한 뒤, 저장할 것인지 여부를 묻는 함수 이 함수는 다음의 두가지 방식으로 사용 가능합니다.

    1. 가변적인 수의 Dataset, EzValidator, EzValidation을 인자로 호출하는 케이스
    2. Dataset배열, EzValidator또는 EzValidation의 배열, 저장확인메시지, 저장대상없음메시지를 인자로 호출하는 케이스
Examples
//가변적인 수의 Dataset, EzValidator, EzValidation을 인자로 호출하는 케이스
$mpt.confirmSave(this.ds_list,this.validator);
//Dataset배열, EzValidator또는 EzValidation의 배열, 저장확인메시지, 저장대상없음메시지를 인자로 호출하는 케이스
$mpt.confirmSave([this.ds_list], [this.validator], "저장하시겠습니까?", "저장할 데이터가 없습니다.");
//Dataset배열, EzValidator또는 EzValidation의 배열, 저장확인메시지, 저장대상없음메시지 생성함수를 인자로 호출하는 케이스
$mpt.confirmSave([this.ds_list], [this.validator], () => "저장하시겠습니까?", () => "저장할 데이터가 없습니다.");
Parameters:
Name Type Attributes Description
comps Array.<nexacro.Dataset>

검증할 컴포넌트 또는 데이터셋의 배열 입력된 Dataset들중 하나라도 수정된 내용이 있다면, 저장할 내용이 있는것으로 판단합니다.

validation Array.<(EzValidator|EzValidation)> <optional>

유효성 여부를 확인할 수 있는 EzValidator 객체의 리스트 입력된 EzValidator 및 EzValidation이 모두 유효성 검증에 통과하였을 경우에만 유효한 데이터로 판단합니다.

confirmMessage string | function <optional>

저장가능할 경우 Confirm창에 표시할 메시지,

alertMessage string | function <optional>

저장대상이 없을 경우 Alert창에 표시할 메시지

Returns:

저장할 내용이 있는지, 모든 데이터가 유효한지 여부 또는 confirm의 결과 Promise

Type
Promise

(static) confirmSearch(ds, msgopt, nullable) → {Promise}

Description:
  • 검색 전 수정된 내용이 있는지 확인 후, 내용이 있다면 수정중인 내용을 무시할 것인지 여부를 묻는 함수 이 함수는 다음의 두가지 방식으로 사용 가능합니다.

    1. 가변적인 수의 Dataset을 인자로 호출하는 케이스
    2. Dataset배열, 저장확인 메시지를 인자로 호출하는 케이스
Examples
//가변적인 수의 Dataset을 인자로 호출하는 케이스
$mpt.confirmSearch(this.ds_list,this.ds_detail);
//Dataset배열, 저장확인 메시지를 인자로 호출하는 케이스
$mpt.confirmSearch([this.ds_list, this.ds_detail], "수정중인 내용이 있습니다.");
//Dataset배열, 저장확인 메시지생성 함수를 인자로 호출하는 케이스
$mpt.confirmSearch([this.ds_list, this.ds_detail], (ds) => "수정중인 내용이 있습니다.");
Parameters:
Name Type Attributes Description
ds Array.<nexacro.Dataset>

수정된 내용이 있는지 여부를 확인할 Dataset 수정된 내용이 있는 Dataset이 하나라도 있다면 수정된 내용이 있다고 판단합니다.

msg string | function <optional>
<nullable>

수정된 내용이 있을 경우 Confirm창에 표시할 메시지, 함수형일 경우 인수로 수정된 내용이 있는 첫번째 Dataset이 입력됩니다. 미입력시 기본메시지가 나옵니다.

Returns:

수정 된 내용이 하나라도 있는지 여부 또는 confirm의 결과 Promise

Type
Promise

(static) findRememRow(obj, keys)

Description:
  • 저장/삭제 전 마지막으로 기억하고 있는 행을 찾는다.

Example
this.tit_list_onsaved = function(obj:nexacro.EzTitlebar, e:nexacro.EzTitlebarEventInfo)
{	
  return $mpt.findRememRow(obj, ["CD", "UP_CD"]);
};
Parameters:
Name Type Description
obj nexacro.EzTitlebar

이벤트를 가진 titlabar객체

keys Array.<string>

PK에 해당하는 키 리스트

(static) reloadData(obj, keys) → {Promise}

Description:
  • 저장/삭제 후 값 갱신 및, 마지막 행을 찾아가는 함수

Example
this.tit_list_onsaved = function(obj:nexacro.EzTitlebar, e:nexacro.EzTitlebarEventInfo)
{
	 $mpt.reloadData(obj, ["CD", "UP_CD"]);
};
Parameters:
Name Type Description
obj nexacro.EzTitlebar

이벤트를 가진 titlabar객체

keys Array.<string>

PK에 해당하는 키 리스트

Returns:
Type
Promise

(static) removeDeletedTargetFiles(dataset, tableNm, columns, actionopt, formopt)

Description:
  • dataset의 내용중 삭제된 row들에 해당하는 파일들을 일괄 삭제한다.

Example
$mpt.removeDeletedTargetFiles(this.ds_list, "TBL_TARGET", ["ID"], "basic", this);
Parameters:
Name Type Attributes Default Description
dataset nexacro.Dataset

삭제된 값이 있는 dataset

tableNm string

삭제할 파일들의 target

columns Array.<string>

dataset의 PK칼럼명칭 리스트

action string <optional>
"basic"

삭제에 사용할 trasaction의 action명

form nexacro.FormBase <optional>

삭제에 사용할 trasaction의 form

(static) searchIndvdlinfoAgreeDetail(idifcsSn, param, form) → {Promise}

Description:
  • 현재 접속자의 특정 개인정보 동의서 동의항목별 동의상태를 조회한다

Example
$mpt.searchIndvdlinfoAgreeDetail([15], {}, this)
.then(ds => { trace(ds.saveXML()); });
Parameters:
Name Type Description
idifcsSn string | Array.<string>

동의서 번호

param object

실행 쿼리에 추가로 보낼 파라미터

form nexacro.FormBase

내부 컴포넌트들의 상대좌표 갱신이 필요한 폼

Returns:

성공시 동의서 항목별 동의완료여부 데이터셋이 resolve된다.

Type
Promise

(static) searchIndvdlinfoAgreeInfo(idifcsSn, param, form) → {Promise}

Description:
  • 현재 접속자의 특정 개인정보 동의서 동의 여부를 조회합니다.

Example
$mpt.searchIndvdlinfoAgreeInfo([15], {}, this)
.then(ds => { trace(ds.saveXML()); });
Parameters:
Name Type Description
idifcsSn string | Array.<string>

동의서 번호

param object

실행 쿼리에 추가로 보낼 파라미터

form nexacro.FormBase

내부 컴포넌트들의 상대좌표 갱신이 필요한 폼

Returns:

성공시 동의서별 동의완료여부 데이터셋이 resolve된다.

Type
Promise

(static) setFixedOption(fixables, option)

Description:
  • Components들의 enable값을 일괄 세팅한다.

Example
$mpt.setFixedOption([this.cmb_dept, this.edt_userNm], true);
$mpt.setFixedOption([this.cmb_dept, this.edt_userNm], [ "DEPT", "USER_NM" ]);
$mpt.setFixedOption([this.cmb_dept, this.edt_userNm], "DEPT,USER_NM");
Parameters:
Name Type Description
fixables Array.<nexacro.Component>

enable 제어할 컴포넌트 Array

option boolean | Array.<string> | string

enable 여부, boolean값의 경우 일괄 enable처리함(true일경우 enable false), String이나 String[]의경우 해당 칼럼명에 해당하는 컴포넌트들만 enable false처리

(static) setReactiveMask(edt, dsnullable, type, doHidingopt)

Description:
  • 특정 Edit에 입력중에는 일반 입력, 입력완료후에 mask가 적용되도록 한다.
    전화번호 등 mask가 edit의 값에 따라 동적으로 구성되어야 하는 경우 사용합니다.

Example
$mpt.setReactiveMask(this.Edit00, this.ds_list, "phone");
Parameters:
Name Type Attributes Description
edt nexacro.Edit

마스킹 처리할 Edit

ds nexacro.Dataset <nullable>

마스킹 처리할 Edit에 바인딩 하고있는 dataset

type string

마스킹 타입 $util.mask에서 지원가능한 타입으로 설정. 설정 가능 타입은 여기에서 확인 가능합니다.

doHiding boolean <optional>

마스킹 생성시 일부 숨김 추가 여부