this.fnCompsEnable = function(oForm, bEnable, sExcept)
{
	var oComps = oForm.components;
	//if(bEnable) return;
	
	for (var i = 0; i < oComps.length; i++) {	
		if (oComps[i].readonly || sExcept.indexOf(oComps[i].name) > -1) {
			continue;
		}
		
		if (oComps[i] instanceof nexacro.Edit ||
			oComps[i] instanceof nexacro.MaskEdit ||
		    oComps[i] instanceof nexacro.Combo ||
			oComps[i] instanceof nexacro.Calendar) 
		{
			oComps[i].set_readonly(!bEnable);
			
			if (bEnable) continue;
			
			oComps[i].set_border("1px solid #9c9c9c");
			oComps[i].set_autoselect(true);
		}
		
		if (oComps[i] instanceof nexacro.CheckBox ||
		    oComps[i] instanceof nexacro.Radio) 
		{
			oComps[i].set_readonly(!bEnable);
		}
		
		if (oComps[i] instanceof nexacro.Button) 
		{
			oComps[i].set_enable(bEnable);
		}		
		
		if (oComps[i] instanceof nexacro.Div) 
		{
			this.fnCompsEnable(oComps[i].form, bEnable, sExcept);
		}
	}
}

var sExcept = "btnNext_01, btnDetail"; 
this.fnCompsEnable(this, false, sExcept); sExcept에 적힌 component name과 동일한 경우에는 bEnable의 반대값을 적용해주는 형태이다. 

무수히 많은 component enable을 여러 줄을 쓰지 않고 sExcept에 string 형태로 전달만 하면된다는 것이 장점이다.

 

 

 

'Web' 카테고리의 다른 글

Nexacro Dataset CRUD 정리  (0) 2020.06.18
Nexacro Div 정렬 Function  (0) 2020.06.18
this.fnDivAlign = function() 
{	
	var oComp = this.components;
	var compLength = this.components.length;
	var div_list = [];
	var div_idx = 0; 
	var interval = 20; 
	var top = 0;

	for (var i=0; i<compLength; i++) {
		if (oComp[i] instanceof nexacro.Div) {
			if (div_idx == 0) top = oComp[i].top;
			div_idx++;

			if (oComp[i].visible) {
				div_list.push(oComp[i].id);

				if (div_list.length != 1) {
					top = nexacro.toNumber(top) + 
					nexacro.toNumber(oComp[div_list[div_list.length-2]].height) +
					nexacro.toNumber(interval);
				}

				oComp[div_list[div_list.length-1]].set_top(top);
			}
		}
	}
	
	this.resetScroll();
}

Nexacro로 동적 페이지를 만들어야 할 때, div를 보통 많이 이용한다.

 

전체 components를 가지고 반복문을 돌려서 div가 확인될 때마다 해당 div를 이전 div에서 interval 간격만큼 이동시키는 function이다. 처음 div 동적 페이지를 만들때는 [this.div09.set_top("div03:20px");]와 같이 개별 설정을 해주었는데 공통 function을 만드는 능력은 확실히 중요한 것 같다..

 

근데 Nexacro가 너무 자기 맘대로라 문제가 너무 많은데 이거 언제까지 써야하나 싶다.

회사에서 무언갈 했는데 이걸 어떻게 기록으로 남겨야할진 모르겠고...하여 다음과 같이 블로그에 작성을 한다.

너무 많이 쓸 순 없으니 그건 그거대로 또 문제라서 걱정이다..

'Web' 카테고리의 다른 글

Nexacro Dataset CRUD 정리  (0) 2020.06.18
Nexacro Components 제어 Function  (0) 2020.06.18
google photo의 어시스턴트는 예전에 찍었던 사진들을 다시 보여주는 기능이 있다.

기억을 위해 사진을 찍지만 찍어놓고 묵혀두기만 하다보니 참 유용한 기능이라고 생각한다.


충주의 어느 작은 미용실에서 만났던 강아지이다.

펌을 하고 있었는데 강아지가 자꾸 무릎 위에 앉을려고 했다.

어렸을 때는 개를 참 무서워했는데 나이를 먹다보니 나는 개들한테 인기가 많다는 것을 알았다.

어렸을 때는 개가 쫒아오는게 그저 무서웠던거지만 나이가 먹고 작은 개들에게 무서움을 느끼지 않게 되면서 보니 개들이 나한테

그 때 찍었던 사진들이다.

'호랑이 담배피던 시절에' 카테고리의 다른 글

포트폴리오(취업 이전)  (0) 2021.06.10
2014.03 ~ 2014. 06 2D그래픽디자인  (2) 2018.04.19
2011.04.04.  (0) 2018.03.26
[Prezi] CG를 꿈꾸다  (0) 2018.03.26

+ Recent posts