페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

page no.  106987545

Start Release No : 7.0.500.20250724-11 / Update Release No : 7.0.500.20250724-11

작성자 :  이민현  / 검수자 :  이승우


  1. 기능 설명
    i-Portal ActiveX 방식의 
    3D 차트 실행 방식 변경


  2. 사용 방법 : base64 인코딩 후 호출


    /**************************************
    * 버튼 컨트롤이 클릭되는 시점에 발생합니다.
    * * arguments :
    * string Id (Readonly:False) : 컨트롤이름
    * string Text (Readonly:False) : 라벨 값
    **************************************/
    var OnButtonClick = function(sender, args){

    //(downloadURL, width, height, title, minY, maxY, colorSet, colorRatio, trackingText, fontSize, dxZoom)
    chartExecute("http://dlalsgus.us.to:8086/servlet/Download.maf?resourceno=_TEMP_/data.csv&flag=9"
    , 1300, 900, "3D Chart", 0, 2.9, "2", "0:57:108", "Plateaus(x,y,z)\n{0:0} {1:0.000} {2:0}"
    , 0.8, 1.8);


    };


    var chartExecute = function (downloadURL, width, height, title, minY, maxY, colorSet, colorRatio, trackingText, fontSize, dxZoom)
    {
    //var downloadURL = "http://dlalsgus.us.to:8086/servlet/Download.maf?resourceno=_TEMP_/data.csv&flag=9";
    // var payload = {
    // DownloadURL: downloadURL,
    // Width: 1400,
    // Height: 1000,
    // Title: "3D Chart",
    // ManualMinY: 0,
    // ManualMaxY: 2.9,
    // ContourColorSet: "2",
    // ContourColorSetRatio: "0:57:108",
    // TrackingText: "Plateaus(x,y,z)\n{0:0} {1:0.000} {2:0}",
    // FontSizeTrackingCntl: 0.8,
    // DxZoom: 1.8
    // };

    var payload = {
    DownloadURL: downloadURL,
    Width: width,
    Height: height,
    Title: title,
    ManualMinY: minY,
    ManualMaxY: maxY,
    ContourColorSet: colorSet,
    ContourColorSetRatio: colorRatio,
    TrackingText: trackingText,
    FontSizeTrackingCntl: fontSize,
    DxZoom: dxZoom
    };

    var designerFrame = parent.document.getElementById("iGRID_DESIGNER_FRAME");
    if (!designerFrame) {
    designerFrame = document.createElement("iframe");
    designerFrame.id = "iGRID_DESIGNER_FRAME";
    designerFrame.name = "iGRID_DESIGNER_FRAME"; // ← target용 name 필수
    designerFrame.frameBorder = 0;
    designerFrame.width = 0;
    designerFrame.height = 0;
    designerFrame.setAttribute("data-html2canvas-ignore", "true");
    document.body.appendChild(designerFrame);
    }


    // 동적 form 생성
    var form = document.createElement("form");
    form.method = "POST";
    form.target = "iGRID_DESIGNER_FRAME";
    form.action =
    _AUD_.GlobalConfig.CONTEXT_PATH +
    "/viewapp/iportalgate.jsp" +
    "?EXECUTE_TYPE=1" +
    "&DESINGER_TYPE=CHART" +
    "&id=" + encodeURIComponent("VS_TEMPLATE_CD") +
    "&ISNEW=false" +
    "&IAUD_ID=" + encodeURIComponent("EPA_TEMPLATES");


    // hidden input에 JSON 문자열
    var input = document.createElement("input");
    input.type = "hidden";
    input.name = "data";
    input.value = encodeToBase64(JSON.stringify(payload));


    form.appendChild(input);
    document.body.appendChild(form);
    form.submit(); // ← iframe으로 POST 발사
    form.remove(); // cleanup
    }


    var encodeToBase64 = function(str) {
    var uint8Array = new TextEncoder().encode(str);

    var binaryString = '';
    var CHUNK_SIZE = 8192; // 한 번에 처리할 청크 크기

    // 바이트 배열을 작은 청크로 나누어 처리
    for (var i = 0; i < uint8Array.length; i += CHUNK_SIZE) {
    var chunk = uint8Array.subarray(i, i + CHUNK_SIZE);
    binaryString += String.fromCharCode.apply(null, chunk);
    }

    return btoa(binaryString);
    };







기능 정보
  • API Open
  • UI Open
  • Read Only
  • Not Use
  • Hidden
  • Not Recommend
  • 해당 없음
시작 버전 정보
  • 7.0.500.20250724-11

  • 레이블 없음