/*--------------------------------------------------------------------------* * * Editor、Viewer画面起動JavaScript * * *--------------------------------------------------------------------------*/ var SUB_TYPE = 'openParam.'; var ONCLOSE = 'onClose.'; var VIEWER_WIDTH = 1000; var VIEWER_HEIGHT = 700; var EDITOR_WIDTH = 1007; var EDITOR_HEIGHT = 636; var viewer_name = ""; if (editor === undefined) { //editorオブジェクトがない場合 var editor = {}; } if (editor.pub === undefined) { //editor.pubオブジェクトがない場合 editor.pub = {}; } if (editor.util === undefined) { //editor.utilオブジェクトがない場合 editor.util = {}; } //エディタのマッピング if (editor.pub.mapping === undefined) { editor.pub.mapping = ''; } /*--------------------------------------------------------------------------* * * 初期処理 * * *--------------------------------------------------------------------------*/ $(function(){ var T = new Date().getTime(); /** 必要なCSS, JavaScript呼び出し */ $('body').append(''); //if ($.browser.msie) {// upd for jquery3.5.1 if (window.navigator.userAgent.toLowerCase().indexOf('msie') !== -1) { // upd for jquery3.5.1userAgent $('body').append(''); } $('body').append(''); //モーダル側のwindowには以下のJavaScriptを読み込む必要あり(SVDocumentView.jspとか) //$('body').append(''); // Viewerのウィンドウ名を取得 viewer_name = window.name; edt_initialize(); }); var edt_initialize = function() { /** onclickイベントの登録 */ $('.editorOpener,.viewerOpener,.kaiseibunOpener').unbind('click').click(function(event){ //オンロード時にはJavaScriptファイルがまだ読み込まれていない可能性があるためここで行う prepareModalDownload(); //url ※最後のスラッシュの前まで document.URL.match('(^.+/).*'); var path = RegExp.$1; //起動元画面から呼ぶべきAction(PageCodeの判定に使用) ※最後のスラッシュの後ろ $(this).parents('form').attr('action').match('^.+/(.*)'); var currentJSP = RegExp.$1; //各画面の画面IDを保持しているHiddenタグの値 var appl_id = $('#appl-id').val(); //selected id (アンダースコアで区切った二番目が数字のはず) ※dl01_4_btnOpenEditor の「4」の部分 // ※これがなければList内ではないと判断させる $(this).attr('id').match('^.+?_([0-9]+?)_.+'); var selectedIdx = RegExp.$1; //editor or viewer var type = ''; if($(this).hasClass('editorOpener')){ type = 'editor'; }else if($(this).hasClass('viewerOpener')){ type = 'viewer'; }else if($(this).hasClass('kaiseibunOpener')){ type = 'kaiseibun'; } //reiki or gengi etc. var openParam = ''; var subTypes = $(this).attr('class').split(' '); for(var i = 0 ; i < subTypes.length ; i++){ if(subTypes[i].indexOf(SUB_TYPE) >= 0){ openParam = subTypes[i].split('.')[1]; } if(subTypes[i].indexOf(ONCLOSE) >= 0){ var editorClose = subTypes[i].split('.')[1]; } } var param = {'appl-id':appl_id,'currentForEditor':currentJSP, 'selectedIdxForEditor':selectedIdx, 'typeForEditor':type, 'openParam':openParam, 'ccpopup':'true' }; //var url = path + 'OpenEditor.jsf?' + $.param(param); // upd for jquery3.5.1 comment out var url = path + 'OpenEditor.jsf?' + $.param(param, true); // upd for jquery3.5.1 if(type != 'editor'){ var winName = ('subWin' + Math.random()).replace('.', ''); MyWindow.openWindow(url, VIEWER_WIDTH, VIEWER_HEIGHT, 10, null, winName, false).focus(); } else { // editor.util.openModal(url, function () { // $('#' + editorClose).click(); // }, EDITOR_WIDTH, EDITOR_HEIGHT)(); var winName = ('subWin' + Math.random()).replace('.', ''); MyWindow.openWindow(url, EDITOR_WIDTH, EDITOR_HEIGHT, 10, null, winName, false).focus(); } return false; }); }; /* ==================================================================== */ //ビューアーからのエディタオープン /* ==================================================================== */ var openEditor = function (url, post) { prepareModalDownload(); // url += '?' + $.param(post) + '&viewerName=' + viewer_name; // editor.util.openModal(url, function () { // $('#editorClose').click(); // }, EDITOR_WIDTH, EDITOR_HEIGHT)(); // url += '?' + $.param(post); // upd for jquery3.5.1 comment out url += '?' + $.param(post, true); // upd for jquery3.5.1 var winName = ('subWin' + Math.random()).replace('.', ''); MyWindow.openWindow(url, EDITOR_WIDTH, EDITOR_HEIGHT, 10, null, winName, false).focus(); return false; }; /* ==================================================================== */ // ビューアーからのエディタをクローズした際に、onCloseEditor()から呼ばれる処理 /* ==================================================================== */ var closeEditor = function () { // viewer.jsのfunction呼び出し formSubmitAction(contextPath+'/jsp/SVDocumentView', 'form01', 'doAction=closeEditor&appl-id=SC0010'); }; /* ==================================================================== */ // 擬似モーダルでない場合に、ファイルのダウンロードを呼び出し元windowに行わせる準備を行う /* ==================================================================== */ var prepareModalDownload = function () { //自windowがモーダルの場合は準備を行わない if (window.dialogArguments === undefined && !editor.pub.dummymodal && $('#filedownload').length == 0) { //擬似モーダルでない場合は、ファイルのダウンロードを呼び出し元windowに行わせる if (!name) { var url = window.location.href; //IEのnameに使用できないため、.-を削除 var ownName = url.substring(url.lastIndexOf('/') + 1, url.length).replace(/[\.-]/g, '');; } else { var ownName = name; } ownName += '_filedownload'; $('body').append('
'); } };