에러가 발생 했을때 에러 메세지가 그대로 노출 되는 팝업창의


문구를 변경하고 싶어서 한참 해매다 결국 엠로의 기술지원센터에 문의해서 답변을 받았다.




src/flex/preloads/environments.mxml  파일의 remote 펑션에서


if (!event.isDefaultPrevented()) {

SCAlert.show(em.faultDetail, em.faultString, false, 4, null, function():void {

if(em.faultCode == "1") {

var request:URLRequest = new URLRequest("/");

request.method = URLRequestMethod.POST;

navigateToURL(request, "_self");

}

});

}


이 부분을





if (!event.isDefaultPrevented()) {

/* 서버 연결시 팝업 메세지 변경으로 인한 주석처리

SCAlert.show(em.faultDetail, em.faultString, false, 4, null, function():void {

if(em.faultCode == "1") {

var request:URLRequest = new URLRequest("/");

request.method = URLRequestMethod.POST;

navigateToURL(request, "_self");

}

});

*/ 

// 문구 변경을 위한 추가 

if(em.faultCode == "1"){ //세션타임아웃 

var request:URLRequest = new URLRequest("/"); request.method =                                                 URLRequestMethod.POST; navigateToURL(request, "_self"); }

else{

SCAlert.show("원하는 문구를 이곳에 넣으면 됩니다.","팝업창 제목"); }


}




이렇게 변경 하고 scalert 에 원하는 문구를 넣으면 된다.



개발을 하다보면 날짜에 관련된 것들을 자주 접하게 된다.

컴포넌트에서 날짜를 선택하고 저번달 날짜도 같이 구해서 보내야 한다거나 하는 경우가 있는데

그냥 월만 넘기면 쉽지만 1월의 전월은 12월이고 연도까지 변하게 해야 할 경우 짜증나는 경우가 있다.


Date함수에 SetFullYear 를 써서 날짜를 셋팅 한 다음 나온 값을

다시 구해야할 Date함수에 집어넣고 뽑으면 해당 연월이 출력되게 된다.

여기서 month에 한달전값을 구하는데 -2 를 하고 나온값에서 +1을 하는 이유는 

먼스가 1부터 시작하는게 아니라 0부터 시작하기 때문이다

일단위변환도 같은 방법으로 구현하면 된다.

// 전월, 전전월 구하기 

var year:Number = 2015;

var mon:Number = 5;


 var date1:Number = new Date().setFullYear(year,mon-2); // 셋팅값에 연도와 월을 넣고 월에 -2 를 하여 1달 전셋팅

 var year1:Number = new Date(date1).getFullYear();

 var mon1:Number = new Date(date1).getMonth()+1; 


 var date2:Number = new Date().setFullYear(year,mon-3);  // 먼스에 -2 를 하여 1달 전셋팅

 var year2:Number = new Date(date2).getFullYear(); 

 var mon2:Number = new Date(date2).getMonth()+1; 


// 2015/05/01 과 같은 문자열을 만들기 위해 월이 1자리면 앞에 0을 붙여 준다.

 var _mon1:String = mon1+""; 

 var _mon2:String = mon2+"";


 if(_mon1.length == 1){ 

 _mon1="0"+_mon1;

 } 

 if(_mon2.length == 1){ 

 _mon2="0"+_mon2; 

 } 


 var postDate1:String = year1+"/"+_mon1+"/01";

 var postDate2:String = year2+"/"+_mon2+"/01";


// 잘 나오는지 확인을 해보자 SCAlert는 엠로 프레임워크 기능이니까 일반 플렉스사용자는 그냥 alert를 사용하자

 SCAlert.show(postDate1 +"-----"+ postDate2);


포스팅이 도움이 되셨다면 마우스를 조금만 움직여서 

공감하기를 눌러주세요 블로거에게 큰 힘이 됩니다~! 


개발을 하다보면 디버깅은 필수 요소 입니다.

하지만 엠로에서 제공하는 프레임워크에서는 디버깅이 잘 안되고 있지요...

트레이스로 로그찍어서 확인하는 것도 굉장이 불편하고 디버깅 기능은 적용이 되지 않는 상태 입니다.

매일 alert로 팝업띄워서 확인하는 것도 for문안에 들어가기라도 하는 날엔 ㄷㄷㄷㄷㄷ

그래서 찾다 보니 액션스크립트에서 브라우저 콘솔창에 출력을 할 수 있는 방법을 찾아냈습니다.



방법은 매우 간단 합니다



import flash.external.ExternalInterface;  //임포트 해주구요


ExternalInterface.call("console.log", "할말할말할말");


해주시면 브라우저의 개발자도구 콘솔창에서 텍스트를 확인 할 수 있습니다!




포스팅이 도움이 되셨다면 마우스를 조금만 움직여서 

공감하기를 눌러주세요 블로거에게 큰 힘이 됩니다~! 


amchart
엠차트로 막대그래프를 넣을때 시작점 설정이 잘 되지 않아

퍼센트 비교를 할때 어려움이 많았습니다. 퍼센트는 7:3 인데 실제 그래프 크기는 9:1 로 보이거나 하는 경우가

생길 때가 있어 난감한 경우가 있었는데 아래와 같은 방법으로 Y축의 시작점 설정이 가능합니다

그러나 100% 모든 경우에 해당 하는 것은 아니니 일단 코딩 해보고 안되면 다른 방법을 생각해 봅시다.


<flex mxml>


autogridcount = false

gridcount = 시작값


<actionScript>


var valueAxis = new AmCharts.ValueAxis();
valueAxis.autoGridCount = false; 

valueAxis.gridCount = 50; 



포스팅이 도움이 되셨다면 마우스를 조금만 움직여서 

공감하기를 눌러주세요 블로거에게 큰 힘이 됩니다~! 




+ Recent posts