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