1/* 2* Copyright (c) 2017 Ministry of Internal Affairs and Communications 3* All rights reserved. 4*/ 5 6/** 7 * SC03 ãã¿ã³å¶å¾¡é¨å 8 * ç»é¢ã®ãã¿ã³æ¼ä¸æã®æ¯ãèããå¶å¾¡ããé¨å 9 */ 10 11/** 12 * ã³ã³ããã¹ããã¹ 13 * 14 * @type {string} 15 */ 16var contextPath = $("meta[name='contextPath']").attr("content"); 17 18// var waitingMessageãå¿ è¦ã¨ãªãããå®ã¨æ°ã§åãæ¿ãããããããã§ã¯å®ç¾©ãã¦ããªãã 19// ãã®æ©è½ãå©ç¨ããå ´åã¯ããã®JSãèªã¿è¾¼ã¾ããåã«var waitingMessageãå®ç¾©ããã㨠20// æ³å®ã¨ãã¦ã¯å ±éã®ããããã¡ã¤ã«ã§ãã®JSã®èªã¿è¾¼ã¿å®ç¾©ã®ç´åã§var waitingMessageãå®ç¾©ãããæ³å®ã 21 22/** 23 * ã¤ãã³ããã³ãã©å¼ã³åºãæã«å¼ã³åºãããFunctionã®é çªãè¦å®ã 24 * ãoriginalãã¯ãã¤ãã³ããã³ãã©ã«å ã ç»é²ããã¦ããFunctionãå¼ã³åºãããã 25 * 26 * @type {Array.<string>} 27 */ 28var funcOrder = [ 'uploadCheck', 'first', 'applyFormat_unformat', 'before', 'original', 'after', 'last', 'applyFormat_format', 'focus_remove' ]; 29 30/** 31 * ã¤ãã³ããã³ãã©ã«ç»é²ããã¦ããFunctionã®åå¾ã«å¥ã®Functionãç»é²<br> 32 * ä¾ãã°ã 33 * <p> 34 * funcOrder = ['first', 'original', 'last']; 35 * </p> 36 * ã¨å®ç¾©ããã¦ããã¨ããããã®å ´åã«ã 37 * <p> 38 * interceptEventhandler('click', 'first', $('.target'), firstFunction) 39 * </p> 40 * ã¨å¼ã³ã ãããå ´åãã¹ã¿ã¤ã«ã¯ã©ã¹ã«ãtargetããæå®ãããè¦ç´ ã®ãonclickãã¤ãã³ããã³ãã©å¼ã³ã ãããéã« 41 * firstFunctionãå ã ç»é²ããã¦ããããã¦ããFunctionã®é ã§Functionãå®è¡ããã 42 * 43 * @param {string} pointcut 44 * Functionãå·®ãè¾¼ãé çªãæå®ãfuncOrderã§è¦å®ããé çªã®ä½ãããæå® 45 * @param {Array.<obuject>} elements 46 * Functionãå·®ãè¾¼ãjQueryãªãã¸ã§ã¯ã 47 * @param {function} func 48 * å·®ãè¾¼ãFunctionãªãã¸ã§ã¯ããæå® 49 */ 50function interceptEventhandler(pointcut, elements, func) { 51 "use strict"; 52 readyIntercept(elements); 53 $(elements).each(function() { 54 $(this).data(pointcut, func); 55 }); 56} 57 58/** 59 * interceptEventhandlerãæå¹ç¶æ ã«ããã 60 * 61 * @param {Array.<Object>} elements 62 * Functionãå·®ãè¾¼ãjQueryãªãã¸ã§ã¯ã 63 */ 64function readyIntercept(elements) { 65 "use strict"; 66 $(elements).each(function() { 67 var applyed = $(this).data('applyed'); 68 if (applyed !== true) { 69 var original = this.onclick; 70 $(this).data('applyed', true); 71 $(this).data('original', original); 72 this.onclick = doExecute; 73 } 74 }); 75} 76 77/** 78 * interceptEventhandlerã§ç»é²ããFunctionãé ã«å¦çãã 79 */ 80function doExecute() { 81 "use strict"; 82 var target = this; 83 $.each(funcOrder, function(index, value) { 84 var func = $(target).data(value); 85 var result = true; 86 if (typeof func === 'function') { 87 result = func.call(target, target); 88 return result; 89 } 90 }); 91} 92 93/** 94 * ãWaitç»é¢è¡¨ç¤ºããå¶å¾¡ãã 95 */ 96function wait() { 97 "use strict"; 98 $.blockUI({ 99 fadeIn : 0, 100 fadeOut : 0, 101 overlayCSS : { 102 backgroundColor : '#000000', 103 opacity : 0.3 104 }, 105 css : { 106 color : '#FFFFFF', 107 height : '200px', 108 width : '200px', 109 left : 'calc(50% - 100px)', 110 top : '25%', 111 border : '1px solid ' + waitingColor, 112 background : '#FFFFFF' 113 }, 114 message : waitingMessage 115 }); 116} 117 118/** 119 * ãã¿ã³ãç¡å¹åããå¦ç 120 * 121 * @param {Object} element ã¯ãªãã¯ããããã¿ã³ã®DOMè¦ç´ 122 */ 123function disableButton(element) { 124 "use strict"; 125 var hiddenElement; 126 if(element.tagName.toUpperCase() === 'INPUT') { 127 hiddenElement = $(element).clone().prop('type', 'hidden')[0]; 128 }else{ 129 hiddenElement = "<input type='hidden' name='" + element.name + "' value='" + element.value + "'>"; 130 } 131 $(element).after($(hiddenElement)); 132 $('input[type="button"], input[type="submit"], button[type="submit"]').prop("disabled", true); 133} 134 135/** 136 * ãã©ã¼ã«ã¹ãå¤ãå¦ç 137 * 138 * @param {Object} element ãã©ã¼ã«ã¹ãå¤ã対象ã®è¦ç´ ã®DOMè¦ç´ 139 */ 140function focusRemove(element) { 141 $(element).blur(); 142} 143 144/** 145 * ãã·ã§ã¼ãã«ãããã¼å¶å¾¡ããæå¹ã«ããã 146 */ 147function disableShortcut() { 148 "use strict"; 149 $('input, textarea, select').addClass('mousetrap'); 150 Mousetrap.bind([ "f5","ctrl+f5"], function(e) { 151 e.preventDefault(); 152 });
153 154} 155 156/** 157 * ãã¼ãå®äºå¾ã®ã¤ãã³ãè¨å®å¦çãè¡ãã 158 */ 159$(document).ready(function() { 160 "use strict"; 161 disableShortcut(); 162 163 var disabledButtonTarget = $('input[type="submit"], input[type="button"], button[type="submit"]').not('.nodisabled'); 164 interceptEventhandler('after', disabledButtonTarget, disableButton); 165 166 var waitTarget = $('input[type="submit"], input[type="button"], button[type="submit"]').not('.nowait'); 167 interceptEventhandler('last', waitTarget, wait); 168 169 // ç»é¢ãåãæ¿ããéã®ã¤ãã³ã 170 $(window).on("beforeunload", function(e) { 171 $.unblockUI 172 }); 173 174 var removeFocusInputTarget = $('input[type="submit"], input[type="button"], button[type="submit"]').filter('.nodisabled'); 175 interceptEventhandler('focus_remove', removeFocusInputTarget, focusRemove); 176 177 var removeFocusAnchorTarget = $('a'); 178 interceptEventhandler('focus_remove', removeFocusAnchorTarget, focusRemove); 179 180});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.