Repository: incubator-freemarker-online-tester
Updated Branches:
  refs/heads/master 5dab33069 -> 7b46afe22


removed the jquery plugin files from source and license and used the same from 
cdn


Project: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/commit/efa15938
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/tree/efa15938
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/diff/efa15938

Branch: refs/heads/master
Commit: efa15938720edc71b3a9a7597a752742ca2b8fce
Parents: 5dab330
Author: Pradeep Murugesan <[email protected]>
Authored: Fri Apr 7 09:45:17 2017 +0200
Committer: Pradeep Murugesan <[email protected]>
Committed: Fri Apr 7 09:45:35 2017 +0200

----------------------------------------------------------------------
 LICENSE                                         |  46 +-
 src/main/resources/assets/css/main.css          |   7 +
 src/main/resources/assets/js/autosize.min.js    |   6 -
 .../resources/assets/js/jquery.autosize.min.js  |   6 -
 src/main/resources/assets/js/jquery.blockUI.js  | 620 -------------------
 src/main/resources/view/freemarker-online.ftl   |   8 +-
 6 files changed, 13 insertions(+), 680 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/blob/efa15938/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 325dd5f..6eded96 100644
--- a/LICENSE
+++ b/LICENSE
@@ -220,48 +220,4 @@
        gradlew
        gradlew.bat
 
-  =========================================================================
-
-   src/main/resources/assets/js/autosize.min.js
-   src/main/resources/assets/js/jquery.autosize.min.js
-
-   The MIT License (MIT)
-
-   Copyright (c) 2015 Jack Moore
-
-   Permission is hereby granted, free of charge, to any person obtaining a
-   copy of this software and associated documentation files (the "Software"),
-   to deal in the Software without restriction, including without limitation
-   the rights to use, copy, modify, merge, publish, distribute, sublicense,
-   and/or sell copies of the Software, and to permit persons to whom the
-   Software is furnished to do so, subject to the following conditions:
-
-   The above copyright notice and this permission notice
-   shall be included in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-   =========================================================================
-
-    src/main/resources/assets/js/jquery.blockUI.js
-    Copyright © 2007-2013 M. Alsup.
-
-    The BlockUI plugin is dual licensed under the MIT and GPL licenses.
-
-    You may use either license. The MIT license is recommended for most
-    projects because it is simple and easy to understand and it places almost
-    no restrictions on what you can do with the plugin.
-
-    If the GPL suits your project better you are also free to use the plugin
-    under that license.
-
-    You do not have to do anything special to choose one license or the other
-    and you don't have to notify anyone which license you are using. You are
-    free to use the BlockUI plugin in commercial projects as long as the
-    copyright header is left intact.
\ No newline at end of file
+   =========================================================================
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/blob/efa15938/src/main/resources/assets/css/main.css
----------------------------------------------------------------------
diff --git a/src/main/resources/assets/css/main.css 
b/src/main/resources/assets/css/main.css
index 5dc0837..ba1fc9b 100644
--- a/src/main/resources/assets/css/main.css
+++ b/src/main/resources/assets/css/main.css
@@ -131,3 +131,10 @@ textarea.source-code {
     display: inline-block;
                padding-right: 1em;     
 }
+
+.forkMeOnGithub {
+    position: absolute;
+    top: 0;
+    right: 0;
+    border: 0;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/blob/efa15938/src/main/resources/assets/js/autosize.min.js
----------------------------------------------------------------------
diff --git a/src/main/resources/assets/js/autosize.min.js 
b/src/main/resources/assets/js/autosize.min.js
deleted file mode 100644
index 98138c9..0000000
--- a/src/main/resources/assets/js/autosize.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
-       Autosize 3.0.8
-       license: MIT
-       http://www.jacklmoore.com/autosize
-*/
-!function(e,t){if("function"==typeof 
define&&define.amd)define(["exports","module"],t);else if("undefined"!=typeof 
exports&&"undefined"!=typeof module)t(exports,module);else{var 
o={exports:{}};t(o.exports,o),e.autosize=o.exports}}(this,function(e,t){"use 
strict";function o(e){function t(){var 
t=window.getComputedStyle(e,null);"vertical"===t.resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),u="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),i()}function
 o(t){var 
o=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=o,v=t,l&&(e.style.overflowY=t),n()}function
 n(){var 
t=window.pageYOffset,o=document.body.scrollTop,n=e.style.height;e.style.height="auto";var
 i=e.scrollHeight+u;return 
0===e.scrollHeight?void(e.style.height=n):(e.style.height=i+"px",document.documentElement.scrollTop=t,void(document.body.scrollTop=o))}function
 i(){var t=e.style.height;n();va
 r 
i=window.getComputedStyle(e,null);if(i.height!==e.style.height?"visible"!==v&&o("visible"):"hidden"!==v&&o("hidden"),t!==e.style.height){var
 
r=document.createEvent("Event");r.initEvent("autosize:resized",!0,!1),e.dispatchEvent(r)}}var
 r=void 0===arguments[1]?{}:arguments[1],d=r.setOverflowX,s=void 
0===d?!0:d,a=r.setOverflowY,l=void 
0===a?!0:a;if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!e.hasAttribute("data-autosize-on")){var
 
u=null,v="hidden",f=function(t){window.removeEventListener("resize",i),e.removeEventListener("input",i),e.removeEventListener("keyup",i),e.removeAttribute("data-autosize-on"),e.removeEventListener("autosize:destroy",f),Object.keys(t).forEach(function(o){e.style[o]=t[o]})}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",f),"onpropertychange"in
 e&&"oninput"in 
e&&e.addEventListener("keyup",i),window.addEventListener("resize",i),e.addEventL
 
istener("input",i),e.addEventListener("autosize:update",i),e.setAttribute("data-autosize-on",!0),l&&(e.style.overflowY="hidden"),s&&(e.style.overflowX="hidden",e.style.wordWrap="break-word"),t()}}function
 n(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName){var 
t=document.createEvent("Event");t.initEvent("autosize:destroy",!0,!1),e.dispatchEvent(t)}}function
 i(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName){var 
t=document.createEvent("Event");t.initEvent("autosize:update",!0,!1),e.dispatchEvent(t)}}var
 r=null;"undefined"==typeof window||"function"!=typeof 
window.getComputedStyle?(r=function(e){return e},r.destroy=function(e){return 
e},r.update=function(e){return e}):(r=function(e,t){return 
e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return 
o(e,t)}),e},r.destroy=function(e){return 
e&&Array.prototype.forEach.call(e.length?e:[e],n),e},r.update=function(e){return
 e&&Array.prototype.forEach.call(e.length?e:[e],i),e}),t.exports=r});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/blob/efa15938/src/main/resources/assets/js/jquery.autosize.min.js
----------------------------------------------------------------------
diff --git a/src/main/resources/assets/js/jquery.autosize.min.js 
b/src/main/resources/assets/js/jquery.autosize.min.js
deleted file mode 100644
index 5c764dc..0000000
--- a/src/main/resources/assets/js/jquery.autosize.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
-       Autosize 1.18.17
-       license: MIT
-       http://www.jacklmoore.com/autosize
-*/
-!function(e){var 
t,o={className:"autosizejs",id:"autosizejs",append:"\n",callback:!1,resizeDelay:10,placeholder:!0},i='<textarea
 tabindex="-1" style="position:absolute; top:-999px; left:0; right:auto; 
bottom:auto; border:0; padding: 0; -moz-box-sizing:content-box; 
-webkit-box-sizing:content-box; box-sizing:content-box; word-wrap:break-word; 
height:0 !important; min-height:0 !important; overflow:hidden; transition:none; 
-webkit-transition:none; 
-moz-transition:none;"/>',a=["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","whiteSpace"],n=e(i).data("autosize",!0)[0];n.style.lineHeight="99px","99px"===e(n).css("lineHeight")&&a.push("lineHeight"),n.style.lineHeight="",e.fn.autosize=function(i){return
 
this.length?(i=e.extend({},o,i||{}),n.parentNode!==document.body&&e(document.body).append(n),this.each(function(){function
 o(){var 
t,o=window.getComputedStyle?window.getComputedStyle(u,null):null;o?(t=parseFloat(o.width),("border-box
 
"===o.boxSizing||"border-box"===o.webkitBoxSizing||"border-box"===o.mozBoxSizing)&&e.each(["paddingLeft","paddingRight","borderLeftWidth","borderRightWidth"],function(e,i){t-=parseFloat(o[i])})):t=p.width(),n.style.width=Math.max(t,0)+"px"}function
 s(){var 
s={};if(t=u,n.className=i.className,n.id=i.id,d=parseFloat(p.css("maxHeight")),e.each(a,function(e,t){s[t]=p.css(t)}),e(n).css(s).attr("wrap",p.attr("wrap")),o(),window.chrome){var
 r=u.style.width;u.style.width="0px";{u.offsetWidth}u.style.width=r}}function 
r(){var 
e,a;t!==u?s():o(),n.value=!u.value&&i.placeholder?p.attr("placeholder")||"":u.value,n.value+=i.append||"",n.style.overflowY=u.style.overflowY,a=parseFloat(u.style.height)||0,n.scrollTop=0,n.scrollTop=9e4,e=n.scrollTop,d&&e>d?(u.style.overflowY="scroll",e=d):(u.style.overflowY="hidden",c>e&&(e=c)),e+=z,Math.abs(a-e)>.01&&(u.style.height=e+"px",n.className=n.className,w&&i.callback.call(u,u),p.trigger("autosize.resized"))}function
 l(){clearTimeout(h),h=setTimeout(function
 (){var e=p.width();e!==b&&(b=e,r())},parseInt(i.resizeDelay,10))}var 
d,c,h,u=this,p=e(u),z=0,w=e.isFunction(i.callback),f={height:u.style.height,overflow:u.style.overflow,overflowY:u.style.overflowY,wordWrap:u.style.wordWrap,resize:u.style.resize},b=p.width(),g=p.css("resize");p.data("autosize")||(p.data("autosize",!0),("border-box"===p.css("box-sizing")||"border-box"===p.css("-moz-box-sizing")||"border-box"===p.css("-webkit-box-sizing"))&&(z=p.outerHeight()-p.height()),c=Math.max(parseFloat(p.css("minHeight"))-z||0,p.height()),p.css({overflow:"hidden",overflowY:"hidden",wordWrap:"break-word"}),"vertical"===g?p.css("resize","none"):"both"===g&&p.css("resize","horizontal"),"onpropertychange"in
 u?"oninput"in u?p.on("input.autosize 
keyup.autosize",r):p.on("propertychange.autosize",function(){"value"===event.propertyName&&r()}):p.on("input.autosize",r),i.resizeDelay!==!1&&e(window).on("resize.autosize",l),p.on("autosize.resize",r),p.on("autosize.resizeIncludeStyle",function(){t=null,r()
 
}),p.on("autosize.destroy",function(){t=null,clearTimeout(h),e(window).off("resize",l),p.off("autosize").off(".autosize").css(f).removeData("autosize")}),r())})):this}}(jQuery||$);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/blob/efa15938/src/main/resources/assets/js/jquery.blockUI.js
----------------------------------------------------------------------
diff --git a/src/main/resources/assets/js/jquery.blockUI.js 
b/src/main/resources/assets/js/jquery.blockUI.js
deleted file mode 100644
index 90ce5d6..0000000
--- a/src/main/resources/assets/js/jquery.blockUI.js
+++ /dev/null
@@ -1,620 +0,0 @@
-/*!
- * jQuery blockUI plugin
- * Version 2.70.0-2014.11.23
- * Requires jQuery v1.7 or later
- *
- * Examples at: http://malsup.com/jquery/block/
- * Copyright (c) 2007-2013 M. Alsup
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * Thanks to Amir-Hossein Sobhi for some excellent contributions!
- */
-
-;(function() {
-/*jshint eqeqeq:false curly:false latedef:false */
-"use strict";
-
-       function setup($) {
-               $.fn._fadeIn = $.fn.fadeIn;
-
-               var noOp = $.noop || function() {};
-
-               // this bit is to ensure we don't call setExpression when we 
shouldn't (with extra muscle to handle
-               // confusing userAgent strings on Vista)
-               var msie = /MSIE/.test(navigator.userAgent);
-               var ie6  = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 
8.0/.test(navigator.userAgent);
-               var mode = document.documentMode || 0;
-               var setExpr = $.isFunction( 
document.createElement('div').style.setExpression );
-
-               // global $ methods for blocking/unblocking the entire page
-               $.blockUI   = function(opts) { install(window, opts); };
-               $.unblockUI = function(opts) { remove(window, opts); };
-
-               // convenience method for quick growl-like notifications  
(http://www.google.com/search?q=growl)
-               $.growlUI = function(title, message, timeout, onClose) {
-                       var $m = $('<div class="growlUI"></div>');
-                       if (title) $m.append('<h1>'+title+'</h1>');
-                       if (message) $m.append('<h2>'+message+'</h2>');
-                       if (timeout === undefined) timeout = 3000;
-
-                       // Added by konapun: Set timeout to 30 seconds if this 
growl is moused over, like normal toast notifications
-                       var callBlock = function(opts) {
-                               opts = opts || {};
-
-                               $.blockUI({
-                                       message: $m,
-                                       fadeIn : typeof opts.fadeIn  !== 
'undefined' ? opts.fadeIn  : 700,
-                                       fadeOut: typeof opts.fadeOut !== 
'undefined' ? opts.fadeOut : 1000,
-                                       timeout: typeof opts.timeout !== 
'undefined' ? opts.timeout : timeout,
-                                       centerY: false,
-                                       showOverlay: false,
-                                       onUnblock: onClose,
-                                       css: $.blockUI.defaults.growlCSS
-                               });
-                       };
-
-                       callBlock();
-                       var nonmousedOpacity = $m.css('opacity');
-                       $m.mouseover(function() {
-                               callBlock({
-                                       fadeIn: 0,
-                                       timeout: 30000
-                               });
-
-                               var displayBlock = $('.blockMsg');
-                               displayBlock.stop(); // cancel fadeout if it 
has started
-                               displayBlock.fadeTo(300, 1); // make it easier 
to read the message by removing transparency
-                       }).mouseout(function() {
-                               $('.blockMsg').fadeOut(1000);
-                       });
-                       // End konapun additions
-               };
-
-               // plugin method for blocking element content
-               $.fn.block = function(opts) {
-                       if ( this[0] === window ) {
-                               $.blockUI( opts );
-                               return this;
-                       }
-                       var fullOpts = $.extend({}, $.blockUI.defaults, opts || 
{});
-                       this.each(function() {
-                               var $el = $(this);
-                               if (fullOpts.ignoreIfBlocked && 
$el.data('blockUI.isBlocked'))
-                                       return;
-                               $el.unblock({ fadeOut: 0 });
-                       });
-
-                       return this.each(function() {
-                               if ($.css(this,'position') == 'static') {
-                                       this.style.position = 'relative';
-                                       $(this).data('blockUI.static', true);
-                               }
-                               this.style.zoom = 1; // force 'hasLayout' in ie
-                               install(this, opts);
-                       });
-               };
-
-               // plugin method for unblocking element content
-               $.fn.unblock = function(opts) {
-                       if ( this[0] === window ) {
-                               $.unblockUI( opts );
-                               return this;
-                       }
-                       return this.each(function() {
-                               remove(this, opts);
-                       });
-               };
-
-               $.blockUI.version = 2.70; // 2nd generation blocking at no 
extra cost!
-
-               // override these in your code to change the default behavior 
and style
-               $.blockUI.defaults = {
-                       // message displayed when blocking (use null for no 
message)
-                       message:  '<h1>Please wait...</h1>',
-
-                       title: null,            // title string; only used when 
theme == true
-                       draggable: true,        // only used when theme == true 
(requires jquery-ui.js to be loaded)
-
-                       theme: false, // set to true to use with jQuery UI 
themes
-
-                       // styles for the message when blocking; if you wish to 
disable
-                       // these and use an external stylesheet then do this in 
your code:
-                       // $.blockUI.defaults.css = {};
-                       css: {
-                               padding:        0,
-                               margin:         0,
-                               width:          '30%',
-                               top:            '40%',
-                               left:           '35%',
-                               textAlign:      'center',
-                               color:          '#000',
-                               border:         '3px solid #aaa',
-                               backgroundColor:'#fff',
-                               cursor:         'wait'
-                       },
-
-                       // minimal style set used when themes are used
-                       themedCSS: {
-                               width:  '30%',
-                               top:    '40%',
-                               left:   '35%'
-                       },
-
-                       // styles for the overlay
-                       overlayCSS:  {
-                               backgroundColor:        '#000',
-                               opacity:                        0.6,
-                               cursor:                         'wait'
-                       },
-
-                       // style to replace wait cursor before unblocking to 
correct issue
-                       // of lingering wait cursor
-                       cursorReset: 'default',
-
-                       // styles applied when using $.growlUI
-                       growlCSS: {
-                               width:          '350px',
-                               top:            '10px',
-                               left:           '',
-                               right:          '10px',
-                               border:         'none',
-                               padding:        '5px',
-                               opacity:        0.6,
-                               cursor:         'default',
-                               color:          '#fff',
-                               backgroundColor: '#000',
-                               '-webkit-border-radius':'10px',
-                               '-moz-border-radius':   '10px',
-                               'border-radius':                '10px'
-                       },
-
-                       // IE issues: 'about:blank' fails on HTTPS and 
javascript:false is s-l-o-w
-                       // (hat tip to Jorge H. N. de Vasconcelos)
-                       /*jshint scripturl:true */
-                       iframeSrc: /^https/i.test(window.location.href || '') ? 
'javascript:false' : 'about:blank',
-
-                       // force usage of iframe in non-IE browsers (handy for 
blocking applets)
-                       forceIframe: false,
-
-                       // z-index for the blocking overlay
-                       baseZ: 1000,
-
-                       // set these to true to have the message automatically 
centered
-                       centerX: true, // <-- only effects element blocking 
(page block controlled via css above)
-                       centerY: true,
-
-                       // allow body element to be stetched in ie6; this makes 
blocking look better
-                       // on "short" pages.  disable if you wish to prevent 
changes to the body height
-                       allowBodyStretch: true,
-
-                       // enable if you want key and mouse events to be 
disabled for content that is blocked
-                       bindEvents: true,
-
-                       // be default blockUI will supress tab navigation from 
leaving blocking content
-                       // (if bindEvents is true)
-                       constrainTabKey: true,
-
-                       // fadeIn time in millis; set to 0 to disable fadeIn on 
block
-                       fadeIn:  200,
-
-                       // fadeOut time in millis; set to 0 to disable fadeOut 
on unblock
-                       fadeOut:  400,
-
-                       // time in millis to wait before auto-unblocking; set 
to 0 to disable auto-unblock
-                       timeout: 0,
-
-                       // disable if you don't want to show the overlay
-                       showOverlay: true,
-
-                       // if true, focus will be placed in the first available 
input field when
-                       // page blocking
-                       focusInput: true,
-
-            // elements that can receive focus
-            focusableElements: ':input:enabled:visible',
-
-                       // suppresses the use of overlay styles on FF/Linux 
(due to performance issues with opacity)
-                       // no longer needed in 2012
-                       // applyPlatformOpacityRules: true,
-
-                       // callback method invoked when fadeIn has completed 
and blocking message is visible
-                       onBlock: null,
-
-                       // callback method invoked when unblocking has 
completed; the callback is
-                       // passed the element that has been unblocked (which is 
the window object for page
-                       // blocks) and the options that were passed to the 
unblock call:
-                       //      onUnblock(element, options)
-                       onUnblock: null,
-
-                       // callback method invoked when the overlay area is 
clicked.
-                       // setting this will turn the cursor to a pointer, 
otherwise cursor defined in overlayCss will be used.
-                       onOverlayClick: null,
-
-                       // don't ask; if you really must know: 
http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
-                       quirksmodeOffsetHack: 4,
-
-                       // class name of the message block
-                       blockMsgClass: 'blockMsg',
-
-                       // if it is already blocked, then ignore it (don't 
unblock and reblock)
-                       ignoreIfBlocked: false
-               };
-
-               // private data and functions follow...
-
-               var pageBlock = null;
-               var pageBlockEls = [];
-
-               function install(el, opts) {
-                       var css, themedCSS;
-                       var full = (el == window);
-                       var msg = (opts && opts.message !== undefined ? 
opts.message : undefined);
-                       opts = $.extend({}, $.blockUI.defaults, opts || {});
-
-                       if (opts.ignoreIfBlocked && 
$(el).data('blockUI.isBlocked'))
-                               return;
-
-                       opts.overlayCSS = $.extend({}, 
$.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
-                       css = $.extend({}, $.blockUI.defaults.css, opts.css || 
{});
-                       if (opts.onOverlayClick)
-                               opts.overlayCSS.cursor = 'pointer';
-
-                       themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, 
opts.themedCSS || {});
-                       msg = msg === undefined ? opts.message : msg;
-
-                       // remove the current block (if there is one)
-                       if (full && pageBlock)
-                               remove(window, {fadeOut:0});
-
-                       // if an existing element is being used as the blocking 
content then we capture
-                       // its current place in the DOM (and current display 
style) so we can restore
-                       // it when we unblock
-                       if (msg && typeof msg != 'string' && (msg.parentNode || 
msg.jquery)) {
-                               var node = msg.jquery ? msg[0] : msg;
-                               var data = {};
-                               $(el).data('blockUI.history', data);
-                               data.el = node;
-                               data.parent = node.parentNode;
-                               data.display = node.style.display;
-                               data.position = node.style.position;
-                               if (data.parent)
-                                       data.parent.removeChild(node);
-                       }
-
-                       $(el).data('blockUI.onUnblock', opts.onUnblock);
-                       var z = opts.baseZ;
-
-                       // blockUI uses 3 layers for blocking, for simplicity 
they are all used on every platform;
-                       // layer1 is the iframe layer which is used to supress 
bleed through of underlying content
-                       // layer2 is the overlay layer which has opacity and a 
wait cursor (by default)
-                       // layer3 is the message content that is displayed 
while blocking
-                       var lyr1, lyr2, lyr3, s;
-                       if (msie || opts.forceIframe)
-                               lyr1 = $('<iframe class="blockUI" 
style="z-index:'+ (z++) 
+';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0"
 src="'+opts.iframeSrc+'"></iframe>');
-                       else
-                               lyr1 = $('<div class="blockUI" 
style="display:none"></div>');
-
-                       if (opts.theme)
-                               lyr2 = $('<div class="blockUI blockOverlay 
ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>');
-                       else
-                               lyr2 = $('<div class="blockUI blockOverlay" 
style="z-index:'+ (z++) 
+';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
-
-                       if (opts.theme && full) {
-                               s = '<div class="blockUI ' + opts.blockMsgClass 
+ ' blockPage ui-dialog ui-widget ui-corner-all" 
style="z-index:'+(z+10)+';display:none;position:fixed">';
-                               if ( opts.title ) {
-                                       s += '<div class="ui-widget-header 
ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || 
'&nbsp;')+'</div>';
-                               }
-                               s += '<div class="ui-widget-content 
ui-dialog-content"></div>';
-                               s += '</div>';
-                       }
-                       else if (opts.theme) {
-                               s = '<div class="blockUI ' + opts.blockMsgClass 
+ ' blockElement ui-dialog ui-widget ui-corner-all" 
style="z-index:'+(z+10)+';display:none;position:absolute">';
-                               if ( opts.title ) {
-                                       s += '<div class="ui-widget-header 
ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || 
'&nbsp;')+'</div>';
-                               }
-                               s += '<div class="ui-widget-content 
ui-dialog-content"></div>';
-                               s += '</div>';
-                       }
-                       else if (full) {
-                               s = '<div class="blockUI ' + opts.blockMsgClass 
+ ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>';
-                       }
-                       else {
-                               s = '<div class="blockUI ' + opts.blockMsgClass 
+ ' blockElement" 
style="z-index:'+(z+10)+';display:none;position:absolute"></div>';
-                       }
-                       lyr3 = $(s);
-
-                       // if we have a message, style it
-                       if (msg) {
-                               if (opts.theme) {
-                                       lyr3.css(themedCSS);
-                                       lyr3.addClass('ui-widget-content');
-                               }
-                               else
-                                       lyr3.css(css);
-                       }
-
-                       // style the overlay
-                       if (!opts.theme /*&& 
(!opts.applyPlatformOpacityRules)*/)
-                               lyr2.css(opts.overlayCSS);
-                       lyr2.css('position', full ? 'fixed' : 'absolute');
-
-                       // make iframe layer transparent in IE
-                       if (msie || opts.forceIframe)
-                               lyr1.css('opacity',0.0);
-
-                       //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : 
el);
-                       var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') 
: $(el);
-                       $.each(layers, function() {
-                               this.appendTo($par);
-                       });
-
-                       if (opts.theme && opts.draggable && $.fn.draggable) {
-                               lyr3.draggable({
-                                       handle: '.ui-dialog-titlebar',
-                                       cancel: 'li'
-                               });
-                       }
-
-                       // ie7 must use absolute positioning in quirks mode and 
to account for activex issues (when scrolling)
-                       var expr = setExpr && (!$.support.boxModel || 
$('object,embed', full ? null : el).length > 0);
-                       if (ie6 || expr) {
-                               // give body 100% height
-                               if (full && opts.allowBodyStretch && 
$.support.boxModel)
-                                       $('html,body').css('height','100%');
-
-                               // fix ie6 issue when blocked element has a 
border width
-                               if ((ie6 || !$.support.boxModel) && !full) {
-                                       var t = sz(el,'borderTopWidth'), l = 
sz(el,'borderLeftWidth');
-                                       var fixT = t ? '(0 - '+t+')' : 0;
-                                       var fixL = l ? '(0 - '+l+')' : 0;
-                               }
-
-                               // simulate fixed position
-                               $.each(layers, function(i,o) {
-                                       var s = o[0].style;
-                                       s.position = 'absolute';
-                                       if (i < 2) {
-                                               if (full)
-                                                       
s.setExpression('height','Math.max(document.body.scrollHeight, 
document.body.offsetHeight) - 
(jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"');
-                                               else
-                                                       
s.setExpression('height','this.parentNode.offsetHeight + "px"');
-                                               if (full)
-                                                       
s.setExpression('width','jQuery.support.boxModel && 
document.documentElement.clientWidth || document.body.clientWidth + "px"');
-                                               else
-                                                       
s.setExpression('width','this.parentNode.offsetWidth + "px"');
-                                               if (fixL) 
s.setExpression('left', fixL);
-                                               if (fixT) 
s.setExpression('top', fixT);
-                                       }
-                                       else if (opts.centerY) {
-                                               if (full) 
s.setExpression('top','(document.documentElement.clientHeight || 
document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = 
document.documentElement.scrollTop ? document.documentElement.scrollTop : 
document.body.scrollTop) + "px"');
-                                               s.marginTop = 0;
-                                       }
-                                       else if (!opts.centerY && full) {
-                                               var top = (opts.css && 
opts.css.top) ? parseInt(opts.css.top, 10) : 0;
-                                               var expression = 
'((document.documentElement.scrollTop ? document.documentElement.scrollTop : 
document.body.scrollTop) + '+top+') + "px"';
-                                               
s.setExpression('top',expression);
-                                       }
-                               });
-                       }
-
-                       // show the message
-                       if (msg) {
-                               if (opts.theme)
-                                       
lyr3.find('.ui-widget-content').append(msg);
-                               else
-                                       lyr3.append(msg);
-                               if (msg.jquery || msg.nodeType)
-                                       $(msg).show();
-                       }
-
-                       if ((msie || opts.forceIframe) && opts.showOverlay)
-                               lyr1.show(); // opacity is zero
-                       if (opts.fadeIn) {
-                               var cb = opts.onBlock ? opts.onBlock : noOp;
-                               var cb1 = (opts.showOverlay && !msg) ? cb : 
noOp;
-                               var cb2 = msg ? cb : noOp;
-                               if (opts.showOverlay)
-                                       lyr2._fadeIn(opts.fadeIn, cb1);
-                               if (msg)
-                                       lyr3._fadeIn(opts.fadeIn, cb2);
-                       }
-                       else {
-                               if (opts.showOverlay)
-                                       lyr2.show();
-                               if (msg)
-                                       lyr3.show();
-                               if (opts.onBlock)
-                                       opts.onBlock.bind(lyr3)();
-                       }
-
-                       // bind key and mouse events
-                       bind(1, el, opts);
-
-                       if (full) {
-                               pageBlock = lyr3[0];
-                               pageBlockEls = 
$(opts.focusableElements,pageBlock);
-                               if (opts.focusInput)
-                                       setTimeout(focus, 20);
-                       }
-                       else
-                               center(lyr3[0], opts.centerX, opts.centerY);
-
-                       if (opts.timeout) {
-                               // auto-unblock
-                               var to = setTimeout(function() {
-                                       if (full)
-                                               $.unblockUI(opts);
-                                       else
-                                               $(el).unblock(opts);
-                               }, opts.timeout);
-                               $(el).data('blockUI.timeout', to);
-                       }
-               }
-
-               // remove the block
-               function remove(el, opts) {
-                       var count;
-                       var full = (el == window);
-                       var $el = $(el);
-                       var data = $el.data('blockUI.history');
-                       var to = $el.data('blockUI.timeout');
-                       if (to) {
-                               clearTimeout(to);
-                               $el.removeData('blockUI.timeout');
-                       }
-                       opts = $.extend({}, $.blockUI.defaults, opts || {});
-                       bind(0, el, opts); // unbind events
-
-                       if (opts.onUnblock === null) {
-                               opts.onUnblock = $el.data('blockUI.onUnblock');
-                               $el.removeData('blockUI.onUnblock');
-                       }
-
-                       var els;
-                       if (full) // crazy selector to handle odd field errors 
in ie6/7
-                               els = 
$('body').children().filter('.blockUI').add('body > .blockUI');
-                       else
-                               els = $el.find('>.blockUI');
-
-                       // fix cursor issue
-                       if ( opts.cursorReset ) {
-                               if ( els.length > 1 )
-                                       els[1].style.cursor = opts.cursorReset;
-                               if ( els.length > 2 )
-                                       els[2].style.cursor = opts.cursorReset;
-                       }
-
-                       if (full)
-                               pageBlock = pageBlockEls = null;
-
-                       if (opts.fadeOut) {
-                               count = els.length;
-                               els.stop().fadeOut(opts.fadeOut, function() {
-                                       if ( --count === 0)
-                                               reset(els,data,opts,el);
-                               });
-                       }
-                       else
-                               reset(els, data, opts, el);
-               }
-
-               // move blocking element back into the DOM where it started
-               function reset(els,data,opts,el) {
-                       var $el = $(el);
-                       if ( $el.data('blockUI.isBlocked') )
-                               return;
-
-                       els.each(function(i,o) {
-                               // remove via DOM calls so we don't lose event 
handlers
-                               if (this.parentNode)
-                                       this.parentNode.removeChild(this);
-                       });
-
-                       if (data && data.el) {
-                               data.el.style.display = data.display;
-                               data.el.style.position = data.position;
-                               data.el.style.cursor = 'default'; // #59
-                               if (data.parent)
-                                       data.parent.appendChild(data.el);
-                               $el.removeData('blockUI.history');
-                       }
-
-                       if ($el.data('blockUI.static')) {
-                               $el.css('position', 'static'); // #22
-                       }
-
-                       if (typeof opts.onUnblock == 'function')
-                               opts.onUnblock(el,opts);
-
-                       // fix issue in Safari 6 where block artifacts remain 
until reflow
-                       var body = $(document.body), w = body.width(), cssW = 
body[0].style.width;
-                       body.width(w-1).width(w);
-                       body[0].style.width = cssW;
-               }
-
-               // bind/unbind the handler
-               function bind(b, el, opts) {
-                       var full = el == window, $el = $(el);
-
-                       // don't bother unbinding if there is nothing to unbind
-                       if (!b && (full && !pageBlock || !full && 
!$el.data('blockUI.isBlocked')))
-                               return;
-
-                       $el.data('blockUI.isBlocked', b);
-
-                       // don't bind events when overlay is not in use or if 
bindEvents is false
-                       if (!full || !opts.bindEvents || (b && 
!opts.showOverlay))
-                               return;
-
-                       // bind anchors and inputs for mouse and key events
-                       var events = 'mousedown mouseup keydown keypress keyup 
touchstart touchend touchmove';
-                       if (b)
-                               $(document).bind(events, opts, handler);
-                       else
-                               $(document).unbind(events, handler);
-
-               // former impl...
-               //              var $e = $('a,:input');
-               //              b ? $e.bind(events, opts, handler) : 
$e.unbind(events, handler);
-               }
-
-               // event handler to suppress keyboard/mouse events when blocking
-               function handler(e) {
-                       // allow tab navigation (conditionally)
-                       if (e.type === 'keydown' && e.keyCode && e.keyCode == 
9) {
-                               if (pageBlock && e.data.constrainTabKey) {
-                                       var els = pageBlockEls;
-                                       var fwd = !e.shiftKey && e.target === 
els[els.length-1];
-                                       var back = e.shiftKey && e.target === 
els[0];
-                                       if (fwd || back) {
-                                               
setTimeout(function(){focus(back);},10);
-                                               return false;
-                                       }
-                               }
-                       }
-                       var opts = e.data;
-                       var target = $(e.target);
-                       if (target.hasClass('blockOverlay') && 
opts.onOverlayClick)
-                               opts.onOverlayClick(e);
-
-                       // allow events within the message content
-                       if (target.parents('div.' + opts.blockMsgClass).length 
> 0)
-                               return true;
-
-                       // allow events for content that is not being blocked
-                       return 
target.parents().children().filter('div.blockUI').length === 0;
-               }
-
-               function focus(back) {
-                       if (!pageBlockEls)
-                               return;
-                       var e = pageBlockEls[back===true ? 
pageBlockEls.length-1 : 0];
-                       if (e)
-                               e.focus();
-               }
-
-               function center(el, x, y) {
-                       var p = el.parentNode, s = el.style;
-                       var l = ((p.offsetWidth - el.offsetWidth)/2) - 
sz(p,'borderLeftWidth');
-                       var t = ((p.offsetHeight - el.offsetHeight)/2) - 
sz(p,'borderTopWidth');
-                       if (x) s.left = l > 0 ? (l+'px') : '0';
-                       if (y) s.top  = t > 0 ? (t+'px') : '0';
-               }
-
-               function sz(el, p) {
-                       return parseInt($.css(el,p),10)||0;
-               }
-
-       }
-
-
-       /*global define:true */
-       if (typeof define === 'function' && define.amd && define.amd.jQuery) {
-               define(['jquery'], setup);
-       } else {
-               setup(jQuery);
-       }
-
-})();

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-online-tester/blob/efa15938/src/main/resources/view/freemarker-online.ftl
----------------------------------------------------------------------
diff --git a/src/main/resources/view/freemarker-online.ftl 
b/src/main/resources/view/freemarker-online.ftl
index 0799fc6..57194f0 100644
--- a/src/main/resources/view/freemarker-online.ftl
+++ b/src/main/resources/view/freemarker-online.ftl
@@ -32,8 +32,8 @@
     <link rel="stylesheet" 
href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css";>
     
     <script src="https://code.jquery.com/jquery-1.11.2.min.js";></script>
-    <script src="js/jquery.blockUI.js"></script>
-    <script src="js/autosize.min.js"></script>
+    <script 
src="https://cdnjs.cloudflare.com/ajax/libs/jquery.blockUI/2.70/jquery.blockUI.min.js";></script>
+    <script 
src="https://cdnjs.cloudflare.com/ajax/libs/autosize.js/3.0.8/autosize.min.js";></script>
     <script src="js/script.js"></script>
     <script>
         $(function() {
@@ -147,7 +147,9 @@ someXML = &lt;example 
x="1"&gt;text&lt;/example&gt;</pre></div>
     </div><!-- main -->
     
     <!-- Fork me on GitHub: -->
-    <a href="https://github.com/kenshoo/freemarker-online"; 
target="_blank"><img style="position: absolute; top: 0; right: 0; border: 0;" 
src="https://camo.githubusercontent.com/a6677b08c955af8400f44c6298f40e7d19cc5b2d/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677261795f3664366436642e706e67";
 alt="Fork me on GitHub" 
data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png";></a>
+    <a href="https://github.com/apache/incubator-freemarker-online-tester"; 
target="_blank">
+        <img class="forkMeOnGithub" 
src="https://camo.githubusercontent.com/a6677b08c955af8400f44c6298f40e7d19cc5b2d/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677261795f3664366436642e706e67";
 alt="Fork me on GitHub" 
data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png";>
+    </a>
 </div><!-- layout -->
 </body>
 </html>
\ No newline at end of file

Reply via email to