mjon_git/src/main/webapp/js/showModalDialog.js
2023-06-12 11:15:02 +09:00

81 lines
2.0 KiB
JavaScript

/****************************************************************
*
* 파일명 : showModalDialog.js
* 설 명 : showModalDialog 기능을 대체하는 JavaScript
*
* 수정일 수정자 Version Function 명
* ------------ --------- ------------- ----------------------------
* 2014.09.25 Vincent Han 1.0 최초생성
*
*/
// fix for deprecated method in Chrome 37
this.otherParameters = new Array();
this.showModalDialogSupported = true;
this.callbackMethod = null;
if (!window.showModalDialog) {
showModalDialogSupported = false;
window.showModalDialog = function(arg1, arg2, arg3, callback) {
var w;
var h;
var resizable = "no";
var scroll = "no";
var status = "no";
// get the modal specs
var mdattrs = arg3.split(";");
for (i = 0; i < mdattrs.length; i++) {
var mdattr = mdattrs[i].split(":");
var n = mdattr[0];
var v = mdattr[1];
if (n) {
n = n.trim().toLowerCase();
}
if (v) {
v = v.trim().toLowerCase();
}
if (n == "dialogheight") {
h = v.replace("px", "");
} else if (n == "dialogwidth") {
w = v.replace("px", "");
} else if (n == "resizable") {
resizable = v;
} else if (n == "scroll") {
scroll = v;
} else if (n == "status") {
status = v;
} else {
// no-op
}
}
var left = window.screenX + (window.outerWidth / 2) - (w / 2);
var top = window.screenY + (window.outerHeight / 2) - (h / 2);
var targetWin = window.open(arg1, "ShowModalDialog" + arg1, 'toolbar=no, location=no, directories=no, status=' + status + ', menubar=no, scrollbars=' + scroll + ', resizable=' + resizable + ', copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
dialogArguments = arg2;
if (callback != null) {
callbackMethod = callback;
} else {
callbackMethod = null;
}
targetWin.focus();
};
window.getDialogArgumentsInner = function() {
return dialogArguments;
};
window.getCallbackMethodName = function() {
return callbackMethod;
}
}