Commit a2ddae30a98cd32163795a7ff4a317a0e0ba48ab
1 parent
ede24294
update
Showing
38 changed files
with
4162 additions
and
0 deletions
Too many changes to show.
To preserve performance only 38 of 52 files are displayed.
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/core.js
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Core 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/category/ui-core/ | ||
| 10 | + */ | ||
| 11 | +(function( factory ) { | ||
| 12 | + if ( typeof define === "function" && define.amd ) { | ||
| 13 | + | ||
| 14 | + // AMD. Register as an anonymous module. | ||
| 15 | + define( [ "jquery" ], factory ); | ||
| 16 | + } else { | ||
| 17 | + | ||
| 18 | + // Browser globals | ||
| 19 | + factory( jQuery ); | ||
| 20 | + } | ||
| 21 | +}(function( $ ) { | ||
| 22 | + | ||
| 23 | +// $.ui might exist from components with no dependencies, e.g., $.ui.position | ||
| 24 | +$.ui = $.ui || {}; | ||
| 25 | + | ||
| 26 | +$.extend( $.ui, { | ||
| 27 | + version: "1.11.1", | ||
| 28 | + | ||
| 29 | + keyCode: { | ||
| 30 | + BACKSPACE: 8, | ||
| 31 | + COMMA: 188, | ||
| 32 | + DELETE: 46, | ||
| 33 | + DOWN: 40, | ||
| 34 | + END: 35, | ||
| 35 | + ENTER: 13, | ||
| 36 | + ESCAPE: 27, | ||
| 37 | + HOME: 36, | ||
| 38 | + LEFT: 37, | ||
| 39 | + PAGE_DOWN: 34, | ||
| 40 | + PAGE_UP: 33, | ||
| 41 | + PERIOD: 190, | ||
| 42 | + RIGHT: 39, | ||
| 43 | + SPACE: 32, | ||
| 44 | + TAB: 9, | ||
| 45 | + UP: 38 | ||
| 46 | + } | ||
| 47 | +}); | ||
| 48 | + | ||
| 49 | +// plugins | ||
| 50 | +$.fn.extend({ | ||
| 51 | + scrollParent: function( includeHidden ) { | ||
| 52 | + var position = this.css( "position" ), | ||
| 53 | + excludeStaticParent = position === "absolute", | ||
| 54 | + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, | ||
| 55 | + scrollParent = this.parents().filter( function() { | ||
| 56 | + var parent = $( this ); | ||
| 57 | + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { | ||
| 58 | + return false; | ||
| 59 | + } | ||
| 60 | + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); | ||
| 61 | + }).eq( 0 ); | ||
| 62 | + | ||
| 63 | + return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; | ||
| 64 | + }, | ||
| 65 | + | ||
| 66 | + uniqueId: (function() { | ||
| 67 | + var uuid = 0; | ||
| 68 | + | ||
| 69 | + return function() { | ||
| 70 | + return this.each(function() { | ||
| 71 | + if ( !this.id ) { | ||
| 72 | + this.id = "ui-id-" + ( ++uuid ); | ||
| 73 | + } | ||
| 74 | + }); | ||
| 75 | + }; | ||
| 76 | + })(), | ||
| 77 | + | ||
| 78 | + removeUniqueId: function() { | ||
| 79 | + return this.each(function() { | ||
| 80 | + if ( /^ui-id-\d+$/.test( this.id ) ) { | ||
| 81 | + $( this ).removeAttr( "id" ); | ||
| 82 | + } | ||
| 83 | + }); | ||
| 84 | + } | ||
| 85 | +}); | ||
| 86 | + | ||
| 87 | +// selectors | ||
| 88 | +function focusable( element, isTabIndexNotNaN ) { | ||
| 89 | + var map, mapName, img, | ||
| 90 | + nodeName = element.nodeName.toLowerCase(); | ||
| 91 | + if ( "area" === nodeName ) { | ||
| 92 | + map = element.parentNode; | ||
| 93 | + mapName = map.name; | ||
| 94 | + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { | ||
| 95 | + return false; | ||
| 96 | + } | ||
| 97 | + img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; | ||
| 98 | + return !!img && visible( img ); | ||
| 99 | + } | ||
| 100 | + return ( /input|select|textarea|button|object/.test( nodeName ) ? | ||
| 101 | + !element.disabled : | ||
| 102 | + "a" === nodeName ? | ||
| 103 | + element.href || isTabIndexNotNaN : | ||
| 104 | + isTabIndexNotNaN) && | ||
| 105 | + // the element and all of its ancestors must be visible | ||
| 106 | + visible( element ); | ||
| 107 | +} | ||
| 108 | + | ||
| 109 | +function visible( element ) { | ||
| 110 | + return $.expr.filters.visible( element ) && | ||
| 111 | + !$( element ).parents().addBack().filter(function() { | ||
| 112 | + return $.css( this, "visibility" ) === "hidden"; | ||
| 113 | + }).length; | ||
| 114 | +} | ||
| 115 | + | ||
| 116 | +$.extend( $.expr[ ":" ], { | ||
| 117 | + data: $.expr.createPseudo ? | ||
| 118 | + $.expr.createPseudo(function( dataName ) { | ||
| 119 | + return function( elem ) { | ||
| 120 | + return !!$.data( elem, dataName ); | ||
| 121 | + }; | ||
| 122 | + }) : | ||
| 123 | + // support: jQuery <1.8 | ||
| 124 | + function( elem, i, match ) { | ||
| 125 | + return !!$.data( elem, match[ 3 ] ); | ||
| 126 | + }, | ||
| 127 | + | ||
| 128 | + focusable: function( element ) { | ||
| 129 | + return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); | ||
| 130 | + }, | ||
| 131 | + | ||
| 132 | + tabbable: function( element ) { | ||
| 133 | + var tabIndex = $.attr( element, "tabindex" ), | ||
| 134 | + isTabIndexNaN = isNaN( tabIndex ); | ||
| 135 | + return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); | ||
| 136 | + } | ||
| 137 | +}); | ||
| 138 | + | ||
| 139 | +// support: jQuery <1.8 | ||
| 140 | +if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { | ||
| 141 | + $.each( [ "Width", "Height" ], function( i, name ) { | ||
| 142 | + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], | ||
| 143 | + type = name.toLowerCase(), | ||
| 144 | + orig = { | ||
| 145 | + innerWidth: $.fn.innerWidth, | ||
| 146 | + innerHeight: $.fn.innerHeight, | ||
| 147 | + outerWidth: $.fn.outerWidth, | ||
| 148 | + outerHeight: $.fn.outerHeight | ||
| 149 | + }; | ||
| 150 | + | ||
| 151 | + function reduce( elem, size, border, margin ) { | ||
| 152 | + $.each( side, function() { | ||
| 153 | + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; | ||
| 154 | + if ( border ) { | ||
| 155 | + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; | ||
| 156 | + } | ||
| 157 | + if ( margin ) { | ||
| 158 | + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; | ||
| 159 | + } | ||
| 160 | + }); | ||
| 161 | + return size; | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + $.fn[ "inner" + name ] = function( size ) { | ||
| 165 | + if ( size === undefined ) { | ||
| 166 | + return orig[ "inner" + name ].call( this ); | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + return this.each(function() { | ||
| 170 | + $( this ).css( type, reduce( this, size ) + "px" ); | ||
| 171 | + }); | ||
| 172 | + }; | ||
| 173 | + | ||
| 174 | + $.fn[ "outer" + name] = function( size, margin ) { | ||
| 175 | + if ( typeof size !== "number" ) { | ||
| 176 | + return orig[ "outer" + name ].call( this, size ); | ||
| 177 | + } | ||
| 178 | + | ||
| 179 | + return this.each(function() { | ||
| 180 | + $( this).css( type, reduce( this, size, true, margin ) + "px" ); | ||
| 181 | + }); | ||
| 182 | + }; | ||
| 183 | + }); | ||
| 184 | +} | ||
| 185 | + | ||
| 186 | +// support: jQuery <1.8 | ||
| 187 | +if ( !$.fn.addBack ) { | ||
| 188 | + $.fn.addBack = function( selector ) { | ||
| 189 | + return this.add( selector == null ? | ||
| 190 | + this.prevObject : this.prevObject.filter( selector ) | ||
| 191 | + ); | ||
| 192 | + }; | ||
| 193 | +} | ||
| 194 | + | ||
| 195 | +// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) | ||
| 196 | +if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { | ||
| 197 | + $.fn.removeData = (function( removeData ) { | ||
| 198 | + return function( key ) { | ||
| 199 | + if ( arguments.length ) { | ||
| 200 | + return removeData.call( this, $.camelCase( key ) ); | ||
| 201 | + } else { | ||
| 202 | + return removeData.call( this ); | ||
| 203 | + } | ||
| 204 | + }; | ||
| 205 | + })( $.fn.removeData ); | ||
| 206 | +} | ||
| 207 | + | ||
| 208 | +// deprecated | ||
| 209 | +$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); | ||
| 210 | + | ||
| 211 | +$.fn.extend({ | ||
| 212 | + focus: (function( orig ) { | ||
| 213 | + return function( delay, fn ) { | ||
| 214 | + return typeof delay === "number" ? | ||
| 215 | + this.each(function() { | ||
| 216 | + var elem = this; | ||
| 217 | + setTimeout(function() { | ||
| 218 | + $( elem ).focus(); | ||
| 219 | + if ( fn ) { | ||
| 220 | + fn.call( elem ); | ||
| 221 | + } | ||
| 222 | + }, delay ); | ||
| 223 | + }) : | ||
| 224 | + orig.apply( this, arguments ); | ||
| 225 | + }; | ||
| 226 | + })( $.fn.focus ), | ||
| 227 | + | ||
| 228 | + disableSelection: (function() { | ||
| 229 | + var eventType = "onselectstart" in document.createElement( "div" ) ? | ||
| 230 | + "selectstart" : | ||
| 231 | + "mousedown"; | ||
| 232 | + | ||
| 233 | + return function() { | ||
| 234 | + return this.bind( eventType + ".ui-disableSelection", function( event ) { | ||
| 235 | + event.preventDefault(); | ||
| 236 | + }); | ||
| 237 | + }; | ||
| 238 | + })(), | ||
| 239 | + | ||
| 240 | + enableSelection: function() { | ||
| 241 | + return this.unbind( ".ui-disableSelection" ); | ||
| 242 | + }, | ||
| 243 | + | ||
| 244 | + zIndex: function( zIndex ) { | ||
| 245 | + if ( zIndex !== undefined ) { | ||
| 246 | + return this.css( "zIndex", zIndex ); | ||
| 247 | + } | ||
| 248 | + | ||
| 249 | + if ( this.length ) { | ||
| 250 | + var elem = $( this[ 0 ] ), position, value; | ||
| 251 | + while ( elem.length && elem[ 0 ] !== document ) { | ||
| 252 | + // Ignore z-index if position is set to a value where z-index is ignored by the browser | ||
| 253 | + // This makes behavior of this function consistent across browsers | ||
| 254 | + // WebKit always returns auto if the element is positioned | ||
| 255 | + position = elem.css( "position" ); | ||
| 256 | + if ( position === "absolute" || position === "relative" || position === "fixed" ) { | ||
| 257 | + // IE returns 0 when zIndex is not specified | ||
| 258 | + // other browsers return a string | ||
| 259 | + // we ignore the case of nested elements with an explicit value of 0 | ||
| 260 | + // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> | ||
| 261 | + value = parseInt( elem.css( "zIndex" ), 10 ); | ||
| 262 | + if ( !isNaN( value ) && value !== 0 ) { | ||
| 263 | + return value; | ||
| 264 | + } | ||
| 265 | + } | ||
| 266 | + elem = elem.parent(); | ||
| 267 | + } | ||
| 268 | + } | ||
| 269 | + | ||
| 270 | + return 0; | ||
| 271 | + } | ||
| 272 | +}); | ||
| 273 | + | ||
| 274 | +// $.ui.plugin is deprecated. Use $.widget() extensions instead. | ||
| 275 | +$.ui.plugin = { | ||
| 276 | + add: function( module, option, set ) { | ||
| 277 | + var i, | ||
| 278 | + proto = $.ui[ module ].prototype; | ||
| 279 | + for ( i in set ) { | ||
| 280 | + proto.plugins[ i ] = proto.plugins[ i ] || []; | ||
| 281 | + proto.plugins[ i ].push( [ option, set[ i ] ] ); | ||
| 282 | + } | ||
| 283 | + }, | ||
| 284 | + call: function( instance, name, args, allowDisconnected ) { | ||
| 285 | + var i, | ||
| 286 | + set = instance.plugins[ name ]; | ||
| 287 | + | ||
| 288 | + if ( !set ) { | ||
| 289 | + return; | ||
| 290 | + } | ||
| 291 | + | ||
| 292 | + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { | ||
| 293 | + return; | ||
| 294 | + } | ||
| 295 | + | ||
| 296 | + for ( i = 0; i < set.length; i++ ) { | ||
| 297 | + if ( instance.options[ set[ i ][ 0 ] ] ) { | ||
| 298 | + set[ i ][ 1 ].apply( instance.element, args ); | ||
| 299 | + } | ||
| 300 | + } | ||
| 301 | + } | ||
| 302 | +}; | ||
| 303 | + | ||
| 304 | +})); |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/mouse.js
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Mouse 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/mouse/ | ||
| 10 | + */ | ||
| 11 | +(function( factory ) { | ||
| 12 | + if ( typeof define === "function" && define.amd ) { | ||
| 13 | + | ||
| 14 | + // AMD. Register as an anonymous module. | ||
| 15 | + define([ | ||
| 16 | + "jquery", | ||
| 17 | + "./widget" | ||
| 18 | + ], factory ); | ||
| 19 | + } else { | ||
| 20 | + | ||
| 21 | + // Browser globals | ||
| 22 | + factory( jQuery ); | ||
| 23 | + } | ||
| 24 | +}(function( $ ) { | ||
| 25 | + | ||
| 26 | +var mouseHandled = false; | ||
| 27 | +$( document ).mouseup( function() { | ||
| 28 | + mouseHandled = false; | ||
| 29 | +}); | ||
| 30 | + | ||
| 31 | +return $.widget("ui.mouse", { | ||
| 32 | + version: "1.11.1", | ||
| 33 | + options: { | ||
| 34 | + cancel: "input,textarea,button,select,option", | ||
| 35 | + distance: 1, | ||
| 36 | + delay: 0 | ||
| 37 | + }, | ||
| 38 | + _mouseInit: function() { | ||
| 39 | + var that = this; | ||
| 40 | + | ||
| 41 | + this.element | ||
| 42 | + .bind("mousedown." + this.widgetName, function(event) { | ||
| 43 | + return that._mouseDown(event); | ||
| 44 | + }) | ||
| 45 | + .bind("click." + this.widgetName, function(event) { | ||
| 46 | + if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { | ||
| 47 | + $.removeData(event.target, that.widgetName + ".preventClickEvent"); | ||
| 48 | + event.stopImmediatePropagation(); | ||
| 49 | + return false; | ||
| 50 | + } | ||
| 51 | + }); | ||
| 52 | + | ||
| 53 | + this.started = false; | ||
| 54 | + }, | ||
| 55 | + | ||
| 56 | + // TODO: make sure destroying one instance of mouse doesn't mess with | ||
| 57 | + // other instances of mouse | ||
| 58 | + _mouseDestroy: function() { | ||
| 59 | + this.element.unbind("." + this.widgetName); | ||
| 60 | + if ( this._mouseMoveDelegate ) { | ||
| 61 | + this.document | ||
| 62 | + .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) | ||
| 63 | + .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); | ||
| 64 | + } | ||
| 65 | + }, | ||
| 66 | + | ||
| 67 | + _mouseDown: function(event) { | ||
| 68 | + // don't let more than one widget handle mouseStart | ||
| 69 | + if ( mouseHandled ) { | ||
| 70 | + return; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + // we may have missed mouseup (out of window) | ||
| 74 | + (this._mouseStarted && this._mouseUp(event)); | ||
| 75 | + | ||
| 76 | + this._mouseDownEvent = event; | ||
| 77 | + | ||
| 78 | + var that = this, | ||
| 79 | + btnIsLeft = (event.which === 1), | ||
| 80 | + // event.target.nodeName works around a bug in IE 8 with | ||
| 81 | + // disabled inputs (#7620) | ||
| 82 | + elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); | ||
| 83 | + if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { | ||
| 84 | + return true; | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + this.mouseDelayMet = !this.options.delay; | ||
| 88 | + if (!this.mouseDelayMet) { | ||
| 89 | + this._mouseDelayTimer = setTimeout(function() { | ||
| 90 | + that.mouseDelayMet = true; | ||
| 91 | + }, this.options.delay); | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { | ||
| 95 | + this._mouseStarted = (this._mouseStart(event) !== false); | ||
| 96 | + if (!this._mouseStarted) { | ||
| 97 | + event.preventDefault(); | ||
| 98 | + return true; | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + // Click event may never have fired (Gecko & Opera) | ||
| 103 | + if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { | ||
| 104 | + $.removeData(event.target, this.widgetName + ".preventClickEvent"); | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | + // these delegates are required to keep context | ||
| 108 | + this._mouseMoveDelegate = function(event) { | ||
| 109 | + return that._mouseMove(event); | ||
| 110 | + }; | ||
| 111 | + this._mouseUpDelegate = function(event) { | ||
| 112 | + return that._mouseUp(event); | ||
| 113 | + }; | ||
| 114 | + | ||
| 115 | + this.document | ||
| 116 | + .bind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) | ||
| 117 | + .bind( "mouseup." + this.widgetName, this._mouseUpDelegate ); | ||
| 118 | + | ||
| 119 | + event.preventDefault(); | ||
| 120 | + | ||
| 121 | + mouseHandled = true; | ||
| 122 | + return true; | ||
| 123 | + }, | ||
| 124 | + | ||
| 125 | + _mouseMove: function(event) { | ||
| 126 | + // IE mouseup check - mouseup happened when mouse was out of window | ||
| 127 | + if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { | ||
| 128 | + return this._mouseUp(event); | ||
| 129 | + | ||
| 130 | + // Iframe mouseup check - mouseup occurred in another document | ||
| 131 | + } else if ( !event.which ) { | ||
| 132 | + return this._mouseUp( event ); | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + if (this._mouseStarted) { | ||
| 136 | + this._mouseDrag(event); | ||
| 137 | + return event.preventDefault(); | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { | ||
| 141 | + this._mouseStarted = | ||
| 142 | + (this._mouseStart(this._mouseDownEvent, event) !== false); | ||
| 143 | + (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + return !this._mouseStarted; | ||
| 147 | + }, | ||
| 148 | + | ||
| 149 | + _mouseUp: function(event) { | ||
| 150 | + this.document | ||
| 151 | + .unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) | ||
| 152 | + .unbind( "mouseup." + this.widgetName, this._mouseUpDelegate ); | ||
| 153 | + | ||
| 154 | + if (this._mouseStarted) { | ||
| 155 | + this._mouseStarted = false; | ||
| 156 | + | ||
| 157 | + if (event.target === this._mouseDownEvent.target) { | ||
| 158 | + $.data(event.target, this.widgetName + ".preventClickEvent", true); | ||
| 159 | + } | ||
| 160 | + | ||
| 161 | + this._mouseStop(event); | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + mouseHandled = false; | ||
| 165 | + return false; | ||
| 166 | + }, | ||
| 167 | + | ||
| 168 | + _mouseDistanceMet: function(event) { | ||
| 169 | + return (Math.max( | ||
| 170 | + Math.abs(this._mouseDownEvent.pageX - event.pageX), | ||
| 171 | + Math.abs(this._mouseDownEvent.pageY - event.pageY) | ||
| 172 | + ) >= this.options.distance | ||
| 173 | + ); | ||
| 174 | + }, | ||
| 175 | + | ||
| 176 | + _mouseDelayMet: function(/* event */) { | ||
| 177 | + return this.mouseDelayMet; | ||
| 178 | + }, | ||
| 179 | + | ||
| 180 | + // These are placeholder methods, to be overriden by extending plugin | ||
| 181 | + _mouseStart: function(/* event */) {}, | ||
| 182 | + _mouseDrag: function(/* event */) {}, | ||
| 183 | + _mouseStop: function(/* event */) {}, | ||
| 184 | + _mouseCapture: function(/* event */) { return true; } | ||
| 185 | +}); | ||
| 186 | + | ||
| 187 | +})); |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/resizable.js
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Resizable 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/resizable/ | ||
| 10 | + */ | ||
| 11 | +(function( factory ) { | ||
| 12 | + if ( typeof define === "function" && define.amd ) { | ||
| 13 | + | ||
| 14 | + // AMD. Register as an anonymous module. | ||
| 15 | + define([ | ||
| 16 | + "jquery", | ||
| 17 | + "./core", | ||
| 18 | + "./mouse", | ||
| 19 | + "./widget" | ||
| 20 | + ], factory ); | ||
| 21 | + } else { | ||
| 22 | + | ||
| 23 | + // Browser globals | ||
| 24 | + factory( jQuery ); | ||
| 25 | + } | ||
| 26 | +}(function( $ ) { | ||
| 27 | + | ||
| 28 | +$.widget("ui.resizable", $.ui.mouse, { | ||
| 29 | + version: "1.11.1", | ||
| 30 | + widgetEventPrefix: "resize", | ||
| 31 | + options: { | ||
| 32 | + alsoResize: false, | ||
| 33 | + animate: false, | ||
| 34 | + animateDuration: "slow", | ||
| 35 | + animateEasing: "swing", | ||
| 36 | + aspectRatio: false, | ||
| 37 | + autoHide: false, | ||
| 38 | + containment: false, | ||
| 39 | + ghost: false, | ||
| 40 | + grid: false, | ||
| 41 | + handles: "e,s,se", | ||
| 42 | + helper: false, | ||
| 43 | + maxHeight: null, | ||
| 44 | + maxWidth: null, | ||
| 45 | + minHeight: 10, | ||
| 46 | + minWidth: 10, | ||
| 47 | + // See #7960 | ||
| 48 | + zIndex: 90, | ||
| 49 | + | ||
| 50 | + // callbacks | ||
| 51 | + resize: null, | ||
| 52 | + start: null, | ||
| 53 | + stop: null | ||
| 54 | + }, | ||
| 55 | + | ||
| 56 | + _num: function( value ) { | ||
| 57 | + return parseInt( value, 10 ) || 0; | ||
| 58 | + }, | ||
| 59 | + | ||
| 60 | + _isNumber: function( value ) { | ||
| 61 | + return !isNaN( parseInt( value, 10 ) ); | ||
| 62 | + }, | ||
| 63 | + | ||
| 64 | + _hasScroll: function( el, a ) { | ||
| 65 | + | ||
| 66 | + if ( $( el ).css( "overflow" ) === "hidden") { | ||
| 67 | + return false; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", | ||
| 71 | + has = false; | ||
| 72 | + | ||
| 73 | + if ( el[ scroll ] > 0 ) { | ||
| 74 | + return true; | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + // TODO: determine which cases actually cause this to happen | ||
| 78 | + // if the element doesn't have the scroll set, see if it's possible to | ||
| 79 | + // set the scroll | ||
| 80 | + el[ scroll ] = 1; | ||
| 81 | + has = ( el[ scroll ] > 0 ); | ||
| 82 | + el[ scroll ] = 0; | ||
| 83 | + return has; | ||
| 84 | + }, | ||
| 85 | + | ||
| 86 | + _create: function() { | ||
| 87 | + | ||
| 88 | + var n, i, handle, axis, hname, | ||
| 89 | + that = this, | ||
| 90 | + o = this.options; | ||
| 91 | + this.element.addClass("ui-resizable"); | ||
| 92 | + | ||
| 93 | + $.extend(this, { | ||
| 94 | + _aspectRatio: !!(o.aspectRatio), | ||
| 95 | + aspectRatio: o.aspectRatio, | ||
| 96 | + originalElement: this.element, | ||
| 97 | + _proportionallyResizeElements: [], | ||
| 98 | + _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null | ||
| 99 | + }); | ||
| 100 | + | ||
| 101 | + // Wrap the element if it cannot hold child nodes | ||
| 102 | + if (this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) { | ||
| 103 | + | ||
| 104 | + this.element.wrap( | ||
| 105 | + $("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({ | ||
| 106 | + position: this.element.css("position"), | ||
| 107 | + width: this.element.outerWidth(), | ||
| 108 | + height: this.element.outerHeight(), | ||
| 109 | + top: this.element.css("top"), | ||
| 110 | + left: this.element.css("left") | ||
| 111 | + }) | ||
| 112 | + ); | ||
| 113 | + | ||
| 114 | + this.element = this.element.parent().data( | ||
| 115 | + "ui-resizable", this.element.resizable( "instance" ) | ||
| 116 | + ); | ||
| 117 | + | ||
| 118 | + this.elementIsWrapper = true; | ||
| 119 | + | ||
| 120 | + this.element.css({ | ||
| 121 | + marginLeft: this.originalElement.css("marginLeft"), | ||
| 122 | + marginTop: this.originalElement.css("marginTop"), | ||
| 123 | + marginRight: this.originalElement.css("marginRight"), | ||
| 124 | + marginBottom: this.originalElement.css("marginBottom") | ||
| 125 | + }); | ||
| 126 | + this.originalElement.css({ | ||
| 127 | + marginLeft: 0, | ||
| 128 | + marginTop: 0, | ||
| 129 | + marginRight: 0, | ||
| 130 | + marginBottom: 0 | ||
| 131 | + }); | ||
| 132 | + // support: Safari | ||
| 133 | + // Prevent Safari textarea resize | ||
| 134 | + this.originalResizeStyle = this.originalElement.css("resize"); | ||
| 135 | + this.originalElement.css("resize", "none"); | ||
| 136 | + | ||
| 137 | + this._proportionallyResizeElements.push( this.originalElement.css({ | ||
| 138 | + position: "static", | ||
| 139 | + zoom: 1, | ||
| 140 | + display: "block" | ||
| 141 | + }) ); | ||
| 142 | + | ||
| 143 | + // support: IE9 | ||
| 144 | + // avoid IE jump (hard set the margin) | ||
| 145 | + this.originalElement.css({ margin: this.originalElement.css("margin") }); | ||
| 146 | + | ||
| 147 | + this._proportionallyResize(); | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + this.handles = o.handles || | ||
| 151 | + ( !$(".ui-resizable-handle", this.element).length ? | ||
| 152 | + "e,s,se" : { | ||
| 153 | + n: ".ui-resizable-n", | ||
| 154 | + e: ".ui-resizable-e", | ||
| 155 | + s: ".ui-resizable-s", | ||
| 156 | + w: ".ui-resizable-w", | ||
| 157 | + se: ".ui-resizable-se", | ||
| 158 | + sw: ".ui-resizable-sw", | ||
| 159 | + ne: ".ui-resizable-ne", | ||
| 160 | + nw: ".ui-resizable-nw" | ||
| 161 | + } ); | ||
| 162 | + | ||
| 163 | + if (this.handles.constructor === String) { | ||
| 164 | + | ||
| 165 | + if ( this.handles === "all") { | ||
| 166 | + this.handles = "n,e,s,w,se,sw,ne,nw"; | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + n = this.handles.split(","); | ||
| 170 | + this.handles = {}; | ||
| 171 | + | ||
| 172 | + for (i = 0; i < n.length; i++) { | ||
| 173 | + | ||
| 174 | + handle = $.trim(n[i]); | ||
| 175 | + hname = "ui-resizable-" + handle; | ||
| 176 | + axis = $("<div class='ui-resizable-handle " + hname + "'></div>"); | ||
| 177 | + | ||
| 178 | + axis.css({ zIndex: o.zIndex }); | ||
| 179 | + | ||
| 180 | + // TODO : What's going on here? | ||
| 181 | + if ("se" === handle) { | ||
| 182 | + axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se"); | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + this.handles[handle] = ".ui-resizable-" + handle; | ||
| 186 | + this.element.append(axis); | ||
| 187 | + } | ||
| 188 | + | ||
| 189 | + } | ||
| 190 | + | ||
| 191 | + this._renderAxis = function(target) { | ||
| 192 | + | ||
| 193 | + var i, axis, padPos, padWrapper; | ||
| 194 | + | ||
| 195 | + target = target || this.element; | ||
| 196 | + | ||
| 197 | + for (i in this.handles) { | ||
| 198 | + | ||
| 199 | + if (this.handles[i].constructor === String) { | ||
| 200 | + this.handles[i] = this.element.children( this.handles[ i ] ).first().show(); | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { | ||
| 204 | + | ||
| 205 | + axis = $(this.handles[i], this.element); | ||
| 206 | + | ||
| 207 | + padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth(); | ||
| 208 | + | ||
| 209 | + padPos = [ "padding", | ||
| 210 | + /ne|nw|n/.test(i) ? "Top" : | ||
| 211 | + /se|sw|s/.test(i) ? "Bottom" : | ||
| 212 | + /^e$/.test(i) ? "Right" : "Left" ].join(""); | ||
| 213 | + | ||
| 214 | + target.css(padPos, padWrapper); | ||
| 215 | + | ||
| 216 | + this._proportionallyResize(); | ||
| 217 | + | ||
| 218 | + } | ||
| 219 | + | ||
| 220 | + // TODO: What's that good for? There's not anything to be executed left | ||
| 221 | + if (!$(this.handles[i]).length) { | ||
| 222 | + continue; | ||
| 223 | + } | ||
| 224 | + } | ||
| 225 | + }; | ||
| 226 | + | ||
| 227 | + // TODO: make renderAxis a prototype function | ||
| 228 | + this._renderAxis(this.element); | ||
| 229 | + | ||
| 230 | + this._handles = $(".ui-resizable-handle", this.element) | ||
| 231 | + .disableSelection(); | ||
| 232 | + | ||
| 233 | + this._handles.mouseover(function() { | ||
| 234 | + if (!that.resizing) { | ||
| 235 | + if (this.className) { | ||
| 236 | + axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); | ||
| 237 | + } | ||
| 238 | + that.axis = axis && axis[1] ? axis[1] : "se"; | ||
| 239 | + } | ||
| 240 | + }); | ||
| 241 | + | ||
| 242 | + if (o.autoHide) { | ||
| 243 | + this._handles.hide(); | ||
| 244 | + $(this.element) | ||
| 245 | + .addClass("ui-resizable-autohide") | ||
| 246 | + .mouseenter(function() { | ||
| 247 | + if (o.disabled) { | ||
| 248 | + return; | ||
| 249 | + } | ||
| 250 | + $(this).removeClass("ui-resizable-autohide"); | ||
| 251 | + that._handles.show(); | ||
| 252 | + }) | ||
| 253 | + .mouseleave(function() { | ||
| 254 | + if (o.disabled) { | ||
| 255 | + return; | ||
| 256 | + } | ||
| 257 | + if (!that.resizing) { | ||
| 258 | + $(this).addClass("ui-resizable-autohide"); | ||
| 259 | + that._handles.hide(); | ||
| 260 | + } | ||
| 261 | + }); | ||
| 262 | + } | ||
| 263 | + | ||
| 264 | + this._mouseInit(); | ||
| 265 | + | ||
| 266 | + }, | ||
| 267 | + | ||
| 268 | + _destroy: function() { | ||
| 269 | + | ||
| 270 | + this._mouseDestroy(); | ||
| 271 | + | ||
| 272 | + var wrapper, | ||
| 273 | + _destroy = function(exp) { | ||
| 274 | + $(exp) | ||
| 275 | + .removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing") | ||
| 276 | + .removeData("resizable") | ||
| 277 | + .removeData("ui-resizable") | ||
| 278 | + .unbind(".resizable") | ||
| 279 | + .find(".ui-resizable-handle") | ||
| 280 | + .remove(); | ||
| 281 | + }; | ||
| 282 | + | ||
| 283 | + // TODO: Unwrap at same DOM position | ||
| 284 | + if (this.elementIsWrapper) { | ||
| 285 | + _destroy(this.element); | ||
| 286 | + wrapper = this.element; | ||
| 287 | + this.originalElement.css({ | ||
| 288 | + position: wrapper.css("position"), | ||
| 289 | + width: wrapper.outerWidth(), | ||
| 290 | + height: wrapper.outerHeight(), | ||
| 291 | + top: wrapper.css("top"), | ||
| 292 | + left: wrapper.css("left") | ||
| 293 | + }).insertAfter( wrapper ); | ||
| 294 | + wrapper.remove(); | ||
| 295 | + } | ||
| 296 | + | ||
| 297 | + this.originalElement.css("resize", this.originalResizeStyle); | ||
| 298 | + _destroy(this.originalElement); | ||
| 299 | + | ||
| 300 | + return this; | ||
| 301 | + }, | ||
| 302 | + | ||
| 303 | + _mouseCapture: function(event) { | ||
| 304 | + var i, handle, | ||
| 305 | + capture = false; | ||
| 306 | + | ||
| 307 | + for (i in this.handles) { | ||
| 308 | + handle = $(this.handles[i])[0]; | ||
| 309 | + if (handle === event.target || $.contains(handle, event.target)) { | ||
| 310 | + capture = true; | ||
| 311 | + } | ||
| 312 | + } | ||
| 313 | + | ||
| 314 | + return !this.options.disabled && capture; | ||
| 315 | + }, | ||
| 316 | + | ||
| 317 | + _mouseStart: function(event) { | ||
| 318 | + | ||
| 319 | + var curleft, curtop, cursor, | ||
| 320 | + o = this.options, | ||
| 321 | + el = this.element; | ||
| 322 | + | ||
| 323 | + this.resizing = true; | ||
| 324 | + | ||
| 325 | + this._renderProxy(); | ||
| 326 | + | ||
| 327 | + curleft = this._num(this.helper.css("left")); | ||
| 328 | + curtop = this._num(this.helper.css("top")); | ||
| 329 | + | ||
| 330 | + if (o.containment) { | ||
| 331 | + curleft += $(o.containment).scrollLeft() || 0; | ||
| 332 | + curtop += $(o.containment).scrollTop() || 0; | ||
| 333 | + } | ||
| 334 | + | ||
| 335 | + this.offset = this.helper.offset(); | ||
| 336 | + this.position = { left: curleft, top: curtop }; | ||
| 337 | + | ||
| 338 | + this.size = this._helper ? { | ||
| 339 | + width: this.helper.width(), | ||
| 340 | + height: this.helper.height() | ||
| 341 | + } : { | ||
| 342 | + width: el.width(), | ||
| 343 | + height: el.height() | ||
| 344 | + }; | ||
| 345 | + | ||
| 346 | + this.originalSize = this._helper ? { | ||
| 347 | + width: el.outerWidth(), | ||
| 348 | + height: el.outerHeight() | ||
| 349 | + } : { | ||
| 350 | + width: el.width(), | ||
| 351 | + height: el.height() | ||
| 352 | + }; | ||
| 353 | + | ||
| 354 | + this.sizeDiff = { | ||
| 355 | + width: el.outerWidth() - el.width(), | ||
| 356 | + height: el.outerHeight() - el.height() | ||
| 357 | + }; | ||
| 358 | + | ||
| 359 | + this.originalPosition = { left: curleft, top: curtop }; | ||
| 360 | + this.originalMousePosition = { left: event.pageX, top: event.pageY }; | ||
| 361 | + | ||
| 362 | + this.aspectRatio = (typeof o.aspectRatio === "number") ? | ||
| 363 | + o.aspectRatio : | ||
| 364 | + ((this.originalSize.width / this.originalSize.height) || 1); | ||
| 365 | + | ||
| 366 | + cursor = $(".ui-resizable-" + this.axis).css("cursor"); | ||
| 367 | + $("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor); | ||
| 368 | + | ||
| 369 | + el.addClass("ui-resizable-resizing"); | ||
| 370 | + this._propagate("start", event); | ||
| 371 | + return true; | ||
| 372 | + }, | ||
| 373 | + | ||
| 374 | + _mouseDrag: function(event) { | ||
| 375 | + | ||
| 376 | + var data, props, | ||
| 377 | + smp = this.originalMousePosition, | ||
| 378 | + a = this.axis, | ||
| 379 | + dx = (event.pageX - smp.left) || 0, | ||
| 380 | + dy = (event.pageY - smp.top) || 0, | ||
| 381 | + trigger = this._change[a]; | ||
| 382 | + | ||
| 383 | + this._updatePrevProperties(); | ||
| 384 | + | ||
| 385 | + if (!trigger) { | ||
| 386 | + return false; | ||
| 387 | + } | ||
| 388 | + | ||
| 389 | + data = trigger.apply(this, [ event, dx, dy ]); | ||
| 390 | + | ||
| 391 | + this._updateVirtualBoundaries(event.shiftKey); | ||
| 392 | + if (this._aspectRatio || event.shiftKey) { | ||
| 393 | + data = this._updateRatio(data, event); | ||
| 394 | + } | ||
| 395 | + | ||
| 396 | + data = this._respectSize(data, event); | ||
| 397 | + | ||
| 398 | + this._updateCache(data); | ||
| 399 | + | ||
| 400 | + this._propagate("resize", event); | ||
| 401 | + | ||
| 402 | + props = this._applyChanges(); | ||
| 403 | + | ||
| 404 | + if ( !this._helper && this._proportionallyResizeElements.length ) { | ||
| 405 | + this._proportionallyResize(); | ||
| 406 | + } | ||
| 407 | + | ||
| 408 | + if ( !$.isEmptyObject( props ) ) { | ||
| 409 | + this._updatePrevProperties(); | ||
| 410 | + this._trigger( "resize", event, this.ui() ); | ||
| 411 | + this._applyChanges(); | ||
| 412 | + } | ||
| 413 | + | ||
| 414 | + return false; | ||
| 415 | + }, | ||
| 416 | + | ||
| 417 | + _mouseStop: function(event) { | ||
| 418 | + | ||
| 419 | + this.resizing = false; | ||
| 420 | + var pr, ista, soffseth, soffsetw, s, left, top, | ||
| 421 | + o = this.options, that = this; | ||
| 422 | + | ||
| 423 | + if (this._helper) { | ||
| 424 | + | ||
| 425 | + pr = this._proportionallyResizeElements; | ||
| 426 | + ista = pr.length && (/textarea/i).test(pr[0].nodeName); | ||
| 427 | + soffseth = ista && this._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height; | ||
| 428 | + soffsetw = ista ? 0 : that.sizeDiff.width; | ||
| 429 | + | ||
| 430 | + s = { | ||
| 431 | + width: (that.helper.width() - soffsetw), | ||
| 432 | + height: (that.helper.height() - soffseth) | ||
| 433 | + }; | ||
| 434 | + left = (parseInt(that.element.css("left"), 10) + | ||
| 435 | + (that.position.left - that.originalPosition.left)) || null; | ||
| 436 | + top = (parseInt(that.element.css("top"), 10) + | ||
| 437 | + (that.position.top - that.originalPosition.top)) || null; | ||
| 438 | + | ||
| 439 | + if (!o.animate) { | ||
| 440 | + this.element.css($.extend(s, { top: top, left: left })); | ||
| 441 | + } | ||
| 442 | + | ||
| 443 | + that.helper.height(that.size.height); | ||
| 444 | + that.helper.width(that.size.width); | ||
| 445 | + | ||
| 446 | + if (this._helper && !o.animate) { | ||
| 447 | + this._proportionallyResize(); | ||
| 448 | + } | ||
| 449 | + } | ||
| 450 | + | ||
| 451 | + $("body").css("cursor", "auto"); | ||
| 452 | + | ||
| 453 | + this.element.removeClass("ui-resizable-resizing"); | ||
| 454 | + | ||
| 455 | + this._propagate("stop", event); | ||
| 456 | + | ||
| 457 | + if (this._helper) { | ||
| 458 | + this.helper.remove(); | ||
| 459 | + } | ||
| 460 | + | ||
| 461 | + return false; | ||
| 462 | + | ||
| 463 | + }, | ||
| 464 | + | ||
| 465 | + _updatePrevProperties: function() { | ||
| 466 | + this.prevPosition = { | ||
| 467 | + top: this.position.top, | ||
| 468 | + left: this.position.left | ||
| 469 | + }; | ||
| 470 | + this.prevSize = { | ||
| 471 | + width: this.size.width, | ||
| 472 | + height: this.size.height | ||
| 473 | + }; | ||
| 474 | + }, | ||
| 475 | + | ||
| 476 | + _applyChanges: function() { | ||
| 477 | + var props = {}; | ||
| 478 | + | ||
| 479 | + if ( this.position.top !== this.prevPosition.top ) { | ||
| 480 | + props.top = this.position.top + "px"; | ||
| 481 | + } | ||
| 482 | + if ( this.position.left !== this.prevPosition.left ) { | ||
| 483 | + props.left = this.position.left + "px"; | ||
| 484 | + } | ||
| 485 | + if ( this.size.width !== this.prevSize.width ) { | ||
| 486 | + props.width = this.size.width + "px"; | ||
| 487 | + } | ||
| 488 | + if ( this.size.height !== this.prevSize.height ) { | ||
| 489 | + props.height = this.size.height + "px"; | ||
| 490 | + } | ||
| 491 | + | ||
| 492 | + this.helper.css( props ); | ||
| 493 | + | ||
| 494 | + return props; | ||
| 495 | + }, | ||
| 496 | + | ||
| 497 | + _updateVirtualBoundaries: function(forceAspectRatio) { | ||
| 498 | + var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b, | ||
| 499 | + o = this.options; | ||
| 500 | + | ||
| 501 | + b = { | ||
| 502 | + minWidth: this._isNumber(o.minWidth) ? o.minWidth : 0, | ||
| 503 | + maxWidth: this._isNumber(o.maxWidth) ? o.maxWidth : Infinity, | ||
| 504 | + minHeight: this._isNumber(o.minHeight) ? o.minHeight : 0, | ||
| 505 | + maxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : Infinity | ||
| 506 | + }; | ||
| 507 | + | ||
| 508 | + if (this._aspectRatio || forceAspectRatio) { | ||
| 509 | + pMinWidth = b.minHeight * this.aspectRatio; | ||
| 510 | + pMinHeight = b.minWidth / this.aspectRatio; | ||
| 511 | + pMaxWidth = b.maxHeight * this.aspectRatio; | ||
| 512 | + pMaxHeight = b.maxWidth / this.aspectRatio; | ||
| 513 | + | ||
| 514 | + if (pMinWidth > b.minWidth) { | ||
| 515 | + b.minWidth = pMinWidth; | ||
| 516 | + } | ||
| 517 | + if (pMinHeight > b.minHeight) { | ||
| 518 | + b.minHeight = pMinHeight; | ||
| 519 | + } | ||
| 520 | + if (pMaxWidth < b.maxWidth) { | ||
| 521 | + b.maxWidth = pMaxWidth; | ||
| 522 | + } | ||
| 523 | + if (pMaxHeight < b.maxHeight) { | ||
| 524 | + b.maxHeight = pMaxHeight; | ||
| 525 | + } | ||
| 526 | + } | ||
| 527 | + this._vBoundaries = b; | ||
| 528 | + }, | ||
| 529 | + | ||
| 530 | + _updateCache: function(data) { | ||
| 531 | + this.offset = this.helper.offset(); | ||
| 532 | + if (this._isNumber(data.left)) { | ||
| 533 | + this.position.left = data.left; | ||
| 534 | + } | ||
| 535 | + if (this._isNumber(data.top)) { | ||
| 536 | + this.position.top = data.top; | ||
| 537 | + } | ||
| 538 | + if (this._isNumber(data.height)) { | ||
| 539 | + this.size.height = data.height; | ||
| 540 | + } | ||
| 541 | + if (this._isNumber(data.width)) { | ||
| 542 | + this.size.width = data.width; | ||
| 543 | + } | ||
| 544 | + }, | ||
| 545 | + | ||
| 546 | + _updateRatio: function( data ) { | ||
| 547 | + | ||
| 548 | + var cpos = this.position, | ||
| 549 | + csize = this.size, | ||
| 550 | + a = this.axis; | ||
| 551 | + | ||
| 552 | + if (this._isNumber(data.height)) { | ||
| 553 | + data.width = (data.height * this.aspectRatio); | ||
| 554 | + } else if (this._isNumber(data.width)) { | ||
| 555 | + data.height = (data.width / this.aspectRatio); | ||
| 556 | + } | ||
| 557 | + | ||
| 558 | + if (a === "sw") { | ||
| 559 | + data.left = cpos.left + (csize.width - data.width); | ||
| 560 | + data.top = null; | ||
| 561 | + } | ||
| 562 | + if (a === "nw") { | ||
| 563 | + data.top = cpos.top + (csize.height - data.height); | ||
| 564 | + data.left = cpos.left + (csize.width - data.width); | ||
| 565 | + } | ||
| 566 | + | ||
| 567 | + return data; | ||
| 568 | + }, | ||
| 569 | + | ||
| 570 | + _respectSize: function( data ) { | ||
| 571 | + | ||
| 572 | + var o = this._vBoundaries, | ||
| 573 | + a = this.axis, | ||
| 574 | + ismaxw = this._isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), | ||
| 575 | + ismaxh = this._isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height), | ||
| 576 | + isminw = this._isNumber(data.width) && o.minWidth && (o.minWidth > data.width), | ||
| 577 | + isminh = this._isNumber(data.height) && o.minHeight && (o.minHeight > data.height), | ||
| 578 | + dw = this.originalPosition.left + this.originalSize.width, | ||
| 579 | + dh = this.position.top + this.size.height, | ||
| 580 | + cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a); | ||
| 581 | + if (isminw) { | ||
| 582 | + data.width = o.minWidth; | ||
| 583 | + } | ||
| 584 | + if (isminh) { | ||
| 585 | + data.height = o.minHeight; | ||
| 586 | + } | ||
| 587 | + if (ismaxw) { | ||
| 588 | + data.width = o.maxWidth; | ||
| 589 | + } | ||
| 590 | + if (ismaxh) { | ||
| 591 | + data.height = o.maxHeight; | ||
| 592 | + } | ||
| 593 | + | ||
| 594 | + if (isminw && cw) { | ||
| 595 | + data.left = dw - o.minWidth; | ||
| 596 | + } | ||
| 597 | + if (ismaxw && cw) { | ||
| 598 | + data.left = dw - o.maxWidth; | ||
| 599 | + } | ||
| 600 | + if (isminh && ch) { | ||
| 601 | + data.top = dh - o.minHeight; | ||
| 602 | + } | ||
| 603 | + if (ismaxh && ch) { | ||
| 604 | + data.top = dh - o.maxHeight; | ||
| 605 | + } | ||
| 606 | + | ||
| 607 | + // Fixing jump error on top/left - bug #2330 | ||
| 608 | + if (!data.width && !data.height && !data.left && data.top) { | ||
| 609 | + data.top = null; | ||
| 610 | + } else if (!data.width && !data.height && !data.top && data.left) { | ||
| 611 | + data.left = null; | ||
| 612 | + } | ||
| 613 | + | ||
| 614 | + return data; | ||
| 615 | + }, | ||
| 616 | + | ||
| 617 | + _getPaddingPlusBorderDimensions: function( element ) { | ||
| 618 | + var i = 0, | ||
| 619 | + widths = [], | ||
| 620 | + borders = [ | ||
| 621 | + element.css( "borderTopWidth" ), | ||
| 622 | + element.css( "borderRightWidth" ), | ||
| 623 | + element.css( "borderBottomWidth" ), | ||
| 624 | + element.css( "borderLeftWidth" ) | ||
| 625 | + ], | ||
| 626 | + paddings = [ | ||
| 627 | + element.css( "paddingTop" ), | ||
| 628 | + element.css( "paddingRight" ), | ||
| 629 | + element.css( "paddingBottom" ), | ||
| 630 | + element.css( "paddingLeft" ) | ||
| 631 | + ]; | ||
| 632 | + | ||
| 633 | + for ( ; i < 4; i++ ) { | ||
| 634 | + widths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 ); | ||
| 635 | + widths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 ); | ||
| 636 | + } | ||
| 637 | + | ||
| 638 | + return { | ||
| 639 | + height: widths[ 0 ] + widths[ 2 ], | ||
| 640 | + width: widths[ 1 ] + widths[ 3 ] | ||
| 641 | + }; | ||
| 642 | + }, | ||
| 643 | + | ||
| 644 | + _proportionallyResize: function() { | ||
| 645 | + | ||
| 646 | + if (!this._proportionallyResizeElements.length) { | ||
| 647 | + return; | ||
| 648 | + } | ||
| 649 | + | ||
| 650 | + var prel, | ||
| 651 | + i = 0, | ||
| 652 | + element = this.helper || this.element; | ||
| 653 | + | ||
| 654 | + for ( ; i < this._proportionallyResizeElements.length; i++) { | ||
| 655 | + | ||
| 656 | + prel = this._proportionallyResizeElements[i]; | ||
| 657 | + | ||
| 658 | + // TODO: Seems like a bug to cache this.outerDimensions | ||
| 659 | + // considering that we are in a loop. | ||
| 660 | + if (!this.outerDimensions) { | ||
| 661 | + this.outerDimensions = this._getPaddingPlusBorderDimensions( prel ); | ||
| 662 | + } | ||
| 663 | + | ||
| 664 | + prel.css({ | ||
| 665 | + height: (element.height() - this.outerDimensions.height) || 0, | ||
| 666 | + width: (element.width() - this.outerDimensions.width) || 0 | ||
| 667 | + }); | ||
| 668 | + | ||
| 669 | + } | ||
| 670 | + | ||
| 671 | + }, | ||
| 672 | + | ||
| 673 | + _renderProxy: function() { | ||
| 674 | + | ||
| 675 | + var el = this.element, o = this.options; | ||
| 676 | + this.elementOffset = el.offset(); | ||
| 677 | + | ||
| 678 | + if (this._helper) { | ||
| 679 | + | ||
| 680 | + this.helper = this.helper || $("<div style='overflow:hidden;'></div>"); | ||
| 681 | + | ||
| 682 | + this.helper.addClass(this._helper).css({ | ||
| 683 | + width: this.element.outerWidth() - 1, | ||
| 684 | + height: this.element.outerHeight() - 1, | ||
| 685 | + position: "absolute", | ||
| 686 | + left: this.elementOffset.left + "px", | ||
| 687 | + top: this.elementOffset.top + "px", | ||
| 688 | + zIndex: ++o.zIndex //TODO: Don't modify option | ||
| 689 | + }); | ||
| 690 | + | ||
| 691 | + this.helper | ||
| 692 | + .appendTo("body") | ||
| 693 | + .disableSelection(); | ||
| 694 | + | ||
| 695 | + } else { | ||
| 696 | + this.helper = this.element; | ||
| 697 | + } | ||
| 698 | + | ||
| 699 | + }, | ||
| 700 | + | ||
| 701 | + _change: { | ||
| 702 | + e: function(event, dx) { | ||
| 703 | + return { width: this.originalSize.width + dx }; | ||
| 704 | + }, | ||
| 705 | + w: function(event, dx) { | ||
| 706 | + var cs = this.originalSize, sp = this.originalPosition; | ||
| 707 | + return { left: sp.left + dx, width: cs.width - dx }; | ||
| 708 | + }, | ||
| 709 | + n: function(event, dx, dy) { | ||
| 710 | + var cs = this.originalSize, sp = this.originalPosition; | ||
| 711 | + return { top: sp.top + dy, height: cs.height - dy }; | ||
| 712 | + }, | ||
| 713 | + s: function(event, dx, dy) { | ||
| 714 | + return { height: this.originalSize.height + dy }; | ||
| 715 | + }, | ||
| 716 | + se: function(event, dx, dy) { | ||
| 717 | + return $.extend(this._change.s.apply(this, arguments), | ||
| 718 | + this._change.e.apply(this, [ event, dx, dy ])); | ||
| 719 | + }, | ||
| 720 | + sw: function(event, dx, dy) { | ||
| 721 | + return $.extend(this._change.s.apply(this, arguments), | ||
| 722 | + this._change.w.apply(this, [ event, dx, dy ])); | ||
| 723 | + }, | ||
| 724 | + ne: function(event, dx, dy) { | ||
| 725 | + return $.extend(this._change.n.apply(this, arguments), | ||
| 726 | + this._change.e.apply(this, [ event, dx, dy ])); | ||
| 727 | + }, | ||
| 728 | + nw: function(event, dx, dy) { | ||
| 729 | + return $.extend(this._change.n.apply(this, arguments), | ||
| 730 | + this._change.w.apply(this, [ event, dx, dy ])); | ||
| 731 | + } | ||
| 732 | + }, | ||
| 733 | + | ||
| 734 | + _propagate: function(n, event) { | ||
| 735 | + $.ui.plugin.call(this, n, [ event, this.ui() ]); | ||
| 736 | + (n !== "resize" && this._trigger(n, event, this.ui())); | ||
| 737 | + }, | ||
| 738 | + | ||
| 739 | + plugins: {}, | ||
| 740 | + | ||
| 741 | + ui: function() { | ||
| 742 | + return { | ||
| 743 | + originalElement: this.originalElement, | ||
| 744 | + element: this.element, | ||
| 745 | + helper: this.helper, | ||
| 746 | + position: this.position, | ||
| 747 | + size: this.size, | ||
| 748 | + originalSize: this.originalSize, | ||
| 749 | + originalPosition: this.originalPosition | ||
| 750 | + }; | ||
| 751 | + } | ||
| 752 | + | ||
| 753 | +}); | ||
| 754 | + | ||
| 755 | +/* | ||
| 756 | + * Resizable Extensions | ||
| 757 | + */ | ||
| 758 | + | ||
| 759 | +$.ui.plugin.add("resizable", "animate", { | ||
| 760 | + | ||
| 761 | + stop: function( event ) { | ||
| 762 | + var that = $(this).resizable( "instance" ), | ||
| 763 | + o = that.options, | ||
| 764 | + pr = that._proportionallyResizeElements, | ||
| 765 | + ista = pr.length && (/textarea/i).test(pr[0].nodeName), | ||
| 766 | + soffseth = ista && that._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height, | ||
| 767 | + soffsetw = ista ? 0 : that.sizeDiff.width, | ||
| 768 | + style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) }, | ||
| 769 | + left = (parseInt(that.element.css("left"), 10) + | ||
| 770 | + (that.position.left - that.originalPosition.left)) || null, | ||
| 771 | + top = (parseInt(that.element.css("top"), 10) + | ||
| 772 | + (that.position.top - that.originalPosition.top)) || null; | ||
| 773 | + | ||
| 774 | + that.element.animate( | ||
| 775 | + $.extend(style, top && left ? { top: top, left: left } : {}), { | ||
| 776 | + duration: o.animateDuration, | ||
| 777 | + easing: o.animateEasing, | ||
| 778 | + step: function() { | ||
| 779 | + | ||
| 780 | + var data = { | ||
| 781 | + width: parseInt(that.element.css("width"), 10), | ||
| 782 | + height: parseInt(that.element.css("height"), 10), | ||
| 783 | + top: parseInt(that.element.css("top"), 10), | ||
| 784 | + left: parseInt(that.element.css("left"), 10) | ||
| 785 | + }; | ||
| 786 | + | ||
| 787 | + if (pr && pr.length) { | ||
| 788 | + $(pr[0]).css({ width: data.width, height: data.height }); | ||
| 789 | + } | ||
| 790 | + | ||
| 791 | + // propagating resize, and updating values for each animation step | ||
| 792 | + that._updateCache(data); | ||
| 793 | + that._propagate("resize", event); | ||
| 794 | + | ||
| 795 | + } | ||
| 796 | + } | ||
| 797 | + ); | ||
| 798 | + } | ||
| 799 | + | ||
| 800 | +}); | ||
| 801 | + | ||
| 802 | +$.ui.plugin.add( "resizable", "containment", { | ||
| 803 | + | ||
| 804 | + start: function() { | ||
| 805 | + var element, p, co, ch, cw, width, height, | ||
| 806 | + that = $( this ).resizable( "instance" ), | ||
| 807 | + o = that.options, | ||
| 808 | + el = that.element, | ||
| 809 | + oc = o.containment, | ||
| 810 | + ce = ( oc instanceof $ ) ? oc.get( 0 ) : ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc; | ||
| 811 | + | ||
| 812 | + if ( !ce ) { | ||
| 813 | + return; | ||
| 814 | + } | ||
| 815 | + | ||
| 816 | + that.containerElement = $( ce ); | ||
| 817 | + | ||
| 818 | + if ( /document/.test( oc ) || oc === document ) { | ||
| 819 | + that.containerOffset = { | ||
| 820 | + left: 0, | ||
| 821 | + top: 0 | ||
| 822 | + }; | ||
| 823 | + that.containerPosition = { | ||
| 824 | + left: 0, | ||
| 825 | + top: 0 | ||
| 826 | + }; | ||
| 827 | + | ||
| 828 | + that.parentData = { | ||
| 829 | + element: $( document ), | ||
| 830 | + left: 0, | ||
| 831 | + top: 0, | ||
| 832 | + width: $( document ).width(), | ||
| 833 | + height: $( document ).height() || document.body.parentNode.scrollHeight | ||
| 834 | + }; | ||
| 835 | + } else { | ||
| 836 | + element = $( ce ); | ||
| 837 | + p = []; | ||
| 838 | + $([ "Top", "Right", "Left", "Bottom" ]).each(function( i, name ) { | ||
| 839 | + p[ i ] = that._num( element.css( "padding" + name ) ); | ||
| 840 | + }); | ||
| 841 | + | ||
| 842 | + that.containerOffset = element.offset(); | ||
| 843 | + that.containerPosition = element.position(); | ||
| 844 | + that.containerSize = { | ||
| 845 | + height: ( element.innerHeight() - p[ 3 ] ), | ||
| 846 | + width: ( element.innerWidth() - p[ 1 ] ) | ||
| 847 | + }; | ||
| 848 | + | ||
| 849 | + co = that.containerOffset; | ||
| 850 | + ch = that.containerSize.height; | ||
| 851 | + cw = that.containerSize.width; | ||
| 852 | + width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw ); | ||
| 853 | + height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ; | ||
| 854 | + | ||
| 855 | + that.parentData = { | ||
| 856 | + element: ce, | ||
| 857 | + left: co.left, | ||
| 858 | + top: co.top, | ||
| 859 | + width: width, | ||
| 860 | + height: height | ||
| 861 | + }; | ||
| 862 | + } | ||
| 863 | + }, | ||
| 864 | + | ||
| 865 | + resize: function( event ) { | ||
| 866 | + var woset, hoset, isParent, isOffsetRelative, | ||
| 867 | + that = $( this ).resizable( "instance" ), | ||
| 868 | + o = that.options, | ||
| 869 | + co = that.containerOffset, | ||
| 870 | + cp = that.position, | ||
| 871 | + pRatio = that._aspectRatio || event.shiftKey, | ||
| 872 | + cop = { | ||
| 873 | + top: 0, | ||
| 874 | + left: 0 | ||
| 875 | + }, | ||
| 876 | + ce = that.containerElement, | ||
| 877 | + continueResize = true; | ||
| 878 | + | ||
| 879 | + if ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( "position" ) ) ) { | ||
| 880 | + cop = co; | ||
| 881 | + } | ||
| 882 | + | ||
| 883 | + if ( cp.left < ( that._helper ? co.left : 0 ) ) { | ||
| 884 | + that.size.width = that.size.width + | ||
| 885 | + ( that._helper ? | ||
| 886 | + ( that.position.left - co.left ) : | ||
| 887 | + ( that.position.left - cop.left ) ); | ||
| 888 | + | ||
| 889 | + if ( pRatio ) { | ||
| 890 | + that.size.height = that.size.width / that.aspectRatio; | ||
| 891 | + continueResize = false; | ||
| 892 | + } | ||
| 893 | + that.position.left = o.helper ? co.left : 0; | ||
| 894 | + } | ||
| 895 | + | ||
| 896 | + if ( cp.top < ( that._helper ? co.top : 0 ) ) { | ||
| 897 | + that.size.height = that.size.height + | ||
| 898 | + ( that._helper ? | ||
| 899 | + ( that.position.top - co.top ) : | ||
| 900 | + that.position.top ); | ||
| 901 | + | ||
| 902 | + if ( pRatio ) { | ||
| 903 | + that.size.width = that.size.height * that.aspectRatio; | ||
| 904 | + continueResize = false; | ||
| 905 | + } | ||
| 906 | + that.position.top = that._helper ? co.top : 0; | ||
| 907 | + } | ||
| 908 | + | ||
| 909 | + isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 ); | ||
| 910 | + isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) ); | ||
| 911 | + | ||
| 912 | + if ( isParent && isOffsetRelative ) { | ||
| 913 | + that.offset.left = that.parentData.left + that.position.left; | ||
| 914 | + that.offset.top = that.parentData.top + that.position.top; | ||
| 915 | + } else { | ||
| 916 | + that.offset.left = that.element.offset().left; | ||
| 917 | + that.offset.top = that.element.offset().top; | ||
| 918 | + } | ||
| 919 | + | ||
| 920 | + woset = Math.abs( that.sizeDiff.width + | ||
| 921 | + (that._helper ? | ||
| 922 | + that.offset.left - cop.left : | ||
| 923 | + (that.offset.left - co.left)) ); | ||
| 924 | + | ||
| 925 | + hoset = Math.abs( that.sizeDiff.height + | ||
| 926 | + (that._helper ? | ||
| 927 | + that.offset.top - cop.top : | ||
| 928 | + (that.offset.top - co.top)) ); | ||
| 929 | + | ||
| 930 | + if ( woset + that.size.width >= that.parentData.width ) { | ||
| 931 | + that.size.width = that.parentData.width - woset; | ||
| 932 | + if ( pRatio ) { | ||
| 933 | + that.size.height = that.size.width / that.aspectRatio; | ||
| 934 | + continueResize = false; | ||
| 935 | + } | ||
| 936 | + } | ||
| 937 | + | ||
| 938 | + if ( hoset + that.size.height >= that.parentData.height ) { | ||
| 939 | + that.size.height = that.parentData.height - hoset; | ||
| 940 | + if ( pRatio ) { | ||
| 941 | + that.size.width = that.size.height * that.aspectRatio; | ||
| 942 | + continueResize = false; | ||
| 943 | + } | ||
| 944 | + } | ||
| 945 | + | ||
| 946 | + if ( !continueResize ){ | ||
| 947 | + that.position.left = that.prevPosition.left; | ||
| 948 | + that.position.top = that.prevPosition.top; | ||
| 949 | + that.size.width = that.prevSize.width; | ||
| 950 | + that.size.height = that.prevSize.height; | ||
| 951 | + } | ||
| 952 | + }, | ||
| 953 | + | ||
| 954 | + stop: function() { | ||
| 955 | + var that = $( this ).resizable( "instance" ), | ||
| 956 | + o = that.options, | ||
| 957 | + co = that.containerOffset, | ||
| 958 | + cop = that.containerPosition, | ||
| 959 | + ce = that.containerElement, | ||
| 960 | + helper = $( that.helper ), | ||
| 961 | + ho = helper.offset(), | ||
| 962 | + w = helper.outerWidth() - that.sizeDiff.width, | ||
| 963 | + h = helper.outerHeight() - that.sizeDiff.height; | ||
| 964 | + | ||
| 965 | + if ( that._helper && !o.animate && ( /relative/ ).test( ce.css( "position" ) ) ) { | ||
| 966 | + $( this ).css({ | ||
| 967 | + left: ho.left - cop.left - co.left, | ||
| 968 | + width: w, | ||
| 969 | + height: h | ||
| 970 | + }); | ||
| 971 | + } | ||
| 972 | + | ||
| 973 | + if ( that._helper && !o.animate && ( /static/ ).test( ce.css( "position" ) ) ) { | ||
| 974 | + $( this ).css({ | ||
| 975 | + left: ho.left - cop.left - co.left, | ||
| 976 | + width: w, | ||
| 977 | + height: h | ||
| 978 | + }); | ||
| 979 | + } | ||
| 980 | + } | ||
| 981 | +}); | ||
| 982 | + | ||
| 983 | +$.ui.plugin.add("resizable", "alsoResize", { | ||
| 984 | + | ||
| 985 | + start: function() { | ||
| 986 | + var that = $(this).resizable( "instance" ), | ||
| 987 | + o = that.options, | ||
| 988 | + _store = function(exp) { | ||
| 989 | + $(exp).each(function() { | ||
| 990 | + var el = $(this); | ||
| 991 | + el.data("ui-resizable-alsoresize", { | ||
| 992 | + width: parseInt(el.width(), 10), height: parseInt(el.height(), 10), | ||
| 993 | + left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10) | ||
| 994 | + }); | ||
| 995 | + }); | ||
| 996 | + }; | ||
| 997 | + | ||
| 998 | + if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) { | ||
| 999 | + if (o.alsoResize.length) { | ||
| 1000 | + o.alsoResize = o.alsoResize[0]; | ||
| 1001 | + _store(o.alsoResize); | ||
| 1002 | + } else { | ||
| 1003 | + $.each(o.alsoResize, function(exp) { | ||
| 1004 | + _store(exp); | ||
| 1005 | + }); | ||
| 1006 | + } | ||
| 1007 | + } else { | ||
| 1008 | + _store(o.alsoResize); | ||
| 1009 | + } | ||
| 1010 | + }, | ||
| 1011 | + | ||
| 1012 | + resize: function(event, ui) { | ||
| 1013 | + var that = $(this).resizable( "instance" ), | ||
| 1014 | + o = that.options, | ||
| 1015 | + os = that.originalSize, | ||
| 1016 | + op = that.originalPosition, | ||
| 1017 | + delta = { | ||
| 1018 | + height: (that.size.height - os.height) || 0, | ||
| 1019 | + width: (that.size.width - os.width) || 0, | ||
| 1020 | + top: (that.position.top - op.top) || 0, | ||
| 1021 | + left: (that.position.left - op.left) || 0 | ||
| 1022 | + }, | ||
| 1023 | + | ||
| 1024 | + _alsoResize = function(exp, c) { | ||
| 1025 | + $(exp).each(function() { | ||
| 1026 | + var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {}, | ||
| 1027 | + css = c && c.length ? | ||
| 1028 | + c : | ||
| 1029 | + el.parents(ui.originalElement[0]).length ? | ||
| 1030 | + [ "width", "height" ] : | ||
| 1031 | + [ "width", "height", "top", "left" ]; | ||
| 1032 | + | ||
| 1033 | + $.each(css, function(i, prop) { | ||
| 1034 | + var sum = (start[prop] || 0) + (delta[prop] || 0); | ||
| 1035 | + if (sum && sum >= 0) { | ||
| 1036 | + style[prop] = sum || null; | ||
| 1037 | + } | ||
| 1038 | + }); | ||
| 1039 | + | ||
| 1040 | + el.css(style); | ||
| 1041 | + }); | ||
| 1042 | + }; | ||
| 1043 | + | ||
| 1044 | + if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) { | ||
| 1045 | + $.each(o.alsoResize, function(exp, c) { | ||
| 1046 | + _alsoResize(exp, c); | ||
| 1047 | + }); | ||
| 1048 | + } else { | ||
| 1049 | + _alsoResize(o.alsoResize); | ||
| 1050 | + } | ||
| 1051 | + }, | ||
| 1052 | + | ||
| 1053 | + stop: function() { | ||
| 1054 | + $(this).removeData("resizable-alsoresize"); | ||
| 1055 | + } | ||
| 1056 | +}); | ||
| 1057 | + | ||
| 1058 | +$.ui.plugin.add("resizable", "ghost", { | ||
| 1059 | + | ||
| 1060 | + start: function() { | ||
| 1061 | + | ||
| 1062 | + var that = $(this).resizable( "instance" ), o = that.options, cs = that.size; | ||
| 1063 | + | ||
| 1064 | + that.ghost = that.originalElement.clone(); | ||
| 1065 | + that.ghost | ||
| 1066 | + .css({ | ||
| 1067 | + opacity: 0.25, | ||
| 1068 | + display: "block", | ||
| 1069 | + position: "relative", | ||
| 1070 | + height: cs.height, | ||
| 1071 | + width: cs.width, | ||
| 1072 | + margin: 0, | ||
| 1073 | + left: 0, | ||
| 1074 | + top: 0 | ||
| 1075 | + }) | ||
| 1076 | + .addClass("ui-resizable-ghost") | ||
| 1077 | + .addClass(typeof o.ghost === "string" ? o.ghost : ""); | ||
| 1078 | + | ||
| 1079 | + that.ghost.appendTo(that.helper); | ||
| 1080 | + | ||
| 1081 | + }, | ||
| 1082 | + | ||
| 1083 | + resize: function() { | ||
| 1084 | + var that = $(this).resizable( "instance" ); | ||
| 1085 | + if (that.ghost) { | ||
| 1086 | + that.ghost.css({ | ||
| 1087 | + position: "relative", | ||
| 1088 | + height: that.size.height, | ||
| 1089 | + width: that.size.width | ||
| 1090 | + }); | ||
| 1091 | + } | ||
| 1092 | + }, | ||
| 1093 | + | ||
| 1094 | + stop: function() { | ||
| 1095 | + var that = $(this).resizable( "instance" ); | ||
| 1096 | + if (that.ghost && that.helper) { | ||
| 1097 | + that.helper.get(0).removeChild(that.ghost.get(0)); | ||
| 1098 | + } | ||
| 1099 | + } | ||
| 1100 | + | ||
| 1101 | +}); | ||
| 1102 | + | ||
| 1103 | +$.ui.plugin.add("resizable", "grid", { | ||
| 1104 | + | ||
| 1105 | + resize: function() { | ||
| 1106 | + var outerDimensions, | ||
| 1107 | + that = $(this).resizable( "instance" ), | ||
| 1108 | + o = that.options, | ||
| 1109 | + cs = that.size, | ||
| 1110 | + os = that.originalSize, | ||
| 1111 | + op = that.originalPosition, | ||
| 1112 | + a = that.axis, | ||
| 1113 | + grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid, | ||
| 1114 | + gridX = (grid[0] || 1), | ||
| 1115 | + gridY = (grid[1] || 1), | ||
| 1116 | + ox = Math.round((cs.width - os.width) / gridX) * gridX, | ||
| 1117 | + oy = Math.round((cs.height - os.height) / gridY) * gridY, | ||
| 1118 | + newWidth = os.width + ox, | ||
| 1119 | + newHeight = os.height + oy, | ||
| 1120 | + isMaxWidth = o.maxWidth && (o.maxWidth < newWidth), | ||
| 1121 | + isMaxHeight = o.maxHeight && (o.maxHeight < newHeight), | ||
| 1122 | + isMinWidth = o.minWidth && (o.minWidth > newWidth), | ||
| 1123 | + isMinHeight = o.minHeight && (o.minHeight > newHeight); | ||
| 1124 | + | ||
| 1125 | + o.grid = grid; | ||
| 1126 | + | ||
| 1127 | + if (isMinWidth) { | ||
| 1128 | + newWidth += gridX; | ||
| 1129 | + } | ||
| 1130 | + if (isMinHeight) { | ||
| 1131 | + newHeight += gridY; | ||
| 1132 | + } | ||
| 1133 | + if (isMaxWidth) { | ||
| 1134 | + newWidth -= gridX; | ||
| 1135 | + } | ||
| 1136 | + if (isMaxHeight) { | ||
| 1137 | + newHeight -= gridY; | ||
| 1138 | + } | ||
| 1139 | + | ||
| 1140 | + if (/^(se|s|e)$/.test(a)) { | ||
| 1141 | + that.size.width = newWidth; | ||
| 1142 | + that.size.height = newHeight; | ||
| 1143 | + } else if (/^(ne)$/.test(a)) { | ||
| 1144 | + that.size.width = newWidth; | ||
| 1145 | + that.size.height = newHeight; | ||
| 1146 | + that.position.top = op.top - oy; | ||
| 1147 | + } else if (/^(sw)$/.test(a)) { | ||
| 1148 | + that.size.width = newWidth; | ||
| 1149 | + that.size.height = newHeight; | ||
| 1150 | + that.position.left = op.left - ox; | ||
| 1151 | + } else { | ||
| 1152 | + if ( newHeight - gridY <= 0 || newWidth - gridX <= 0) { | ||
| 1153 | + outerDimensions = that._getPaddingPlusBorderDimensions( this ); | ||
| 1154 | + } | ||
| 1155 | + | ||
| 1156 | + if ( newHeight - gridY > 0 ) { | ||
| 1157 | + that.size.height = newHeight; | ||
| 1158 | + that.position.top = op.top - oy; | ||
| 1159 | + } else { | ||
| 1160 | + newHeight = gridY - outerDimensions.height; | ||
| 1161 | + that.size.height = newHeight; | ||
| 1162 | + that.position.top = op.top + os.height - newHeight; | ||
| 1163 | + } | ||
| 1164 | + if ( newWidth - gridX > 0 ) { | ||
| 1165 | + that.size.width = newWidth; | ||
| 1166 | + that.position.left = op.left - ox; | ||
| 1167 | + } else { | ||
| 1168 | + newWidth = gridY - outerDimensions.height; | ||
| 1169 | + that.size.width = newWidth; | ||
| 1170 | + that.position.left = op.left + os.width - newWidth; | ||
| 1171 | + } | ||
| 1172 | + } | ||
| 1173 | + } | ||
| 1174 | + | ||
| 1175 | +}); | ||
| 1176 | + | ||
| 1177 | +return $.ui.resizable; | ||
| 1178 | + | ||
| 1179 | +})); |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/accordion.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Accordion 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/accordion/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-accordion .ui-accordion-header { | ||
| 12 | + display: block; | ||
| 13 | + cursor: pointer; | ||
| 14 | + position: relative; | ||
| 15 | + margin: 2px 0 0 0; | ||
| 16 | + padding: .5em .5em .5em .7em; | ||
| 17 | + min-height: 0; /* support: IE7 */ | ||
| 18 | + font-size: 100%; | ||
| 19 | +} | ||
| 20 | +.ui-accordion .ui-accordion-icons { | ||
| 21 | + padding-left: 2.2em; | ||
| 22 | +} | ||
| 23 | +.ui-accordion .ui-accordion-icons .ui-accordion-icons { | ||
| 24 | + padding-left: 2.2em; | ||
| 25 | +} | ||
| 26 | +.ui-accordion .ui-accordion-header .ui-accordion-header-icon { | ||
| 27 | + position: absolute; | ||
| 28 | + left: .5em; | ||
| 29 | + top: 50%; | ||
| 30 | + margin-top: -8px; | ||
| 31 | +} | ||
| 32 | +.ui-accordion .ui-accordion-content { | ||
| 33 | + padding: 1em 2.2em; | ||
| 34 | + border-top: 0; | ||
| 35 | + overflow: auto; | ||
| 36 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/all.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI CSS Framework 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/category/theming/ | ||
| 10 | + */ | ||
| 11 | +@import "base.css"; | ||
| 12 | +@import "theme.css"; |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/autocomplete.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Autocomplete 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/autocomplete/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-autocomplete { | ||
| 12 | + position: absolute; | ||
| 13 | + top: 0; | ||
| 14 | + left: 0; | ||
| 15 | + cursor: default; | ||
| 16 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/base.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI CSS Framework 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/category/theming/ | ||
| 10 | + */ | ||
| 11 | +@import url("core.css"); | ||
| 12 | + | ||
| 13 | +@import url("accordion.css"); | ||
| 14 | +@import url("autocomplete.css"); | ||
| 15 | +@import url("button.css"); | ||
| 16 | +@import url("datepicker.css"); | ||
| 17 | +@import url("dialog.css"); | ||
| 18 | +@import url("draggable.css"); | ||
| 19 | +@import url("menu.css"); | ||
| 20 | +@import url("progressbar.css"); | ||
| 21 | +@import url("resizable.css"); | ||
| 22 | +@import url("selectable.css"); | ||
| 23 | +@import url("selectmenu.css"); | ||
| 24 | +@import url("sortable.css"); | ||
| 25 | +@import url("slider.css"); | ||
| 26 | +@import url("spinner.css"); | ||
| 27 | +@import url("tabs.css"); | ||
| 28 | +@import url("tooltip.css"); |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/button.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Button 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/button/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-button { | ||
| 12 | + display: inline-block; | ||
| 13 | + position: relative; | ||
| 14 | + padding: 0; | ||
| 15 | + line-height: normal; | ||
| 16 | + margin-right: .1em; | ||
| 17 | + cursor: pointer; | ||
| 18 | + vertical-align: middle; | ||
| 19 | + text-align: center; | ||
| 20 | + overflow: visible; /* removes extra width in IE */ | ||
| 21 | +} | ||
| 22 | +.ui-button, | ||
| 23 | +.ui-button:link, | ||
| 24 | +.ui-button:visited, | ||
| 25 | +.ui-button:hover, | ||
| 26 | +.ui-button:active { | ||
| 27 | + text-decoration: none; | ||
| 28 | +} | ||
| 29 | +/* to make room for the icon, a width needs to be set here */ | ||
| 30 | +.ui-button-icon-only { | ||
| 31 | + width: 2.2em; | ||
| 32 | +} | ||
| 33 | +/* button elements seem to need a little more width */ | ||
| 34 | +button.ui-button-icon-only { | ||
| 35 | + width: 2.4em; | ||
| 36 | +} | ||
| 37 | +.ui-button-icons-only { | ||
| 38 | + width: 3.4em; | ||
| 39 | +} | ||
| 40 | +button.ui-button-icons-only { | ||
| 41 | + width: 3.7em; | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +/* button text element */ | ||
| 45 | +.ui-button .ui-button-text { | ||
| 46 | + display: block; | ||
| 47 | + line-height: normal; | ||
| 48 | +} | ||
| 49 | +.ui-button-text-only .ui-button-text { | ||
| 50 | + padding: .4em 1em; | ||
| 51 | +} | ||
| 52 | +.ui-button-icon-only .ui-button-text, | ||
| 53 | +.ui-button-icons-only .ui-button-text { | ||
| 54 | + padding: .4em; | ||
| 55 | + text-indent: -9999999px; | ||
| 56 | +} | ||
| 57 | +.ui-button-text-icon-primary .ui-button-text, | ||
| 58 | +.ui-button-text-icons .ui-button-text { | ||
| 59 | + padding: .4em 1em .4em 2.1em; | ||
| 60 | +} | ||
| 61 | +.ui-button-text-icon-secondary .ui-button-text, | ||
| 62 | +.ui-button-text-icons .ui-button-text { | ||
| 63 | + padding: .4em 2.1em .4em 1em; | ||
| 64 | +} | ||
| 65 | +.ui-button-text-icons .ui-button-text { | ||
| 66 | + padding-left: 2.1em; | ||
| 67 | + padding-right: 2.1em; | ||
| 68 | +} | ||
| 69 | +/* no icon support for input elements, provide padding by default */ | ||
| 70 | +input.ui-button { | ||
| 71 | + padding: .4em 1em; | ||
| 72 | +} | ||
| 73 | + | ||
| 74 | +/* button icon element(s) */ | ||
| 75 | +.ui-button-icon-only .ui-icon, | ||
| 76 | +.ui-button-text-icon-primary .ui-icon, | ||
| 77 | +.ui-button-text-icon-secondary .ui-icon, | ||
| 78 | +.ui-button-text-icons .ui-icon, | ||
| 79 | +.ui-button-icons-only .ui-icon { | ||
| 80 | + position: absolute; | ||
| 81 | + top: 50%; | ||
| 82 | + margin-top: -8px; | ||
| 83 | +} | ||
| 84 | +.ui-button-icon-only .ui-icon { | ||
| 85 | + left: 50%; | ||
| 86 | + margin-left: -8px; | ||
| 87 | +} | ||
| 88 | +.ui-button-text-icon-primary .ui-button-icon-primary, | ||
| 89 | +.ui-button-text-icons .ui-button-icon-primary, | ||
| 90 | +.ui-button-icons-only .ui-button-icon-primary { | ||
| 91 | + left: .5em; | ||
| 92 | +} | ||
| 93 | +.ui-button-text-icon-secondary .ui-button-icon-secondary, | ||
| 94 | +.ui-button-text-icons .ui-button-icon-secondary, | ||
| 95 | +.ui-button-icons-only .ui-button-icon-secondary { | ||
| 96 | + right: .5em; | ||
| 97 | +} | ||
| 98 | + | ||
| 99 | +/* button sets */ | ||
| 100 | +.ui-buttonset { | ||
| 101 | + margin-right: 7px; | ||
| 102 | +} | ||
| 103 | +.ui-buttonset .ui-button { | ||
| 104 | + margin-left: 0; | ||
| 105 | + margin-right: -.3em; | ||
| 106 | +} | ||
| 107 | + | ||
| 108 | +/* workarounds */ | ||
| 109 | +/* reset extra padding in Firefox, see h5bp.com/l */ | ||
| 110 | +input.ui-button::-moz-focus-inner, | ||
| 111 | +button.ui-button::-moz-focus-inner { | ||
| 112 | + border: 0; | ||
| 113 | + padding: 0; | ||
| 114 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/core.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI CSS Framework 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/category/theming/ | ||
| 10 | + */ | ||
| 11 | + | ||
| 12 | +/* Layout helpers | ||
| 13 | +----------------------------------*/ | ||
| 14 | +.ui-helper-hidden { | ||
| 15 | + display: none; | ||
| 16 | +} | ||
| 17 | +.ui-helper-hidden-accessible { | ||
| 18 | + border: 0; | ||
| 19 | + clip: rect(0 0 0 0); | ||
| 20 | + height: 1px; | ||
| 21 | + margin: -1px; | ||
| 22 | + overflow: hidden; | ||
| 23 | + padding: 0; | ||
| 24 | + position: absolute; | ||
| 25 | + width: 1px; | ||
| 26 | +} | ||
| 27 | +.ui-helper-reset { | ||
| 28 | + margin: 0; | ||
| 29 | + padding: 0; | ||
| 30 | + border: 0; | ||
| 31 | + outline: 0; | ||
| 32 | + line-height: 1.3; | ||
| 33 | + text-decoration: none; | ||
| 34 | + font-size: 100%; | ||
| 35 | + list-style: none; | ||
| 36 | +} | ||
| 37 | +.ui-helper-clearfix:before, | ||
| 38 | +.ui-helper-clearfix:after { | ||
| 39 | + content: ""; | ||
| 40 | + display: table; | ||
| 41 | + border-collapse: collapse; | ||
| 42 | +} | ||
| 43 | +.ui-helper-clearfix:after { | ||
| 44 | + clear: both; | ||
| 45 | +} | ||
| 46 | +.ui-helper-clearfix { | ||
| 47 | + min-height: 0; /* support: IE7 */ | ||
| 48 | +} | ||
| 49 | +.ui-helper-zfix { | ||
| 50 | + width: 100%; | ||
| 51 | + height: 100%; | ||
| 52 | + top: 0; | ||
| 53 | + left: 0; | ||
| 54 | + position: absolute; | ||
| 55 | + opacity: 0; | ||
| 56 | + filter:Alpha(Opacity=0); /* support: IE8 */ | ||
| 57 | +} | ||
| 58 | + | ||
| 59 | +.ui-front { | ||
| 60 | + z-index: 100; | ||
| 61 | +} | ||
| 62 | + | ||
| 63 | + | ||
| 64 | +/* Interaction Cues | ||
| 65 | +----------------------------------*/ | ||
| 66 | +.ui-state-disabled { | ||
| 67 | + cursor: default !important; | ||
| 68 | +} | ||
| 69 | + | ||
| 70 | + | ||
| 71 | +/* Icons | ||
| 72 | +----------------------------------*/ | ||
| 73 | + | ||
| 74 | +/* states and images */ | ||
| 75 | +.ui-icon { | ||
| 76 | + display: block; | ||
| 77 | + text-indent: -99999px; | ||
| 78 | + overflow: hidden; | ||
| 79 | + background-repeat: no-repeat; | ||
| 80 | +} | ||
| 81 | + | ||
| 82 | + | ||
| 83 | +/* Misc visuals | ||
| 84 | +----------------------------------*/ | ||
| 85 | + | ||
| 86 | +/* Overlays */ | ||
| 87 | +.ui-widget-overlay { | ||
| 88 | + position: fixed; | ||
| 89 | + top: 0; | ||
| 90 | + left: 0; | ||
| 91 | + width: 100%; | ||
| 92 | + height: 100%; | ||
| 93 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/datepicker.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Datepicker 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/datepicker/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-datepicker { | ||
| 12 | + width: 17em; | ||
| 13 | + padding: .2em .2em 0; | ||
| 14 | + display: none; | ||
| 15 | +} | ||
| 16 | +.ui-datepicker .ui-datepicker-header { | ||
| 17 | + position: relative; | ||
| 18 | + padding: .2em 0; | ||
| 19 | +} | ||
| 20 | +.ui-datepicker .ui-datepicker-prev, | ||
| 21 | +.ui-datepicker .ui-datepicker-next { | ||
| 22 | + position: absolute; | ||
| 23 | + top: 2px; | ||
| 24 | + width: 1.8em; | ||
| 25 | + height: 1.8em; | ||
| 26 | +} | ||
| 27 | +.ui-datepicker .ui-datepicker-prev-hover, | ||
| 28 | +.ui-datepicker .ui-datepicker-next-hover { | ||
| 29 | + top: 1px; | ||
| 30 | +} | ||
| 31 | +.ui-datepicker .ui-datepicker-prev { | ||
| 32 | + left: 2px; | ||
| 33 | +} | ||
| 34 | +.ui-datepicker .ui-datepicker-next { | ||
| 35 | + right: 2px; | ||
| 36 | +} | ||
| 37 | +.ui-datepicker .ui-datepicker-prev-hover { | ||
| 38 | + left: 1px; | ||
| 39 | +} | ||
| 40 | +.ui-datepicker .ui-datepicker-next-hover { | ||
| 41 | + right: 1px; | ||
| 42 | +} | ||
| 43 | +.ui-datepicker .ui-datepicker-prev span, | ||
| 44 | +.ui-datepicker .ui-datepicker-next span { | ||
| 45 | + display: block; | ||
| 46 | + position: absolute; | ||
| 47 | + left: 50%; | ||
| 48 | + margin-left: -8px; | ||
| 49 | + top: 50%; | ||
| 50 | + margin-top: -8px; | ||
| 51 | +} | ||
| 52 | +.ui-datepicker .ui-datepicker-title { | ||
| 53 | + margin: 0 2.3em; | ||
| 54 | + line-height: 1.8em; | ||
| 55 | + text-align: center; | ||
| 56 | +} | ||
| 57 | +.ui-datepicker .ui-datepicker-title select { | ||
| 58 | + font-size: 1em; | ||
| 59 | + margin: 1px 0; | ||
| 60 | +} | ||
| 61 | +.ui-datepicker select.ui-datepicker-month, | ||
| 62 | +.ui-datepicker select.ui-datepicker-year { | ||
| 63 | + width: 45%; | ||
| 64 | +} | ||
| 65 | +.ui-datepicker table { | ||
| 66 | + width: 100%; | ||
| 67 | + font-size: .9em; | ||
| 68 | + border-collapse: collapse; | ||
| 69 | + margin: 0 0 .4em; | ||
| 70 | +} | ||
| 71 | +.ui-datepicker th { | ||
| 72 | + padding: .7em .3em; | ||
| 73 | + text-align: center; | ||
| 74 | + font-weight: bold; | ||
| 75 | + border: 0; | ||
| 76 | +} | ||
| 77 | +.ui-datepicker td { | ||
| 78 | + border: 0; | ||
| 79 | + padding: 1px; | ||
| 80 | +} | ||
| 81 | +.ui-datepicker td span, | ||
| 82 | +.ui-datepicker td a { | ||
| 83 | + display: block; | ||
| 84 | + padding: .2em; | ||
| 85 | + text-align: right; | ||
| 86 | + text-decoration: none; | ||
| 87 | +} | ||
| 88 | +.ui-datepicker .ui-datepicker-buttonpane { | ||
| 89 | + background-image: none; | ||
| 90 | + margin: .7em 0 0 0; | ||
| 91 | + padding: 0 .2em; | ||
| 92 | + border-left: 0; | ||
| 93 | + border-right: 0; | ||
| 94 | + border-bottom: 0; | ||
| 95 | +} | ||
| 96 | +.ui-datepicker .ui-datepicker-buttonpane button { | ||
| 97 | + float: right; | ||
| 98 | + margin: .5em .2em .4em; | ||
| 99 | + cursor: pointer; | ||
| 100 | + padding: .2em .6em .3em .6em; | ||
| 101 | + width: auto; | ||
| 102 | + overflow: visible; | ||
| 103 | +} | ||
| 104 | +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { | ||
| 105 | + float: left; | ||
| 106 | +} | ||
| 107 | + | ||
| 108 | +/* with multiple calendars */ | ||
| 109 | +.ui-datepicker.ui-datepicker-multi { | ||
| 110 | + width: auto; | ||
| 111 | +} | ||
| 112 | +.ui-datepicker-multi .ui-datepicker-group { | ||
| 113 | + float: left; | ||
| 114 | +} | ||
| 115 | +.ui-datepicker-multi .ui-datepicker-group table { | ||
| 116 | + width: 95%; | ||
| 117 | + margin: 0 auto .4em; | ||
| 118 | +} | ||
| 119 | +.ui-datepicker-multi-2 .ui-datepicker-group { | ||
| 120 | + width: 50%; | ||
| 121 | +} | ||
| 122 | +.ui-datepicker-multi-3 .ui-datepicker-group { | ||
| 123 | + width: 33.3%; | ||
| 124 | +} | ||
| 125 | +.ui-datepicker-multi-4 .ui-datepicker-group { | ||
| 126 | + width: 25%; | ||
| 127 | +} | ||
| 128 | +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, | ||
| 129 | +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { | ||
| 130 | + border-left-width: 0; | ||
| 131 | +} | ||
| 132 | +.ui-datepicker-multi .ui-datepicker-buttonpane { | ||
| 133 | + clear: left; | ||
| 134 | +} | ||
| 135 | +.ui-datepicker-row-break { | ||
| 136 | + clear: both; | ||
| 137 | + width: 100%; | ||
| 138 | + font-size: 0; | ||
| 139 | +} | ||
| 140 | + | ||
| 141 | +/* RTL support */ | ||
| 142 | +.ui-datepicker-rtl { | ||
| 143 | + direction: rtl; | ||
| 144 | +} | ||
| 145 | +.ui-datepicker-rtl .ui-datepicker-prev { | ||
| 146 | + right: 2px; | ||
| 147 | + left: auto; | ||
| 148 | +} | ||
| 149 | +.ui-datepicker-rtl .ui-datepicker-next { | ||
| 150 | + left: 2px; | ||
| 151 | + right: auto; | ||
| 152 | +} | ||
| 153 | +.ui-datepicker-rtl .ui-datepicker-prev:hover { | ||
| 154 | + right: 1px; | ||
| 155 | + left: auto; | ||
| 156 | +} | ||
| 157 | +.ui-datepicker-rtl .ui-datepicker-next:hover { | ||
| 158 | + left: 1px; | ||
| 159 | + right: auto; | ||
| 160 | +} | ||
| 161 | +.ui-datepicker-rtl .ui-datepicker-buttonpane { | ||
| 162 | + clear: right; | ||
| 163 | +} | ||
| 164 | +.ui-datepicker-rtl .ui-datepicker-buttonpane button { | ||
| 165 | + float: left; | ||
| 166 | +} | ||
| 167 | +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, | ||
| 168 | +.ui-datepicker-rtl .ui-datepicker-group { | ||
| 169 | + float: right; | ||
| 170 | +} | ||
| 171 | +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, | ||
| 172 | +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { | ||
| 173 | + border-right-width: 0; | ||
| 174 | + border-left-width: 1px; | ||
| 175 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/dialog.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Dialog 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/dialog/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-dialog { | ||
| 12 | + overflow: hidden; | ||
| 13 | + position: absolute; | ||
| 14 | + top: 0; | ||
| 15 | + left: 0; | ||
| 16 | + padding: .2em; | ||
| 17 | + outline: 0; | ||
| 18 | +} | ||
| 19 | +.ui-dialog .ui-dialog-titlebar { | ||
| 20 | + padding: .4em 1em; | ||
| 21 | + position: relative; | ||
| 22 | +} | ||
| 23 | +.ui-dialog .ui-dialog-title { | ||
| 24 | + float: left; | ||
| 25 | + margin: .1em 0; | ||
| 26 | + white-space: nowrap; | ||
| 27 | + width: 90%; | ||
| 28 | + overflow: hidden; | ||
| 29 | + text-overflow: ellipsis; | ||
| 30 | +} | ||
| 31 | +.ui-dialog .ui-dialog-titlebar-close { | ||
| 32 | + position: absolute; | ||
| 33 | + right: .3em; | ||
| 34 | + top: 50%; | ||
| 35 | + width: 20px; | ||
| 36 | + margin: -10px 0 0 0; | ||
| 37 | + padding: 1px; | ||
| 38 | + height: 20px; | ||
| 39 | +} | ||
| 40 | +.ui-dialog .ui-dialog-content { | ||
| 41 | + position: relative; | ||
| 42 | + border: 0; | ||
| 43 | + padding: .5em 1em; | ||
| 44 | + background: none; | ||
| 45 | + overflow: auto; | ||
| 46 | +} | ||
| 47 | +.ui-dialog .ui-dialog-buttonpane { | ||
| 48 | + text-align: left; | ||
| 49 | + border-width: 1px 0 0 0; | ||
| 50 | + background-image: none; | ||
| 51 | + margin-top: .5em; | ||
| 52 | + padding: .3em 1em .5em .4em; | ||
| 53 | +} | ||
| 54 | +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { | ||
| 55 | + float: right; | ||
| 56 | +} | ||
| 57 | +.ui-dialog .ui-dialog-buttonpane button { | ||
| 58 | + margin: .5em .4em .5em 0; | ||
| 59 | + cursor: pointer; | ||
| 60 | +} | ||
| 61 | +.ui-dialog .ui-resizable-se { | ||
| 62 | + width: 12px; | ||
| 63 | + height: 12px; | ||
| 64 | + right: -5px; | ||
| 65 | + bottom: -5px; | ||
| 66 | + background-position: 16px 16px; | ||
| 67 | +} | ||
| 68 | +.ui-draggable .ui-dialog-titlebar { | ||
| 69 | + cursor: move; | ||
| 70 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/draggable.css
0 → 100644
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png
0 → 100644
180 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_flat_75_ffffff_40x100.png
0 → 100644
178 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png
0 → 100644
120 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_glass_65_ffffff_1x400.png
0 → 100644
105 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_glass_75_dadada_1x400.png
0 → 100644
111 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png
0 → 100644
110 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png
0 → 100644
119 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png
0 → 100644
101 Bytes
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-icons_222222_256x240.png
0 → 100644
4.27 KB
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-icons_2e83ff_256x240.png
0 → 100644
4.27 KB
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-icons_454545_256x240.png
0 → 100644
4.27 KB
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-icons_888888_256x240.png
0 → 100644
4.27 KB
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/images/ui-icons_cd0a0a_256x240.png
0 → 100644
4.27 KB
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/menu.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Menu 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/menu/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-menu { | ||
| 12 | + list-style: none; | ||
| 13 | + padding: 0; | ||
| 14 | + margin: 0; | ||
| 15 | + display: block; | ||
| 16 | + outline: none; | ||
| 17 | +} | ||
| 18 | +.ui-menu .ui-menu { | ||
| 19 | + position: absolute; | ||
| 20 | +} | ||
| 21 | +.ui-menu .ui-menu-item { | ||
| 22 | + position: relative; | ||
| 23 | + margin: 0; | ||
| 24 | + padding: 3px 1em 3px .4em; | ||
| 25 | + cursor: pointer; | ||
| 26 | + min-height: 0; /* support: IE7 */ | ||
| 27 | + /* support: IE10, see #8844 */ | ||
| 28 | + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); | ||
| 29 | +} | ||
| 30 | +.ui-menu .ui-menu-divider { | ||
| 31 | + margin: 5px 0; | ||
| 32 | + height: 0; | ||
| 33 | + font-size: 0; | ||
| 34 | + line-height: 0; | ||
| 35 | + border-width: 1px 0 0 0; | ||
| 36 | +} | ||
| 37 | +.ui-menu .ui-state-focus, | ||
| 38 | +.ui-menu .ui-state-active { | ||
| 39 | + margin: -1px; | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +/* icon support */ | ||
| 43 | +.ui-menu-icons { | ||
| 44 | + position: relative; | ||
| 45 | +} | ||
| 46 | +.ui-menu-icons .ui-menu-item { | ||
| 47 | + padding-left: 2em; | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +/* left-aligned */ | ||
| 51 | +.ui-menu .ui-icon { | ||
| 52 | + position: absolute; | ||
| 53 | + top: 0; | ||
| 54 | + bottom: 0; | ||
| 55 | + left: .2em; | ||
| 56 | + margin: auto 0; | ||
| 57 | +} | ||
| 58 | + | ||
| 59 | +/* right-aligned */ | ||
| 60 | +.ui-menu .ui-menu-icon { | ||
| 61 | + left: auto; | ||
| 62 | + right: 0; | ||
| 63 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/progressbar.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Progressbar 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/progressbar/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-progressbar { | ||
| 12 | + height: 2em; | ||
| 13 | + text-align: left; | ||
| 14 | + overflow: hidden; | ||
| 15 | +} | ||
| 16 | +.ui-progressbar .ui-progressbar-value { | ||
| 17 | + margin: -1px; | ||
| 18 | + height: 100%; | ||
| 19 | +} | ||
| 20 | +.ui-progressbar .ui-progressbar-overlay { | ||
| 21 | + background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); | ||
| 22 | + height: 100%; | ||
| 23 | + filter: alpha(opacity=25); /* support: IE8 */ | ||
| 24 | + opacity: 0.25; | ||
| 25 | +} | ||
| 26 | +.ui-progressbar-indeterminate .ui-progressbar-value { | ||
| 27 | + background-image: none; | ||
| 28 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/resizable.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Resizable 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + */ | ||
| 9 | +.ui-resizable { | ||
| 10 | + position: relative; | ||
| 11 | +} | ||
| 12 | +.ui-resizable-handle { | ||
| 13 | + position: absolute; | ||
| 14 | + font-size: 0.1px; | ||
| 15 | + display: block; | ||
| 16 | + -ms-touch-action: none; | ||
| 17 | + touch-action: none; | ||
| 18 | +} | ||
| 19 | +.ui-resizable-disabled .ui-resizable-handle, | ||
| 20 | +.ui-resizable-autohide .ui-resizable-handle { | ||
| 21 | + display: none; | ||
| 22 | +} | ||
| 23 | +.ui-resizable-n { | ||
| 24 | + cursor: n-resize; | ||
| 25 | + height: 7px; | ||
| 26 | + width: 100%; | ||
| 27 | + top: -5px; | ||
| 28 | + left: 0; | ||
| 29 | +} | ||
| 30 | +.ui-resizable-s { | ||
| 31 | + cursor: s-resize; | ||
| 32 | + height: 7px; | ||
| 33 | + width: 100%; | ||
| 34 | + bottom: -5px; | ||
| 35 | + left: 0; | ||
| 36 | +} | ||
| 37 | +.ui-resizable-e { | ||
| 38 | + cursor: e-resize; | ||
| 39 | + width: 7px; | ||
| 40 | + right: -5px; | ||
| 41 | + top: 0; | ||
| 42 | + height: 100%; | ||
| 43 | +} | ||
| 44 | +.ui-resizable-w { | ||
| 45 | + cursor: w-resize; | ||
| 46 | + width: 7px; | ||
| 47 | + left: -5px; | ||
| 48 | + top: 0; | ||
| 49 | + height: 100%; | ||
| 50 | +} | ||
| 51 | +.ui-resizable-se { | ||
| 52 | + cursor: se-resize; | ||
| 53 | + width: 12px; | ||
| 54 | + height: 12px; | ||
| 55 | + right: 1px; | ||
| 56 | + bottom: 1px; | ||
| 57 | +} | ||
| 58 | +.ui-resizable-sw { | ||
| 59 | + cursor: sw-resize; | ||
| 60 | + width: 9px; | ||
| 61 | + height: 9px; | ||
| 62 | + left: -5px; | ||
| 63 | + bottom: -5px; | ||
| 64 | +} | ||
| 65 | +.ui-resizable-nw { | ||
| 66 | + cursor: nw-resize; | ||
| 67 | + width: 9px; | ||
| 68 | + height: 9px; | ||
| 69 | + left: -5px; | ||
| 70 | + top: -5px; | ||
| 71 | +} | ||
| 72 | +.ui-resizable-ne { | ||
| 73 | + cursor: ne-resize; | ||
| 74 | + width: 9px; | ||
| 75 | + height: 9px; | ||
| 76 | + right: -5px; | ||
| 77 | + top: -5px; | ||
| 78 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/selectable.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Selectable 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + */ | ||
| 9 | +.ui-selectable { | ||
| 10 | + -ms-touch-action: none; | ||
| 11 | + touch-action: none; | ||
| 12 | +} | ||
| 13 | +.ui-selectable-helper { | ||
| 14 | + position: absolute; | ||
| 15 | + z-index: 100; | ||
| 16 | + border: 1px dotted black; | ||
| 17 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/selectmenu.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Selectmenu 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/selectmenu/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-selectmenu-menu { | ||
| 12 | + padding: 0; | ||
| 13 | + margin: 0; | ||
| 14 | + position: absolute; | ||
| 15 | + top: 0; | ||
| 16 | + left: 0; | ||
| 17 | + display: none; | ||
| 18 | +} | ||
| 19 | +.ui-selectmenu-menu .ui-menu { | ||
| 20 | + overflow: auto; | ||
| 21 | + /* Support: IE7 */ | ||
| 22 | + overflow-x: hidden; | ||
| 23 | + padding-bottom: 1px; | ||
| 24 | +} | ||
| 25 | +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { | ||
| 26 | + font-size: 1em; | ||
| 27 | + font-weight: bold; | ||
| 28 | + line-height: 1.5; | ||
| 29 | + padding: 2px 0.4em; | ||
| 30 | + margin: 0.5em 0 0 0; | ||
| 31 | + height: auto; | ||
| 32 | + border: 0; | ||
| 33 | +} | ||
| 34 | +.ui-selectmenu-open { | ||
| 35 | + display: block; | ||
| 36 | +} | ||
| 37 | +.ui-selectmenu-button { | ||
| 38 | + display: inline-block; | ||
| 39 | + overflow: hidden; | ||
| 40 | + position: relative; | ||
| 41 | + text-decoration: none; | ||
| 42 | + cursor: pointer; | ||
| 43 | +} | ||
| 44 | +.ui-selectmenu-button span.ui-icon { | ||
| 45 | + right: 0.5em; | ||
| 46 | + left: auto; | ||
| 47 | + margin-top: -8px; | ||
| 48 | + position: absolute; | ||
| 49 | + top: 50%; | ||
| 50 | +} | ||
| 51 | +.ui-selectmenu-button span.ui-selectmenu-text { | ||
| 52 | + text-align: left; | ||
| 53 | + padding: 0.4em 2.1em 0.4em 1em; | ||
| 54 | + display: block; | ||
| 55 | + line-height: 1.4; | ||
| 56 | + overflow: hidden; | ||
| 57 | + text-overflow: ellipsis; | ||
| 58 | + white-space: nowrap; | ||
| 59 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/slider.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Slider 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/slider/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-slider { | ||
| 12 | + position: relative; | ||
| 13 | + text-align: left; | ||
| 14 | +} | ||
| 15 | +.ui-slider .ui-slider-handle { | ||
| 16 | + position: absolute; | ||
| 17 | + z-index: 2; | ||
| 18 | + width: 1.2em; | ||
| 19 | + height: 1.2em; | ||
| 20 | + cursor: default; | ||
| 21 | + -ms-touch-action: none; | ||
| 22 | + touch-action: none; | ||
| 23 | +} | ||
| 24 | +.ui-slider .ui-slider-range { | ||
| 25 | + position: absolute; | ||
| 26 | + z-index: 1; | ||
| 27 | + font-size: .7em; | ||
| 28 | + display: block; | ||
| 29 | + border: 0; | ||
| 30 | + background-position: 0 0; | ||
| 31 | +} | ||
| 32 | + | ||
| 33 | +/* support: IE8 - See #6727 */ | ||
| 34 | +.ui-slider.ui-state-disabled .ui-slider-handle, | ||
| 35 | +.ui-slider.ui-state-disabled .ui-slider-range { | ||
| 36 | + filter: inherit; | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +.ui-slider-horizontal { | ||
| 40 | + height: .8em; | ||
| 41 | +} | ||
| 42 | +.ui-slider-horizontal .ui-slider-handle { | ||
| 43 | + top: -.3em; | ||
| 44 | + margin-left: -.6em; | ||
| 45 | +} | ||
| 46 | +.ui-slider-horizontal .ui-slider-range { | ||
| 47 | + top: 0; | ||
| 48 | + height: 100%; | ||
| 49 | +} | ||
| 50 | +.ui-slider-horizontal .ui-slider-range-min { | ||
| 51 | + left: 0; | ||
| 52 | +} | ||
| 53 | +.ui-slider-horizontal .ui-slider-range-max { | ||
| 54 | + right: 0; | ||
| 55 | +} | ||
| 56 | + | ||
| 57 | +.ui-slider-vertical { | ||
| 58 | + width: .8em; | ||
| 59 | + height: 100px; | ||
| 60 | +} | ||
| 61 | +.ui-slider-vertical .ui-slider-handle { | ||
| 62 | + left: -.3em; | ||
| 63 | + margin-left: 0; | ||
| 64 | + margin-bottom: -.6em; | ||
| 65 | +} | ||
| 66 | +.ui-slider-vertical .ui-slider-range { | ||
| 67 | + left: 0; | ||
| 68 | + width: 100%; | ||
| 69 | +} | ||
| 70 | +.ui-slider-vertical .ui-slider-range-min { | ||
| 71 | + bottom: 0; | ||
| 72 | +} | ||
| 73 | +.ui-slider-vertical .ui-slider-range-max { | ||
| 74 | + top: 0; | ||
| 75 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/sortable.css
0 → 100644
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/spinner.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Spinner 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/spinner/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-spinner { | ||
| 12 | + position: relative; | ||
| 13 | + display: inline-block; | ||
| 14 | + overflow: hidden; | ||
| 15 | + padding: 0; | ||
| 16 | + vertical-align: middle; | ||
| 17 | +} | ||
| 18 | +.ui-spinner-input { | ||
| 19 | + border: none; | ||
| 20 | + background: none; | ||
| 21 | + color: inherit; | ||
| 22 | + padding: 0; | ||
| 23 | + margin: .2em 0; | ||
| 24 | + vertical-align: middle; | ||
| 25 | + margin-left: .4em; | ||
| 26 | + margin-right: 22px; | ||
| 27 | +} | ||
| 28 | +.ui-spinner-button { | ||
| 29 | + width: 16px; | ||
| 30 | + height: 50%; | ||
| 31 | + font-size: .5em; | ||
| 32 | + padding: 0; | ||
| 33 | + margin: 0; | ||
| 34 | + text-align: center; | ||
| 35 | + position: absolute; | ||
| 36 | + cursor: default; | ||
| 37 | + display: block; | ||
| 38 | + overflow: hidden; | ||
| 39 | + right: 0; | ||
| 40 | +} | ||
| 41 | +/* more specificity required here to override default borders */ | ||
| 42 | +.ui-spinner a.ui-spinner-button { | ||
| 43 | + border-top: none; | ||
| 44 | + border-bottom: none; | ||
| 45 | + border-right: none; | ||
| 46 | +} | ||
| 47 | +/* vertically center icon */ | ||
| 48 | +.ui-spinner .ui-icon { | ||
| 49 | + position: absolute; | ||
| 50 | + margin-top: -8px; | ||
| 51 | + top: 50%; | ||
| 52 | + left: 0; | ||
| 53 | +} | ||
| 54 | +.ui-spinner-up { | ||
| 55 | + top: 0; | ||
| 56 | +} | ||
| 57 | +.ui-spinner-down { | ||
| 58 | + bottom: 0; | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +/* TR overrides */ | ||
| 62 | +.ui-spinner .ui-icon-triangle-1-s { | ||
| 63 | + /* need to fix icons sprite */ | ||
| 64 | + background-position: -65px -16px; | ||
| 65 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/tabs.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Tabs 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/tabs/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-tabs { | ||
| 12 | + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ | ||
| 13 | + padding: .2em; | ||
| 14 | +} | ||
| 15 | +.ui-tabs .ui-tabs-nav { | ||
| 16 | + margin: 0; | ||
| 17 | + padding: .2em .2em 0; | ||
| 18 | +} | ||
| 19 | +.ui-tabs .ui-tabs-nav li { | ||
| 20 | + list-style: none; | ||
| 21 | + float: left; | ||
| 22 | + position: relative; | ||
| 23 | + top: 0; | ||
| 24 | + margin: 1px .2em 0 0; | ||
| 25 | + border-bottom-width: 0; | ||
| 26 | + padding: 0; | ||
| 27 | + white-space: nowrap; | ||
| 28 | +} | ||
| 29 | +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { | ||
| 30 | + float: left; | ||
| 31 | + padding: .5em 1em; | ||
| 32 | + text-decoration: none; | ||
| 33 | +} | ||
| 34 | +.ui-tabs .ui-tabs-nav li.ui-tabs-active { | ||
| 35 | + margin-bottom: -1px; | ||
| 36 | + padding-bottom: 1px; | ||
| 37 | +} | ||
| 38 | +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, | ||
| 39 | +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, | ||
| 40 | +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { | ||
| 41 | + cursor: text; | ||
| 42 | +} | ||
| 43 | +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { | ||
| 44 | + cursor: pointer; | ||
| 45 | +} | ||
| 46 | +.ui-tabs .ui-tabs-panel { | ||
| 47 | + display: block; | ||
| 48 | + border-width: 0; | ||
| 49 | + padding: 1em 1.4em; | ||
| 50 | + background: none; | ||
| 51 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/theme.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI CSS Framework 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/category/theming/ | ||
| 10 | + * | ||
| 11 | + * To view and modify this theme, visit http://jqueryui.com/themeroller/ | ||
| 12 | + */ | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +/* Component containers | ||
| 16 | +----------------------------------*/ | ||
| 17 | +.ui-widget { | ||
| 18 | + font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; | ||
| 19 | + font-size: 1.1em/*{fsDefault}*/; | ||
| 20 | +} | ||
| 21 | +.ui-widget .ui-widget { | ||
| 22 | + font-size: 1em; | ||
| 23 | +} | ||
| 24 | +.ui-widget input, | ||
| 25 | +.ui-widget select, | ||
| 26 | +.ui-widget textarea, | ||
| 27 | +.ui-widget button { | ||
| 28 | + font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; | ||
| 29 | + font-size: 1em; | ||
| 30 | +} | ||
| 31 | +.ui-widget-content { | ||
| 32 | + border: 1px solid #aaaaaa/*{borderColorContent}*/; | ||
| 33 | + background: #ffffff/*{bgColorContent}*/ url("images/ui-bg_flat_75_ffffff_40x100.png")/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; | ||
| 34 | + color: #222222/*{fcContent}*/; | ||
| 35 | +} | ||
| 36 | +.ui-widget-content a { | ||
| 37 | + color: #222222/*{fcContent}*/; | ||
| 38 | +} | ||
| 39 | +.ui-widget-header { | ||
| 40 | + border: 1px solid #aaaaaa/*{borderColorHeader}*/; | ||
| 41 | + background: #cccccc/*{bgColorHeader}*/ url("images/ui-bg_highlight-soft_75_cccccc_1x100.png")/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; | ||
| 42 | + color: #222222/*{fcHeader}*/; | ||
| 43 | + font-weight: bold; | ||
| 44 | +} | ||
| 45 | +.ui-widget-header a { | ||
| 46 | + color: #222222/*{fcHeader}*/; | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +/* Interaction states | ||
| 50 | +----------------------------------*/ | ||
| 51 | +.ui-state-default, | ||
| 52 | +.ui-widget-content .ui-state-default, | ||
| 53 | +.ui-widget-header .ui-state-default { | ||
| 54 | + border: 1px solid #d3d3d3/*{borderColorDefault}*/; | ||
| 55 | + background: #e6e6e6/*{bgColorDefault}*/ url("images/ui-bg_glass_75_e6e6e6_1x400.png")/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; | ||
| 56 | + font-weight: normal/*{fwDefault}*/; | ||
| 57 | + color: #555555/*{fcDefault}*/; | ||
| 58 | +} | ||
| 59 | +.ui-state-default a, | ||
| 60 | +.ui-state-default a:link, | ||
| 61 | +.ui-state-default a:visited { | ||
| 62 | + color: #555555/*{fcDefault}*/; | ||
| 63 | + text-decoration: none; | ||
| 64 | +} | ||
| 65 | +.ui-state-hover, | ||
| 66 | +.ui-widget-content .ui-state-hover, | ||
| 67 | +.ui-widget-header .ui-state-hover, | ||
| 68 | +.ui-state-focus, | ||
| 69 | +.ui-widget-content .ui-state-focus, | ||
| 70 | +.ui-widget-header .ui-state-focus { | ||
| 71 | + border: 1px solid #999999/*{borderColorHover}*/; | ||
| 72 | + background: #dadada/*{bgColorHover}*/ url("images/ui-bg_glass_75_dadada_1x400.png")/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; | ||
| 73 | + font-weight: normal/*{fwDefault}*/; | ||
| 74 | + color: #212121/*{fcHover}*/; | ||
| 75 | +} | ||
| 76 | +.ui-state-hover a, | ||
| 77 | +.ui-state-hover a:hover, | ||
| 78 | +.ui-state-hover a:link, | ||
| 79 | +.ui-state-hover a:visited, | ||
| 80 | +.ui-state-focus a, | ||
| 81 | +.ui-state-focus a:hover, | ||
| 82 | +.ui-state-focus a:link, | ||
| 83 | +.ui-state-focus a:visited { | ||
| 84 | + color: #212121/*{fcHover}*/; | ||
| 85 | + text-decoration: none; | ||
| 86 | +} | ||
| 87 | +.ui-state-active, | ||
| 88 | +.ui-widget-content .ui-state-active, | ||
| 89 | +.ui-widget-header .ui-state-active { | ||
| 90 | + border: 1px solid #aaaaaa/*{borderColorActive}*/; | ||
| 91 | + background: #ffffff/*{bgColorActive}*/ url("images/ui-bg_glass_65_ffffff_1x400.png")/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; | ||
| 92 | + font-weight: normal/*{fwDefault}*/; | ||
| 93 | + color: #212121/*{fcActive}*/; | ||
| 94 | +} | ||
| 95 | +.ui-state-active a, | ||
| 96 | +.ui-state-active a:link, | ||
| 97 | +.ui-state-active a:visited { | ||
| 98 | + color: #212121/*{fcActive}*/; | ||
| 99 | + text-decoration: none; | ||
| 100 | +} | ||
| 101 | + | ||
| 102 | +/* Interaction Cues | ||
| 103 | +----------------------------------*/ | ||
| 104 | +.ui-state-highlight, | ||
| 105 | +.ui-widget-content .ui-state-highlight, | ||
| 106 | +.ui-widget-header .ui-state-highlight { | ||
| 107 | + border: 1px solid #fcefa1/*{borderColorHighlight}*/; | ||
| 108 | + background: #fbf9ee/*{bgColorHighlight}*/ url("images/ui-bg_glass_55_fbf9ee_1x400.png")/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; | ||
| 109 | + color: #363636/*{fcHighlight}*/; | ||
| 110 | +} | ||
| 111 | +.ui-state-highlight a, | ||
| 112 | +.ui-widget-content .ui-state-highlight a, | ||
| 113 | +.ui-widget-header .ui-state-highlight a { | ||
| 114 | + color: #363636/*{fcHighlight}*/; | ||
| 115 | +} | ||
| 116 | +.ui-state-error, | ||
| 117 | +.ui-widget-content .ui-state-error, | ||
| 118 | +.ui-widget-header .ui-state-error { | ||
| 119 | + border: 1px solid #cd0a0a/*{borderColorError}*/; | ||
| 120 | + background: #fef1ec/*{bgColorError}*/ url("images/ui-bg_glass_95_fef1ec_1x400.png")/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; | ||
| 121 | + color: #cd0a0a/*{fcError}*/; | ||
| 122 | +} | ||
| 123 | +.ui-state-error a, | ||
| 124 | +.ui-widget-content .ui-state-error a, | ||
| 125 | +.ui-widget-header .ui-state-error a { | ||
| 126 | + color: #cd0a0a/*{fcError}*/; | ||
| 127 | +} | ||
| 128 | +.ui-state-error-text, | ||
| 129 | +.ui-widget-content .ui-state-error-text, | ||
| 130 | +.ui-widget-header .ui-state-error-text { | ||
| 131 | + color: #cd0a0a/*{fcError}*/; | ||
| 132 | +} | ||
| 133 | +.ui-priority-primary, | ||
| 134 | +.ui-widget-content .ui-priority-primary, | ||
| 135 | +.ui-widget-header .ui-priority-primary { | ||
| 136 | + font-weight: bold; | ||
| 137 | +} | ||
| 138 | +.ui-priority-secondary, | ||
| 139 | +.ui-widget-content .ui-priority-secondary, | ||
| 140 | +.ui-widget-header .ui-priority-secondary { | ||
| 141 | + opacity: .7; | ||
| 142 | + filter:Alpha(Opacity=70); /* support: IE8 */ | ||
| 143 | + font-weight: normal; | ||
| 144 | +} | ||
| 145 | +.ui-state-disabled, | ||
| 146 | +.ui-widget-content .ui-state-disabled, | ||
| 147 | +.ui-widget-header .ui-state-disabled { | ||
| 148 | + opacity: .35; | ||
| 149 | + filter:Alpha(Opacity=35); /* support: IE8 */ | ||
| 150 | + background-image: none; | ||
| 151 | +} | ||
| 152 | +.ui-state-disabled .ui-icon { | ||
| 153 | + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ | ||
| 154 | +} | ||
| 155 | + | ||
| 156 | +/* Icons | ||
| 157 | +----------------------------------*/ | ||
| 158 | + | ||
| 159 | +/* states and images */ | ||
| 160 | +.ui-icon { | ||
| 161 | + width: 16px; | ||
| 162 | + height: 16px; | ||
| 163 | +} | ||
| 164 | +.ui-icon, | ||
| 165 | +.ui-widget-content .ui-icon { | ||
| 166 | + background-image: url("images/ui-icons_222222_256x240.png")/*{iconsContent}*/; | ||
| 167 | +} | ||
| 168 | +.ui-widget-header .ui-icon { | ||
| 169 | + background-image: url("images/ui-icons_222222_256x240.png")/*{iconsHeader}*/; | ||
| 170 | +} | ||
| 171 | +.ui-state-default .ui-icon { | ||
| 172 | + background-image: url("images/ui-icons_888888_256x240.png")/*{iconsDefault}*/; | ||
| 173 | +} | ||
| 174 | +.ui-state-hover .ui-icon, | ||
| 175 | +.ui-state-focus .ui-icon { | ||
| 176 | + background-image: url("images/ui-icons_454545_256x240.png")/*{iconsHover}*/; | ||
| 177 | +} | ||
| 178 | +.ui-state-active .ui-icon { | ||
| 179 | + background-image: url("images/ui-icons_454545_256x240.png")/*{iconsActive}*/; | ||
| 180 | +} | ||
| 181 | +.ui-state-highlight .ui-icon { | ||
| 182 | + background-image: url("images/ui-icons_2e83ff_256x240.png")/*{iconsHighlight}*/; | ||
| 183 | +} | ||
| 184 | +.ui-state-error .ui-icon, | ||
| 185 | +.ui-state-error-text .ui-icon { | ||
| 186 | + background-image: url("images/ui-icons_cd0a0a_256x240.png")/*{iconsError}*/; | ||
| 187 | +} | ||
| 188 | + | ||
| 189 | +/* positioning */ | ||
| 190 | +.ui-icon-blank { background-position: 16px 16px; } | ||
| 191 | +.ui-icon-carat-1-n { background-position: 0 0; } | ||
| 192 | +.ui-icon-carat-1-ne { background-position: -16px 0; } | ||
| 193 | +.ui-icon-carat-1-e { background-position: -32px 0; } | ||
| 194 | +.ui-icon-carat-1-se { background-position: -48px 0; } | ||
| 195 | +.ui-icon-carat-1-s { background-position: -64px 0; } | ||
| 196 | +.ui-icon-carat-1-sw { background-position: -80px 0; } | ||
| 197 | +.ui-icon-carat-1-w { background-position: -96px 0; } | ||
| 198 | +.ui-icon-carat-1-nw { background-position: -112px 0; } | ||
| 199 | +.ui-icon-carat-2-n-s { background-position: -128px 0; } | ||
| 200 | +.ui-icon-carat-2-e-w { background-position: -144px 0; } | ||
| 201 | +.ui-icon-triangle-1-n { background-position: 0 -16px; } | ||
| 202 | +.ui-icon-triangle-1-ne { background-position: -16px -16px; } | ||
| 203 | +.ui-icon-triangle-1-e { background-position: -32px -16px; } | ||
| 204 | +.ui-icon-triangle-1-se { background-position: -48px -16px; } | ||
| 205 | +.ui-icon-triangle-1-s { background-position: -64px -16px; } | ||
| 206 | +.ui-icon-triangle-1-sw { background-position: -80px -16px; } | ||
| 207 | +.ui-icon-triangle-1-w { background-position: -96px -16px; } | ||
| 208 | +.ui-icon-triangle-1-nw { background-position: -112px -16px; } | ||
| 209 | +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } | ||
| 210 | +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } | ||
| 211 | +.ui-icon-arrow-1-n { background-position: 0 -32px; } | ||
| 212 | +.ui-icon-arrow-1-ne { background-position: -16px -32px; } | ||
| 213 | +.ui-icon-arrow-1-e { background-position: -32px -32px; } | ||
| 214 | +.ui-icon-arrow-1-se { background-position: -48px -32px; } | ||
| 215 | +.ui-icon-arrow-1-s { background-position: -64px -32px; } | ||
| 216 | +.ui-icon-arrow-1-sw { background-position: -80px -32px; } | ||
| 217 | +.ui-icon-arrow-1-w { background-position: -96px -32px; } | ||
| 218 | +.ui-icon-arrow-1-nw { background-position: -112px -32px; } | ||
| 219 | +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } | ||
| 220 | +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } | ||
| 221 | +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } | ||
| 222 | +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } | ||
| 223 | +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } | ||
| 224 | +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } | ||
| 225 | +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } | ||
| 226 | +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } | ||
| 227 | +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } | ||
| 228 | +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } | ||
| 229 | +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } | ||
| 230 | +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } | ||
| 231 | +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } | ||
| 232 | +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } | ||
| 233 | +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } | ||
| 234 | +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } | ||
| 235 | +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } | ||
| 236 | +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } | ||
| 237 | +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } | ||
| 238 | +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } | ||
| 239 | +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } | ||
| 240 | +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } | ||
| 241 | +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } | ||
| 242 | +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } | ||
| 243 | +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } | ||
| 244 | +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } | ||
| 245 | +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } | ||
| 246 | +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } | ||
| 247 | +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } | ||
| 248 | +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } | ||
| 249 | +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } | ||
| 250 | +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } | ||
| 251 | +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } | ||
| 252 | +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } | ||
| 253 | +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } | ||
| 254 | +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } | ||
| 255 | +.ui-icon-arrow-4 { background-position: 0 -80px; } | ||
| 256 | +.ui-icon-arrow-4-diag { background-position: -16px -80px; } | ||
| 257 | +.ui-icon-extlink { background-position: -32px -80px; } | ||
| 258 | +.ui-icon-newwin { background-position: -48px -80px; } | ||
| 259 | +.ui-icon-refresh { background-position: -64px -80px; } | ||
| 260 | +.ui-icon-shuffle { background-position: -80px -80px; } | ||
| 261 | +.ui-icon-transfer-e-w { background-position: -96px -80px; } | ||
| 262 | +.ui-icon-transferthick-e-w { background-position: -112px -80px; } | ||
| 263 | +.ui-icon-folder-collapsed { background-position: 0 -96px; } | ||
| 264 | +.ui-icon-folder-open { background-position: -16px -96px; } | ||
| 265 | +.ui-icon-document { background-position: -32px -96px; } | ||
| 266 | +.ui-icon-document-b { background-position: -48px -96px; } | ||
| 267 | +.ui-icon-note { background-position: -64px -96px; } | ||
| 268 | +.ui-icon-mail-closed { background-position: -80px -96px; } | ||
| 269 | +.ui-icon-mail-open { background-position: -96px -96px; } | ||
| 270 | +.ui-icon-suitcase { background-position: -112px -96px; } | ||
| 271 | +.ui-icon-comment { background-position: -128px -96px; } | ||
| 272 | +.ui-icon-person { background-position: -144px -96px; } | ||
| 273 | +.ui-icon-print { background-position: -160px -96px; } | ||
| 274 | +.ui-icon-trash { background-position: -176px -96px; } | ||
| 275 | +.ui-icon-locked { background-position: -192px -96px; } | ||
| 276 | +.ui-icon-unlocked { background-position: -208px -96px; } | ||
| 277 | +.ui-icon-bookmark { background-position: -224px -96px; } | ||
| 278 | +.ui-icon-tag { background-position: -240px -96px; } | ||
| 279 | +.ui-icon-home { background-position: 0 -112px; } | ||
| 280 | +.ui-icon-flag { background-position: -16px -112px; } | ||
| 281 | +.ui-icon-calendar { background-position: -32px -112px; } | ||
| 282 | +.ui-icon-cart { background-position: -48px -112px; } | ||
| 283 | +.ui-icon-pencil { background-position: -64px -112px; } | ||
| 284 | +.ui-icon-clock { background-position: -80px -112px; } | ||
| 285 | +.ui-icon-disk { background-position: -96px -112px; } | ||
| 286 | +.ui-icon-calculator { background-position: -112px -112px; } | ||
| 287 | +.ui-icon-zoomin { background-position: -128px -112px; } | ||
| 288 | +.ui-icon-zoomout { background-position: -144px -112px; } | ||
| 289 | +.ui-icon-search { background-position: -160px -112px; } | ||
| 290 | +.ui-icon-wrench { background-position: -176px -112px; } | ||
| 291 | +.ui-icon-gear { background-position: -192px -112px; } | ||
| 292 | +.ui-icon-heart { background-position: -208px -112px; } | ||
| 293 | +.ui-icon-star { background-position: -224px -112px; } | ||
| 294 | +.ui-icon-link { background-position: -240px -112px; } | ||
| 295 | +.ui-icon-cancel { background-position: 0 -128px; } | ||
| 296 | +.ui-icon-plus { background-position: -16px -128px; } | ||
| 297 | +.ui-icon-plusthick { background-position: -32px -128px; } | ||
| 298 | +.ui-icon-minus { background-position: -48px -128px; } | ||
| 299 | +.ui-icon-minusthick { background-position: -64px -128px; } | ||
| 300 | +.ui-icon-close { background-position: -80px -128px; } | ||
| 301 | +.ui-icon-closethick { background-position: -96px -128px; } | ||
| 302 | +.ui-icon-key { background-position: -112px -128px; } | ||
| 303 | +.ui-icon-lightbulb { background-position: -128px -128px; } | ||
| 304 | +.ui-icon-scissors { background-position: -144px -128px; } | ||
| 305 | +.ui-icon-clipboard { background-position: -160px -128px; } | ||
| 306 | +.ui-icon-copy { background-position: -176px -128px; } | ||
| 307 | +.ui-icon-contact { background-position: -192px -128px; } | ||
| 308 | +.ui-icon-image { background-position: -208px -128px; } | ||
| 309 | +.ui-icon-video { background-position: -224px -128px; } | ||
| 310 | +.ui-icon-script { background-position: -240px -128px; } | ||
| 311 | +.ui-icon-alert { background-position: 0 -144px; } | ||
| 312 | +.ui-icon-info { background-position: -16px -144px; } | ||
| 313 | +.ui-icon-notice { background-position: -32px -144px; } | ||
| 314 | +.ui-icon-help { background-position: -48px -144px; } | ||
| 315 | +.ui-icon-check { background-position: -64px -144px; } | ||
| 316 | +.ui-icon-bullet { background-position: -80px -144px; } | ||
| 317 | +.ui-icon-radio-on { background-position: -96px -144px; } | ||
| 318 | +.ui-icon-radio-off { background-position: -112px -144px; } | ||
| 319 | +.ui-icon-pin-w { background-position: -128px -144px; } | ||
| 320 | +.ui-icon-pin-s { background-position: -144px -144px; } | ||
| 321 | +.ui-icon-play { background-position: 0 -160px; } | ||
| 322 | +.ui-icon-pause { background-position: -16px -160px; } | ||
| 323 | +.ui-icon-seek-next { background-position: -32px -160px; } | ||
| 324 | +.ui-icon-seek-prev { background-position: -48px -160px; } | ||
| 325 | +.ui-icon-seek-end { background-position: -64px -160px; } | ||
| 326 | +.ui-icon-seek-start { background-position: -80px -160px; } | ||
| 327 | +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ | ||
| 328 | +.ui-icon-seek-first { background-position: -80px -160px; } | ||
| 329 | +.ui-icon-stop { background-position: -96px -160px; } | ||
| 330 | +.ui-icon-eject { background-position: -112px -160px; } | ||
| 331 | +.ui-icon-volume-off { background-position: -128px -160px; } | ||
| 332 | +.ui-icon-volume-on { background-position: -144px -160px; } | ||
| 333 | +.ui-icon-power { background-position: 0 -176px; } | ||
| 334 | +.ui-icon-signal-diag { background-position: -16px -176px; } | ||
| 335 | +.ui-icon-signal { background-position: -32px -176px; } | ||
| 336 | +.ui-icon-battery-0 { background-position: -48px -176px; } | ||
| 337 | +.ui-icon-battery-1 { background-position: -64px -176px; } | ||
| 338 | +.ui-icon-battery-2 { background-position: -80px -176px; } | ||
| 339 | +.ui-icon-battery-3 { background-position: -96px -176px; } | ||
| 340 | +.ui-icon-circle-plus { background-position: 0 -192px; } | ||
| 341 | +.ui-icon-circle-minus { background-position: -16px -192px; } | ||
| 342 | +.ui-icon-circle-close { background-position: -32px -192px; } | ||
| 343 | +.ui-icon-circle-triangle-e { background-position: -48px -192px; } | ||
| 344 | +.ui-icon-circle-triangle-s { background-position: -64px -192px; } | ||
| 345 | +.ui-icon-circle-triangle-w { background-position: -80px -192px; } | ||
| 346 | +.ui-icon-circle-triangle-n { background-position: -96px -192px; } | ||
| 347 | +.ui-icon-circle-arrow-e { background-position: -112px -192px; } | ||
| 348 | +.ui-icon-circle-arrow-s { background-position: -128px -192px; } | ||
| 349 | +.ui-icon-circle-arrow-w { background-position: -144px -192px; } | ||
| 350 | +.ui-icon-circle-arrow-n { background-position: -160px -192px; } | ||
| 351 | +.ui-icon-circle-zoomin { background-position: -176px -192px; } | ||
| 352 | +.ui-icon-circle-zoomout { background-position: -192px -192px; } | ||
| 353 | +.ui-icon-circle-check { background-position: -208px -192px; } | ||
| 354 | +.ui-icon-circlesmall-plus { background-position: 0 -208px; } | ||
| 355 | +.ui-icon-circlesmall-minus { background-position: -16px -208px; } | ||
| 356 | +.ui-icon-circlesmall-close { background-position: -32px -208px; } | ||
| 357 | +.ui-icon-squaresmall-plus { background-position: -48px -208px; } | ||
| 358 | +.ui-icon-squaresmall-minus { background-position: -64px -208px; } | ||
| 359 | +.ui-icon-squaresmall-close { background-position: -80px -208px; } | ||
| 360 | +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } | ||
| 361 | +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } | ||
| 362 | +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } | ||
| 363 | +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } | ||
| 364 | +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } | ||
| 365 | +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } | ||
| 366 | + | ||
| 367 | + | ||
| 368 | +/* Misc visuals | ||
| 369 | +----------------------------------*/ | ||
| 370 | + | ||
| 371 | +/* Corner radius */ | ||
| 372 | +.ui-corner-all, | ||
| 373 | +.ui-corner-top, | ||
| 374 | +.ui-corner-left, | ||
| 375 | +.ui-corner-tl { | ||
| 376 | + border-top-left-radius: 4px/*{cornerRadius}*/; | ||
| 377 | +} | ||
| 378 | +.ui-corner-all, | ||
| 379 | +.ui-corner-top, | ||
| 380 | +.ui-corner-right, | ||
| 381 | +.ui-corner-tr { | ||
| 382 | + border-top-right-radius: 4px/*{cornerRadius}*/; | ||
| 383 | +} | ||
| 384 | +.ui-corner-all, | ||
| 385 | +.ui-corner-bottom, | ||
| 386 | +.ui-corner-left, | ||
| 387 | +.ui-corner-bl { | ||
| 388 | + border-bottom-left-radius: 4px/*{cornerRadius}*/; | ||
| 389 | +} | ||
| 390 | +.ui-corner-all, | ||
| 391 | +.ui-corner-bottom, | ||
| 392 | +.ui-corner-right, | ||
| 393 | +.ui-corner-br { | ||
| 394 | + border-bottom-right-radius: 4px/*{cornerRadius}*/; | ||
| 395 | +} | ||
| 396 | + | ||
| 397 | +/* Overlays */ | ||
| 398 | +.ui-widget-overlay { | ||
| 399 | + background: #aaaaaa/*{bgColorOverlay}*/ url("images/ui-bg_flat_0_aaaaaa_40x100.png")/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; | ||
| 400 | + opacity: .3/*{opacityOverlay}*/; | ||
| 401 | + filter: Alpha(Opacity=30)/*{opacityFilterOverlay}*/; /* support: IE8 */ | ||
| 402 | +} | ||
| 403 | +.ui-widget-shadow { | ||
| 404 | + margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; | ||
| 405 | + padding: 8px/*{thicknessShadow}*/; | ||
| 406 | + background: #aaaaaa/*{bgColorShadow}*/ url("images/ui-bg_flat_0_aaaaaa_40x100.png")/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; | ||
| 407 | + opacity: .3/*{opacityShadow}*/; | ||
| 408 | + filter: Alpha(Opacity=30)/*{opacityFilterShadow}*/; /* support: IE8 */ | ||
| 409 | + border-radius: 8px/*{cornerRadiusShadow}*/; | ||
| 410 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/themes/base/tooltip.css
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Tooltip 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/tooltip/#theming | ||
| 10 | + */ | ||
| 11 | +.ui-tooltip { | ||
| 12 | + padding: 8px; | ||
| 13 | + position: absolute; | ||
| 14 | + z-index: 9999; | ||
| 15 | + max-width: 300px; | ||
| 16 | + -webkit-box-shadow: 0 0 5px #aaa; | ||
| 17 | + box-shadow: 0 0 5px #aaa; | ||
| 18 | +} | ||
| 19 | +body .ui-tooltip { | ||
| 20 | + border-width: 2px; | ||
| 21 | +} |
src/main/resources/static/real_control_v2/assets/plugins/jquery.ui/widget.js
0 → 100644
| 1 | +/*! | ||
| 2 | + * jQuery UI Widget 1.11.1 | ||
| 3 | + * http://jqueryui.com | ||
| 4 | + * | ||
| 5 | + * Copyright 2014 jQuery Foundation and other contributors | ||
| 6 | + * Released under the MIT license. | ||
| 7 | + * http://jquery.org/license | ||
| 8 | + * | ||
| 9 | + * http://api.jqueryui.com/jQuery.widget/ | ||
| 10 | + */ | ||
| 11 | +(function( factory ) { | ||
| 12 | + if ( typeof define === "function" && define.amd ) { | ||
| 13 | + | ||
| 14 | + // AMD. Register as an anonymous module. | ||
| 15 | + define( [ "jquery" ], factory ); | ||
| 16 | + } else { | ||
| 17 | + | ||
| 18 | + // Browser globals | ||
| 19 | + factory( jQuery ); | ||
| 20 | + } | ||
| 21 | +}(function( $ ) { | ||
| 22 | + | ||
| 23 | +var widget_uuid = 0, | ||
| 24 | + widget_slice = Array.prototype.slice; | ||
| 25 | + | ||
| 26 | +$.cleanData = (function( orig ) { | ||
| 27 | + return function( elems ) { | ||
| 28 | + var events, elem, i; | ||
| 29 | + for ( i = 0; (elem = elems[i]) != null; i++ ) { | ||
| 30 | + try { | ||
| 31 | + | ||
| 32 | + // Only trigger remove when necessary to save time | ||
| 33 | + events = $._data( elem, "events" ); | ||
| 34 | + if ( events && events.remove ) { | ||
| 35 | + $( elem ).triggerHandler( "remove" ); | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + // http://bugs.jquery.com/ticket/8235 | ||
| 39 | + } catch( e ) {} | ||
| 40 | + } | ||
| 41 | + orig( elems ); | ||
| 42 | + }; | ||
| 43 | +})( $.cleanData ); | ||
| 44 | + | ||
| 45 | +$.widget = function( name, base, prototype ) { | ||
| 46 | + var fullName, existingConstructor, constructor, basePrototype, | ||
| 47 | + // proxiedPrototype allows the provided prototype to remain unmodified | ||
| 48 | + // so that it can be used as a mixin for multiple widgets (#8876) | ||
| 49 | + proxiedPrototype = {}, | ||
| 50 | + namespace = name.split( "." )[ 0 ]; | ||
| 51 | + | ||
| 52 | + name = name.split( "." )[ 1 ]; | ||
| 53 | + fullName = namespace + "-" + name; | ||
| 54 | + | ||
| 55 | + if ( !prototype ) { | ||
| 56 | + prototype = base; | ||
| 57 | + base = $.Widget; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + // create selector for plugin | ||
| 61 | + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { | ||
| 62 | + return !!$.data( elem, fullName ); | ||
| 63 | + }; | ||
| 64 | + | ||
| 65 | + $[ namespace ] = $[ namespace ] || {}; | ||
| 66 | + existingConstructor = $[ namespace ][ name ]; | ||
| 67 | + constructor = $[ namespace ][ name ] = function( options, element ) { | ||
| 68 | + // allow instantiation without "new" keyword | ||
| 69 | + if ( !this._createWidget ) { | ||
| 70 | + return new constructor( options, element ); | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + // allow instantiation without initializing for simple inheritance | ||
| 74 | + // must use "new" keyword (the code above always passes args) | ||
| 75 | + if ( arguments.length ) { | ||
| 76 | + this._createWidget( options, element ); | ||
| 77 | + } | ||
| 78 | + }; | ||
| 79 | + // extend with the existing constructor to carry over any static properties | ||
| 80 | + $.extend( constructor, existingConstructor, { | ||
| 81 | + version: prototype.version, | ||
| 82 | + // copy the object used to create the prototype in case we need to | ||
| 83 | + // redefine the widget later | ||
| 84 | + _proto: $.extend( {}, prototype ), | ||
| 85 | + // track widgets that inherit from this widget in case this widget is | ||
| 86 | + // redefined after a widget inherits from it | ||
| 87 | + _childConstructors: [] | ||
| 88 | + }); | ||
| 89 | + | ||
| 90 | + basePrototype = new base(); | ||
| 91 | + // we need to make the options hash a property directly on the new instance | ||
| 92 | + // otherwise we'll modify the options hash on the prototype that we're | ||
| 93 | + // inheriting from | ||
| 94 | + basePrototype.options = $.widget.extend( {}, basePrototype.options ); | ||
| 95 | + $.each( prototype, function( prop, value ) { | ||
| 96 | + if ( !$.isFunction( value ) ) { | ||
| 97 | + proxiedPrototype[ prop ] = value; | ||
| 98 | + return; | ||
| 99 | + } | ||
| 100 | + proxiedPrototype[ prop ] = (function() { | ||
| 101 | + var _super = function() { | ||
| 102 | + return base.prototype[ prop ].apply( this, arguments ); | ||
| 103 | + }, | ||
| 104 | + _superApply = function( args ) { | ||
| 105 | + return base.prototype[ prop ].apply( this, args ); | ||
| 106 | + }; | ||
| 107 | + return function() { | ||
| 108 | + var __super = this._super, | ||
| 109 | + __superApply = this._superApply, | ||
| 110 | + returnValue; | ||
| 111 | + | ||
| 112 | + this._super = _super; | ||
| 113 | + this._superApply = _superApply; | ||
| 114 | + | ||
| 115 | + returnValue = value.apply( this, arguments ); | ||
| 116 | + | ||
| 117 | + this._super = __super; | ||
| 118 | + this._superApply = __superApply; | ||
| 119 | + | ||
| 120 | + return returnValue; | ||
| 121 | + }; | ||
| 122 | + })(); | ||
| 123 | + }); | ||
| 124 | + constructor.prototype = $.widget.extend( basePrototype, { | ||
| 125 | + // TODO: remove support for widgetEventPrefix | ||
| 126 | + // always use the name + a colon as the prefix, e.g., draggable:start | ||
| 127 | + // don't prefix for widgets that aren't DOM-based | ||
| 128 | + widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name | ||
| 129 | + }, proxiedPrototype, { | ||
| 130 | + constructor: constructor, | ||
| 131 | + namespace: namespace, | ||
| 132 | + widgetName: name, | ||
| 133 | + widgetFullName: fullName | ||
| 134 | + }); | ||
| 135 | + | ||
| 136 | + // If this widget is being redefined then we need to find all widgets that | ||
| 137 | + // are inheriting from it and redefine all of them so that they inherit from | ||
| 138 | + // the new version of this widget. We're essentially trying to replace one | ||
| 139 | + // level in the prototype chain. | ||
| 140 | + if ( existingConstructor ) { | ||
| 141 | + $.each( existingConstructor._childConstructors, function( i, child ) { | ||
| 142 | + var childPrototype = child.prototype; | ||
| 143 | + | ||
| 144 | + // redefine the child widget using the same prototype that was | ||
| 145 | + // originally used, but inherit from the new version of the base | ||
| 146 | + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); | ||
| 147 | + }); | ||
| 148 | + // remove the list of existing child constructors from the old constructor | ||
| 149 | + // so the old child constructors can be garbage collected | ||
| 150 | + delete existingConstructor._childConstructors; | ||
| 151 | + } else { | ||
| 152 | + base._childConstructors.push( constructor ); | ||
| 153 | + } | ||
| 154 | + | ||
| 155 | + $.widget.bridge( name, constructor ); | ||
| 156 | + | ||
| 157 | + return constructor; | ||
| 158 | +}; | ||
| 159 | + | ||
| 160 | +$.widget.extend = function( target ) { | ||
| 161 | + var input = widget_slice.call( arguments, 1 ), | ||
| 162 | + inputIndex = 0, | ||
| 163 | + inputLength = input.length, | ||
| 164 | + key, | ||
| 165 | + value; | ||
| 166 | + for ( ; inputIndex < inputLength; inputIndex++ ) { | ||
| 167 | + for ( key in input[ inputIndex ] ) { | ||
| 168 | + value = input[ inputIndex ][ key ]; | ||
| 169 | + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { | ||
| 170 | + // Clone objects | ||
| 171 | + if ( $.isPlainObject( value ) ) { | ||
| 172 | + target[ key ] = $.isPlainObject( target[ key ] ) ? | ||
| 173 | + $.widget.extend( {}, target[ key ], value ) : | ||
| 174 | + // Don't extend strings, arrays, etc. with objects | ||
| 175 | + $.widget.extend( {}, value ); | ||
| 176 | + // Copy everything else by reference | ||
| 177 | + } else { | ||
| 178 | + target[ key ] = value; | ||
| 179 | + } | ||
| 180 | + } | ||
| 181 | + } | ||
| 182 | + } | ||
| 183 | + return target; | ||
| 184 | +}; | ||
| 185 | + | ||
| 186 | +$.widget.bridge = function( name, object ) { | ||
| 187 | + var fullName = object.prototype.widgetFullName || name; | ||
| 188 | + $.fn[ name ] = function( options ) { | ||
| 189 | + var isMethodCall = typeof options === "string", | ||
| 190 | + args = widget_slice.call( arguments, 1 ), | ||
| 191 | + returnValue = this; | ||
| 192 | + | ||
| 193 | + // allow multiple hashes to be passed on init | ||
| 194 | + options = !isMethodCall && args.length ? | ||
| 195 | + $.widget.extend.apply( null, [ options ].concat(args) ) : | ||
| 196 | + options; | ||
| 197 | + | ||
| 198 | + if ( isMethodCall ) { | ||
| 199 | + this.each(function() { | ||
| 200 | + var methodValue, | ||
| 201 | + instance = $.data( this, fullName ); | ||
| 202 | + if ( options === "instance" ) { | ||
| 203 | + returnValue = instance; | ||
| 204 | + return false; | ||
| 205 | + } | ||
| 206 | + if ( !instance ) { | ||
| 207 | + return $.error( "cannot call methods on " + name + " prior to initialization; " + | ||
| 208 | + "attempted to call method '" + options + "'" ); | ||
| 209 | + } | ||
| 210 | + if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { | ||
| 211 | + return $.error( "no such method '" + options + "' for " + name + " widget instance" ); | ||
| 212 | + } | ||
| 213 | + methodValue = instance[ options ].apply( instance, args ); | ||
| 214 | + if ( methodValue !== instance && methodValue !== undefined ) { | ||
| 215 | + returnValue = methodValue && methodValue.jquery ? | ||
| 216 | + returnValue.pushStack( methodValue.get() ) : | ||
| 217 | + methodValue; | ||
| 218 | + return false; | ||
| 219 | + } | ||
| 220 | + }); | ||
| 221 | + } else { | ||
| 222 | + this.each(function() { | ||
| 223 | + var instance = $.data( this, fullName ); | ||
| 224 | + if ( instance ) { | ||
| 225 | + instance.option( options || {} ); | ||
| 226 | + if ( instance._init ) { | ||
| 227 | + instance._init(); | ||
| 228 | + } | ||
| 229 | + } else { | ||
| 230 | + $.data( this, fullName, new object( options, this ) ); | ||
| 231 | + } | ||
| 232 | + }); | ||
| 233 | + } | ||
| 234 | + | ||
| 235 | + return returnValue; | ||
| 236 | + }; | ||
| 237 | +}; | ||
| 238 | + | ||
| 239 | +$.Widget = function( /* options, element */ ) {}; | ||
| 240 | +$.Widget._childConstructors = []; | ||
| 241 | + | ||
| 242 | +$.Widget.prototype = { | ||
| 243 | + widgetName: "widget", | ||
| 244 | + widgetEventPrefix: "", | ||
| 245 | + defaultElement: "<div>", | ||
| 246 | + options: { | ||
| 247 | + disabled: false, | ||
| 248 | + | ||
| 249 | + // callbacks | ||
| 250 | + create: null | ||
| 251 | + }, | ||
| 252 | + _createWidget: function( options, element ) { | ||
| 253 | + element = $( element || this.defaultElement || this )[ 0 ]; | ||
| 254 | + this.element = $( element ); | ||
| 255 | + this.uuid = widget_uuid++; | ||
| 256 | + this.eventNamespace = "." + this.widgetName + this.uuid; | ||
| 257 | + this.options = $.widget.extend( {}, | ||
| 258 | + this.options, | ||
| 259 | + this._getCreateOptions(), | ||
| 260 | + options ); | ||
| 261 | + | ||
| 262 | + this.bindings = $(); | ||
| 263 | + this.hoverable = $(); | ||
| 264 | + this.focusable = $(); | ||
| 265 | + | ||
| 266 | + if ( element !== this ) { | ||
| 267 | + $.data( element, this.widgetFullName, this ); | ||
| 268 | + this._on( true, this.element, { | ||
| 269 | + remove: function( event ) { | ||
| 270 | + if ( event.target === element ) { | ||
| 271 | + this.destroy(); | ||
| 272 | + } | ||
| 273 | + } | ||
| 274 | + }); | ||
| 275 | + this.document = $( element.style ? | ||
| 276 | + // element within the document | ||
| 277 | + element.ownerDocument : | ||
| 278 | + // element is window or document | ||
| 279 | + element.document || element ); | ||
| 280 | + this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); | ||
| 281 | + } | ||
| 282 | + | ||
| 283 | + this._create(); | ||
| 284 | + this._trigger( "create", null, this._getCreateEventData() ); | ||
| 285 | + this._init(); | ||
| 286 | + }, | ||
| 287 | + _getCreateOptions: $.noop, | ||
| 288 | + _getCreateEventData: $.noop, | ||
| 289 | + _create: $.noop, | ||
| 290 | + _init: $.noop, | ||
| 291 | + | ||
| 292 | + destroy: function() { | ||
| 293 | + this._destroy(); | ||
| 294 | + // we can probably remove the unbind calls in 2.0 | ||
| 295 | + // all event bindings should go through this._on() | ||
| 296 | + this.element | ||
| 297 | + .unbind( this.eventNamespace ) | ||
| 298 | + .removeData( this.widgetFullName ) | ||
| 299 | + // support: jquery <1.6.3 | ||
| 300 | + // http://bugs.jquery.com/ticket/9413 | ||
| 301 | + .removeData( $.camelCase( this.widgetFullName ) ); | ||
| 302 | + this.widget() | ||
| 303 | + .unbind( this.eventNamespace ) | ||
| 304 | + .removeAttr( "aria-disabled" ) | ||
| 305 | + .removeClass( | ||
| 306 | + this.widgetFullName + "-disabled " + | ||
| 307 | + "ui-state-disabled" ); | ||
| 308 | + | ||
| 309 | + // clean up events and states | ||
| 310 | + this.bindings.unbind( this.eventNamespace ); | ||
| 311 | + this.hoverable.removeClass( "ui-state-hover" ); | ||
| 312 | + this.focusable.removeClass( "ui-state-focus" ); | ||
| 313 | + }, | ||
| 314 | + _destroy: $.noop, | ||
| 315 | + | ||
| 316 | + widget: function() { | ||
| 317 | + return this.element; | ||
| 318 | + }, | ||
| 319 | + | ||
| 320 | + option: function( key, value ) { | ||
| 321 | + var options = key, | ||
| 322 | + parts, | ||
| 323 | + curOption, | ||
| 324 | + i; | ||
| 325 | + | ||
| 326 | + if ( arguments.length === 0 ) { | ||
| 327 | + // don't return a reference to the internal hash | ||
| 328 | + return $.widget.extend( {}, this.options ); | ||
| 329 | + } | ||
| 330 | + | ||
| 331 | + if ( typeof key === "string" ) { | ||
| 332 | + // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } | ||
| 333 | + options = {}; | ||
| 334 | + parts = key.split( "." ); | ||
| 335 | + key = parts.shift(); | ||
| 336 | + if ( parts.length ) { | ||
| 337 | + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); | ||
| 338 | + for ( i = 0; i < parts.length - 1; i++ ) { | ||
| 339 | + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; | ||
| 340 | + curOption = curOption[ parts[ i ] ]; | ||
| 341 | + } | ||
| 342 | + key = parts.pop(); | ||
| 343 | + if ( arguments.length === 1 ) { | ||
| 344 | + return curOption[ key ] === undefined ? null : curOption[ key ]; | ||
| 345 | + } | ||
| 346 | + curOption[ key ] = value; | ||
| 347 | + } else { | ||
| 348 | + if ( arguments.length === 1 ) { | ||
| 349 | + return this.options[ key ] === undefined ? null : this.options[ key ]; | ||
| 350 | + } | ||
| 351 | + options[ key ] = value; | ||
| 352 | + } | ||
| 353 | + } | ||
| 354 | + | ||
| 355 | + this._setOptions( options ); | ||
| 356 | + | ||
| 357 | + return this; | ||
| 358 | + }, | ||
| 359 | + _setOptions: function( options ) { | ||
| 360 | + var key; | ||
| 361 | + | ||
| 362 | + for ( key in options ) { | ||
| 363 | + this._setOption( key, options[ key ] ); | ||
| 364 | + } | ||
| 365 | + | ||
| 366 | + return this; | ||
| 367 | + }, | ||
| 368 | + _setOption: function( key, value ) { | ||
| 369 | + this.options[ key ] = value; | ||
| 370 | + | ||
| 371 | + if ( key === "disabled" ) { | ||
| 372 | + this.widget() | ||
| 373 | + .toggleClass( this.widgetFullName + "-disabled", !!value ); | ||
| 374 | + | ||
| 375 | + // If the widget is becoming disabled, then nothing is interactive | ||
| 376 | + if ( value ) { | ||
| 377 | + this.hoverable.removeClass( "ui-state-hover" ); | ||
| 378 | + this.focusable.removeClass( "ui-state-focus" ); | ||
| 379 | + } | ||
| 380 | + } | ||
| 381 | + | ||
| 382 | + return this; | ||
| 383 | + }, | ||
| 384 | + | ||
| 385 | + enable: function() { | ||
| 386 | + return this._setOptions({ disabled: false }); | ||
| 387 | + }, | ||
| 388 | + disable: function() { | ||
| 389 | + return this._setOptions({ disabled: true }); | ||
| 390 | + }, | ||
| 391 | + | ||
| 392 | + _on: function( suppressDisabledCheck, element, handlers ) { | ||
| 393 | + var delegateElement, | ||
| 394 | + instance = this; | ||
| 395 | + | ||
| 396 | + // no suppressDisabledCheck flag, shuffle arguments | ||
| 397 | + if ( typeof suppressDisabledCheck !== "boolean" ) { | ||
| 398 | + handlers = element; | ||
| 399 | + element = suppressDisabledCheck; | ||
| 400 | + suppressDisabledCheck = false; | ||
| 401 | + } | ||
| 402 | + | ||
| 403 | + // no element argument, shuffle and use this.element | ||
| 404 | + if ( !handlers ) { | ||
| 405 | + handlers = element; | ||
| 406 | + element = this.element; | ||
| 407 | + delegateElement = this.widget(); | ||
| 408 | + } else { | ||
| 409 | + element = delegateElement = $( element ); | ||
| 410 | + this.bindings = this.bindings.add( element ); | ||
| 411 | + } | ||
| 412 | + | ||
| 413 | + $.each( handlers, function( event, handler ) { | ||
| 414 | + function handlerProxy() { | ||
| 415 | + // allow widgets to customize the disabled handling | ||
| 416 | + // - disabled as an array instead of boolean | ||
| 417 | + // - disabled class as method for disabling individual parts | ||
| 418 | + if ( !suppressDisabledCheck && | ||
| 419 | + ( instance.options.disabled === true || | ||
| 420 | + $( this ).hasClass( "ui-state-disabled" ) ) ) { | ||
| 421 | + return; | ||
| 422 | + } | ||
| 423 | + return ( typeof handler === "string" ? instance[ handler ] : handler ) | ||
| 424 | + .apply( instance, arguments ); | ||
| 425 | + } | ||
| 426 | + | ||
| 427 | + // copy the guid so direct unbinding works | ||
| 428 | + if ( typeof handler !== "string" ) { | ||
| 429 | + handlerProxy.guid = handler.guid = | ||
| 430 | + handler.guid || handlerProxy.guid || $.guid++; | ||
| 431 | + } | ||
| 432 | + | ||
| 433 | + var match = event.match( /^([\w:-]*)\s*(.*)$/ ), | ||
| 434 | + eventName = match[1] + instance.eventNamespace, | ||
| 435 | + selector = match[2]; | ||
| 436 | + if ( selector ) { | ||
| 437 | + delegateElement.delegate( selector, eventName, handlerProxy ); | ||
| 438 | + } else { | ||
| 439 | + element.bind( eventName, handlerProxy ); | ||
| 440 | + } | ||
| 441 | + }); | ||
| 442 | + }, | ||
| 443 | + | ||
| 444 | + _off: function( element, eventName ) { | ||
| 445 | + eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; | ||
| 446 | + element.unbind( eventName ).undelegate( eventName ); | ||
| 447 | + }, | ||
| 448 | + | ||
| 449 | + _delay: function( handler, delay ) { | ||
| 450 | + function handlerProxy() { | ||
| 451 | + return ( typeof handler === "string" ? instance[ handler ] : handler ) | ||
| 452 | + .apply( instance, arguments ); | ||
| 453 | + } | ||
| 454 | + var instance = this; | ||
| 455 | + return setTimeout( handlerProxy, delay || 0 ); | ||
| 456 | + }, | ||
| 457 | + | ||
| 458 | + _hoverable: function( element ) { | ||
| 459 | + this.hoverable = this.hoverable.add( element ); | ||
| 460 | + this._on( element, { | ||
| 461 | + mouseenter: function( event ) { | ||
| 462 | + $( event.currentTarget ).addClass( "ui-state-hover" ); | ||
| 463 | + }, | ||
| 464 | + mouseleave: function( event ) { | ||
| 465 | + $( event.currentTarget ).removeClass( "ui-state-hover" ); | ||
| 466 | + } | ||
| 467 | + }); | ||
| 468 | + }, | ||
| 469 | + | ||
| 470 | + _focusable: function( element ) { | ||
| 471 | + this.focusable = this.focusable.add( element ); | ||
| 472 | + this._on( element, { | ||
| 473 | + focusin: function( event ) { | ||
| 474 | + $( event.currentTarget ).addClass( "ui-state-focus" ); | ||
| 475 | + }, | ||
| 476 | + focusout: function( event ) { | ||
| 477 | + $( event.currentTarget ).removeClass( "ui-state-focus" ); | ||
| 478 | + } | ||
| 479 | + }); | ||
| 480 | + }, | ||
| 481 | + | ||
| 482 | + _trigger: function( type, event, data ) { | ||
| 483 | + var prop, orig, | ||
| 484 | + callback = this.options[ type ]; | ||
| 485 | + | ||
| 486 | + data = data || {}; | ||
| 487 | + event = $.Event( event ); | ||
| 488 | + event.type = ( type === this.widgetEventPrefix ? | ||
| 489 | + type : | ||
| 490 | + this.widgetEventPrefix + type ).toLowerCase(); | ||
| 491 | + // the original event may come from any element | ||
| 492 | + // so we need to reset the target on the new event | ||
| 493 | + event.target = this.element[ 0 ]; | ||
| 494 | + | ||
| 495 | + // copy original event properties over to the new event | ||
| 496 | + orig = event.originalEvent; | ||
| 497 | + if ( orig ) { | ||
| 498 | + for ( prop in orig ) { | ||
| 499 | + if ( !( prop in event ) ) { | ||
| 500 | + event[ prop ] = orig[ prop ]; | ||
| 501 | + } | ||
| 502 | + } | ||
| 503 | + } | ||
| 504 | + | ||
| 505 | + this.element.trigger( event, data ); | ||
| 506 | + return !( $.isFunction( callback ) && | ||
| 507 | + callback.apply( this.element[0], [ event ].concat( data ) ) === false || | ||
| 508 | + event.isDefaultPrevented() ); | ||
| 509 | + } | ||
| 510 | +}; | ||
| 511 | + | ||
| 512 | +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { | ||
| 513 | + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { | ||
| 514 | + if ( typeof options === "string" ) { | ||
| 515 | + options = { effect: options }; | ||
| 516 | + } | ||
| 517 | + var hasOptions, | ||
| 518 | + effectName = !options ? | ||
| 519 | + method : | ||
| 520 | + options === true || typeof options === "number" ? | ||
| 521 | + defaultEffect : | ||
| 522 | + options.effect || defaultEffect; | ||
| 523 | + options = options || {}; | ||
| 524 | + if ( typeof options === "number" ) { | ||
| 525 | + options = { duration: options }; | ||
| 526 | + } | ||
| 527 | + hasOptions = !$.isEmptyObject( options ); | ||
| 528 | + options.complete = callback; | ||
| 529 | + if ( options.delay ) { | ||
| 530 | + element.delay( options.delay ); | ||
| 531 | + } | ||
| 532 | + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { | ||
| 533 | + element[ method ]( options ); | ||
| 534 | + } else if ( effectName !== method && element[ effectName ] ) { | ||
| 535 | + element[ effectName ]( options.duration, options.easing, callback ); | ||
| 536 | + } else { | ||
| 537 | + element.queue(function( next ) { | ||
| 538 | + $( this )[ method ](); | ||
| 539 | + if ( callback ) { | ||
| 540 | + callback.call( element[ 0 ] ); | ||
| 541 | + } | ||
| 542 | + next(); | ||
| 543 | + }); | ||
| 544 | + } | ||
| 545 | + }; | ||
| 546 | +}); | ||
| 547 | + | ||
| 548 | +return $.widget; | ||
| 549 | + | ||
| 550 | +})); |
src/main/resources/static/real_control_v2/assets/plugins/spectrum/spectrum.css
0 → 100644
| 1 | +/*** | ||
| 2 | +Spectrum Colorpicker v1.8.0 | ||
| 3 | +https://github.com/bgrins/spectrum | ||
| 4 | +Author: Brian Grinstead | ||
| 5 | +License: MIT | ||
| 6 | +***/ | ||
| 7 | + | ||
| 8 | +.sp-container { | ||
| 9 | + position:absolute; | ||
| 10 | + top:0; | ||
| 11 | + left:0; | ||
| 12 | + display:inline-block; | ||
| 13 | + *display: inline; | ||
| 14 | + *zoom: 1; | ||
| 15 | + /* https://github.com/bgrins/spectrum/issues/40 */ | ||
| 16 | + z-index: 9999994; | ||
| 17 | + overflow: hidden; | ||
| 18 | +} | ||
| 19 | +.sp-container.sp-flat { | ||
| 20 | + position: relative; | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | +/* Fix for * { box-sizing: border-box; } */ | ||
| 24 | +.sp-container, | ||
| 25 | +.sp-container * { | ||
| 26 | + -webkit-box-sizing: content-box; | ||
| 27 | + -moz-box-sizing: content-box; | ||
| 28 | + box-sizing: content-box; | ||
| 29 | +} | ||
| 30 | + | ||
| 31 | +/* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */ | ||
| 32 | +.sp-top { | ||
| 33 | + position:relative; | ||
| 34 | + width: 100%; | ||
| 35 | + display:inline-block; | ||
| 36 | +} | ||
| 37 | +.sp-top-inner { | ||
| 38 | + position:absolute; | ||
| 39 | + top:0; | ||
| 40 | + left:0; | ||
| 41 | + bottom:0; | ||
| 42 | + right:0; | ||
| 43 | +} | ||
| 44 | +.sp-color { | ||
| 45 | + position: absolute; | ||
| 46 | + top:0; | ||
| 47 | + left:0; | ||
| 48 | + bottom:0; | ||
| 49 | + right:20%; | ||
| 50 | +} | ||
| 51 | +.sp-hue { | ||
| 52 | + position: absolute; | ||
| 53 | + top:0; | ||
| 54 | + right:0; | ||
| 55 | + bottom:0; | ||
| 56 | + left:84%; | ||
| 57 | + height: 100%; | ||
| 58 | +} | ||
| 59 | + | ||
| 60 | +.sp-clear-enabled .sp-hue { | ||
| 61 | + top:33px; | ||
| 62 | + height: 77.5%; | ||
| 63 | +} | ||
| 64 | + | ||
| 65 | +.sp-fill { | ||
| 66 | + padding-top: 80%; | ||
| 67 | +} | ||
| 68 | +.sp-sat, .sp-val { | ||
| 69 | + position: absolute; | ||
| 70 | + top:0; | ||
| 71 | + left:0; | ||
| 72 | + right:0; | ||
| 73 | + bottom:0; | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +.sp-alpha-enabled .sp-top { | ||
| 77 | + margin-bottom: 18px; | ||
| 78 | +} | ||
| 79 | +.sp-alpha-enabled .sp-alpha { | ||
| 80 | + display: block; | ||
| 81 | +} | ||
| 82 | +.sp-alpha-handle { | ||
| 83 | + position:absolute; | ||
| 84 | + top:-4px; | ||
| 85 | + bottom: -4px; | ||
| 86 | + width: 6px; | ||
| 87 | + left: 50%; | ||
| 88 | + cursor: pointer; | ||
| 89 | + border: 1px solid black; | ||
| 90 | + background: white; | ||
| 91 | + opacity: .8; | ||
| 92 | +} | ||
| 93 | +.sp-alpha { | ||
| 94 | + display: none; | ||
| 95 | + position: absolute; | ||
| 96 | + bottom: -14px; | ||
| 97 | + right: 0; | ||
| 98 | + left: 0; | ||
| 99 | + height: 8px; | ||
| 100 | +} | ||
| 101 | +.sp-alpha-inner { | ||
| 102 | + border: solid 1px #333; | ||
| 103 | +} | ||
| 104 | + | ||
| 105 | +.sp-clear { | ||
| 106 | + display: none; | ||
| 107 | +} | ||
| 108 | + | ||
| 109 | +.sp-clear.sp-clear-display { | ||
| 110 | + background-position: center; | ||
| 111 | +} | ||
| 112 | + | ||
| 113 | +.sp-clear-enabled .sp-clear { | ||
| 114 | + display: block; | ||
| 115 | + position:absolute; | ||
| 116 | + top:0px; | ||
| 117 | + right:0; | ||
| 118 | + bottom:0; | ||
| 119 | + left:84%; | ||
| 120 | + height: 28px; | ||
| 121 | +} | ||
| 122 | + | ||
| 123 | +/* Don't allow text selection */ | ||
| 124 | +.sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button { | ||
| 125 | + -webkit-user-select:none; | ||
| 126 | + -moz-user-select: -moz-none; | ||
| 127 | + -o-user-select:none; | ||
| 128 | + user-select: none; | ||
| 129 | +} | ||
| 130 | + | ||
| 131 | +.sp-container.sp-input-disabled .sp-input-container { | ||
| 132 | + display: none; | ||
| 133 | +} | ||
| 134 | +.sp-container.sp-buttons-disabled .sp-button-container { | ||
| 135 | + display: none; | ||
| 136 | +} | ||
| 137 | +.sp-container.sp-palette-buttons-disabled .sp-palette-button-container { | ||
| 138 | + display: none; | ||
| 139 | +} | ||
| 140 | +.sp-palette-only .sp-picker-container { | ||
| 141 | + display: none; | ||
| 142 | +} | ||
| 143 | +.sp-palette-disabled .sp-palette-container { | ||
| 144 | + display: none; | ||
| 145 | +} | ||
| 146 | + | ||
| 147 | +.sp-initial-disabled .sp-initial { | ||
| 148 | + display: none; | ||
| 149 | +} | ||
| 150 | + | ||
| 151 | + | ||
| 152 | +/* Gradients for hue, saturation and value instead of images. Not pretty... but it works */ | ||
| 153 | +.sp-sat { | ||
| 154 | + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0))); | ||
| 155 | + background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0)); | ||
| 156 | + background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); | ||
| 157 | + background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); | ||
| 158 | + background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); | ||
| 159 | + background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0)); | ||
| 160 | + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)"; | ||
| 161 | + filter : progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81'); | ||
| 162 | +} | ||
| 163 | +.sp-val { | ||
| 164 | + background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0))); | ||
| 165 | + background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0)); | ||
| 166 | + background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); | ||
| 167 | + background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); | ||
| 168 | + background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); | ||
| 169 | + background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0)); | ||
| 170 | + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)"; | ||
| 171 | + filter : progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000'); | ||
| 172 | +} | ||
| 173 | + | ||
| 174 | +.sp-hue { | ||
| 175 | + background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); | ||
| 176 | + background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); | ||
| 177 | + background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); | ||
| 178 | + background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000)); | ||
| 179 | + background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); | ||
| 180 | + background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%); | ||
| 181 | +} | ||
| 182 | + | ||
| 183 | +/* IE filters do not support multiple color stops. | ||
| 184 | + Generate 6 divs, line them up, and do two color gradients for each. | ||
| 185 | + Yes, really. | ||
| 186 | + */ | ||
| 187 | +.sp-1 { | ||
| 188 | + height:17%; | ||
| 189 | + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00'); | ||
| 190 | +} | ||
| 191 | +.sp-2 { | ||
| 192 | + height:16%; | ||
| 193 | + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00'); | ||
| 194 | +} | ||
| 195 | +.sp-3 { | ||
| 196 | + height:17%; | ||
| 197 | + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff'); | ||
| 198 | +} | ||
| 199 | +.sp-4 { | ||
| 200 | + height:17%; | ||
| 201 | + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff'); | ||
| 202 | +} | ||
| 203 | +.sp-5 { | ||
| 204 | + height:16%; | ||
| 205 | + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff'); | ||
| 206 | +} | ||
| 207 | +.sp-6 { | ||
| 208 | + height:17%; | ||
| 209 | + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000'); | ||
| 210 | +} | ||
| 211 | + | ||
| 212 | +.sp-hidden { | ||
| 213 | + display: none !important; | ||
| 214 | +} | ||
| 215 | + | ||
| 216 | +/* Clearfix hack */ | ||
| 217 | +.sp-cf:before, .sp-cf:after { content: ""; display: table; } | ||
| 218 | +.sp-cf:after { clear: both; } | ||
| 219 | +.sp-cf { *zoom: 1; } | ||
| 220 | + | ||
| 221 | +/* Mobile devices, make hue slider bigger so it is easier to slide */ | ||
| 222 | +@media (max-device-width: 480px) { | ||
| 223 | + .sp-color { right: 40%; } | ||
| 224 | + .sp-hue { left: 63%; } | ||
| 225 | + .sp-fill { padding-top: 60%; } | ||
| 226 | +} | ||
| 227 | +.sp-dragger { | ||
| 228 | + border-radius: 5px; | ||
| 229 | + height: 5px; | ||
| 230 | + width: 5px; | ||
| 231 | + border: 1px solid #fff; | ||
| 232 | + background: #000; | ||
| 233 | + cursor: pointer; | ||
| 234 | + position:absolute; | ||
| 235 | + top:0; | ||
| 236 | + left: 0; | ||
| 237 | +} | ||
| 238 | +.sp-slider { | ||
| 239 | + position: absolute; | ||
| 240 | + top:0; | ||
| 241 | + cursor:pointer; | ||
| 242 | + height: 3px; | ||
| 243 | + left: -1px; | ||
| 244 | + right: -1px; | ||
| 245 | + border: 1px solid #000; | ||
| 246 | + background: white; | ||
| 247 | + opacity: .8; | ||
| 248 | +} | ||
| 249 | + | ||
| 250 | +/* | ||
| 251 | +Theme authors: | ||
| 252 | +Here are the basic themeable display options (colors, fonts, global widths). | ||
| 253 | +See http://bgrins.github.io/spectrum/themes/ for instructions. | ||
| 254 | +*/ | ||
| 255 | + | ||
| 256 | +.sp-container { | ||
| 257 | + border-radius: 0; | ||
| 258 | + background-color: #ECECEC; | ||
| 259 | + border: solid 1px #f0c49B; | ||
| 260 | + padding: 0; | ||
| 261 | +} | ||
| 262 | +.sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear { | ||
| 263 | + font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; | ||
| 264 | + -webkit-box-sizing: border-box; | ||
| 265 | + -moz-box-sizing: border-box; | ||
| 266 | + -ms-box-sizing: border-box; | ||
| 267 | + box-sizing: border-box; | ||
| 268 | +} | ||
| 269 | +.sp-top { | ||
| 270 | + margin-bottom: 3px; | ||
| 271 | +} | ||
| 272 | +.sp-color, .sp-hue, .sp-clear { | ||
| 273 | + border: solid 1px #666; | ||
| 274 | +} | ||
| 275 | + | ||
| 276 | +/* Input */ | ||
| 277 | +.sp-input-container { | ||
| 278 | + float:right; | ||
| 279 | + width: 100px; | ||
| 280 | + margin-bottom: 4px; | ||
| 281 | +} | ||
| 282 | +.sp-initial-disabled .sp-input-container { | ||
| 283 | + width: 100%; | ||
| 284 | +} | ||
| 285 | +.sp-input { | ||
| 286 | + font-size: 12px !important; | ||
| 287 | + border: 1px inset; | ||
| 288 | + padding: 4px 5px; | ||
| 289 | + margin: 0; | ||
| 290 | + width: 100%; | ||
| 291 | + background:transparent; | ||
| 292 | + border-radius: 3px; | ||
| 293 | + color: #222; | ||
| 294 | +} | ||
| 295 | +.sp-input:focus { | ||
| 296 | + border: 1px solid orange; | ||
| 297 | +} | ||
| 298 | +.sp-input.sp-validation-error { | ||
| 299 | + border: 1px solid red; | ||
| 300 | + background: #fdd; | ||
| 301 | +} | ||
| 302 | +.sp-picker-container , .sp-palette-container { | ||
| 303 | + float:left; | ||
| 304 | + position: relative; | ||
| 305 | + padding: 10px; | ||
| 306 | + padding-bottom: 300px; | ||
| 307 | + margin-bottom: -290px; | ||
| 308 | +} | ||
| 309 | +.sp-picker-container { | ||
| 310 | + width: 172px; | ||
| 311 | + border-left: solid 1px #fff; | ||
| 312 | +} | ||
| 313 | + | ||
| 314 | +/* Palettes */ | ||
| 315 | +.sp-palette-container { | ||
| 316 | + border-right: solid 1px #ccc; | ||
| 317 | +} | ||
| 318 | + | ||
| 319 | +.sp-palette-only .sp-palette-container { | ||
| 320 | + border: 0; | ||
| 321 | +} | ||
| 322 | + | ||
| 323 | +.sp-palette .sp-thumb-el { | ||
| 324 | + display: block; | ||
| 325 | + position:relative; | ||
| 326 | + float:left; | ||
| 327 | + width: 24px; | ||
| 328 | + height: 15px; | ||
| 329 | + margin: 3px; | ||
| 330 | + cursor: pointer; | ||
| 331 | + border:solid 2px transparent; | ||
| 332 | +} | ||
| 333 | +.sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active { | ||
| 334 | + border-color: orange; | ||
| 335 | +} | ||
| 336 | +.sp-thumb-el { | ||
| 337 | + position:relative; | ||
| 338 | +} | ||
| 339 | + | ||
| 340 | +/* Initial */ | ||
| 341 | +.sp-initial { | ||
| 342 | + float: left; | ||
| 343 | + border: solid 1px #333; | ||
| 344 | +} | ||
| 345 | +.sp-initial span { | ||
| 346 | + width: 30px; | ||
| 347 | + height: 25px; | ||
| 348 | + border:none; | ||
| 349 | + display:block; | ||
| 350 | + float:left; | ||
| 351 | + margin:0; | ||
| 352 | +} | ||
| 353 | + | ||
| 354 | +.sp-initial .sp-clear-display { | ||
| 355 | + background-position: center; | ||
| 356 | +} | ||
| 357 | + | ||
| 358 | +/* Buttons */ | ||
| 359 | +.sp-palette-button-container, | ||
| 360 | +.sp-button-container { | ||
| 361 | + float: right; | ||
| 362 | +} | ||
| 363 | + | ||
| 364 | +/* Replacer (the little preview div that shows up instead of the <input>) */ | ||
| 365 | +.sp-replacer { | ||
| 366 | + margin:0; | ||
| 367 | + overflow:hidden; | ||
| 368 | + cursor:pointer; | ||
| 369 | + padding: 4px; | ||
| 370 | + display:inline-block; | ||
| 371 | + *zoom: 1; | ||
| 372 | + *display: inline; | ||
| 373 | + border: solid 1px #91765d; | ||
| 374 | + background: #eee; | ||
| 375 | + color: #333; | ||
| 376 | + vertical-align: middle; | ||
| 377 | +} | ||
| 378 | +.sp-replacer:hover, .sp-replacer.sp-active { | ||
| 379 | + border-color: #F0C49B; | ||
| 380 | + color: #111; | ||
| 381 | +} | ||
| 382 | +.sp-replacer.sp-disabled { | ||
| 383 | + cursor:default; | ||
| 384 | + border-color: silver; | ||
| 385 | + color: silver; | ||
| 386 | +} | ||
| 387 | +.sp-dd { | ||
| 388 | + padding: 2px 0; | ||
| 389 | + height: 16px; | ||
| 390 | + line-height: 16px; | ||
| 391 | + float:left; | ||
| 392 | + font-size:10px; | ||
| 393 | +} | ||
| 394 | +.sp-preview { | ||
| 395 | + position:relative; | ||
| 396 | + width:25px; | ||
| 397 | + height: 20px; | ||
| 398 | + border: solid 1px #222; | ||
| 399 | + margin-right: 5px; | ||
| 400 | + float:left; | ||
| 401 | + z-index: 0; | ||
| 402 | +} | ||
| 403 | + | ||
| 404 | +.sp-palette { | ||
| 405 | + *width: 220px; | ||
| 406 | + max-width: 220px; | ||
| 407 | +} | ||
| 408 | +.sp-palette .sp-thumb-el { | ||
| 409 | + width:16px; | ||
| 410 | + height: 16px; | ||
| 411 | + margin:2px 1px; | ||
| 412 | + border: solid 1px #d0d0d0; | ||
| 413 | +} | ||
| 414 | + | ||
| 415 | +.sp-container { | ||
| 416 | + padding-bottom:0; | ||
| 417 | +} | ||
| 418 | + | ||
| 419 | + | ||
| 420 | +/* Buttons: http://hellohappy.org/css3-buttons/ */ | ||
| 421 | +.sp-container button { | ||
| 422 | + background-color: #eeeeee; | ||
| 423 | + background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc); | ||
| 424 | + background-image: -moz-linear-gradient(top, #eeeeee, #cccccc); | ||
| 425 | + background-image: -ms-linear-gradient(top, #eeeeee, #cccccc); | ||
| 426 | + background-image: -o-linear-gradient(top, #eeeeee, #cccccc); | ||
| 427 | + background-image: linear-gradient(to bottom, #eeeeee, #cccccc); | ||
| 428 | + border: 1px solid #ccc; | ||
| 429 | + border-bottom: 1px solid #bbb; | ||
| 430 | + border-radius: 3px; | ||
| 431 | + color: #333; | ||
| 432 | + font-size: 14px; | ||
| 433 | + line-height: 1; | ||
| 434 | + padding: 5px 4px; | ||
| 435 | + text-align: center; | ||
| 436 | + text-shadow: 0 1px 0 #eee; | ||
| 437 | + vertical-align: middle; | ||
| 438 | +} | ||
| 439 | +.sp-container button:hover { | ||
| 440 | + background-color: #dddddd; | ||
| 441 | + background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb); | ||
| 442 | + background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb); | ||
| 443 | + background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb); | ||
| 444 | + background-image: -o-linear-gradient(top, #dddddd, #bbbbbb); | ||
| 445 | + background-image: linear-gradient(to bottom, #dddddd, #bbbbbb); | ||
| 446 | + border: 1px solid #bbb; | ||
| 447 | + border-bottom: 1px solid #999; | ||
| 448 | + cursor: pointer; | ||
| 449 | + text-shadow: 0 1px 0 #ddd; | ||
| 450 | +} | ||
| 451 | +.sp-container button:active { | ||
| 452 | + border: 1px solid #aaa; | ||
| 453 | + border-bottom: 1px solid #888; | ||
| 454 | + -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; | ||
| 455 | + -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; | ||
| 456 | + -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; | ||
| 457 | + -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; | ||
| 458 | + box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee; | ||
| 459 | +} | ||
| 460 | +.sp-cancel { | ||
| 461 | + font-size: 11px; | ||
| 462 | + color: #d93f3f !important; | ||
| 463 | + margin:0; | ||
| 464 | + padding:2px; | ||
| 465 | + margin-right: 5px; | ||
| 466 | + vertical-align: middle; | ||
| 467 | + text-decoration:none; | ||
| 468 | + | ||
| 469 | +} | ||
| 470 | +.sp-cancel:hover { | ||
| 471 | + color: #d93f3f !important; | ||
| 472 | + text-decoration: underline; | ||
| 473 | +} | ||
| 474 | + | ||
| 475 | + | ||
| 476 | +.sp-palette span:hover, .sp-palette span.sp-thumb-active { | ||
| 477 | + border-color: #000; | ||
| 478 | +} | ||
| 479 | + | ||
| 480 | +.sp-preview, .sp-alpha, .sp-thumb-el { | ||
| 481 | + position:relative; | ||
| 482 | + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); | ||
| 483 | +} | ||
| 484 | +.sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner { | ||
| 485 | + display:block; | ||
| 486 | + position:absolute; | ||
| 487 | + top:0;left:0;bottom:0;right:0; | ||
| 488 | +} | ||
| 489 | + | ||
| 490 | +.sp-palette .sp-thumb-inner { | ||
| 491 | + background-position: 50% 50%; | ||
| 492 | + background-repeat: no-repeat; | ||
| 493 | +} | ||
| 494 | + | ||
| 495 | +.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner { | ||
| 496 | + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=); | ||
| 497 | +} | ||
| 498 | + | ||
| 499 | +.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner { | ||
| 500 | + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=); | ||
| 501 | +} | ||
| 502 | + | ||
| 503 | +.sp-clear-display { | ||
| 504 | + background-repeat:no-repeat; | ||
| 505 | + background-position: center; | ||
| 506 | + background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==); | ||
| 507 | +} |