ecinc-cloud-yoabase 9.6.251 → 9.6.252

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16592,7 +16592,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".el-collapse[data-v-7531760d]{width:26
16592
16592
 
16593
16593
  /***/ }),
16594
16594
 
16595
- /***/ 3667:
16595
+ /***/ 4246:
16596
16596
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
16597
16597
 
16598
16598
  "use strict";
@@ -16606,7 +16606,7 @@ __webpack_require__.r(__webpack_exports__);
16606
16606
 
16607
16607
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
16608
16608
  // Module
16609
- ___CSS_LOADER_EXPORT___.push([module.id, "#center[data-v-fd273d64]{height:100%;max-width:3000px}.center-container[data-v-fd273d64]{height:calc(100vh - 60px);overflow-y:auto;overflow-x:auto}.dropdown-menu[data-v-fd273d64]{width:160px;display:none;position:fixed;z-index:999999;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:var(--portalFontSize14);text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu li a[data-v-fd273d64]{padding:5px 20px;line-height:1.5;white-space:nowrap;color:#333}.dropdown-menu li[data-v-fd273d64]:hover{background:#f5f5f5}[data-v-fd273d64] .line_text{cursor:pointer;position:absolute;left:0;top:0;font-size:var(--portalFontSize14)}[data-v-fd273d64] svg:hover path:last-child{fill:red}[data-v-fd273d64] path{stroke-width:2;cursor:pointer}[data-v-fd273d64] path:last-child{fill:#438eb9}[data-v-fd273d64] circle{fill:#438eb9;stroke:none}li[data-v-fd273d64],ul[data-v-fd273d64]{list-style:none}", ""]);
16609
+ ___CSS_LOADER_EXPORT___.push([module.id, "#center[data-v-c53b708e]{height:100%;max-width:3000px}.center-container[data-v-c53b708e]{height:calc(100vh - 60px);overflow-y:auto;overflow-x:auto}.dropdown-menu[data-v-c53b708e]{width:160px;display:none;position:fixed;z-index:999999;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:var(--portalFontSize14);text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu li a[data-v-c53b708e]{padding:5px 20px;line-height:1.5;white-space:nowrap;color:#333}.dropdown-menu li[data-v-c53b708e]:hover{background:#f5f5f5}[data-v-c53b708e] .line_text{cursor:pointer;position:absolute;left:0;top:0;font-size:var(--portalFontSize14)}[data-v-c53b708e] svg:hover path:last-child{fill:red}[data-v-c53b708e] path{stroke-width:2;cursor:pointer}[data-v-c53b708e] path:last-child{fill:#438eb9}[data-v-c53b708e] circle{fill:#438eb9;stroke:none}li[data-v-c53b708e],ul[data-v-c53b708e]{list-style:none}", ""]);
16610
16610
  // Exports
16611
16611
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
16612
16612
 
@@ -25983,6 +25983,2999 @@ module.exports = bind.call(call, $hasOwn);
25983
25983
  //# sourceMappingURL=html2canvas.js.map
25984
25984
 
25985
25985
 
25986
+ /***/ }),
25987
+
25988
+ /***/ 9983:
25989
+ /***/ (function(module, exports, __webpack_require__) {
25990
+
25991
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
25992
+ * jQuery UI :data 1.12.1
25993
+ * http://jqueryui.com
25994
+ *
25995
+ * Copyright jQuery Foundation and other contributors
25996
+ * Released under the MIT license.
25997
+ * http://jquery.org/license
25998
+ */
25999
+
26000
+ //>>label: :data Selector
26001
+ //>>group: Core
26002
+ //>>description: Selects elements which have data stored under the specified key.
26003
+ //>>docs: http://api.jqueryui.com/data-selector/
26004
+
26005
+ ( function( factory ) {
26006
+ if ( true ) {
26007
+
26008
+ // AMD. Register as an anonymous module.
26009
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692), __webpack_require__(6883) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26010
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26011
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26012
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26013
+ } else {}
26014
+ } ( function( $ ) {
26015
+ return $.extend( $.expr[ ":" ], {
26016
+ data: $.expr.createPseudo ?
26017
+ $.expr.createPseudo( function( dataName ) {
26018
+ return function( elem ) {
26019
+ return !!$.data( elem, dataName );
26020
+ };
26021
+ } ) :
26022
+
26023
+ // Support: jQuery <1.8
26024
+ function( elem, i, match ) {
26025
+ return !!$.data( elem, match[ 3 ] );
26026
+ }
26027
+ } );
26028
+ } ) );
26029
+
26030
+
26031
+ /***/ }),
26032
+
26033
+ /***/ 8045:
26034
+ /***/ (function(module, exports, __webpack_require__) {
26035
+
26036
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {
26037
+ if ( true ) {
26038
+
26039
+ // AMD. Register as an anonymous module.
26040
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692), __webpack_require__(6883) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26041
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26042
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26043
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26044
+ } else {}
26045
+ } ( function( $ ) {
26046
+
26047
+ // This file is deprecated
26048
+ return $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
26049
+ } ) );
26050
+
26051
+
26052
+ /***/ }),
26053
+
26054
+ /***/ 2336:
26055
+ /***/ (function(module, exports, __webpack_require__) {
26056
+
26057
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {
26058
+ if ( true ) {
26059
+
26060
+ // AMD. Register as an anonymous module.
26061
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692), __webpack_require__(6883) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26062
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26063
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26064
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26065
+ } else {}
26066
+ } ( function( $ ) {
26067
+
26068
+ // $.ui.plugin is deprecated. Use $.widget() extensions instead.
26069
+ return $.ui.plugin = {
26070
+ add: function( module, option, set ) {
26071
+ var i,
26072
+ proto = $.ui[ module ].prototype;
26073
+ for ( i in set ) {
26074
+ proto.plugins[ i ] = proto.plugins[ i ] || [];
26075
+ proto.plugins[ i ].push( [ option, set[ i ] ] );
26076
+ }
26077
+ },
26078
+ call: function( instance, name, args, allowDisconnected ) {
26079
+ var i,
26080
+ set = instance.plugins[ name ];
26081
+
26082
+ if ( !set ) {
26083
+ return;
26084
+ }
26085
+
26086
+ if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode ||
26087
+ instance.element[ 0 ].parentNode.nodeType === 11 ) ) {
26088
+ return;
26089
+ }
26090
+
26091
+ for ( i = 0; i < set.length; i++ ) {
26092
+ if ( instance.options[ set[ i ][ 0 ] ] ) {
26093
+ set[ i ][ 1 ].apply( instance.element, args );
26094
+ }
26095
+ }
26096
+ }
26097
+ };
26098
+
26099
+ } ) );
26100
+
26101
+
26102
+ /***/ }),
26103
+
26104
+ /***/ 3300:
26105
+ /***/ (function(module, exports, __webpack_require__) {
26106
+
26107
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {
26108
+ if ( true ) {
26109
+
26110
+ // AMD. Register as an anonymous module.
26111
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692), __webpack_require__(6883) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26112
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26113
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26114
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26115
+ } else {}
26116
+ } ( function( $ ) {
26117
+ return $.ui.safeActiveElement = function( document ) {
26118
+ var activeElement;
26119
+
26120
+ // Support: IE 9 only
26121
+ // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
26122
+ try {
26123
+ activeElement = document.activeElement;
26124
+ } catch ( error ) {
26125
+ activeElement = document.body;
26126
+ }
26127
+
26128
+ // Support: IE 9 - 11 only
26129
+ // IE may return null instead of an element
26130
+ // Interestingly, this only seems to occur when NOT in an iframe
26131
+ if ( !activeElement ) {
26132
+ activeElement = document.body;
26133
+ }
26134
+
26135
+ // Support: IE 11 only
26136
+ // IE11 returns a seemingly empty object in some cases when accessing
26137
+ // document.activeElement from an <iframe>
26138
+ if ( !activeElement.nodeName ) {
26139
+ activeElement = document.body;
26140
+ }
26141
+
26142
+ return activeElement;
26143
+ };
26144
+
26145
+ } ) );
26146
+
26147
+
26148
+ /***/ }),
26149
+
26150
+ /***/ 253:
26151
+ /***/ (function(module, exports, __webpack_require__) {
26152
+
26153
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {
26154
+ if ( true ) {
26155
+
26156
+ // AMD. Register as an anonymous module.
26157
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692), __webpack_require__(6883) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26158
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26159
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26160
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26161
+ } else {}
26162
+ } ( function( $ ) {
26163
+ return $.ui.safeBlur = function( element ) {
26164
+
26165
+ // Support: IE9 - 10 only
26166
+ // If the <body> is blurred, IE will switch windows, see #9420
26167
+ if ( element && element.nodeName.toLowerCase() !== "body" ) {
26168
+ $( element ).trigger( "blur" );
26169
+ }
26170
+ };
26171
+
26172
+ } ) );
26173
+
26174
+
26175
+ /***/ }),
26176
+
26177
+ /***/ 2299:
26178
+ /***/ (function(module, exports, __webpack_require__) {
26179
+
26180
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
26181
+ * jQuery UI Scroll Parent 1.12.1
26182
+ * http://jqueryui.com
26183
+ *
26184
+ * Copyright jQuery Foundation and other contributors
26185
+ * Released under the MIT license.
26186
+ * http://jquery.org/license
26187
+ */
26188
+
26189
+ //>>label: scrollParent
26190
+ //>>group: Core
26191
+ //>>description: Get the closest ancestor element that is scrollable.
26192
+ //>>docs: http://api.jqueryui.com/scrollParent/
26193
+
26194
+ ( function( factory ) {
26195
+ if ( true ) {
26196
+
26197
+ // AMD. Register as an anonymous module.
26198
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692), __webpack_require__(6883) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26199
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26200
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26201
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26202
+ } else {}
26203
+ } ( function( $ ) {
26204
+
26205
+ return $.fn.scrollParent = function( includeHidden ) {
26206
+ var position = this.css( "position" ),
26207
+ excludeStaticParent = position === "absolute",
26208
+ overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
26209
+ scrollParent = this.parents().filter( function() {
26210
+ var parent = $( this );
26211
+ if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
26212
+ return false;
26213
+ }
26214
+ return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) +
26215
+ parent.css( "overflow-x" ) );
26216
+ } ).eq( 0 );
26217
+
26218
+ return position === "fixed" || !scrollParent.length ?
26219
+ $( this[ 0 ].ownerDocument || document ) :
26220
+ scrollParent;
26221
+ };
26222
+
26223
+ } ) );
26224
+
26225
+
26226
+ /***/ }),
26227
+
26228
+ /***/ 6883:
26229
+ /***/ (function(module, exports, __webpack_require__) {
26230
+
26231
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {
26232
+ if ( true ) {
26233
+
26234
+ // AMD. Register as an anonymous module.
26235
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26236
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26237
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26238
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26239
+ } else {}
26240
+ } ( function( $ ) {
26241
+
26242
+ $.ui = $.ui || {};
26243
+
26244
+ return $.ui.version = "1.12.1";
26245
+
26246
+ } ) );
26247
+
26248
+
26249
+ /***/ }),
26250
+
26251
+ /***/ 9139:
26252
+ /***/ (function(module, exports, __webpack_require__) {
26253
+
26254
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
26255
+ * jQuery UI Widget 1.12.1
26256
+ * http://jqueryui.com
26257
+ *
26258
+ * Copyright jQuery Foundation and other contributors
26259
+ * Released under the MIT license.
26260
+ * http://jquery.org/license
26261
+ */
26262
+
26263
+ //>>label: Widget
26264
+ //>>group: Core
26265
+ //>>description: Provides a factory for creating stateful widgets with a common API.
26266
+ //>>docs: http://api.jqueryui.com/jQuery.widget/
26267
+ //>>demos: http://jqueryui.com/widget/
26268
+
26269
+ ( function( factory ) {
26270
+ if ( true ) {
26271
+
26272
+ // AMD. Register as an anonymous module.
26273
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(4692), __webpack_require__(6883) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26274
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26275
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26276
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
26277
+ } else {}
26278
+ }( function( $ ) {
26279
+
26280
+ var widgetUuid = 0;
26281
+ var widgetSlice = Array.prototype.slice;
26282
+
26283
+ $.cleanData = ( function( orig ) {
26284
+ return function( elems ) {
26285
+ var events, elem, i;
26286
+ for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {
26287
+ try {
26288
+
26289
+ // Only trigger remove when necessary to save time
26290
+ events = $._data( elem, "events" );
26291
+ if ( events && events.remove ) {
26292
+ $( elem ).triggerHandler( "remove" );
26293
+ }
26294
+
26295
+ // Http://bugs.jquery.com/ticket/8235
26296
+ } catch ( e ) {}
26297
+ }
26298
+ orig( elems );
26299
+ };
26300
+ } )( $.cleanData );
26301
+
26302
+ $.widget = function( name, base, prototype ) {
26303
+ var existingConstructor, constructor, basePrototype;
26304
+
26305
+ // ProxiedPrototype allows the provided prototype to remain unmodified
26306
+ // so that it can be used as a mixin for multiple widgets (#8876)
26307
+ var proxiedPrototype = {};
26308
+
26309
+ var namespace = name.split( "." )[ 0 ];
26310
+ name = name.split( "." )[ 1 ];
26311
+ var fullName = namespace + "-" + name;
26312
+
26313
+ if ( !prototype ) {
26314
+ prototype = base;
26315
+ base = $.Widget;
26316
+ }
26317
+
26318
+ if ( $.isArray( prototype ) ) {
26319
+ prototype = $.extend.apply( null, [ {} ].concat( prototype ) );
26320
+ }
26321
+
26322
+ // Create selector for plugin
26323
+ $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
26324
+ return !!$.data( elem, fullName );
26325
+ };
26326
+
26327
+ $[ namespace ] = $[ namespace ] || {};
26328
+ existingConstructor = $[ namespace ][ name ];
26329
+ constructor = $[ namespace ][ name ] = function( options, element ) {
26330
+
26331
+ // Allow instantiation without "new" keyword
26332
+ if ( !this._createWidget ) {
26333
+ return new constructor( options, element );
26334
+ }
26335
+
26336
+ // Allow instantiation without initializing for simple inheritance
26337
+ // must use "new" keyword (the code above always passes args)
26338
+ if ( arguments.length ) {
26339
+ this._createWidget( options, element );
26340
+ }
26341
+ };
26342
+
26343
+ // Extend with the existing constructor to carry over any static properties
26344
+ $.extend( constructor, existingConstructor, {
26345
+ version: prototype.version,
26346
+
26347
+ // Copy the object used to create the prototype in case we need to
26348
+ // redefine the widget later
26349
+ _proto: $.extend( {}, prototype ),
26350
+
26351
+ // Track widgets that inherit from this widget in case this widget is
26352
+ // redefined after a widget inherits from it
26353
+ _childConstructors: []
26354
+ } );
26355
+
26356
+ basePrototype = new base();
26357
+
26358
+ // We need to make the options hash a property directly on the new instance
26359
+ // otherwise we'll modify the options hash on the prototype that we're
26360
+ // inheriting from
26361
+ basePrototype.options = $.widget.extend( {}, basePrototype.options );
26362
+ $.each( prototype, function( prop, value ) {
26363
+ if ( !$.isFunction( value ) ) {
26364
+ proxiedPrototype[ prop ] = value;
26365
+ return;
26366
+ }
26367
+ proxiedPrototype[ prop ] = ( function() {
26368
+ function _super() {
26369
+ return base.prototype[ prop ].apply( this, arguments );
26370
+ }
26371
+
26372
+ function _superApply( args ) {
26373
+ return base.prototype[ prop ].apply( this, args );
26374
+ }
26375
+
26376
+ return function() {
26377
+ var __super = this._super;
26378
+ var __superApply = this._superApply;
26379
+ var returnValue;
26380
+
26381
+ this._super = _super;
26382
+ this._superApply = _superApply;
26383
+
26384
+ returnValue = value.apply( this, arguments );
26385
+
26386
+ this._super = __super;
26387
+ this._superApply = __superApply;
26388
+
26389
+ return returnValue;
26390
+ };
26391
+ } )();
26392
+ } );
26393
+ constructor.prototype = $.widget.extend( basePrototype, {
26394
+
26395
+ // TODO: remove support for widgetEventPrefix
26396
+ // always use the name + a colon as the prefix, e.g., draggable:start
26397
+ // don't prefix for widgets that aren't DOM-based
26398
+ widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name
26399
+ }, proxiedPrototype, {
26400
+ constructor: constructor,
26401
+ namespace: namespace,
26402
+ widgetName: name,
26403
+ widgetFullName: fullName
26404
+ } );
26405
+
26406
+ // If this widget is being redefined then we need to find all widgets that
26407
+ // are inheriting from it and redefine all of them so that they inherit from
26408
+ // the new version of this widget. We're essentially trying to replace one
26409
+ // level in the prototype chain.
26410
+ if ( existingConstructor ) {
26411
+ $.each( existingConstructor._childConstructors, function( i, child ) {
26412
+ var childPrototype = child.prototype;
26413
+
26414
+ // Redefine the child widget using the same prototype that was
26415
+ // originally used, but inherit from the new version of the base
26416
+ $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor,
26417
+ child._proto );
26418
+ } );
26419
+
26420
+ // Remove the list of existing child constructors from the old constructor
26421
+ // so the old child constructors can be garbage collected
26422
+ delete existingConstructor._childConstructors;
26423
+ } else {
26424
+ base._childConstructors.push( constructor );
26425
+ }
26426
+
26427
+ $.widget.bridge( name, constructor );
26428
+
26429
+ return constructor;
26430
+ };
26431
+
26432
+ $.widget.extend = function( target ) {
26433
+ var input = widgetSlice.call( arguments, 1 );
26434
+ var inputIndex = 0;
26435
+ var inputLength = input.length;
26436
+ var key;
26437
+ var value;
26438
+
26439
+ for ( ; inputIndex < inputLength; inputIndex++ ) {
26440
+ for ( key in input[ inputIndex ] ) {
26441
+ value = input[ inputIndex ][ key ];
26442
+ if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
26443
+
26444
+ // Clone objects
26445
+ if ( $.isPlainObject( value ) ) {
26446
+ target[ key ] = $.isPlainObject( target[ key ] ) ?
26447
+ $.widget.extend( {}, target[ key ], value ) :
26448
+
26449
+ // Don't extend strings, arrays, etc. with objects
26450
+ $.widget.extend( {}, value );
26451
+
26452
+ // Copy everything else by reference
26453
+ } else {
26454
+ target[ key ] = value;
26455
+ }
26456
+ }
26457
+ }
26458
+ }
26459
+ return target;
26460
+ };
26461
+
26462
+ $.widget.bridge = function( name, object ) {
26463
+ var fullName = object.prototype.widgetFullName || name;
26464
+ $.fn[ name ] = function( options ) {
26465
+ var isMethodCall = typeof options === "string";
26466
+ var args = widgetSlice.call( arguments, 1 );
26467
+ var returnValue = this;
26468
+
26469
+ if ( isMethodCall ) {
26470
+
26471
+ // If this is an empty collection, we need to have the instance method
26472
+ // return undefined instead of the jQuery instance
26473
+ if ( !this.length && options === "instance" ) {
26474
+ returnValue = undefined;
26475
+ } else {
26476
+ this.each( function() {
26477
+ var methodValue;
26478
+ var instance = $.data( this, fullName );
26479
+
26480
+ if ( options === "instance" ) {
26481
+ returnValue = instance;
26482
+ return false;
26483
+ }
26484
+
26485
+ if ( !instance ) {
26486
+ return $.error( "cannot call methods on " + name +
26487
+ " prior to initialization; " +
26488
+ "attempted to call method '" + options + "'" );
26489
+ }
26490
+
26491
+ if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) {
26492
+ return $.error( "no such method '" + options + "' for " + name +
26493
+ " widget instance" );
26494
+ }
26495
+
26496
+ methodValue = instance[ options ].apply( instance, args );
26497
+
26498
+ if ( methodValue !== instance && methodValue !== undefined ) {
26499
+ returnValue = methodValue && methodValue.jquery ?
26500
+ returnValue.pushStack( methodValue.get() ) :
26501
+ methodValue;
26502
+ return false;
26503
+ }
26504
+ } );
26505
+ }
26506
+ } else {
26507
+
26508
+ // Allow multiple hashes to be passed on init
26509
+ if ( args.length ) {
26510
+ options = $.widget.extend.apply( null, [ options ].concat( args ) );
26511
+ }
26512
+
26513
+ this.each( function() {
26514
+ var instance = $.data( this, fullName );
26515
+ if ( instance ) {
26516
+ instance.option( options || {} );
26517
+ if ( instance._init ) {
26518
+ instance._init();
26519
+ }
26520
+ } else {
26521
+ $.data( this, fullName, new object( options, this ) );
26522
+ }
26523
+ } );
26524
+ }
26525
+
26526
+ return returnValue;
26527
+ };
26528
+ };
26529
+
26530
+ $.Widget = function( /* options, element */ ) {};
26531
+ $.Widget._childConstructors = [];
26532
+
26533
+ $.Widget.prototype = {
26534
+ widgetName: "widget",
26535
+ widgetEventPrefix: "",
26536
+ defaultElement: "<div>",
26537
+
26538
+ options: {
26539
+ classes: {},
26540
+ disabled: false,
26541
+
26542
+ // Callbacks
26543
+ create: null
26544
+ },
26545
+
26546
+ _createWidget: function( options, element ) {
26547
+ element = $( element || this.defaultElement || this )[ 0 ];
26548
+ this.element = $( element );
26549
+ this.uuid = widgetUuid++;
26550
+ this.eventNamespace = "." + this.widgetName + this.uuid;
26551
+
26552
+ this.bindings = $();
26553
+ this.hoverable = $();
26554
+ this.focusable = $();
26555
+ this.classesElementLookup = {};
26556
+
26557
+ if ( element !== this ) {
26558
+ $.data( element, this.widgetFullName, this );
26559
+ this._on( true, this.element, {
26560
+ remove: function( event ) {
26561
+ if ( event.target === element ) {
26562
+ this.destroy();
26563
+ }
26564
+ }
26565
+ } );
26566
+ this.document = $( element.style ?
26567
+
26568
+ // Element within the document
26569
+ element.ownerDocument :
26570
+
26571
+ // Element is window or document
26572
+ element.document || element );
26573
+ this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );
26574
+ }
26575
+
26576
+ this.options = $.widget.extend( {},
26577
+ this.options,
26578
+ this._getCreateOptions(),
26579
+ options );
26580
+
26581
+ this._create();
26582
+
26583
+ if ( this.options.disabled ) {
26584
+ this._setOptionDisabled( this.options.disabled );
26585
+ }
26586
+
26587
+ this._trigger( "create", null, this._getCreateEventData() );
26588
+ this._init();
26589
+ },
26590
+
26591
+ _getCreateOptions: function() {
26592
+ return {};
26593
+ },
26594
+
26595
+ _getCreateEventData: $.noop,
26596
+
26597
+ _create: $.noop,
26598
+
26599
+ _init: $.noop,
26600
+
26601
+ destroy: function() {
26602
+ var that = this;
26603
+
26604
+ this._destroy();
26605
+ $.each( this.classesElementLookup, function( key, value ) {
26606
+ that._removeClass( value, key );
26607
+ } );
26608
+
26609
+ // We can probably remove the unbind calls in 2.0
26610
+ // all event bindings should go through this._on()
26611
+ this.element
26612
+ .off( this.eventNamespace )
26613
+ .removeData( this.widgetFullName );
26614
+ this.widget()
26615
+ .off( this.eventNamespace )
26616
+ .removeAttr( "aria-disabled" );
26617
+
26618
+ // Clean up events and states
26619
+ this.bindings.off( this.eventNamespace );
26620
+ },
26621
+
26622
+ _destroy: $.noop,
26623
+
26624
+ widget: function() {
26625
+ return this.element;
26626
+ },
26627
+
26628
+ option: function( key, value ) {
26629
+ var options = key;
26630
+ var parts;
26631
+ var curOption;
26632
+ var i;
26633
+
26634
+ if ( arguments.length === 0 ) {
26635
+
26636
+ // Don't return a reference to the internal hash
26637
+ return $.widget.extend( {}, this.options );
26638
+ }
26639
+
26640
+ if ( typeof key === "string" ) {
26641
+
26642
+ // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
26643
+ options = {};
26644
+ parts = key.split( "." );
26645
+ key = parts.shift();
26646
+ if ( parts.length ) {
26647
+ curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
26648
+ for ( i = 0; i < parts.length - 1; i++ ) {
26649
+ curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
26650
+ curOption = curOption[ parts[ i ] ];
26651
+ }
26652
+ key = parts.pop();
26653
+ if ( arguments.length === 1 ) {
26654
+ return curOption[ key ] === undefined ? null : curOption[ key ];
26655
+ }
26656
+ curOption[ key ] = value;
26657
+ } else {
26658
+ if ( arguments.length === 1 ) {
26659
+ return this.options[ key ] === undefined ? null : this.options[ key ];
26660
+ }
26661
+ options[ key ] = value;
26662
+ }
26663
+ }
26664
+
26665
+ this._setOptions( options );
26666
+
26667
+ return this;
26668
+ },
26669
+
26670
+ _setOptions: function( options ) {
26671
+ var key;
26672
+
26673
+ for ( key in options ) {
26674
+ this._setOption( key, options[ key ] );
26675
+ }
26676
+
26677
+ return this;
26678
+ },
26679
+
26680
+ _setOption: function( key, value ) {
26681
+ if ( key === "classes" ) {
26682
+ this._setOptionClasses( value );
26683
+ }
26684
+
26685
+ this.options[ key ] = value;
26686
+
26687
+ if ( key === "disabled" ) {
26688
+ this._setOptionDisabled( value );
26689
+ }
26690
+
26691
+ return this;
26692
+ },
26693
+
26694
+ _setOptionClasses: function( value ) {
26695
+ var classKey, elements, currentElements;
26696
+
26697
+ for ( classKey in value ) {
26698
+ currentElements = this.classesElementLookup[ classKey ];
26699
+ if ( value[ classKey ] === this.options.classes[ classKey ] ||
26700
+ !currentElements ||
26701
+ !currentElements.length ) {
26702
+ continue;
26703
+ }
26704
+
26705
+ // We are doing this to create a new jQuery object because the _removeClass() call
26706
+ // on the next line is going to destroy the reference to the current elements being
26707
+ // tracked. We need to save a copy of this collection so that we can add the new classes
26708
+ // below.
26709
+ elements = $( currentElements.get() );
26710
+ this._removeClass( currentElements, classKey );
26711
+
26712
+ // We don't use _addClass() here, because that uses this.options.classes
26713
+ // for generating the string of classes. We want to use the value passed in from
26714
+ // _setOption(), this is the new value of the classes option which was passed to
26715
+ // _setOption(). We pass this value directly to _classes().
26716
+ elements.addClass( this._classes( {
26717
+ element: elements,
26718
+ keys: classKey,
26719
+ classes: value,
26720
+ add: true
26721
+ } ) );
26722
+ }
26723
+ },
26724
+
26725
+ _setOptionDisabled: function( value ) {
26726
+ this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value );
26727
+
26728
+ // If the widget is becoming disabled, then nothing is interactive
26729
+ if ( value ) {
26730
+ this._removeClass( this.hoverable, null, "ui-state-hover" );
26731
+ this._removeClass( this.focusable, null, "ui-state-focus" );
26732
+ }
26733
+ },
26734
+
26735
+ enable: function() {
26736
+ return this._setOptions( { disabled: false } );
26737
+ },
26738
+
26739
+ disable: function() {
26740
+ return this._setOptions( { disabled: true } );
26741
+ },
26742
+
26743
+ _classes: function( options ) {
26744
+ var full = [];
26745
+ var that = this;
26746
+
26747
+ options = $.extend( {
26748
+ element: this.element,
26749
+ classes: this.options.classes || {}
26750
+ }, options );
26751
+
26752
+ function processClassString( classes, checkOption ) {
26753
+ var current, i;
26754
+ for ( i = 0; i < classes.length; i++ ) {
26755
+ current = that.classesElementLookup[ classes[ i ] ] || $();
26756
+ if ( options.add ) {
26757
+ current = $( $.unique( current.get().concat( options.element.get() ) ) );
26758
+ } else {
26759
+ current = $( current.not( options.element ).get() );
26760
+ }
26761
+ that.classesElementLookup[ classes[ i ] ] = current;
26762
+ full.push( classes[ i ] );
26763
+ if ( checkOption && options.classes[ classes[ i ] ] ) {
26764
+ full.push( options.classes[ classes[ i ] ] );
26765
+ }
26766
+ }
26767
+ }
26768
+
26769
+ this._on( options.element, {
26770
+ "remove": "_untrackClassesElement"
26771
+ } );
26772
+
26773
+ if ( options.keys ) {
26774
+ processClassString( options.keys.match( /\S+/g ) || [], true );
26775
+ }
26776
+ if ( options.extra ) {
26777
+ processClassString( options.extra.match( /\S+/g ) || [] );
26778
+ }
26779
+
26780
+ return full.join( " " );
26781
+ },
26782
+
26783
+ _untrackClassesElement: function( event ) {
26784
+ var that = this;
26785
+ $.each( that.classesElementLookup, function( key, value ) {
26786
+ if ( $.inArray( event.target, value ) !== -1 ) {
26787
+ that.classesElementLookup[ key ] = $( value.not( event.target ).get() );
26788
+ }
26789
+ } );
26790
+ },
26791
+
26792
+ _removeClass: function( element, keys, extra ) {
26793
+ return this._toggleClass( element, keys, extra, false );
26794
+ },
26795
+
26796
+ _addClass: function( element, keys, extra ) {
26797
+ return this._toggleClass( element, keys, extra, true );
26798
+ },
26799
+
26800
+ _toggleClass: function( element, keys, extra, add ) {
26801
+ add = ( typeof add === "boolean" ) ? add : extra;
26802
+ var shift = ( typeof element === "string" || element === null ),
26803
+ options = {
26804
+ extra: shift ? keys : extra,
26805
+ keys: shift ? element : keys,
26806
+ element: shift ? this.element : element,
26807
+ add: add
26808
+ };
26809
+ options.element.toggleClass( this._classes( options ), add );
26810
+ return this;
26811
+ },
26812
+
26813
+ _on: function( suppressDisabledCheck, element, handlers ) {
26814
+ var delegateElement;
26815
+ var instance = this;
26816
+
26817
+ // No suppressDisabledCheck flag, shuffle arguments
26818
+ if ( typeof suppressDisabledCheck !== "boolean" ) {
26819
+ handlers = element;
26820
+ element = suppressDisabledCheck;
26821
+ suppressDisabledCheck = false;
26822
+ }
26823
+
26824
+ // No element argument, shuffle and use this.element
26825
+ if ( !handlers ) {
26826
+ handlers = element;
26827
+ element = this.element;
26828
+ delegateElement = this.widget();
26829
+ } else {
26830
+ element = delegateElement = $( element );
26831
+ this.bindings = this.bindings.add( element );
26832
+ }
26833
+
26834
+ $.each( handlers, function( event, handler ) {
26835
+ function handlerProxy() {
26836
+
26837
+ // Allow widgets to customize the disabled handling
26838
+ // - disabled as an array instead of boolean
26839
+ // - disabled class as method for disabling individual parts
26840
+ if ( !suppressDisabledCheck &&
26841
+ ( instance.options.disabled === true ||
26842
+ $( this ).hasClass( "ui-state-disabled" ) ) ) {
26843
+ return;
26844
+ }
26845
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
26846
+ .apply( instance, arguments );
26847
+ }
26848
+
26849
+ // Copy the guid so direct unbinding works
26850
+ if ( typeof handler !== "string" ) {
26851
+ handlerProxy.guid = handler.guid =
26852
+ handler.guid || handlerProxy.guid || $.guid++;
26853
+ }
26854
+
26855
+ var match = event.match( /^([\w:-]*)\s*(.*)$/ );
26856
+ var eventName = match[ 1 ] + instance.eventNamespace;
26857
+ var selector = match[ 2 ];
26858
+
26859
+ if ( selector ) {
26860
+ delegateElement.on( eventName, selector, handlerProxy );
26861
+ } else {
26862
+ element.on( eventName, handlerProxy );
26863
+ }
26864
+ } );
26865
+ },
26866
+
26867
+ _off: function( element, eventName ) {
26868
+ eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) +
26869
+ this.eventNamespace;
26870
+ element.off( eventName ).off( eventName );
26871
+
26872
+ // Clear the stack to avoid memory leaks (#10056)
26873
+ this.bindings = $( this.bindings.not( element ).get() );
26874
+ this.focusable = $( this.focusable.not( element ).get() );
26875
+ this.hoverable = $( this.hoverable.not( element ).get() );
26876
+ },
26877
+
26878
+ _delay: function( handler, delay ) {
26879
+ function handlerProxy() {
26880
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
26881
+ .apply( instance, arguments );
26882
+ }
26883
+ var instance = this;
26884
+ return setTimeout( handlerProxy, delay || 0 );
26885
+ },
26886
+
26887
+ _hoverable: function( element ) {
26888
+ this.hoverable = this.hoverable.add( element );
26889
+ this._on( element, {
26890
+ mouseenter: function( event ) {
26891
+ this._addClass( $( event.currentTarget ), null, "ui-state-hover" );
26892
+ },
26893
+ mouseleave: function( event ) {
26894
+ this._removeClass( $( event.currentTarget ), null, "ui-state-hover" );
26895
+ }
26896
+ } );
26897
+ },
26898
+
26899
+ _focusable: function( element ) {
26900
+ this.focusable = this.focusable.add( element );
26901
+ this._on( element, {
26902
+ focusin: function( event ) {
26903
+ this._addClass( $( event.currentTarget ), null, "ui-state-focus" );
26904
+ },
26905
+ focusout: function( event ) {
26906
+ this._removeClass( $( event.currentTarget ), null, "ui-state-focus" );
26907
+ }
26908
+ } );
26909
+ },
26910
+
26911
+ _trigger: function( type, event, data ) {
26912
+ var prop, orig;
26913
+ var callback = this.options[ type ];
26914
+
26915
+ data = data || {};
26916
+ event = $.Event( event );
26917
+ event.type = ( type === this.widgetEventPrefix ?
26918
+ type :
26919
+ this.widgetEventPrefix + type ).toLowerCase();
26920
+
26921
+ // The original event may come from any element
26922
+ // so we need to reset the target on the new event
26923
+ event.target = this.element[ 0 ];
26924
+
26925
+ // Copy original event properties over to the new event
26926
+ orig = event.originalEvent;
26927
+ if ( orig ) {
26928
+ for ( prop in orig ) {
26929
+ if ( !( prop in event ) ) {
26930
+ event[ prop ] = orig[ prop ];
26931
+ }
26932
+ }
26933
+ }
26934
+
26935
+ this.element.trigger( event, data );
26936
+ return !( $.isFunction( callback ) &&
26937
+ callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||
26938
+ event.isDefaultPrevented() );
26939
+ }
26940
+ };
26941
+
26942
+ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
26943
+ $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
26944
+ if ( typeof options === "string" ) {
26945
+ options = { effect: options };
26946
+ }
26947
+
26948
+ var hasOptions;
26949
+ var effectName = !options ?
26950
+ method :
26951
+ options === true || typeof options === "number" ?
26952
+ defaultEffect :
26953
+ options.effect || defaultEffect;
26954
+
26955
+ options = options || {};
26956
+ if ( typeof options === "number" ) {
26957
+ options = { duration: options };
26958
+ }
26959
+
26960
+ hasOptions = !$.isEmptyObject( options );
26961
+ options.complete = callback;
26962
+
26963
+ if ( options.delay ) {
26964
+ element.delay( options.delay );
26965
+ }
26966
+
26967
+ if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
26968
+ element[ method ]( options );
26969
+ } else if ( effectName !== method && element[ effectName ] ) {
26970
+ element[ effectName ]( options.duration, options.easing, callback );
26971
+ } else {
26972
+ element.queue( function( next ) {
26973
+ $( this )[ method ]();
26974
+ if ( callback ) {
26975
+ callback.call( element[ 0 ] );
26976
+ }
26977
+ next();
26978
+ } );
26979
+ }
26980
+ };
26981
+ } );
26982
+
26983
+ return $.widget;
26984
+
26985
+ } ) );
26986
+
26987
+
26988
+ /***/ }),
26989
+
26990
+ /***/ 1758:
26991
+ /***/ (function(module, exports, __webpack_require__) {
26992
+
26993
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
26994
+ * jQuery UI Draggable 1.12.1
26995
+ * http://jqueryui.com
26996
+ *
26997
+ * Copyright jQuery Foundation and other contributors
26998
+ * Released under the MIT license.
26999
+ * http://jquery.org/license
27000
+ */
27001
+
27002
+ //>>label: Draggable
27003
+ //>>group: Interactions
27004
+ //>>description: Enables dragging functionality for any element.
27005
+ //>>docs: http://api.jqueryui.com/draggable/
27006
+ //>>demos: http://jqueryui.com/draggable/
27007
+ //>>css.structure: ../../themes/base/draggable.css
27008
+
27009
+ ( function( factory ) {
27010
+ if ( true ) {
27011
+
27012
+ // AMD. Register as an anonymous module.
27013
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [
27014
+ __webpack_require__(4692),
27015
+ __webpack_require__(3662),
27016
+ __webpack_require__(9983),
27017
+ __webpack_require__(2336),
27018
+ __webpack_require__(3300),
27019
+ __webpack_require__(253),
27020
+ __webpack_require__(2299),
27021
+ __webpack_require__(6883),
27022
+ __webpack_require__(9139)
27023
+ ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27024
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27025
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27026
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
27027
+ } else {}
27028
+ }( function( $ ) {
27029
+
27030
+ $.widget( "ui.draggable", $.ui.mouse, {
27031
+ version: "1.12.1",
27032
+ widgetEventPrefix: "drag",
27033
+ options: {
27034
+ addClasses: true,
27035
+ appendTo: "parent",
27036
+ axis: false,
27037
+ connectToSortable: false,
27038
+ containment: false,
27039
+ cursor: "auto",
27040
+ cursorAt: false,
27041
+ grid: false,
27042
+ handle: false,
27043
+ helper: "original",
27044
+ iframeFix: false,
27045
+ opacity: false,
27046
+ refreshPositions: false,
27047
+ revert: false,
27048
+ revertDuration: 500,
27049
+ scope: "default",
27050
+ scroll: true,
27051
+ scrollSensitivity: 20,
27052
+ scrollSpeed: 20,
27053
+ snap: false,
27054
+ snapMode: "both",
27055
+ snapTolerance: 20,
27056
+ stack: false,
27057
+ zIndex: false,
27058
+
27059
+ // Callbacks
27060
+ drag: null,
27061
+ start: null,
27062
+ stop: null
27063
+ },
27064
+ _create: function() {
27065
+
27066
+ if ( this.options.helper === "original" ) {
27067
+ this._setPositionRelative();
27068
+ }
27069
+ if ( this.options.addClasses ) {
27070
+ this._addClass( "ui-draggable" );
27071
+ }
27072
+ this._setHandleClassName();
27073
+
27074
+ this._mouseInit();
27075
+ },
27076
+
27077
+ _setOption: function( key, value ) {
27078
+ this._super( key, value );
27079
+ if ( key === "handle" ) {
27080
+ this._removeHandleClassName();
27081
+ this._setHandleClassName();
27082
+ }
27083
+ },
27084
+
27085
+ _destroy: function() {
27086
+ if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) {
27087
+ this.destroyOnClear = true;
27088
+ return;
27089
+ }
27090
+ this._removeHandleClassName();
27091
+ this._mouseDestroy();
27092
+ },
27093
+
27094
+ _mouseCapture: function( event ) {
27095
+ var o = this.options;
27096
+
27097
+ // Among others, prevent a drag on a resizable-handle
27098
+ if ( this.helper || o.disabled ||
27099
+ $( event.target ).closest( ".ui-resizable-handle" ).length > 0 ) {
27100
+ return false;
27101
+ }
27102
+
27103
+ //Quit if we're not on a valid handle
27104
+ this.handle = this._getHandle( event );
27105
+ if ( !this.handle ) {
27106
+ return false;
27107
+ }
27108
+
27109
+ this._blurActiveElement( event );
27110
+
27111
+ this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix );
27112
+
27113
+ return true;
27114
+
27115
+ },
27116
+
27117
+ _blockFrames: function( selector ) {
27118
+ this.iframeBlocks = this.document.find( selector ).map( function() {
27119
+ var iframe = $( this );
27120
+
27121
+ return $( "<div>" )
27122
+ .css( "position", "absolute" )
27123
+ .appendTo( iframe.parent() )
27124
+ .outerWidth( iframe.outerWidth() )
27125
+ .outerHeight( iframe.outerHeight() )
27126
+ .offset( iframe.offset() )[ 0 ];
27127
+ } );
27128
+ },
27129
+
27130
+ _unblockFrames: function() {
27131
+ if ( this.iframeBlocks ) {
27132
+ this.iframeBlocks.remove();
27133
+ delete this.iframeBlocks;
27134
+ }
27135
+ },
27136
+
27137
+ _blurActiveElement: function( event ) {
27138
+ var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ),
27139
+ target = $( event.target );
27140
+
27141
+ // Don't blur if the event occurred on an element that is within
27142
+ // the currently focused element
27143
+ // See #10527, #12472
27144
+ if ( target.closest( activeElement ).length ) {
27145
+ return;
27146
+ }
27147
+
27148
+ // Blur any element that currently has focus, see #4261
27149
+ $.ui.safeBlur( activeElement );
27150
+ },
27151
+
27152
+ _mouseStart: function( event ) {
27153
+
27154
+ var o = this.options;
27155
+
27156
+ //Create and append the visible helper
27157
+ this.helper = this._createHelper( event );
27158
+
27159
+ this._addClass( this.helper, "ui-draggable-dragging" );
27160
+
27161
+ //Cache the helper size
27162
+ this._cacheHelperProportions();
27163
+
27164
+ //If ddmanager is used for droppables, set the global draggable
27165
+ if ( $.ui.ddmanager ) {
27166
+ $.ui.ddmanager.current = this;
27167
+ }
27168
+
27169
+ /*
27170
+ * - Position generation -
27171
+ * This block generates everything position related - it's the core of draggables.
27172
+ */
27173
+
27174
+ //Cache the margins of the original element
27175
+ this._cacheMargins();
27176
+
27177
+ //Store the helper's css position
27178
+ this.cssPosition = this.helper.css( "position" );
27179
+ this.scrollParent = this.helper.scrollParent( true );
27180
+ this.offsetParent = this.helper.offsetParent();
27181
+ this.hasFixedAncestor = this.helper.parents().filter( function() {
27182
+ return $( this ).css( "position" ) === "fixed";
27183
+ } ).length > 0;
27184
+
27185
+ //The element's absolute position on the page minus margins
27186
+ this.positionAbs = this.element.offset();
27187
+ this._refreshOffsets( event );
27188
+
27189
+ //Generate the original position
27190
+ this.originalPosition = this.position = this._generatePosition( event, false );
27191
+ this.originalPageX = event.pageX;
27192
+ this.originalPageY = event.pageY;
27193
+
27194
+ //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
27195
+ ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) );
27196
+
27197
+ //Set a containment if given in the options
27198
+ this._setContainment();
27199
+
27200
+ //Trigger event + callbacks
27201
+ if ( this._trigger( "start", event ) === false ) {
27202
+ this._clear();
27203
+ return false;
27204
+ }
27205
+
27206
+ //Recache the helper size
27207
+ this._cacheHelperProportions();
27208
+
27209
+ //Prepare the droppable offsets
27210
+ if ( $.ui.ddmanager && !o.dropBehaviour ) {
27211
+ $.ui.ddmanager.prepareOffsets( this, event );
27212
+ }
27213
+
27214
+ // Execute the drag once - this causes the helper not to be visible before getting its
27215
+ // correct position
27216
+ this._mouseDrag( event, true );
27217
+
27218
+ // If the ddmanager is used for droppables, inform the manager that dragging has started
27219
+ // (see #5003)
27220
+ if ( $.ui.ddmanager ) {
27221
+ $.ui.ddmanager.dragStart( this, event );
27222
+ }
27223
+
27224
+ return true;
27225
+ },
27226
+
27227
+ _refreshOffsets: function( event ) {
27228
+ this.offset = {
27229
+ top: this.positionAbs.top - this.margins.top,
27230
+ left: this.positionAbs.left - this.margins.left,
27231
+ scroll: false,
27232
+ parent: this._getParentOffset(),
27233
+ relative: this._getRelativeOffset()
27234
+ };
27235
+
27236
+ this.offset.click = {
27237
+ left: event.pageX - this.offset.left,
27238
+ top: event.pageY - this.offset.top
27239
+ };
27240
+ },
27241
+
27242
+ _mouseDrag: function( event, noPropagation ) {
27243
+
27244
+ // reset any necessary cached properties (see #5009)
27245
+ if ( this.hasFixedAncestor ) {
27246
+ this.offset.parent = this._getParentOffset();
27247
+ }
27248
+
27249
+ //Compute the helpers position
27250
+ this.position = this._generatePosition( event, true );
27251
+ this.positionAbs = this._convertPositionTo( "absolute" );
27252
+
27253
+ //Call plugins and callbacks and use the resulting position if something is returned
27254
+ if ( !noPropagation ) {
27255
+ var ui = this._uiHash();
27256
+ if ( this._trigger( "drag", event, ui ) === false ) {
27257
+ this._mouseUp( new $.Event( "mouseup", event ) );
27258
+ return false;
27259
+ }
27260
+ this.position = ui.position;
27261
+ }
27262
+
27263
+ this.helper[ 0 ].style.left = this.position.left + "px";
27264
+ this.helper[ 0 ].style.top = this.position.top + "px";
27265
+
27266
+ if ( $.ui.ddmanager ) {
27267
+ $.ui.ddmanager.drag( this, event );
27268
+ }
27269
+
27270
+ return false;
27271
+ },
27272
+
27273
+ _mouseStop: function( event ) {
27274
+
27275
+ //If we are using droppables, inform the manager about the drop
27276
+ var that = this,
27277
+ dropped = false;
27278
+ if ( $.ui.ddmanager && !this.options.dropBehaviour ) {
27279
+ dropped = $.ui.ddmanager.drop( this, event );
27280
+ }
27281
+
27282
+ //if a drop comes from outside (a sortable)
27283
+ if ( this.dropped ) {
27284
+ dropped = this.dropped;
27285
+ this.dropped = false;
27286
+ }
27287
+
27288
+ if ( ( this.options.revert === "invalid" && !dropped ) ||
27289
+ ( this.options.revert === "valid" && dropped ) ||
27290
+ this.options.revert === true || ( $.isFunction( this.options.revert ) &&
27291
+ this.options.revert.call( this.element, dropped ) )
27292
+ ) {
27293
+ $( this.helper ).animate(
27294
+ this.originalPosition,
27295
+ parseInt( this.options.revertDuration, 10 ),
27296
+ function() {
27297
+ if ( that._trigger( "stop", event ) !== false ) {
27298
+ that._clear();
27299
+ }
27300
+ }
27301
+ );
27302
+ } else {
27303
+ if ( this._trigger( "stop", event ) !== false ) {
27304
+ this._clear();
27305
+ }
27306
+ }
27307
+
27308
+ return false;
27309
+ },
27310
+
27311
+ _mouseUp: function( event ) {
27312
+ this._unblockFrames();
27313
+
27314
+ // If the ddmanager is used for droppables, inform the manager that dragging has stopped
27315
+ // (see #5003)
27316
+ if ( $.ui.ddmanager ) {
27317
+ $.ui.ddmanager.dragStop( this, event );
27318
+ }
27319
+
27320
+ // Only need to focus if the event occurred on the draggable itself, see #10527
27321
+ if ( this.handleElement.is( event.target ) ) {
27322
+
27323
+ // The interaction is over; whether or not the click resulted in a drag,
27324
+ // focus the element
27325
+ this.element.trigger( "focus" );
27326
+ }
27327
+
27328
+ return $.ui.mouse.prototype._mouseUp.call( this, event );
27329
+ },
27330
+
27331
+ cancel: function() {
27332
+
27333
+ if ( this.helper.is( ".ui-draggable-dragging" ) ) {
27334
+ this._mouseUp( new $.Event( "mouseup", { target: this.element[ 0 ] } ) );
27335
+ } else {
27336
+ this._clear();
27337
+ }
27338
+
27339
+ return this;
27340
+
27341
+ },
27342
+
27343
+ _getHandle: function( event ) {
27344
+ return this.options.handle ?
27345
+ !!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
27346
+ true;
27347
+ },
27348
+
27349
+ _setHandleClassName: function() {
27350
+ this.handleElement = this.options.handle ?
27351
+ this.element.find( this.options.handle ) : this.element;
27352
+ this._addClass( this.handleElement, "ui-draggable-handle" );
27353
+ },
27354
+
27355
+ _removeHandleClassName: function() {
27356
+ this._removeClass( this.handleElement, "ui-draggable-handle" );
27357
+ },
27358
+
27359
+ _createHelper: function( event ) {
27360
+
27361
+ var o = this.options,
27362
+ helperIsFunction = $.isFunction( o.helper ),
27363
+ helper = helperIsFunction ?
27364
+ $( o.helper.apply( this.element[ 0 ], [ event ] ) ) :
27365
+ ( o.helper === "clone" ?
27366
+ this.element.clone().removeAttr( "id" ) :
27367
+ this.element );
27368
+
27369
+ if ( !helper.parents( "body" ).length ) {
27370
+ helper.appendTo( ( o.appendTo === "parent" ?
27371
+ this.element[ 0 ].parentNode :
27372
+ o.appendTo ) );
27373
+ }
27374
+
27375
+ // Http://bugs.jqueryui.com/ticket/9446
27376
+ // a helper function can return the original element
27377
+ // which wouldn't have been set to relative in _create
27378
+ if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {
27379
+ this._setPositionRelative();
27380
+ }
27381
+
27382
+ if ( helper[ 0 ] !== this.element[ 0 ] &&
27383
+ !( /(fixed|absolute)/ ).test( helper.css( "position" ) ) ) {
27384
+ helper.css( "position", "absolute" );
27385
+ }
27386
+
27387
+ return helper;
27388
+
27389
+ },
27390
+
27391
+ _setPositionRelative: function() {
27392
+ if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) {
27393
+ this.element[ 0 ].style.position = "relative";
27394
+ }
27395
+ },
27396
+
27397
+ _adjustOffsetFromHelper: function( obj ) {
27398
+ if ( typeof obj === "string" ) {
27399
+ obj = obj.split( " " );
27400
+ }
27401
+ if ( $.isArray( obj ) ) {
27402
+ obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };
27403
+ }
27404
+ if ( "left" in obj ) {
27405
+ this.offset.click.left = obj.left + this.margins.left;
27406
+ }
27407
+ if ( "right" in obj ) {
27408
+ this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
27409
+ }
27410
+ if ( "top" in obj ) {
27411
+ this.offset.click.top = obj.top + this.margins.top;
27412
+ }
27413
+ if ( "bottom" in obj ) {
27414
+ this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
27415
+ }
27416
+ },
27417
+
27418
+ _isRootNode: function( element ) {
27419
+ return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];
27420
+ },
27421
+
27422
+ _getParentOffset: function() {
27423
+
27424
+ //Get the offsetParent and cache its position
27425
+ var po = this.offsetParent.offset(),
27426
+ document = this.document[ 0 ];
27427
+
27428
+ // This is a special case where we need to modify a offset calculated on start, since the
27429
+ // following happened:
27430
+ // 1. The position of the helper is absolute, so it's position is calculated based on the
27431
+ // next positioned parent
27432
+ // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't
27433
+ // the document, which means that the scroll is included in the initial calculation of the
27434
+ // offset of the parent, and never recalculated upon drag
27435
+ if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== document &&
27436
+ $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) {
27437
+ po.left += this.scrollParent.scrollLeft();
27438
+ po.top += this.scrollParent.scrollTop();
27439
+ }
27440
+
27441
+ if ( this._isRootNode( this.offsetParent[ 0 ] ) ) {
27442
+ po = { top: 0, left: 0 };
27443
+ }
27444
+
27445
+ return {
27446
+ top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ),
27447
+ left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 )
27448
+ };
27449
+
27450
+ },
27451
+
27452
+ _getRelativeOffset: function() {
27453
+ if ( this.cssPosition !== "relative" ) {
27454
+ return { top: 0, left: 0 };
27455
+ }
27456
+
27457
+ var p = this.element.position(),
27458
+ scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
27459
+
27460
+ return {
27461
+ top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) +
27462
+ ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),
27463
+ left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) +
27464
+ ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 )
27465
+ };
27466
+
27467
+ },
27468
+
27469
+ _cacheMargins: function() {
27470
+ this.margins = {
27471
+ left: ( parseInt( this.element.css( "marginLeft" ), 10 ) || 0 ),
27472
+ top: ( parseInt( this.element.css( "marginTop" ), 10 ) || 0 ),
27473
+ right: ( parseInt( this.element.css( "marginRight" ), 10 ) || 0 ),
27474
+ bottom: ( parseInt( this.element.css( "marginBottom" ), 10 ) || 0 )
27475
+ };
27476
+ },
27477
+
27478
+ _cacheHelperProportions: function() {
27479
+ this.helperProportions = {
27480
+ width: this.helper.outerWidth(),
27481
+ height: this.helper.outerHeight()
27482
+ };
27483
+ },
27484
+
27485
+ _setContainment: function() {
27486
+
27487
+ var isUserScrollable, c, ce,
27488
+ o = this.options,
27489
+ document = this.document[ 0 ];
27490
+
27491
+ this.relativeContainer = null;
27492
+
27493
+ if ( !o.containment ) {
27494
+ this.containment = null;
27495
+ return;
27496
+ }
27497
+
27498
+ if ( o.containment === "window" ) {
27499
+ this.containment = [
27500
+ $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
27501
+ $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
27502
+ $( window ).scrollLeft() + $( window ).width() -
27503
+ this.helperProportions.width - this.margins.left,
27504
+ $( window ).scrollTop() +
27505
+ ( $( window ).height() || document.body.parentNode.scrollHeight ) -
27506
+ this.helperProportions.height - this.margins.top
27507
+ ];
27508
+ return;
27509
+ }
27510
+
27511
+ if ( o.containment === "document" ) {
27512
+ this.containment = [
27513
+ 0,
27514
+ 0,
27515
+ $( document ).width() - this.helperProportions.width - this.margins.left,
27516
+ ( $( document ).height() || document.body.parentNode.scrollHeight ) -
27517
+ this.helperProportions.height - this.margins.top
27518
+ ];
27519
+ return;
27520
+ }
27521
+
27522
+ if ( o.containment.constructor === Array ) {
27523
+ this.containment = o.containment;
27524
+ return;
27525
+ }
27526
+
27527
+ if ( o.containment === "parent" ) {
27528
+ o.containment = this.helper[ 0 ].parentNode;
27529
+ }
27530
+
27531
+ c = $( o.containment );
27532
+ ce = c[ 0 ];
27533
+
27534
+ if ( !ce ) {
27535
+ return;
27536
+ }
27537
+
27538
+ isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) );
27539
+
27540
+ this.containment = [
27541
+ ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) +
27542
+ ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
27543
+ ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) +
27544
+ ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ),
27545
+ ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -
27546
+ ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) -
27547
+ ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) -
27548
+ this.helperProportions.width -
27549
+ this.margins.left -
27550
+ this.margins.right,
27551
+ ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -
27552
+ ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) -
27553
+ ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) -
27554
+ this.helperProportions.height -
27555
+ this.margins.top -
27556
+ this.margins.bottom
27557
+ ];
27558
+ this.relativeContainer = c;
27559
+ },
27560
+
27561
+ _convertPositionTo: function( d, pos ) {
27562
+
27563
+ if ( !pos ) {
27564
+ pos = this.position;
27565
+ }
27566
+
27567
+ var mod = d === "absolute" ? 1 : -1,
27568
+ scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
27569
+
27570
+ return {
27571
+ top: (
27572
+
27573
+ // The absolute mouse position
27574
+ pos.top +
27575
+
27576
+ // Only for relative positioned nodes: Relative offset from element to offset parent
27577
+ this.offset.relative.top * mod +
27578
+
27579
+ // The offsetParent's offset without borders (offset + border)
27580
+ this.offset.parent.top * mod -
27581
+ ( ( this.cssPosition === "fixed" ?
27582
+ -this.offset.scroll.top :
27583
+ ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod )
27584
+ ),
27585
+ left: (
27586
+
27587
+ // The absolute mouse position
27588
+ pos.left +
27589
+
27590
+ // Only for relative positioned nodes: Relative offset from element to offset parent
27591
+ this.offset.relative.left * mod +
27592
+
27593
+ // The offsetParent's offset without borders (offset + border)
27594
+ this.offset.parent.left * mod -
27595
+ ( ( this.cssPosition === "fixed" ?
27596
+ -this.offset.scroll.left :
27597
+ ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod )
27598
+ )
27599
+ };
27600
+
27601
+ },
27602
+
27603
+ _generatePosition: function( event, constrainPosition ) {
27604
+
27605
+ var containment, co, top, left,
27606
+ o = this.options,
27607
+ scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),
27608
+ pageX = event.pageX,
27609
+ pageY = event.pageY;
27610
+
27611
+ // Cache the scroll
27612
+ if ( !scrollIsRootNode || !this.offset.scroll ) {
27613
+ this.offset.scroll = {
27614
+ top: this.scrollParent.scrollTop(),
27615
+ left: this.scrollParent.scrollLeft()
27616
+ };
27617
+ }
27618
+
27619
+ /*
27620
+ * - Position constraining -
27621
+ * Constrain the position to a mix of grid, containment.
27622
+ */
27623
+
27624
+ // If we are not dragging yet, we won't check for options
27625
+ if ( constrainPosition ) {
27626
+ if ( this.containment ) {
27627
+ if ( this.relativeContainer ) {
27628
+ co = this.relativeContainer.offset();
27629
+ containment = [
27630
+ this.containment[ 0 ] + co.left,
27631
+ this.containment[ 1 ] + co.top,
27632
+ this.containment[ 2 ] + co.left,
27633
+ this.containment[ 3 ] + co.top
27634
+ ];
27635
+ } else {
27636
+ containment = this.containment;
27637
+ }
27638
+
27639
+ if ( event.pageX - this.offset.click.left < containment[ 0 ] ) {
27640
+ pageX = containment[ 0 ] + this.offset.click.left;
27641
+ }
27642
+ if ( event.pageY - this.offset.click.top < containment[ 1 ] ) {
27643
+ pageY = containment[ 1 ] + this.offset.click.top;
27644
+ }
27645
+ if ( event.pageX - this.offset.click.left > containment[ 2 ] ) {
27646
+ pageX = containment[ 2 ] + this.offset.click.left;
27647
+ }
27648
+ if ( event.pageY - this.offset.click.top > containment[ 3 ] ) {
27649
+ pageY = containment[ 3 ] + this.offset.click.top;
27650
+ }
27651
+ }
27652
+
27653
+ if ( o.grid ) {
27654
+
27655
+ //Check for grid elements set to 0 to prevent divide by 0 error causing invalid
27656
+ // argument errors in IE (see ticket #6950)
27657
+ top = o.grid[ 1 ] ? this.originalPageY + Math.round( ( pageY -
27658
+ this.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ] : this.originalPageY;
27659
+ pageY = containment ? ( ( top - this.offset.click.top >= containment[ 1 ] ||
27660
+ top - this.offset.click.top > containment[ 3 ] ) ?
27661
+ top :
27662
+ ( ( top - this.offset.click.top >= containment[ 1 ] ) ?
27663
+ top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top;
27664
+
27665
+ left = o.grid[ 0 ] ? this.originalPageX +
27666
+ Math.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ] :
27667
+ this.originalPageX;
27668
+ pageX = containment ? ( ( left - this.offset.click.left >= containment[ 0 ] ||
27669
+ left - this.offset.click.left > containment[ 2 ] ) ?
27670
+ left :
27671
+ ( ( left - this.offset.click.left >= containment[ 0 ] ) ?
27672
+ left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left;
27673
+ }
27674
+
27675
+ if ( o.axis === "y" ) {
27676
+ pageX = this.originalPageX;
27677
+ }
27678
+
27679
+ if ( o.axis === "x" ) {
27680
+ pageY = this.originalPageY;
27681
+ }
27682
+ }
27683
+
27684
+ return {
27685
+ top: (
27686
+
27687
+ // The absolute mouse position
27688
+ pageY -
27689
+
27690
+ // Click offset (relative to the element)
27691
+ this.offset.click.top -
27692
+
27693
+ // Only for relative positioned nodes: Relative offset from element to offset parent
27694
+ this.offset.relative.top -
27695
+
27696
+ // The offsetParent's offset without borders (offset + border)
27697
+ this.offset.parent.top +
27698
+ ( this.cssPosition === "fixed" ?
27699
+ -this.offset.scroll.top :
27700
+ ( scrollIsRootNode ? 0 : this.offset.scroll.top ) )
27701
+ ),
27702
+ left: (
27703
+
27704
+ // The absolute mouse position
27705
+ pageX -
27706
+
27707
+ // Click offset (relative to the element)
27708
+ this.offset.click.left -
27709
+
27710
+ // Only for relative positioned nodes: Relative offset from element to offset parent
27711
+ this.offset.relative.left -
27712
+
27713
+ // The offsetParent's offset without borders (offset + border)
27714
+ this.offset.parent.left +
27715
+ ( this.cssPosition === "fixed" ?
27716
+ -this.offset.scroll.left :
27717
+ ( scrollIsRootNode ? 0 : this.offset.scroll.left ) )
27718
+ )
27719
+ };
27720
+
27721
+ },
27722
+
27723
+ _clear: function() {
27724
+ this._removeClass( this.helper, "ui-draggable-dragging" );
27725
+ if ( this.helper[ 0 ] !== this.element[ 0 ] && !this.cancelHelperRemoval ) {
27726
+ this.helper.remove();
27727
+ }
27728
+ this.helper = null;
27729
+ this.cancelHelperRemoval = false;
27730
+ if ( this.destroyOnClear ) {
27731
+ this.destroy();
27732
+ }
27733
+ },
27734
+
27735
+ // From now on bulk stuff - mainly helpers
27736
+
27737
+ _trigger: function( type, event, ui ) {
27738
+ ui = ui || this._uiHash();
27739
+ $.ui.plugin.call( this, type, [ event, ui, this ], true );
27740
+
27741
+ // Absolute position and offset (see #6884 ) have to be recalculated after plugins
27742
+ if ( /^(drag|start|stop)/.test( type ) ) {
27743
+ this.positionAbs = this._convertPositionTo( "absolute" );
27744
+ ui.offset = this.positionAbs;
27745
+ }
27746
+ return $.Widget.prototype._trigger.call( this, type, event, ui );
27747
+ },
27748
+
27749
+ plugins: {},
27750
+
27751
+ _uiHash: function() {
27752
+ return {
27753
+ helper: this.helper,
27754
+ position: this.position,
27755
+ originalPosition: this.originalPosition,
27756
+ offset: this.positionAbs
27757
+ };
27758
+ }
27759
+
27760
+ } );
27761
+
27762
+ $.ui.plugin.add( "draggable", "connectToSortable", {
27763
+ start: function( event, ui, draggable ) {
27764
+ var uiSortable = $.extend( {}, ui, {
27765
+ item: draggable.element
27766
+ } );
27767
+
27768
+ draggable.sortables = [];
27769
+ $( draggable.options.connectToSortable ).each( function() {
27770
+ var sortable = $( this ).sortable( "instance" );
27771
+
27772
+ if ( sortable && !sortable.options.disabled ) {
27773
+ draggable.sortables.push( sortable );
27774
+
27775
+ // RefreshPositions is called at drag start to refresh the containerCache
27776
+ // which is used in drag. This ensures it's initialized and synchronized
27777
+ // with any changes that might have happened on the page since initialization.
27778
+ sortable.refreshPositions();
27779
+ sortable._trigger( "activate", event, uiSortable );
27780
+ }
27781
+ } );
27782
+ },
27783
+ stop: function( event, ui, draggable ) {
27784
+ var uiSortable = $.extend( {}, ui, {
27785
+ item: draggable.element
27786
+ } );
27787
+
27788
+ draggable.cancelHelperRemoval = false;
27789
+
27790
+ $.each( draggable.sortables, function() {
27791
+ var sortable = this;
27792
+
27793
+ if ( sortable.isOver ) {
27794
+ sortable.isOver = 0;
27795
+
27796
+ // Allow this sortable to handle removing the helper
27797
+ draggable.cancelHelperRemoval = true;
27798
+ sortable.cancelHelperRemoval = false;
27799
+
27800
+ // Use _storedCSS To restore properties in the sortable,
27801
+ // as this also handles revert (#9675) since the draggable
27802
+ // may have modified them in unexpected ways (#8809)
27803
+ sortable._storedCSS = {
27804
+ position: sortable.placeholder.css( "position" ),
27805
+ top: sortable.placeholder.css( "top" ),
27806
+ left: sortable.placeholder.css( "left" )
27807
+ };
27808
+
27809
+ sortable._mouseStop( event );
27810
+
27811
+ // Once drag has ended, the sortable should return to using
27812
+ // its original helper, not the shared helper from draggable
27813
+ sortable.options.helper = sortable.options._helper;
27814
+ } else {
27815
+
27816
+ // Prevent this Sortable from removing the helper.
27817
+ // However, don't set the draggable to remove the helper
27818
+ // either as another connected Sortable may yet handle the removal.
27819
+ sortable.cancelHelperRemoval = true;
27820
+
27821
+ sortable._trigger( "deactivate", event, uiSortable );
27822
+ }
27823
+ } );
27824
+ },
27825
+ drag: function( event, ui, draggable ) {
27826
+ $.each( draggable.sortables, function() {
27827
+ var innermostIntersecting = false,
27828
+ sortable = this;
27829
+
27830
+ // Copy over variables that sortable's _intersectsWith uses
27831
+ sortable.positionAbs = draggable.positionAbs;
27832
+ sortable.helperProportions = draggable.helperProportions;
27833
+ sortable.offset.click = draggable.offset.click;
27834
+
27835
+ if ( sortable._intersectsWith( sortable.containerCache ) ) {
27836
+ innermostIntersecting = true;
27837
+
27838
+ $.each( draggable.sortables, function() {
27839
+
27840
+ // Copy over variables that sortable's _intersectsWith uses
27841
+ this.positionAbs = draggable.positionAbs;
27842
+ this.helperProportions = draggable.helperProportions;
27843
+ this.offset.click = draggable.offset.click;
27844
+
27845
+ if ( this !== sortable &&
27846
+ this._intersectsWith( this.containerCache ) &&
27847
+ $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {
27848
+ innermostIntersecting = false;
27849
+ }
27850
+
27851
+ return innermostIntersecting;
27852
+ } );
27853
+ }
27854
+
27855
+ if ( innermostIntersecting ) {
27856
+
27857
+ // If it intersects, we use a little isOver variable and set it once,
27858
+ // so that the move-in stuff gets fired only once.
27859
+ if ( !sortable.isOver ) {
27860
+ sortable.isOver = 1;
27861
+
27862
+ // Store draggable's parent in case we need to reappend to it later.
27863
+ draggable._parent = ui.helper.parent();
27864
+
27865
+ sortable.currentItem = ui.helper
27866
+ .appendTo( sortable.element )
27867
+ .data( "ui-sortable-item", true );
27868
+
27869
+ // Store helper option to later restore it
27870
+ sortable.options._helper = sortable.options.helper;
27871
+
27872
+ sortable.options.helper = function() {
27873
+ return ui.helper[ 0 ];
27874
+ };
27875
+
27876
+ // Fire the start events of the sortable with our passed browser event,
27877
+ // and our own helper (so it doesn't create a new one)
27878
+ event.target = sortable.currentItem[ 0 ];
27879
+ sortable._mouseCapture( event, true );
27880
+ sortable._mouseStart( event, true, true );
27881
+
27882
+ // Because the browser event is way off the new appended portlet,
27883
+ // modify necessary variables to reflect the changes
27884
+ sortable.offset.click.top = draggable.offset.click.top;
27885
+ sortable.offset.click.left = draggable.offset.click.left;
27886
+ sortable.offset.parent.left -= draggable.offset.parent.left -
27887
+ sortable.offset.parent.left;
27888
+ sortable.offset.parent.top -= draggable.offset.parent.top -
27889
+ sortable.offset.parent.top;
27890
+
27891
+ draggable._trigger( "toSortable", event );
27892
+
27893
+ // Inform draggable that the helper is in a valid drop zone,
27894
+ // used solely in the revert option to handle "valid/invalid".
27895
+ draggable.dropped = sortable.element;
27896
+
27897
+ // Need to refreshPositions of all sortables in the case that
27898
+ // adding to one sortable changes the location of the other sortables (#9675)
27899
+ $.each( draggable.sortables, function() {
27900
+ this.refreshPositions();
27901
+ } );
27902
+
27903
+ // Hack so receive/update callbacks work (mostly)
27904
+ draggable.currentItem = draggable.element;
27905
+ sortable.fromOutside = draggable;
27906
+ }
27907
+
27908
+ if ( sortable.currentItem ) {
27909
+ sortable._mouseDrag( event );
27910
+
27911
+ // Copy the sortable's position because the draggable's can potentially reflect
27912
+ // a relative position, while sortable is always absolute, which the dragged
27913
+ // element has now become. (#8809)
27914
+ ui.position = sortable.position;
27915
+ }
27916
+ } else {
27917
+
27918
+ // If it doesn't intersect with the sortable, and it intersected before,
27919
+ // we fake the drag stop of the sortable, but make sure it doesn't remove
27920
+ // the helper by using cancelHelperRemoval.
27921
+ if ( sortable.isOver ) {
27922
+
27923
+ sortable.isOver = 0;
27924
+ sortable.cancelHelperRemoval = true;
27925
+
27926
+ // Calling sortable's mouseStop would trigger a revert,
27927
+ // so revert must be temporarily false until after mouseStop is called.
27928
+ sortable.options._revert = sortable.options.revert;
27929
+ sortable.options.revert = false;
27930
+
27931
+ sortable._trigger( "out", event, sortable._uiHash( sortable ) );
27932
+ sortable._mouseStop( event, true );
27933
+
27934
+ // Restore sortable behaviors that were modfied
27935
+ // when the draggable entered the sortable area (#9481)
27936
+ sortable.options.revert = sortable.options._revert;
27937
+ sortable.options.helper = sortable.options._helper;
27938
+
27939
+ if ( sortable.placeholder ) {
27940
+ sortable.placeholder.remove();
27941
+ }
27942
+
27943
+ // Restore and recalculate the draggable's offset considering the sortable
27944
+ // may have modified them in unexpected ways. (#8809, #10669)
27945
+ ui.helper.appendTo( draggable._parent );
27946
+ draggable._refreshOffsets( event );
27947
+ ui.position = draggable._generatePosition( event, true );
27948
+
27949
+ draggable._trigger( "fromSortable", event );
27950
+
27951
+ // Inform draggable that the helper is no longer in a valid drop zone
27952
+ draggable.dropped = false;
27953
+
27954
+ // Need to refreshPositions of all sortables just in case removing
27955
+ // from one sortable changes the location of other sortables (#9675)
27956
+ $.each( draggable.sortables, function() {
27957
+ this.refreshPositions();
27958
+ } );
27959
+ }
27960
+ }
27961
+ } );
27962
+ }
27963
+ } );
27964
+
27965
+ $.ui.plugin.add( "draggable", "cursor", {
27966
+ start: function( event, ui, instance ) {
27967
+ var t = $( "body" ),
27968
+ o = instance.options;
27969
+
27970
+ if ( t.css( "cursor" ) ) {
27971
+ o._cursor = t.css( "cursor" );
27972
+ }
27973
+ t.css( "cursor", o.cursor );
27974
+ },
27975
+ stop: function( event, ui, instance ) {
27976
+ var o = instance.options;
27977
+ if ( o._cursor ) {
27978
+ $( "body" ).css( "cursor", o._cursor );
27979
+ }
27980
+ }
27981
+ } );
27982
+
27983
+ $.ui.plugin.add( "draggable", "opacity", {
27984
+ start: function( event, ui, instance ) {
27985
+ var t = $( ui.helper ),
27986
+ o = instance.options;
27987
+ if ( t.css( "opacity" ) ) {
27988
+ o._opacity = t.css( "opacity" );
27989
+ }
27990
+ t.css( "opacity", o.opacity );
27991
+ },
27992
+ stop: function( event, ui, instance ) {
27993
+ var o = instance.options;
27994
+ if ( o._opacity ) {
27995
+ $( ui.helper ).css( "opacity", o._opacity );
27996
+ }
27997
+ }
27998
+ } );
27999
+
28000
+ $.ui.plugin.add( "draggable", "scroll", {
28001
+ start: function( event, ui, i ) {
28002
+ if ( !i.scrollParentNotHidden ) {
28003
+ i.scrollParentNotHidden = i.helper.scrollParent( false );
28004
+ }
28005
+
28006
+ if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] &&
28007
+ i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) {
28008
+ i.overflowOffset = i.scrollParentNotHidden.offset();
28009
+ }
28010
+ },
28011
+ drag: function( event, ui, i ) {
28012
+
28013
+ var o = i.options,
28014
+ scrolled = false,
28015
+ scrollParent = i.scrollParentNotHidden[ 0 ],
28016
+ document = i.document[ 0 ];
28017
+
28018
+ if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) {
28019
+ if ( !o.axis || o.axis !== "x" ) {
28020
+ if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY <
28021
+ o.scrollSensitivity ) {
28022
+ scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;
28023
+ } else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {
28024
+ scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;
28025
+ }
28026
+ }
28027
+
28028
+ if ( !o.axis || o.axis !== "y" ) {
28029
+ if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX <
28030
+ o.scrollSensitivity ) {
28031
+ scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;
28032
+ } else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {
28033
+ scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;
28034
+ }
28035
+ }
28036
+
28037
+ } else {
28038
+
28039
+ if ( !o.axis || o.axis !== "x" ) {
28040
+ if ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) {
28041
+ scrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed );
28042
+ } else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) <
28043
+ o.scrollSensitivity ) {
28044
+ scrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed );
28045
+ }
28046
+ }
28047
+
28048
+ if ( !o.axis || o.axis !== "y" ) {
28049
+ if ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) {
28050
+ scrolled = $( document ).scrollLeft(
28051
+ $( document ).scrollLeft() - o.scrollSpeed
28052
+ );
28053
+ } else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) <
28054
+ o.scrollSensitivity ) {
28055
+ scrolled = $( document ).scrollLeft(
28056
+ $( document ).scrollLeft() + o.scrollSpeed
28057
+ );
28058
+ }
28059
+ }
28060
+
28061
+ }
28062
+
28063
+ if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {
28064
+ $.ui.ddmanager.prepareOffsets( i, event );
28065
+ }
28066
+
28067
+ }
28068
+ } );
28069
+
28070
+ $.ui.plugin.add( "draggable", "snap", {
28071
+ start: function( event, ui, i ) {
28072
+
28073
+ var o = i.options;
28074
+
28075
+ i.snapElements = [];
28076
+
28077
+ $( o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap )
28078
+ .each( function() {
28079
+ var $t = $( this ),
28080
+ $o = $t.offset();
28081
+ if ( this !== i.element[ 0 ] ) {
28082
+ i.snapElements.push( {
28083
+ item: this,
28084
+ width: $t.outerWidth(), height: $t.outerHeight(),
28085
+ top: $o.top, left: $o.left
28086
+ } );
28087
+ }
28088
+ } );
28089
+
28090
+ },
28091
+ drag: function( event, ui, inst ) {
28092
+
28093
+ var ts, bs, ls, rs, l, r, t, b, i, first,
28094
+ o = inst.options,
28095
+ d = o.snapTolerance,
28096
+ x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
28097
+ y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
28098
+
28099
+ for ( i = inst.snapElements.length - 1; i >= 0; i-- ) {
28100
+
28101
+ l = inst.snapElements[ i ].left - inst.margins.left;
28102
+ r = l + inst.snapElements[ i ].width;
28103
+ t = inst.snapElements[ i ].top - inst.margins.top;
28104
+ b = t + inst.snapElements[ i ].height;
28105
+
28106
+ if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d ||
28107
+ !$.contains( inst.snapElements[ i ].item.ownerDocument,
28108
+ inst.snapElements[ i ].item ) ) {
28109
+ if ( inst.snapElements[ i ].snapping ) {
28110
+ ( inst.options.snap.release &&
28111
+ inst.options.snap.release.call(
28112
+ inst.element,
28113
+ event,
28114
+ $.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } )
28115
+ ) );
28116
+ }
28117
+ inst.snapElements[ i ].snapping = false;
28118
+ continue;
28119
+ }
28120
+
28121
+ if ( o.snapMode !== "inner" ) {
28122
+ ts = Math.abs( t - y2 ) <= d;
28123
+ bs = Math.abs( b - y1 ) <= d;
28124
+ ls = Math.abs( l - x2 ) <= d;
28125
+ rs = Math.abs( r - x1 ) <= d;
28126
+ if ( ts ) {
28127
+ ui.position.top = inst._convertPositionTo( "relative", {
28128
+ top: t - inst.helperProportions.height,
28129
+ left: 0
28130
+ } ).top;
28131
+ }
28132
+ if ( bs ) {
28133
+ ui.position.top = inst._convertPositionTo( "relative", {
28134
+ top: b,
28135
+ left: 0
28136
+ } ).top;
28137
+ }
28138
+ if ( ls ) {
28139
+ ui.position.left = inst._convertPositionTo( "relative", {
28140
+ top: 0,
28141
+ left: l - inst.helperProportions.width
28142
+ } ).left;
28143
+ }
28144
+ if ( rs ) {
28145
+ ui.position.left = inst._convertPositionTo( "relative", {
28146
+ top: 0,
28147
+ left: r
28148
+ } ).left;
28149
+ }
28150
+ }
28151
+
28152
+ first = ( ts || bs || ls || rs );
28153
+
28154
+ if ( o.snapMode !== "outer" ) {
28155
+ ts = Math.abs( t - y1 ) <= d;
28156
+ bs = Math.abs( b - y2 ) <= d;
28157
+ ls = Math.abs( l - x1 ) <= d;
28158
+ rs = Math.abs( r - x2 ) <= d;
28159
+ if ( ts ) {
28160
+ ui.position.top = inst._convertPositionTo( "relative", {
28161
+ top: t,
28162
+ left: 0
28163
+ } ).top;
28164
+ }
28165
+ if ( bs ) {
28166
+ ui.position.top = inst._convertPositionTo( "relative", {
28167
+ top: b - inst.helperProportions.height,
28168
+ left: 0
28169
+ } ).top;
28170
+ }
28171
+ if ( ls ) {
28172
+ ui.position.left = inst._convertPositionTo( "relative", {
28173
+ top: 0,
28174
+ left: l
28175
+ } ).left;
28176
+ }
28177
+ if ( rs ) {
28178
+ ui.position.left = inst._convertPositionTo( "relative", {
28179
+ top: 0,
28180
+ left: r - inst.helperProportions.width
28181
+ } ).left;
28182
+ }
28183
+ }
28184
+
28185
+ if ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) {
28186
+ ( inst.options.snap.snap &&
28187
+ inst.options.snap.snap.call(
28188
+ inst.element,
28189
+ event,
28190
+ $.extend( inst._uiHash(), {
28191
+ snapItem: inst.snapElements[ i ].item
28192
+ } ) ) );
28193
+ }
28194
+ inst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first );
28195
+
28196
+ }
28197
+
28198
+ }
28199
+ } );
28200
+
28201
+ $.ui.plugin.add( "draggable", "stack", {
28202
+ start: function( event, ui, instance ) {
28203
+ var min,
28204
+ o = instance.options,
28205
+ group = $.makeArray( $( o.stack ) ).sort( function( a, b ) {
28206
+ return ( parseInt( $( a ).css( "zIndex" ), 10 ) || 0 ) -
28207
+ ( parseInt( $( b ).css( "zIndex" ), 10 ) || 0 );
28208
+ } );
28209
+
28210
+ if ( !group.length ) { return; }
28211
+
28212
+ min = parseInt( $( group[ 0 ] ).css( "zIndex" ), 10 ) || 0;
28213
+ $( group ).each( function( i ) {
28214
+ $( this ).css( "zIndex", min + i );
28215
+ } );
28216
+ this.css( "zIndex", ( min + group.length ) );
28217
+ }
28218
+ } );
28219
+
28220
+ $.ui.plugin.add( "draggable", "zIndex", {
28221
+ start: function( event, ui, instance ) {
28222
+ var t = $( ui.helper ),
28223
+ o = instance.options;
28224
+
28225
+ if ( t.css( "zIndex" ) ) {
28226
+ o._zIndex = t.css( "zIndex" );
28227
+ }
28228
+ t.css( "zIndex", o.zIndex );
28229
+ },
28230
+ stop: function( event, ui, instance ) {
28231
+ var o = instance.options;
28232
+
28233
+ if ( o._zIndex ) {
28234
+ $( ui.helper ).css( "zIndex", o._zIndex );
28235
+ }
28236
+ }
28237
+ } );
28238
+
28239
+ return $.ui.draggable;
28240
+
28241
+ } ) );
28242
+
28243
+
28244
+ /***/ }),
28245
+
28246
+ /***/ 9914:
28247
+ /***/ (function(module, exports, __webpack_require__) {
28248
+
28249
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
28250
+ * jQuery UI Droppable 1.12.1
28251
+ * http://jqueryui.com
28252
+ *
28253
+ * Copyright jQuery Foundation and other contributors
28254
+ * Released under the MIT license.
28255
+ * http://jquery.org/license
28256
+ */
28257
+
28258
+ //>>label: Droppable
28259
+ //>>group: Interactions
28260
+ //>>description: Enables drop targets for draggable elements.
28261
+ //>>docs: http://api.jqueryui.com/droppable/
28262
+ //>>demos: http://jqueryui.com/droppable/
28263
+
28264
+ ( function( factory ) {
28265
+ if ( true ) {
28266
+
28267
+ // AMD. Register as an anonymous module.
28268
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [
28269
+ __webpack_require__(4692),
28270
+ __webpack_require__(1758),
28271
+ __webpack_require__(3662),
28272
+ __webpack_require__(6883),
28273
+ __webpack_require__(9139)
28274
+ ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28275
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28276
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28277
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
28278
+ } else {}
28279
+ }( function( $ ) {
28280
+
28281
+ $.widget( "ui.droppable", {
28282
+ version: "1.12.1",
28283
+ widgetEventPrefix: "drop",
28284
+ options: {
28285
+ accept: "*",
28286
+ addClasses: true,
28287
+ greedy: false,
28288
+ scope: "default",
28289
+ tolerance: "intersect",
28290
+
28291
+ // Callbacks
28292
+ activate: null,
28293
+ deactivate: null,
28294
+ drop: null,
28295
+ out: null,
28296
+ over: null
28297
+ },
28298
+ _create: function() {
28299
+
28300
+ var proportions,
28301
+ o = this.options,
28302
+ accept = o.accept;
28303
+
28304
+ this.isover = false;
28305
+ this.isout = true;
28306
+
28307
+ this.accept = $.isFunction( accept ) ? accept : function( d ) {
28308
+ return d.is( accept );
28309
+ };
28310
+
28311
+ this.proportions = function( /* valueToWrite */ ) {
28312
+ if ( arguments.length ) {
28313
+
28314
+ // Store the droppable's proportions
28315
+ proportions = arguments[ 0 ];
28316
+ } else {
28317
+
28318
+ // Retrieve or derive the droppable's proportions
28319
+ return proportions ?
28320
+ proportions :
28321
+ proportions = {
28322
+ width: this.element[ 0 ].offsetWidth,
28323
+ height: this.element[ 0 ].offsetHeight
28324
+ };
28325
+ }
28326
+ };
28327
+
28328
+ this._addToManager( o.scope );
28329
+
28330
+ o.addClasses && this._addClass( "ui-droppable" );
28331
+
28332
+ },
28333
+
28334
+ _addToManager: function( scope ) {
28335
+
28336
+ // Add the reference and positions to the manager
28337
+ $.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || [];
28338
+ $.ui.ddmanager.droppables[ scope ].push( this );
28339
+ },
28340
+
28341
+ _splice: function( drop ) {
28342
+ var i = 0;
28343
+ for ( ; i < drop.length; i++ ) {
28344
+ if ( drop[ i ] === this ) {
28345
+ drop.splice( i, 1 );
28346
+ }
28347
+ }
28348
+ },
28349
+
28350
+ _destroy: function() {
28351
+ var drop = $.ui.ddmanager.droppables[ this.options.scope ];
28352
+
28353
+ this._splice( drop );
28354
+ },
28355
+
28356
+ _setOption: function( key, value ) {
28357
+
28358
+ if ( key === "accept" ) {
28359
+ this.accept = $.isFunction( value ) ? value : function( d ) {
28360
+ return d.is( value );
28361
+ };
28362
+ } else if ( key === "scope" ) {
28363
+ var drop = $.ui.ddmanager.droppables[ this.options.scope ];
28364
+
28365
+ this._splice( drop );
28366
+ this._addToManager( value );
28367
+ }
28368
+
28369
+ this._super( key, value );
28370
+ },
28371
+
28372
+ _activate: function( event ) {
28373
+ var draggable = $.ui.ddmanager.current;
28374
+
28375
+ this._addActiveClass();
28376
+ if ( draggable ) {
28377
+ this._trigger( "activate", event, this.ui( draggable ) );
28378
+ }
28379
+ },
28380
+
28381
+ _deactivate: function( event ) {
28382
+ var draggable = $.ui.ddmanager.current;
28383
+
28384
+ this._removeActiveClass();
28385
+ if ( draggable ) {
28386
+ this._trigger( "deactivate", event, this.ui( draggable ) );
28387
+ }
28388
+ },
28389
+
28390
+ _over: function( event ) {
28391
+
28392
+ var draggable = $.ui.ddmanager.current;
28393
+
28394
+ // Bail if draggable and droppable are same element
28395
+ if ( !draggable || ( draggable.currentItem ||
28396
+ draggable.element )[ 0 ] === this.element[ 0 ] ) {
28397
+ return;
28398
+ }
28399
+
28400
+ if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem ||
28401
+ draggable.element ) ) ) {
28402
+ this._addHoverClass();
28403
+ this._trigger( "over", event, this.ui( draggable ) );
28404
+ }
28405
+
28406
+ },
28407
+
28408
+ _out: function( event ) {
28409
+
28410
+ var draggable = $.ui.ddmanager.current;
28411
+
28412
+ // Bail if draggable and droppable are same element
28413
+ if ( !draggable || ( draggable.currentItem ||
28414
+ draggable.element )[ 0 ] === this.element[ 0 ] ) {
28415
+ return;
28416
+ }
28417
+
28418
+ if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem ||
28419
+ draggable.element ) ) ) {
28420
+ this._removeHoverClass();
28421
+ this._trigger( "out", event, this.ui( draggable ) );
28422
+ }
28423
+
28424
+ },
28425
+
28426
+ _drop: function( event, custom ) {
28427
+
28428
+ var draggable = custom || $.ui.ddmanager.current,
28429
+ childrenIntersection = false;
28430
+
28431
+ // Bail if draggable and droppable are same element
28432
+ if ( !draggable || ( draggable.currentItem ||
28433
+ draggable.element )[ 0 ] === this.element[ 0 ] ) {
28434
+ return false;
28435
+ }
28436
+
28437
+ this.element
28438
+ .find( ":data(ui-droppable)" )
28439
+ .not( ".ui-draggable-dragging" )
28440
+ .each( function() {
28441
+ var inst = $( this ).droppable( "instance" );
28442
+ if (
28443
+ inst.options.greedy &&
28444
+ !inst.options.disabled &&
28445
+ inst.options.scope === draggable.options.scope &&
28446
+ inst.accept.call(
28447
+ inst.element[ 0 ], ( draggable.currentItem || draggable.element )
28448
+ ) &&
28449
+ intersect(
28450
+ draggable,
28451
+ $.extend( inst, { offset: inst.element.offset() } ),
28452
+ inst.options.tolerance, event
28453
+ )
28454
+ ) {
28455
+ childrenIntersection = true;
28456
+ return false; }
28457
+ } );
28458
+ if ( childrenIntersection ) {
28459
+ return false;
28460
+ }
28461
+
28462
+ if ( this.accept.call( this.element[ 0 ],
28463
+ ( draggable.currentItem || draggable.element ) ) ) {
28464
+ this._removeActiveClass();
28465
+ this._removeHoverClass();
28466
+
28467
+ this._trigger( "drop", event, this.ui( draggable ) );
28468
+ return this.element;
28469
+ }
28470
+
28471
+ return false;
28472
+
28473
+ },
28474
+
28475
+ ui: function( c ) {
28476
+ return {
28477
+ draggable: ( c.currentItem || c.element ),
28478
+ helper: c.helper,
28479
+ position: c.position,
28480
+ offset: c.positionAbs
28481
+ };
28482
+ },
28483
+
28484
+ // Extension points just to make backcompat sane and avoid duplicating logic
28485
+ // TODO: Remove in 1.13 along with call to it below
28486
+ _addHoverClass: function() {
28487
+ this._addClass( "ui-droppable-hover" );
28488
+ },
28489
+
28490
+ _removeHoverClass: function() {
28491
+ this._removeClass( "ui-droppable-hover" );
28492
+ },
28493
+
28494
+ _addActiveClass: function() {
28495
+ this._addClass( "ui-droppable-active" );
28496
+ },
28497
+
28498
+ _removeActiveClass: function() {
28499
+ this._removeClass( "ui-droppable-active" );
28500
+ }
28501
+ } );
28502
+
28503
+ var intersect = $.ui.intersect = ( function() {
28504
+ function isOverAxis( x, reference, size ) {
28505
+ return ( x >= reference ) && ( x < ( reference + size ) );
28506
+ }
28507
+
28508
+ return function( draggable, droppable, toleranceMode, event ) {
28509
+
28510
+ if ( !droppable.offset ) {
28511
+ return false;
28512
+ }
28513
+
28514
+ var x1 = ( draggable.positionAbs ||
28515
+ draggable.position.absolute ).left + draggable.margins.left,
28516
+ y1 = ( draggable.positionAbs ||
28517
+ draggable.position.absolute ).top + draggable.margins.top,
28518
+ x2 = x1 + draggable.helperProportions.width,
28519
+ y2 = y1 + draggable.helperProportions.height,
28520
+ l = droppable.offset.left,
28521
+ t = droppable.offset.top,
28522
+ r = l + droppable.proportions().width,
28523
+ b = t + droppable.proportions().height;
28524
+
28525
+ switch ( toleranceMode ) {
28526
+ case "fit":
28527
+ return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b );
28528
+ case "intersect":
28529
+ return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half
28530
+ x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half
28531
+ t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half
28532
+ y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half
28533
+ case "pointer":
28534
+ return isOverAxis( event.pageY, t, droppable.proportions().height ) &&
28535
+ isOverAxis( event.pageX, l, droppable.proportions().width );
28536
+ case "touch":
28537
+ return (
28538
+ ( y1 >= t && y1 <= b ) || // Top edge touching
28539
+ ( y2 >= t && y2 <= b ) || // Bottom edge touching
28540
+ ( y1 < t && y2 > b ) // Surrounded vertically
28541
+ ) && (
28542
+ ( x1 >= l && x1 <= r ) || // Left edge touching
28543
+ ( x2 >= l && x2 <= r ) || // Right edge touching
28544
+ ( x1 < l && x2 > r ) // Surrounded horizontally
28545
+ );
28546
+ default:
28547
+ return false;
28548
+ }
28549
+ };
28550
+ } )();
28551
+
28552
+ /*
28553
+ This manager tracks offsets of draggables and droppables
28554
+ */
28555
+ $.ui.ddmanager = {
28556
+ current: null,
28557
+ droppables: { "default": [] },
28558
+ prepareOffsets: function( t, event ) {
28559
+
28560
+ var i, j,
28561
+ m = $.ui.ddmanager.droppables[ t.options.scope ] || [],
28562
+ type = event ? event.type : null, // workaround for #2317
28563
+ list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack();
28564
+
28565
+ droppablesLoop: for ( i = 0; i < m.length; i++ ) {
28566
+
28567
+ // No disabled and non-accepted
28568
+ if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ],
28569
+ ( t.currentItem || t.element ) ) ) ) {
28570
+ continue;
28571
+ }
28572
+
28573
+ // Filter out elements in the current dragged item
28574
+ for ( j = 0; j < list.length; j++ ) {
28575
+ if ( list[ j ] === m[ i ].element[ 0 ] ) {
28576
+ m[ i ].proportions().height = 0;
28577
+ continue droppablesLoop;
28578
+ }
28579
+ }
28580
+
28581
+ m[ i ].visible = m[ i ].element.css( "display" ) !== "none";
28582
+ if ( !m[ i ].visible ) {
28583
+ continue;
28584
+ }
28585
+
28586
+ // Activate the droppable if used directly from draggables
28587
+ if ( type === "mousedown" ) {
28588
+ m[ i ]._activate.call( m[ i ], event );
28589
+ }
28590
+
28591
+ m[ i ].offset = m[ i ].element.offset();
28592
+ m[ i ].proportions( {
28593
+ width: m[ i ].element[ 0 ].offsetWidth,
28594
+ height: m[ i ].element[ 0 ].offsetHeight
28595
+ } );
28596
+
28597
+ }
28598
+
28599
+ },
28600
+ drop: function( draggable, event ) {
28601
+
28602
+ var dropped = false;
28603
+
28604
+ // Create a copy of the droppables in case the list changes during the drop (#9116)
28605
+ $.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() {
28606
+
28607
+ if ( !this.options ) {
28608
+ return;
28609
+ }
28610
+ if ( !this.options.disabled && this.visible &&
28611
+ intersect( draggable, this, this.options.tolerance, event ) ) {
28612
+ dropped = this._drop.call( this, event ) || dropped;
28613
+ }
28614
+
28615
+ if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ],
28616
+ ( draggable.currentItem || draggable.element ) ) ) {
28617
+ this.isout = true;
28618
+ this.isover = false;
28619
+ this._deactivate.call( this, event );
28620
+ }
28621
+
28622
+ } );
28623
+ return dropped;
28624
+
28625
+ },
28626
+ dragStart: function( draggable, event ) {
28627
+
28628
+ // Listen for scrolling so that if the dragging causes scrolling the position of the
28629
+ // droppables can be recalculated (see #5003)
28630
+ draggable.element.parentsUntil( "body" ).on( "scroll.droppable", function() {
28631
+ if ( !draggable.options.refreshPositions ) {
28632
+ $.ui.ddmanager.prepareOffsets( draggable, event );
28633
+ }
28634
+ } );
28635
+ },
28636
+ drag: function( draggable, event ) {
28637
+
28638
+ // If you have a highly dynamic page, you might try this option. It renders positions
28639
+ // every time you move the mouse.
28640
+ if ( draggable.options.refreshPositions ) {
28641
+ $.ui.ddmanager.prepareOffsets( draggable, event );
28642
+ }
28643
+
28644
+ // Run through all droppables and check their positions based on specific tolerance options
28645
+ $.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() {
28646
+
28647
+ if ( this.options.disabled || this.greedyChild || !this.visible ) {
28648
+ return;
28649
+ }
28650
+
28651
+ var parentInstance, scope, parent,
28652
+ intersects = intersect( draggable, this, this.options.tolerance, event ),
28653
+ c = !intersects && this.isover ?
28654
+ "isout" :
28655
+ ( intersects && !this.isover ? "isover" : null );
28656
+ if ( !c ) {
28657
+ return;
28658
+ }
28659
+
28660
+ if ( this.options.greedy ) {
28661
+
28662
+ // find droppable parents with same scope
28663
+ scope = this.options.scope;
28664
+ parent = this.element.parents( ":data(ui-droppable)" ).filter( function() {
28665
+ return $( this ).droppable( "instance" ).options.scope === scope;
28666
+ } );
28667
+
28668
+ if ( parent.length ) {
28669
+ parentInstance = $( parent[ 0 ] ).droppable( "instance" );
28670
+ parentInstance.greedyChild = ( c === "isover" );
28671
+ }
28672
+ }
28673
+
28674
+ // We just moved into a greedy child
28675
+ if ( parentInstance && c === "isover" ) {
28676
+ parentInstance.isover = false;
28677
+ parentInstance.isout = true;
28678
+ parentInstance._out.call( parentInstance, event );
28679
+ }
28680
+
28681
+ this[ c ] = true;
28682
+ this[ c === "isout" ? "isover" : "isout" ] = false;
28683
+ this[ c === "isover" ? "_over" : "_out" ].call( this, event );
28684
+
28685
+ // We just moved out of a greedy child
28686
+ if ( parentInstance && c === "isout" ) {
28687
+ parentInstance.isout = false;
28688
+ parentInstance.isover = true;
28689
+ parentInstance._over.call( parentInstance, event );
28690
+ }
28691
+ } );
28692
+
28693
+ },
28694
+ dragStop: function( draggable, event ) {
28695
+ draggable.element.parentsUntil( "body" ).off( "scroll.droppable" );
28696
+
28697
+ // Call prepareOffsets one final time since IE does not fire return scroll events when
28698
+ // overflow was caused by drag (see #5003)
28699
+ if ( !draggable.options.refreshPositions ) {
28700
+ $.ui.ddmanager.prepareOffsets( draggable, event );
28701
+ }
28702
+ }
28703
+ };
28704
+
28705
+ // DEPRECATED
28706
+ // TODO: switch return back to widget declaration at top of file when this is removed
28707
+ if ( $.uiBackCompat !== false ) {
28708
+
28709
+ // Backcompat for activeClass and hoverClass options
28710
+ $.widget( "ui.droppable", $.ui.droppable, {
28711
+ options: {
28712
+ hoverClass: false,
28713
+ activeClass: false
28714
+ },
28715
+ _addActiveClass: function() {
28716
+ this._super();
28717
+ if ( this.options.activeClass ) {
28718
+ this.element.addClass( this.options.activeClass );
28719
+ }
28720
+ },
28721
+ _removeActiveClass: function() {
28722
+ this._super();
28723
+ if ( this.options.activeClass ) {
28724
+ this.element.removeClass( this.options.activeClass );
28725
+ }
28726
+ },
28727
+ _addHoverClass: function() {
28728
+ this._super();
28729
+ if ( this.options.hoverClass ) {
28730
+ this.element.addClass( this.options.hoverClass );
28731
+ }
28732
+ },
28733
+ _removeHoverClass: function() {
28734
+ this._super();
28735
+ if ( this.options.hoverClass ) {
28736
+ this.element.removeClass( this.options.hoverClass );
28737
+ }
28738
+ }
28739
+ } );
28740
+ }
28741
+
28742
+ return $.ui.droppable;
28743
+
28744
+ } ) );
28745
+
28746
+
28747
+ /***/ }),
28748
+
28749
+ /***/ 3662:
28750
+ /***/ (function(module, exports, __webpack_require__) {
28751
+
28752
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
28753
+ * jQuery UI Mouse 1.12.1
28754
+ * http://jqueryui.com
28755
+ *
28756
+ * Copyright jQuery Foundation and other contributors
28757
+ * Released under the MIT license.
28758
+ * http://jquery.org/license
28759
+ */
28760
+
28761
+ //>>label: Mouse
28762
+ //>>group: Widgets
28763
+ //>>description: Abstracts mouse-based interactions to assist in creating certain widgets.
28764
+ //>>docs: http://api.jqueryui.com/mouse/
28765
+
28766
+ ( function( factory ) {
28767
+ if ( true ) {
28768
+
28769
+ // AMD. Register as an anonymous module.
28770
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [
28771
+ __webpack_require__(4692),
28772
+ __webpack_require__(8045),
28773
+ __webpack_require__(6883),
28774
+ __webpack_require__(9139)
28775
+ ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28776
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28777
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28778
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
28779
+ } else {}
28780
+ }( function( $ ) {
28781
+
28782
+ var mouseHandled = false;
28783
+ $( document ).on( "mouseup", function() {
28784
+ mouseHandled = false;
28785
+ } );
28786
+
28787
+ return $.widget( "ui.mouse", {
28788
+ version: "1.12.1",
28789
+ options: {
28790
+ cancel: "input, textarea, button, select, option",
28791
+ distance: 1,
28792
+ delay: 0
28793
+ },
28794
+ _mouseInit: function() {
28795
+ var that = this;
28796
+
28797
+ this.element
28798
+ .on( "mousedown." + this.widgetName, function( event ) {
28799
+ return that._mouseDown( event );
28800
+ } )
28801
+ .on( "click." + this.widgetName, function( event ) {
28802
+ if ( true === $.data( event.target, that.widgetName + ".preventClickEvent" ) ) {
28803
+ $.removeData( event.target, that.widgetName + ".preventClickEvent" );
28804
+ event.stopImmediatePropagation();
28805
+ return false;
28806
+ }
28807
+ } );
28808
+
28809
+ this.started = false;
28810
+ },
28811
+
28812
+ // TODO: make sure destroying one instance of mouse doesn't mess with
28813
+ // other instances of mouse
28814
+ _mouseDestroy: function() {
28815
+ this.element.off( "." + this.widgetName );
28816
+ if ( this._mouseMoveDelegate ) {
28817
+ this.document
28818
+ .off( "mousemove." + this.widgetName, this._mouseMoveDelegate )
28819
+ .off( "mouseup." + this.widgetName, this._mouseUpDelegate );
28820
+ }
28821
+ },
28822
+
28823
+ _mouseDown: function( event ) {
28824
+
28825
+ // don't let more than one widget handle mouseStart
28826
+ if ( mouseHandled ) {
28827
+ return;
28828
+ }
28829
+
28830
+ this._mouseMoved = false;
28831
+
28832
+ // We may have missed mouseup (out of window)
28833
+ ( this._mouseStarted && this._mouseUp( event ) );
28834
+
28835
+ this._mouseDownEvent = event;
28836
+
28837
+ var that = this,
28838
+ btnIsLeft = ( event.which === 1 ),
28839
+
28840
+ // event.target.nodeName works around a bug in IE 8 with
28841
+ // disabled inputs (#7620)
28842
+ elIsCancel = ( typeof this.options.cancel === "string" && event.target.nodeName ?
28843
+ $( event.target ).closest( this.options.cancel ).length : false );
28844
+ if ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) {
28845
+ return true;
28846
+ }
28847
+
28848
+ this.mouseDelayMet = !this.options.delay;
28849
+ if ( !this.mouseDelayMet ) {
28850
+ this._mouseDelayTimer = setTimeout( function() {
28851
+ that.mouseDelayMet = true;
28852
+ }, this.options.delay );
28853
+ }
28854
+
28855
+ if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {
28856
+ this._mouseStarted = ( this._mouseStart( event ) !== false );
28857
+ if ( !this._mouseStarted ) {
28858
+ event.preventDefault();
28859
+ return true;
28860
+ }
28861
+ }
28862
+
28863
+ // Click event may never have fired (Gecko & Opera)
28864
+ if ( true === $.data( event.target, this.widgetName + ".preventClickEvent" ) ) {
28865
+ $.removeData( event.target, this.widgetName + ".preventClickEvent" );
28866
+ }
28867
+
28868
+ // These delegates are required to keep context
28869
+ this._mouseMoveDelegate = function( event ) {
28870
+ return that._mouseMove( event );
28871
+ };
28872
+ this._mouseUpDelegate = function( event ) {
28873
+ return that._mouseUp( event );
28874
+ };
28875
+
28876
+ this.document
28877
+ .on( "mousemove." + this.widgetName, this._mouseMoveDelegate )
28878
+ .on( "mouseup." + this.widgetName, this._mouseUpDelegate );
28879
+
28880
+ event.preventDefault();
28881
+
28882
+ mouseHandled = true;
28883
+ return true;
28884
+ },
28885
+
28886
+ _mouseMove: function( event ) {
28887
+
28888
+ // Only check for mouseups outside the document if you've moved inside the document
28889
+ // at least once. This prevents the firing of mouseup in the case of IE<9, which will
28890
+ // fire a mousemove event if content is placed under the cursor. See #7778
28891
+ // Support: IE <9
28892
+ if ( this._mouseMoved ) {
28893
+
28894
+ // IE mouseup check - mouseup happened when mouse was out of window
28895
+ if ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) &&
28896
+ !event.button ) {
28897
+ return this._mouseUp( event );
28898
+
28899
+ // Iframe mouseup check - mouseup occurred in another document
28900
+ } else if ( !event.which ) {
28901
+
28902
+ // Support: Safari <=8 - 9
28903
+ // Safari sets which to 0 if you press any of the following keys
28904
+ // during a drag (#14461)
28905
+ if ( event.originalEvent.altKey || event.originalEvent.ctrlKey ||
28906
+ event.originalEvent.metaKey || event.originalEvent.shiftKey ) {
28907
+ this.ignoreMissingWhich = true;
28908
+ } else if ( !this.ignoreMissingWhich ) {
28909
+ return this._mouseUp( event );
28910
+ }
28911
+ }
28912
+ }
28913
+
28914
+ if ( event.which || event.button ) {
28915
+ this._mouseMoved = true;
28916
+ }
28917
+
28918
+ if ( this._mouseStarted ) {
28919
+ this._mouseDrag( event );
28920
+ return event.preventDefault();
28921
+ }
28922
+
28923
+ if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {
28924
+ this._mouseStarted =
28925
+ ( this._mouseStart( this._mouseDownEvent, event ) !== false );
28926
+ ( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) );
28927
+ }
28928
+
28929
+ return !this._mouseStarted;
28930
+ },
28931
+
28932
+ _mouseUp: function( event ) {
28933
+ this.document
28934
+ .off( "mousemove." + this.widgetName, this._mouseMoveDelegate )
28935
+ .off( "mouseup." + this.widgetName, this._mouseUpDelegate );
28936
+
28937
+ if ( this._mouseStarted ) {
28938
+ this._mouseStarted = false;
28939
+
28940
+ if ( event.target === this._mouseDownEvent.target ) {
28941
+ $.data( event.target, this.widgetName + ".preventClickEvent", true );
28942
+ }
28943
+
28944
+ this._mouseStop( event );
28945
+ }
28946
+
28947
+ if ( this._mouseDelayTimer ) {
28948
+ clearTimeout( this._mouseDelayTimer );
28949
+ delete this._mouseDelayTimer;
28950
+ }
28951
+
28952
+ this.ignoreMissingWhich = false;
28953
+ mouseHandled = false;
28954
+ event.preventDefault();
28955
+ },
28956
+
28957
+ _mouseDistanceMet: function( event ) {
28958
+ return ( Math.max(
28959
+ Math.abs( this._mouseDownEvent.pageX - event.pageX ),
28960
+ Math.abs( this._mouseDownEvent.pageY - event.pageY )
28961
+ ) >= this.options.distance
28962
+ );
28963
+ },
28964
+
28965
+ _mouseDelayMet: function( /* event */ ) {
28966
+ return this.mouseDelayMet;
28967
+ },
28968
+
28969
+ // These are placeholder methods, to be overriden by extending plugin
28970
+ _mouseStart: function( /* event */ ) {},
28971
+ _mouseDrag: function( /* event */ ) {},
28972
+ _mouseStop: function( /* event */ ) {},
28973
+ _mouseCapture: function( /* event */ ) { return true; }
28974
+ } );
28975
+
28976
+ } ) );
28977
+
28978
+
25986
28979
  /***/ }),
25987
28980
 
25988
28981
  /***/ 4692:
@@ -75993,19 +78986,19 @@ var update = add("b391fe50", content, true, {"sourceMap":false,"shadowMode":fals
75993
78986
 
75994
78987
  /***/ }),
75995
78988
 
75996
- /***/ 413:
78989
+ /***/ 7492:
75997
78990
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
75998
78991
 
75999
78992
  // style-loader: Adds some css to the DOM by adding a <style> tag
76000
78993
 
76001
78994
  // load the styles
76002
- var content = __webpack_require__(3667);
78995
+ var content = __webpack_require__(4246);
76003
78996
  if(content.__esModule) content = content.default;
76004
78997
  if(typeof content === 'string') content = [[module.id, content, '']];
76005
78998
  if(content.locals) module.exports = content.locals;
76006
78999
  // add the styles to the DOM
76007
79000
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
76008
- var update = add("4f3be3a0", content, true, {"sourceMap":false,"shadowMode":false});
79001
+ var update = add("1a2559ea", content, true, {"sourceMap":false,"shadowMode":false});
76009
79002
 
76010
79003
  /***/ }),
76011
79004
 
@@ -211130,8 +214123,8 @@ var MenuBar_component = normalizeComponent(
211130
214123
  )
211131
214124
 
211132
214125
  /* harmony default export */ var MenuBar = (MenuBar_component.exports);
211133
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/yoabase/src/voice/Center/index.vue?vue&type=template&id=fd273d64&scoped=true
211134
- var Centervue_type_template_id_fd273d64_scoped_true_render = function render() {
214126
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/yoabase/src/voice/Center/index.vue?vue&type=template&id=c53b708e&scoped=true
214127
+ var Centervue_type_template_id_c53b708e_scoped_true_render = function render() {
211135
214128
  var _vm = this,
211136
214129
  _c = _vm._self._c;
211137
214130
  return _c('div', {
@@ -211232,7 +214225,7 @@ var Centervue_type_template_id_fd273d64_scoped_true_render = function render() {
211232
214225
  }
211233
214226
  }, [_vm._v("水平平局分布")])])])])]);
211234
214227
  };
211235
- var Centervue_type_template_id_fd273d64_scoped_true_staticRenderFns = [];
214228
+ var Centervue_type_template_id_c53b708e_scoped_true_staticRenderFns = [];
211236
214229
 
211237
214230
  // EXTERNAL MODULE: ./node_modules/jquery/dist/jquery.js
211238
214231
  var jquery = __webpack_require__(4692);
@@ -212654,6 +215647,8 @@ function Centervue_type_script_lang_js_defineProperty(e, r, t) { return (r = Cen
212654
215647
  function Centervue_type_script_lang_js_toPropertyKey(t) { var i = Centervue_type_script_lang_js_toPrimitive(t, "string"); return "symbol" == Centervue_type_script_lang_js_typeof(i) ? i : i + ""; }
212655
215648
  function Centervue_type_script_lang_js_toPrimitive(t, r) { if ("object" != Centervue_type_script_lang_js_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != Centervue_type_script_lang_js_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
212656
215649
 
215650
+ __webpack_require__(1758);
215651
+ __webpack_require__(9914);
212657
215652
  var Centervue_type_script_lang_js_jsPlumb = window.jsPlumb;
212658
215653
 
212659
215654
 
@@ -212911,11 +215906,13 @@ var Centervue_type_script_lang_js_jsPlumb = window.jsPlumb;
212911
215906
  // SelectAlignCenter();
212912
215907
  SelectMeanCenter();
212913
215908
  });
212914
- debugger;
212915
- jquery_default()('#left ul').find('li').draggable({
212916
- helper: 'clone',
212917
- scope: 'plant'
212918
- });
215909
+ var leftUl = jquery_default()('#left ul');
215910
+ if (leftUl) {
215911
+ leftUl.find('li').draggable({
215912
+ helper: 'clone',
215913
+ scope: 'plant'
215914
+ });
215915
+ }
212919
215916
  var labelText = ''; // 请求过来数据时保存路径文字
212920
215917
  // const pathNo = ''// 请求过来数据时保存路径编号
212921
215918
  ecinc_process.init();
@@ -215763,9 +218760,9 @@ var Centervue_type_script_lang_js_jsPlumb = window.jsPlumb;
215763
218760
  });
215764
218761
  ;// CONCATENATED MODULE: ./packages/ecyoa/yoabase/src/voice/Center/index.vue?vue&type=script&lang=js
215765
218762
  /* harmony default export */ var voice_Centervue_type_script_lang_js = (Centervue_type_script_lang_js);
215766
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/yoabase/src/voice/Center/index.vue?vue&type=style&index=0&id=fd273d64&prod&scoped=true&lang=scss
215767
- var Centervue_type_style_index_0_id_fd273d64_prod_scoped_true_lang_scss = __webpack_require__(413);
215768
- ;// CONCATENATED MODULE: ./packages/ecyoa/yoabase/src/voice/Center/index.vue?vue&type=style&index=0&id=fd273d64&prod&scoped=true&lang=scss
218763
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/yoabase/src/voice/Center/index.vue?vue&type=style&index=0&id=c53b708e&prod&scoped=true&lang=scss
218764
+ var Centervue_type_style_index_0_id_c53b708e_prod_scoped_true_lang_scss = __webpack_require__(7492);
218765
+ ;// CONCATENATED MODULE: ./packages/ecyoa/yoabase/src/voice/Center/index.vue?vue&type=style&index=0&id=c53b708e&prod&scoped=true&lang=scss
215769
218766
 
215770
218767
  ;// CONCATENATED MODULE: ./packages/ecyoa/yoabase/src/voice/Center/index.vue
215771
218768
 
@@ -215778,11 +218775,11 @@ var Centervue_type_style_index_0_id_fd273d64_prod_scoped_true_lang_scss = __webp
215778
218775
 
215779
218776
  var Center_component = normalizeComponent(
215780
218777
  voice_Centervue_type_script_lang_js,
215781
- Centervue_type_template_id_fd273d64_scoped_true_render,
215782
- Centervue_type_template_id_fd273d64_scoped_true_staticRenderFns,
218778
+ Centervue_type_template_id_c53b708e_scoped_true_render,
218779
+ Centervue_type_template_id_c53b708e_scoped_true_staticRenderFns,
215783
218780
  false,
215784
218781
  null,
215785
- "fd273d64",
218782
+ "c53b708e",
215786
218783
  null
215787
218784
 
215788
218785
  )