/**
* @typedef TxFileOption
* @property {string} [sqlId] 요청 SQL.
* @property {string} [action=basic] 요청 action.
* @property {string} fileNm 파일명
* @property {string} [rowDelimiter]
* @property {string} [colDelimiter]
* @property {Object} [param={}]
*/
/**
* 조회된 내용을 인코딩 euc-kr 파일로 생성
*
* @function txFile
* @param {nexacro.Form} form 넥사크로 form.
* @param {TxFileOption} option 옵션
* @memberof $f
*/
export function txFile(form, option) {
if (!option) return;
if (!option.sqlId) {
form.pop.alert("sqlId가 없습니다.");
return;
}
var action = option.action || "basic";
var sqlId = option.sqlId;
var fileNm = option.fileNm;
var rowDelimiter = option.rowDelimiter;
var colDelimiter = option.colDelimiter;
var param = option.param || {};
var brow = form["_ez_virtualWeb"];
if (!brow) {
brow = new WebBrowser();
form.addChild("_ez_virtualWeb", brow);
brow.show();
}
var url = $util.serverUrl + "/virtualText/" + action + "/" + sqlId + "?";
if (fileNm !== undefined) param["_nm"] = fileNm;
if (rowDelimiter !== undefined) param["_rd"] = rowDelimiter;
if (colDelimiter !== undefined) param["_cd"] = colDelimiter;
var sParam = Object.keys(param)
.map(function (v, i, a) {
return v + "=" + param[v];
})
.join("&");
var encodedUrl = encodeURI(url + sParam);
brow.set_url(encodedUrl);
}