page no. 106987545
- 기능 설명
i-Portal ActiveX 방식의
3D 차트 실행 방식 변경 사용 방법 : 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);
};
기능 정보 |
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|
시작 버전 정보 |
|