ember-sortable 4.0.3 → 5.0.0

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.
Files changed (60) hide show
  1. package/README.md +13 -7
  2. package/addon-main.js +2 -0
  3. package/dist/_app_/modifiers/sortable-group.js +1 -0
  4. package/dist/_app_/modifiers/sortable-handle.js +1 -0
  5. package/dist/_app_/modifiers/sortable-item.js +1 -0
  6. package/dist/_app_/services/ember-sortable-internal-state.js +1 -0
  7. package/dist/_rollupPluginBabelHelpers-7ae2993d.js +63 -0
  8. package/dist/_rollupPluginBabelHelpers-7ae2993d.js.map +1 -0
  9. package/{addon → dist}/modifiers/sortable-group.js +41 -104
  10. package/dist/modifiers/sortable-group.js.map +1 -0
  11. package/{addon → dist}/modifiers/sortable-handle.js +9 -3
  12. package/dist/modifiers/sortable-handle.js.map +1 -0
  13. package/{addon → dist}/modifiers/sortable-item.js +61 -147
  14. package/dist/modifiers/sortable-item.js.map +1 -0
  15. package/{addon/services/ember-sortable.js → dist/services/ember-sortable-internal-state.js} +11 -21
  16. package/dist/services/ember-sortable-internal-state.js.map +1 -0
  17. package/{addon → dist}/system/scroll-container.js +8 -7
  18. package/dist/system/scroll-container.js.map +1 -0
  19. package/{addon → dist}/system/scroll-parent.js +9 -7
  20. package/dist/system/scroll-parent.js.map +1 -0
  21. package/{addon-test-support → dist/test-support}/helpers/drag.js +13 -21
  22. package/dist/test-support/helpers/drag.js.map +1 -0
  23. package/{addon-test-support → dist/test-support}/helpers/reorder.js +11 -6
  24. package/dist/test-support/helpers/reorder.js.map +1 -0
  25. package/dist/test-support/index.js +5 -0
  26. package/dist/test-support/index.js.map +1 -0
  27. package/dist/test-support/utils/keyboard.js +33 -0
  28. package/dist/test-support/utils/keyboard.js.map +1 -0
  29. package/{addon-test-support → dist/test-support}/utils/offset.js +5 -3
  30. package/dist/test-support/utils/offset.js.map +1 -0
  31. package/dist/utils/constant.js +12 -0
  32. package/dist/utils/constant.js.map +1 -0
  33. package/{addon → dist}/utils/coordinate.js +5 -4
  34. package/dist/utils/coordinate.js.map +1 -0
  35. package/{addon → dist}/utils/css-calculation.js +5 -3
  36. package/dist/utils/css-calculation.js.map +1 -0
  37. package/{addon → dist}/utils/defaults.js +24 -12
  38. package/dist/utils/defaults.js.map +1 -0
  39. package/dist/utils/keyboard.js +33 -0
  40. package/dist/utils/keyboard.js.map +1 -0
  41. package/package.json +56 -58
  42. package/.huskyrc +0 -5
  43. package/CHANGELOG.md +0 -755
  44. package/CODE_OF_CONDUCT.md +0 -6
  45. package/MIGRATION_GUIDE_MODIFIERS.md +0 -95
  46. package/MIGRATION_GUIDE_V2.md +0 -120
  47. package/Makefile +0 -24
  48. package/RELEASE.md +0 -60
  49. package/V2_MIGRATION_RFC.md +0 -1100
  50. package/addon/utils/constant.js +0 -9
  51. package/addon/utils/keyboard.js +0 -32
  52. package/addon-test-support/helpers/index.js +0 -4
  53. package/addon-test-support/utils/keyboard.js +0 -32
  54. package/app/modifiers/sortable-group.js +0 -1
  55. package/app/modifiers/sortable-handle.js +0 -1
  56. package/app/modifiers/sortable-item.js +0 -1
  57. package/app/services/ember-sortable-internal-state.js +0 -1
  58. package/config/environment.js +0 -5
  59. package/demo.gif +0 -0
  60. package/index.js +0 -5
@@ -1,20 +1,21 @@
1
- /* eslint-disable ember/no-computed-properties-in-native-classes */
1
+ import { _ as _applyDecoratedDescriptor, a as _defineProperty, b as _initializerDefineProperty } from '../_rollupPluginBabelHelpers-7ae2993d.js';
2
2
  import Modifier from 'ember-modifier';
3
- import { Promise, defer } from 'rsvp';
3
+ import { defer, Promise as Promise$1 } from 'rsvp';
4
4
  import { action, set } from '@ember/object';
5
- import { DRAG_ACTIONS, ELEMENT_CLICK_ACTION, END_ACTIONS } from '../utils/constant';
6
- import { run, throttle, bind, scheduleOnce, later } from '@ember/runloop';
5
+ import { DRAG_ACTIONS, END_ACTIONS, ELEMENT_CLICK_ACTION } from '../utils/constant.js';
6
+ import { bind, scheduleOnce, throttle, later, run } from '@ember/runloop';
7
7
  import { DEBUG } from '@glimmer/env';
8
- import { getX, getY } from '../utils/coordinate';
9
- import ScrollContainer from '../system/scroll-container';
10
- import scrollParent from '../system/scroll-parent';
11
- import { getBorderSpacing } from '../utils/css-calculation';
8
+ import { getX, getY } from '../utils/coordinate.js';
9
+ import ScrollContainer from '../system/scroll-container.js';
10
+ import scrollParent from '../system/scroll-parent.js';
11
+ import { getBorderSpacing } from '../utils/css-calculation.js';
12
12
  import { buildWaiter } from '@ember/test-waiters';
13
- import { inject as service } from '@ember/service';
13
+ import { inject } from '@ember/service';
14
14
  import { assert, deprecate } from '@ember/debug';
15
15
  import { registerDestructor } from '@ember/destroyable';
16
16
  import { isTesting } from '@embroider/macros';
17
17
 
18
+ var _dec, _class, _descriptor;
18
19
  const sortableItemWaiter = buildWaiter('sortable-item-waiter');
19
20
 
20
21
  /**
@@ -36,12 +37,7 @@ const sortableItemWaiter = buildWaiter('sortable-item-waiter');
36
37
  * {{/each}}
37
38
  * </ol>
38
39
  */
39
- export default class SortableItemModifier extends Modifier {
40
- className = 'sortable-item';
41
-
42
- @service('ember-sortable-internal-state') sortableService;
43
-
44
- _sortableGroup;
40
+ let SortableItemModifier = (_dec = inject('ember-sortable-internal-state'), (_class = class SortableItemModifier extends Modifier {
45
41
  /**
46
42
  * The SortableGroupModifier this item belongs to. Assigned by the group
47
43
  * when it inspects all the items in the list
@@ -51,22 +47,16 @@ export default class SortableItemModifier extends Modifier {
51
47
  get sortableGroup() {
52
48
  if (this._sortableGroup === undefined) {
53
49
  this._sortableGroup = this.sortableService.fetchGroup(this.groupName);
54
- assert(
55
- `No sortable group named ${this.groupName} found. Please check that the groups and items have the same groupName`,
56
- this._sortableGroup !== undefined
57
- );
50
+ assert(`No sortable group named ${this.groupName} found. Please check that the groups and items have the same groupName`, this._sortableGroup !== undefined);
58
51
  }
59
52
  return this._sortableGroup.groupModifier;
60
53
  }
61
-
62
54
  get model() {
63
55
  return this.named.model;
64
56
  }
65
-
66
57
  get direction() {
67
58
  return this.sortableGroup?.direction;
68
59
  }
69
-
70
60
  get groupDisabled() {
71
61
  return this.sortableGroup?.disabled;
72
62
  }
@@ -110,21 +100,16 @@ export default class SortableItemModifier extends Modifier {
110
100
  @default false
111
101
  */
112
102
  get isDisabled() {
113
- deprecate(
114
- '"isDraggingDisabled" is deprecated. Please migrate to "disabled" named argument',
115
- !('isDraggingDisabled' in this.named),
116
- {
117
- id: 'ember-sortable.is-dragging-disabled',
118
- url: 'https://github.com/adopted-ember-addons/ember-sortable#readme',
119
- until: '3.0.0',
120
- for: 'ember-sortable',
121
- since: {
122
- available: '2.2.6',
123
- enabled: '2.2.6',
124
- },
103
+ deprecate('"isDraggingDisabled" is deprecated. Please migrate to "disabled" named argument', !('isDraggingDisabled' in this.named), {
104
+ id: 'ember-sortable.is-dragging-disabled',
105
+ url: 'https://github.com/adopted-ember-addons/ember-sortable#readme',
106
+ until: '3.0.0',
107
+ for: 'ember-sortable',
108
+ since: {
109
+ available: '2.2.6',
110
+ enabled: '2.2.6'
125
111
  }
126
- );
127
-
112
+ });
128
113
  return this.groupDisabled || this.named.disabled || this.named.isDraggingDisabled || false;
129
114
  }
130
115
 
@@ -142,9 +127,6 @@ export default class SortableItemModifier extends Modifier {
142
127
  get handle() {
143
128
  return this.named.handle || '[data-sortable-handle]';
144
129
  }
145
-
146
- handleElement;
147
-
148
130
  /**
149
131
  * Tolerance, in pixels, for when sorting should start.
150
132
  * If specified, sorting will not start until after mouse
@@ -167,7 +149,7 @@ export default class SortableItemModifier extends Modifier {
167
149
  * @default false
168
150
  * @protected
169
151
  */
170
- _isDragging = false;
152
+
171
153
  get isDragging() {
172
154
  return this._isDragging;
173
155
  }
@@ -188,7 +170,7 @@ export default class SortableItemModifier extends Modifier {
188
170
  @default null
189
171
  */
190
172
  get onDragStart() {
191
- return this.named.onDragStart || ((item) => item);
173
+ return this.named.onDragStart || (item => item);
192
174
  }
193
175
 
194
176
  /**
@@ -199,7 +181,7 @@ export default class SortableItemModifier extends Modifier {
199
181
  @default null
200
182
  */
201
183
  get onDragStop() {
202
- return this.named.onDragStop || ((item) => item);
184
+ return this.named.onDragStop || (item => item);
203
185
  }
204
186
 
205
187
  /**
@@ -208,7 +190,7 @@ export default class SortableItemModifier extends Modifier {
208
190
  @type Boolean
209
191
  @default false
210
192
  */
211
- _isDropping = false;
193
+
212
194
  get isDropping() {
213
195
  return this._isDropping;
214
196
  }
@@ -227,7 +209,6 @@ export default class SortableItemModifier extends Modifier {
227
209
  @type Boolean
228
210
  @default false
229
211
  */
230
- wasDropped = false;
231
212
 
232
213
  /**
233
214
  @property isBusy
@@ -247,7 +228,6 @@ export default class SortableItemModifier extends Modifier {
247
228
  /**
248
229
  @method mouseDown
249
230
  */
250
- @action
251
231
  mouseDown(event) {
252
232
  if (event.which !== 1) {
253
233
  return;
@@ -255,16 +235,12 @@ export default class SortableItemModifier extends Modifier {
255
235
  if (event.ctrlKey) {
256
236
  return;
257
237
  }
258
-
259
238
  this._primeDrag(event);
260
239
  }
261
-
262
- @action
263
240
  keyDown(event) {
264
241
  if (this.isDisabled) {
265
242
  return;
266
243
  }
267
-
268
244
  this.setupHandleElement();
269
245
 
270
246
  // If the event is coming from within the item, we do not want to activate keyboard reorder mode.
@@ -278,7 +254,6 @@ export default class SortableItemModifier extends Modifier {
278
254
  /**
279
255
  @method touchStart
280
256
  */
281
- @action
282
257
  touchStart(event) {
283
258
  this._primeDrag(event);
284
259
  }
@@ -291,7 +266,6 @@ export default class SortableItemModifier extends Modifier {
291
266
  if (!el) {
292
267
  return;
293
268
  }
294
-
295
269
  el.style.transition = 'none';
296
270
  }
297
271
 
@@ -303,10 +277,8 @@ export default class SortableItemModifier extends Modifier {
303
277
  if (!el) {
304
278
  return;
305
279
  }
306
-
307
280
  delete this._y;
308
281
  delete this._x;
309
-
310
282
  el.style.transform = '';
311
283
  }
312
284
 
@@ -318,7 +290,6 @@ export default class SortableItemModifier extends Modifier {
318
290
  if (!el) {
319
291
  return;
320
292
  }
321
-
322
293
  el.style.transition = '';
323
294
  }
324
295
 
@@ -333,28 +304,21 @@ export default class SortableItemModifier extends Modifier {
333
304
  if (this.isDisabled) {
334
305
  return;
335
306
  }
336
-
337
307
  if (this.handleElement && !startEvent.target.closest(this.handle)) {
338
308
  return;
339
309
  }
340
-
341
310
  startEvent.preventDefault();
342
311
  startEvent.stopPropagation();
343
-
344
312
  this._prepareDragListener = bind(this, this._prepareDrag, startEvent);
345
-
346
- DRAG_ACTIONS.forEach((event) => window.addEventListener(event, this._prepareDragListener));
347
-
313
+ DRAG_ACTIONS.forEach(event => window.addEventListener(event, this._prepareDragListener));
348
314
  this._cancelStartDragListener = () => {
349
- DRAG_ACTIONS.forEach((event) => window.removeEventListener(event, this._prepareDragListener));
315
+ DRAG_ACTIONS.forEach(event => window.removeEventListener(event, this._prepareDragListener));
350
316
  };
351
-
352
317
  const selfCancellingCallback = () => {
353
- END_ACTIONS.forEach((event) => window.removeEventListener(event, selfCancellingCallback));
318
+ END_ACTIONS.forEach(event => window.removeEventListener(event, selfCancellingCallback));
354
319
  this._cancelStartDragListener();
355
320
  };
356
-
357
- END_ACTIONS.forEach((event) => window.addEventListener(event, selfCancellingCallback));
321
+ END_ACTIONS.forEach(event => window.addEventListener(event, selfCancellingCallback));
358
322
  }
359
323
 
360
324
  /**
@@ -369,9 +333,8 @@ export default class SortableItemModifier extends Modifier {
369
333
  let distance = this.distance;
370
334
  let dx = Math.abs(getX(startEvent) - getX(event));
371
335
  let dy = Math.abs(getY(startEvent) - getY(event));
372
-
373
336
  if (distance <= dx || distance <= dy) {
374
- DRAG_ACTIONS.forEach((event) => window.removeEventListener(event, this._prepareDragListener));
337
+ DRAG_ACTIONS.forEach(event => window.removeEventListener(event, this._prepareDragListener));
375
338
  this._startDrag(startEvent);
376
339
  }
377
340
  }
@@ -387,22 +350,17 @@ export default class SortableItemModifier extends Modifier {
387
350
  if (this.isBusy) {
388
351
  return;
389
352
  }
390
-
391
353
  let drag = this._makeDragHandler(event);
392
- let dragThrottled = (ev) => throttle(this, drag, ev, 16, false);
393
-
354
+ let dragThrottled = ev => throttle(this, drag, ev, 16, false);
394
355
  let drop = () => {
395
- DRAG_ACTIONS.forEach((event) => window.removeEventListener(event, dragThrottled));
396
- END_ACTIONS.forEach((event) => window.removeEventListener(event, drop));
397
-
356
+ DRAG_ACTIONS.forEach(event => window.removeEventListener(event, dragThrottled));
357
+ END_ACTIONS.forEach(event => window.removeEventListener(event, drop));
398
358
  run(() => {
399
359
  this._drop();
400
360
  });
401
361
  };
402
-
403
- DRAG_ACTIONS.forEach((event) => window.addEventListener(event, dragThrottled));
404
- END_ACTIONS.forEach((event) => window.addEventListener(event, drop));
405
-
362
+ DRAG_ACTIONS.forEach(event => window.addEventListener(event, dragThrottled));
363
+ END_ACTIONS.forEach(event => window.addEventListener(event, drop));
406
364
  this.sortableGroup.prepare();
407
365
  set(this, 'isDragging', true);
408
366
  this.onDragStart(this.model);
@@ -414,7 +372,6 @@ export default class SortableItemModifier extends Modifier {
414
372
  @property maxScrollSpeed
415
373
  @default 20
416
374
  */
417
- maxScrollSpeed = 20;
418
375
 
419
376
  _scrollOnEdges(drag) {
420
377
  let groupDirection = this.direction;
@@ -436,9 +393,8 @@ export default class SortableItemModifier extends Modifier {
436
393
  },
437
394
  get bottom() {
438
395
  return this.top + this.height;
439
- },
396
+ }
440
397
  };
441
-
442
398
  let leadingEdgeKey, trailingEdgeKey, scrollKey, pageKey;
443
399
  if (groupDirection === 'x') {
444
400
  leadingEdgeKey = 'left';
@@ -451,7 +407,6 @@ export default class SortableItemModifier extends Modifier {
451
407
  scrollKey = 'scrollTop';
452
408
  pageKey = 'pageY';
453
409
  }
454
-
455
410
  let createFakeEvent = () => {
456
411
  if (this._pageX == null && this._pageY == null) {
457
412
  return;
@@ -460,7 +415,7 @@ export default class SortableItemModifier extends Modifier {
460
415
  pageX: this._pageX,
461
416
  pageY: this._pageY,
462
417
  clientX: this._pageX,
463
- clientY: this._pageY,
418
+ clientY: this._pageY
464
419
  };
465
420
  };
466
421
 
@@ -471,20 +426,16 @@ export default class SortableItemModifier extends Modifier {
471
426
  let leadingEdge = itemContainer[leadingEdgeKey];
472
427
  let trailingEdge = itemContainer[trailingEdgeKey];
473
428
  let scroll = scrollContainer[scrollKey]();
474
-
475
429
  let delta = 0;
476
430
  if (trailingEdge >= scrollContainer[trailingEdgeKey]) {
477
431
  delta = trailingEdge - scrollContainer[trailingEdgeKey];
478
432
  } else if (leadingEdge <= scrollContainer[leadingEdgeKey]) {
479
433
  delta = leadingEdge - scrollContainer[leadingEdgeKey];
480
434
  }
481
-
482
435
  if (delta !== 0) {
483
436
  let speed = this.maxScrollSpeed;
484
437
  delta = Math.min(Math.max(delta, -1 * speed), speed);
485
-
486
438
  delta = scrollContainer[scrollKey](scroll + delta) - scroll;
487
-
488
439
  let event = createFakeEvent();
489
440
  if (event) {
490
441
  if (scrollContainer.isWindow) {
@@ -497,7 +448,6 @@ export default class SortableItemModifier extends Modifier {
497
448
  requestAnimationFrame(checkScrollBounds);
498
449
  }
499
450
  };
500
-
501
451
  if (!this.disableCheckScrollBounds) {
502
452
  requestAnimationFrame(checkScrollBounds);
503
453
  }
@@ -515,33 +465,27 @@ export default class SortableItemModifier extends Modifier {
515
465
  let elementOrigin;
516
466
  let scrollOrigin;
517
467
  let parentElement = this.element.parentNode;
518
-
519
468
  if (groupDirection === 'x') {
520
469
  dragOrigin = getX(startEvent);
521
470
  elementOrigin = this.x;
522
471
  scrollOrigin = parentElement.getBoundingClientRect().left;
523
-
524
- return (event) => {
472
+ return event => {
525
473
  this._pageX = getX(event);
526
474
  let dx = this._pageX - dragOrigin;
527
475
  let scrollX = parentElement.getBoundingClientRect().left;
528
476
  let x = elementOrigin + dx + (scrollOrigin - scrollX);
529
-
530
477
  this._drag(x);
531
478
  };
532
479
  }
533
-
534
480
  if (groupDirection === 'y') {
535
481
  dragOrigin = getY(startEvent);
536
482
  elementOrigin = this.y;
537
483
  scrollOrigin = parentElement.getBoundingClientRect().top;
538
-
539
- return (event) => {
484
+ return event => {
540
485
  this._pageY = getY(event);
541
486
  let dy = this._pageY - dragOrigin;
542
487
  let scrollY = parentElement.getBoundingClientRect().top;
543
488
  let y = elementOrigin + dy + (scrollOrigin - scrollY);
544
-
545
489
  this._drag(y);
546
490
  };
547
491
  }
@@ -563,19 +507,15 @@ export default class SortableItemModifier extends Modifier {
563
507
  if (!this.element || !this.element) {
564
508
  return;
565
509
  }
566
-
567
510
  const groupDirection = this.direction;
568
-
569
511
  if (groupDirection === 'x') {
570
512
  let x = this.x;
571
513
  let dx = x - this.element.offsetLeft + parseFloat(getComputedStyle(this.element).marginLeft);
572
-
573
514
  this.element.style.transform = `translateX(${dx}px)`;
574
515
  }
575
516
  if (groupDirection === 'y') {
576
517
  let y = this.y;
577
518
  let dy = y - this.element.offsetTop;
578
-
579
519
  this.element.style.transform = `translateY(${dy}px)`;
580
520
  }
581
521
  }
@@ -590,14 +530,12 @@ export default class SortableItemModifier extends Modifier {
590
530
  }
591
531
  let updateInterval = this.updateInterval;
592
532
  const groupDirection = this.direction;
593
-
594
533
  if (groupDirection === 'x') {
595
534
  this.x = dimension;
596
535
  }
597
536
  if (groupDirection === 'y') {
598
537
  this.y = dimension;
599
538
  }
600
-
601
539
  throttle(this, this.sortableGroup.update, updateInterval);
602
540
  }
603
541
 
@@ -609,14 +547,10 @@ export default class SortableItemModifier extends Modifier {
609
547
  if (!this.element) {
610
548
  return;
611
549
  }
612
-
613
550
  let transitionPromise = this._waitForTransition();
614
-
615
551
  this._preventClick();
616
-
617
552
  set(this, 'isDragging', false);
618
553
  set(this, 'isDropping', true);
619
-
620
554
  this.sortableGroup.update();
621
555
  transitionPromise.then(() => this._complete());
622
556
  }
@@ -626,11 +560,10 @@ export default class SortableItemModifier extends Modifier {
626
560
  @private
627
561
  */
628
562
  _preventClick() {
629
- const selfCancellingCallback = (event) => {
563
+ const selfCancellingCallback = event => {
630
564
  this.element.removeEventListener(ELEMENT_CLICK_ACTION, selfCancellingCallback);
631
565
  this._preventClickHandler(event);
632
566
  };
633
-
634
567
  this.element.addEventListener(ELEMENT_CLICK_ACTION, selfCancellingCallback);
635
568
  }
636
569
 
@@ -651,13 +584,10 @@ export default class SortableItemModifier extends Modifier {
651
584
  */
652
585
  _waitForTransition() {
653
586
  let waiterToken;
654
-
655
587
  if (DEBUG) {
656
588
  waiterToken = sortableItemWaiter.beginAsync();
657
589
  }
658
-
659
590
  let transitionPromise;
660
-
661
591
  if (this.isAnimated) {
662
592
  const deferred = defer();
663
593
  this.element.addEventListener('transitionend', deferred.resolve);
@@ -666,15 +596,13 @@ export default class SortableItemModifier extends Modifier {
666
596
  });
667
597
  } else {
668
598
  const duration = this.isAnimated ? this.transitionDuration : 200;
669
- transitionPromise = new Promise((resolve) => later(resolve, duration));
599
+ transitionPromise = new Promise$1(resolve => later(resolve, duration));
670
600
  }
671
-
672
601
  if (DEBUG) {
673
602
  transitionPromise = transitionPromise.finally(() => {
674
603
  sortableItemWaiter.endAsync(waiterToken);
675
604
  });
676
605
  }
677
-
678
606
  return transitionPromise;
679
607
  }
680
608
 
@@ -688,15 +616,12 @@ export default class SortableItemModifier extends Modifier {
688
616
  set(this, 'wasDropped', true);
689
617
  this.sortableGroup.commit();
690
618
  }
691
-
692
619
  get isAnimated() {
693
620
  if (!this.element) {
694
621
  return undefined;
695
622
  }
696
-
697
623
  let el = this.element;
698
624
  let transitionProperty = getComputedStyle(el).transitionProperty;
699
-
700
625
  return /all|transform/.test(transitionProperty) && this.transitionDuration > 0;
701
626
  }
702
627
 
@@ -709,18 +634,14 @@ export default class SortableItemModifier extends Modifier {
709
634
  let el = this.element;
710
635
  let rule = getComputedStyle(el).transitionDuration;
711
636
  let match = rule.match(/([\d.]+)([ms]*)/);
712
-
713
637
  if (match) {
714
638
  let value = parseFloat(match[1]);
715
639
  let unit = match[2];
716
-
717
640
  if (unit === 's') {
718
641
  value = value * 1000;
719
642
  }
720
-
721
643
  return value;
722
644
  }
723
-
724
645
  return 0;
725
646
  }
726
647
 
@@ -734,7 +655,6 @@ export default class SortableItemModifier extends Modifier {
734
655
  let marginLeft = parseFloat(getComputedStyle(this.element).marginLeft);
735
656
  this._x = this.element.scrollLeft + this.element.offsetLeft - marginLeft;
736
657
  }
737
-
738
658
  return this._x;
739
659
  }
740
660
  set x(value) {
@@ -753,10 +673,8 @@ export default class SortableItemModifier extends Modifier {
753
673
  if (this._y === undefined) {
754
674
  this._y = this.element.offsetTop;
755
675
  }
756
-
757
676
  return this._y;
758
677
  }
759
-
760
678
  set y(value) {
761
679
  if (value !== this._y) {
762
680
  this._y = value;
@@ -773,11 +691,9 @@ export default class SortableItemModifier extends Modifier {
773
691
  let el = this.element;
774
692
  let width = el.offsetWidth;
775
693
  let elStyles = getComputedStyle(el);
776
-
777
694
  width += parseInt(elStyles.marginLeft) + parseInt(elStyles.marginRight); // equal to jQuery.outerWidth(true)
778
695
 
779
696
  width += getBorderSpacing(el).horizontal;
780
-
781
697
  return width;
782
698
  }
783
699
 
@@ -789,76 +705,71 @@ export default class SortableItemModifier extends Modifier {
789
705
  get height() {
790
706
  let el = this.element;
791
707
  let height = el.offsetHeight;
792
-
793
708
  let marginBottom = parseFloat(getComputedStyle(el).marginBottom);
794
709
  height += marginBottom;
795
-
796
710
  height += getBorderSpacing(el).vertical;
797
-
798
711
  return height;
799
712
  }
800
-
801
713
  addEventListener() {
802
714
  this.element.addEventListener('keydown', this.keyDown);
803
715
  this.element.addEventListener('mousedown', this.mouseDown);
804
716
  this.element.addEventListener('touchstart', this.touchStart);
805
717
  this.listenersRegistered = true;
806
718
  }
807
-
808
719
  removeEventListener() {
809
720
  this.element.removeEventListener('keydown', this.keyDown);
810
721
  this.element.removeEventListener('mousedown', this.mouseDown);
811
722
  this.element.removeEventListener('touchstart', this.touchStart);
812
723
  this.listenersRegistered = false;
813
724
  }
814
-
815
725
  setupHandleElement() {
816
726
  this.handleElement = this.element.querySelector(this.handle);
817
-
818
727
  if (this.handleElement) {
819
728
  this.handleElement.style['touch-action'] = 'none';
820
729
  } else {
821
730
  this.element.style['touch-action'] = 'none';
822
731
  }
823
732
  }
824
-
825
- element;
826
- didSetup = false;
827
-
828
- /**
829
- * tracks if event listeners have been registered. Registering event handlers is unnecessary if item is disabled.
830
- */
831
- listenersRegistered = false;
832
-
833
733
  constructor(owner, args) {
834
734
  super(owner, args);
735
+ _defineProperty(this, "className", 'sortable-item');
736
+ _initializerDefineProperty(this, "sortableService", _descriptor, this);
737
+ _defineProperty(this, "_sortableGroup", void 0);
738
+ _defineProperty(this, "handleElement", void 0);
739
+ _defineProperty(this, "_isDragging", false);
740
+ _defineProperty(this, "_isDropping", false);
741
+ _defineProperty(this, "wasDropped", false);
742
+ _defineProperty(this, "maxScrollSpeed", 20);
743
+ _defineProperty(this, "element", void 0);
744
+ _defineProperty(this, "didSetup", false);
745
+ _defineProperty(this, "listenersRegistered", false);
835
746
  registerDestructor(this, cleanup);
836
747
  }
837
-
838
748
  modify(element, _positional, named) {
839
749
  this.element = element;
840
750
  this.named = named;
841
-
842
751
  this.element.classList.add(this.className);
843
752
 
844
753
  // Instead of using `event.preventDefault()` in the 'primeDrag' event,
845
754
  // (doesn't work in Chrome 56), we set touch-action: none as a workaround.
846
755
  this.setupHandleElement();
847
-
848
756
  if (!this.didSetup) {
849
757
  this.element.dataset.sortableItem = true;
850
758
  this.sortableService.registerItem(this.groupName, this);
851
759
  this.didSetup = true;
852
760
  }
853
-
854
761
  if (this.named.disabled && this.listenersRegistered) {
855
762
  this.removeEventListener();
856
763
  } else if (!this.named.disabled && !this.listenersRegistered) {
857
764
  this.addEventListener();
858
765
  }
859
766
  }
860
- }
861
-
767
+ }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "sortableService", [_dec], {
768
+ configurable: true,
769
+ enumerable: true,
770
+ writable: true,
771
+ initializer: null
772
+ }), _applyDecoratedDescriptor(_class.prototype, "mouseDown", [action], Object.getOwnPropertyDescriptor(_class.prototype, "mouseDown"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "keyDown", [action], Object.getOwnPropertyDescriptor(_class.prototype, "keyDown"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "touchStart", [action], Object.getOwnPropertyDescriptor(_class.prototype, "touchStart"), _class.prototype)), _class));
862
773
  /**
863
774
  *
864
775
  * @param {SortableItemModifier} instance
@@ -867,3 +778,6 @@ function cleanup(instance) {
867
778
  instance.removeEventListener();
868
779
  instance.sortableService.deregisterItem(instance.groupName, instance);
869
780
  }
781
+
782
+ export { SortableItemModifier as default };
783
+ //# sourceMappingURL=sortable-item.js.map