@nativescript-community/ui-drawer 0.1.10 → 0.1.12

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 (4) hide show
  1. package/index.d.ts +19 -13
  2. package/index.js +152 -134
  3. package/index.js.map +1 -1
  4. package/package.json +2 -2
package/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export declare const topDrawerModeProperty: Property<Drawer, Mode>;
20
20
  export declare const bottomDrawerModeProperty: Property<Drawer, Mode>;
21
21
  export declare const translationFunctionProperty: Property<Drawer, Function>;
22
22
  export declare const backDropEnabledProperty: Property<Drawer, boolean>;
23
- export declare const startingSideProperty: Property<Drawer, Side | VerticalSide>;
23
+ export declare const startingSideProperty: Property<Drawer, Side | VerticalSide | "none">;
24
24
  export declare class Drawer extends GridLayout {
25
25
  leftDrawer?: View;
26
26
  rightDrawer?: View;
@@ -28,6 +28,10 @@ export declare class Drawer extends GridLayout {
28
28
  topDrawer?: View;
29
29
  mainContent: View;
30
30
  backDrop: View;
31
+ leftDrawerMode: any;
32
+ rightDrawerMode: any;
33
+ bottomDrawerMode: any;
34
+ topDrawerMode: any;
31
35
  gestureMinDist: number;
32
36
  gestureHandlerOptions: any;
33
37
  waitFor: any[];
@@ -50,18 +54,18 @@ export declare class Drawer extends GridLayout {
50
54
  panGestureHandler: PanGestureHandler;
51
55
  gestureEnabled: boolean;
52
56
  backdropTapGestureEnabled: boolean;
53
- private isPanning;
54
- private isAnimating;
55
- private prevDeltaX;
56
- private prevDeltaY;
57
- private viewWidth;
58
- private viewHeight;
59
- private translationX;
60
- private translationY;
61
- private showingSide;
62
- private startingSide;
63
- private needToSetSide;
64
- private modes;
57
+ startingSide: Side | VerticalSide;
58
+ private mIsPanning;
59
+ private mIsAnimating;
60
+ private mPrevDeltaX;
61
+ private mPrevDeltaY;
62
+ private mViewWidth;
63
+ private mViewHeight;
64
+ private mTranslationX;
65
+ private mTranslationY;
66
+ private mShowingSide;
67
+ private mNeedToSetSide;
68
+ private mModes;
65
69
  translationFunction?: (side: Side | VerticalSide, width: number, value: number, delta: number, progress: number) => {
66
70
  leftDrawer?: AnimationDefinition;
67
71
  rightDrawer?: AnimationDefinition;
@@ -73,6 +77,8 @@ export declare class Drawer extends GridLayout {
73
77
  backDropEnabled: boolean;
74
78
  constructor();
75
79
  _onBackDropEnabledValueChanged(): void;
80
+ getActualSide(side: Side | VerticalSide): Side | VerticalSide;
81
+ updateStartingSide(side: any): void;
76
82
  onBackdropTap(): void;
77
83
  initGestures(): void;
78
84
  initNativeView(): void;
package/index.js CHANGED
@@ -73,8 +73,10 @@ export const backDropEnabledProperty = new Property({
73
73
  name: 'backDropEnabled'
74
74
  });
75
75
  export const startingSideProperty = new Property({
76
- name: 'startingSide'
76
+ name: 'startingSide',
77
+ defaultValue: null
77
78
  });
79
+ const SIDES = ['left', 'right', 'top', 'bottom'];
78
80
  let Drawer = class Drawer extends GridLayout {
79
81
  constructor() {
80
82
  super();
@@ -96,17 +98,16 @@ let Drawer = class Drawer extends GridLayout {
96
98
  this.topClosedDrawerAllowDraging = true;
97
99
  this.gestureEnabled = true;
98
100
  this.backdropTapGestureEnabled = true;
99
- this.isPanning = false;
100
- this.isAnimating = false;
101
- this.prevDeltaX = 0;
102
- this.prevDeltaY = 0;
103
- this.viewWidth = { left: undefined, right: undefined };
104
- this.viewHeight = { bottom: undefined, top: undefined };
105
- this.translationX = { left: 0, right: 0 };
106
- this.translationY = { bottom: 0, top: 0 };
107
- this.showingSide = null;
108
- this.startingSide = null;
109
- this.modes = { left: 'slide', right: 'slide', bottom: 'slide', top: 'slide' };
101
+ this.mIsPanning = false;
102
+ this.mIsAnimating = false;
103
+ this.mPrevDeltaX = 0;
104
+ this.mPrevDeltaY = 0;
105
+ this.mViewWidth = { left: undefined, right: undefined };
106
+ this.mViewHeight = { bottom: undefined, top: undefined };
107
+ this.mTranslationX = { left: 0, right: 0 };
108
+ this.mTranslationY = { bottom: 0, top: 0 };
109
+ this.mShowingSide = null;
110
+ this.mModes = { left: 'slide', right: 'slide', bottom: 'slide', top: 'slide' };
110
111
  this.backDropEnabled = true;
111
112
  this.isPassThroughParentEnabled = true;
112
113
  }
@@ -126,17 +127,30 @@ let Drawer = class Drawer extends GridLayout {
126
127
  [backDropEnabledProperty.setNative](value) {
127
128
  this._onBackDropEnabledValueChanged();
128
129
  }
130
+ getActualSide(side) {
131
+ return SIDES.indexOf(side) >= 0 ? side : null;
132
+ }
133
+ updateStartingSide(side) {
134
+ startingSideProperty.nativeValueChange(this, side);
135
+ }
129
136
  [startingSideProperty.setNative](value) {
130
- if (!this.isLayoutValid) {
131
- this.showingSide = value;
137
+ value = this.getActualSide(value);
138
+ if (value === this.mShowingSide) {
139
+ return;
140
+ }
141
+ if (value && !this.mViewWidth[value] && !this.mViewHeight[value]) {
142
+ this.mShowingSide = value;
132
143
  const drawer = this[value + 'Drawer'];
133
144
  if (drawer) {
134
- drawer.visibility = this.showingSide === value ? 'visible' : 'hidden';
145
+ drawer.visibility = this.mShowingSide === value ? 'visible' : 'hidden';
135
146
  }
136
147
  }
137
- else {
148
+ else if (value) {
138
149
  this.open(value, 0);
139
150
  }
151
+ else {
152
+ this.close(value, 0);
153
+ }
140
154
  }
141
155
  onBackdropTap() {
142
156
  this.close();
@@ -187,18 +201,19 @@ let Drawer = class Drawer extends GridLayout {
187
201
  return result;
188
202
  }
189
203
  shouldStartGesture(data) {
190
- const width = Math.round(Utils.layout.toDeviceIndependentPixels(this.getMeasuredWidth()));
191
- const height = Math.round(Utils.layout.toDeviceIndependentPixels(this.getMeasuredHeight()));
192
- const side = this.showingSide;
204
+ const landscape = Application.orientation() === 'landscape';
205
+ const width = Utils.layout.toDeviceIndependentPixels(this.getMeasuredWidth());
206
+ const height = Utils.layout.toDeviceIndependentPixels(this.getMeasuredHeight());
207
+ const side = this.mShowingSide;
193
208
  if (side) {
194
209
  if (side === 'left' || side === 'right') {
195
- const viewWidth = this.viewWidth[side];
210
+ const viewWidth = this.mViewWidth[side];
196
211
  if ((side === 'left' && data.x <= viewWidth) || (side === 'right' && data.x >= width - viewWidth)) {
197
212
  return this.shouldStartSheetDraggingInternal(side);
198
213
  }
199
214
  }
200
215
  else {
201
- const viewHeight = this.viewHeight[side];
216
+ const viewHeight = this.mViewHeight[side];
202
217
  if ((side === 'top' && data.y <= viewHeight) || (side === 'bottom' && data.y >= height - viewHeight)) {
203
218
  return this.shouldStartSheetDraggingInternal(side);
204
219
  }
@@ -221,7 +236,7 @@ let Drawer = class Drawer extends GridLayout {
221
236
  needToSetSide = 'top';
222
237
  }
223
238
  if (needToSetSide && this[needToSetSide + 'ClosedDrawerAllowDraging']) {
224
- this.needToSetSide = needToSetSide;
239
+ this.mNeedToSetSide = needToSetSide;
225
240
  return true;
226
241
  }
227
242
  }
@@ -229,24 +244,25 @@ let Drawer = class Drawer extends GridLayout {
229
244
  }
230
245
  onGestureState(args) {
231
246
  const { state, prevState, extraData, view } = args.data;
232
- if (state === GestureState.ACTIVE && !this.showingSide) {
233
- if (this.needToSetSide === 'left') {
247
+ if (state === GestureState.ACTIVE && !this.mShowingSide) {
248
+ this.notify({ eventName: 'start', side: this.mNeedToSetSide });
249
+ if (this.mNeedToSetSide === 'left') {
234
250
  this.leftDrawer.visibility = 'visible';
235
251
  }
236
- else if (this.needToSetSide === 'right') {
252
+ else if (this.mNeedToSetSide === 'right') {
237
253
  this.rightDrawer.visibility = 'visible';
238
254
  }
239
- else if (this.needToSetSide === 'bottom') {
255
+ else if (this.mNeedToSetSide === 'bottom') {
240
256
  this.bottomDrawer.visibility = 'visible';
241
257
  }
242
- else if (this.needToSetSide === 'top') {
258
+ else if (this.mNeedToSetSide === 'top') {
243
259
  this.topDrawer.visibility = 'visible';
244
260
  }
245
261
  }
246
262
  this.updateIsPanning(state);
247
263
  if (prevState === GestureState.ACTIVE) {
248
- this.needToSetSide = null;
249
- const side = this.showingSide;
264
+ const side = this.mShowingSide || this.mNeedToSetSide;
265
+ this.mNeedToSetSide = null;
250
266
  if (!side || (this.shouldPan && !this.shouldPan(side))) {
251
267
  return;
252
268
  }
@@ -254,10 +270,10 @@ let Drawer = class Drawer extends GridLayout {
254
270
  const dragToss = 0.05;
255
271
  let destSnapPoint = 0;
256
272
  if (side === 'left' || side === 'right') {
257
- const viewWidth = this.viewWidth[side];
258
- const viewX = this.translationX[side] - viewWidth;
259
- const x = translationX - this.prevDeltaX;
260
- this.prevDeltaX = 0;
273
+ const viewWidth = this.mViewWidth[side];
274
+ const viewX = this.mTranslationX[side] - viewWidth;
275
+ const x = translationX - this.mPrevDeltaX;
276
+ this.mPrevDeltaX = 0;
261
277
  const totalDelta = x + dragToss * velocityX;
262
278
  if (side === 'left') {
263
279
  if (totalDelta < -DEFAULT_TRIGGER_WIDTH) {
@@ -287,10 +303,10 @@ let Drawer = class Drawer extends GridLayout {
287
303
  }
288
304
  }
289
305
  else {
290
- const viewHeight = this.viewHeight[side];
291
- const viewY = this.translationY[side] - viewHeight;
292
- const y = translationY - this.prevDeltaY;
293
- this.prevDeltaY = 0;
306
+ const viewHeight = this.mViewHeight[side];
307
+ const viewY = this.mTranslationY[side] - viewHeight;
308
+ const y = translationY - this.mPrevDeltaY;
309
+ this.mPrevDeltaY = 0;
294
310
  const totalDelta = y + dragToss * velocityY;
295
311
  if (side === 'top') {
296
312
  if (totalDelta < -DEFAULT_TRIGGER_HEIGHT) {
@@ -324,61 +340,61 @@ let Drawer = class Drawer extends GridLayout {
324
340
  }
325
341
  onGestureTouch(args) {
326
342
  const data = args.data;
327
- const side = this.showingSide || this.needToSetSide;
328
- if (data.state !== GestureState.ACTIVE || !side || this.isAnimating) {
343
+ const side = this.mShowingSide || this.mNeedToSetSide;
344
+ if (data.state !== GestureState.ACTIVE || !side || this.mIsAnimating) {
329
345
  return;
330
346
  }
331
347
  if (side === 'left' || side === 'right') {
332
348
  const deltaX = data.extraData.translationX;
333
- if (this.isAnimating || !this.isPanning || deltaX === 0 || (this.shouldPan && !this.shouldPan(side))) {
334
- this.prevDeltaX = deltaX;
349
+ if (this.mIsAnimating || !this.mIsPanning || deltaX === 0 || (this.shouldPan && !this.shouldPan(side))) {
350
+ this.mPrevDeltaX = deltaX;
335
351
  return;
336
352
  }
337
- if (this.needToSetSide) {
338
- this.showingSide = this.needToSetSide;
339
- this.needToSetSide = null;
340
- }
341
- const width = this.viewWidth[side];
342
- const viewX = this.translationX[side] - width;
343
- let x = deltaX - this.prevDeltaX;
344
- if (this.showingSide === 'left') {
353
+ // if (this.mNeedToSetSide) {
354
+ // this.mShowingSide = this.mNeedToSetSide;
355
+ // this.mNeedToSetSide = null;
356
+ // }
357
+ const width = this.mViewWidth[side];
358
+ const viewX = this.mTranslationX[side] - width;
359
+ let x = deltaX - this.mPrevDeltaX;
360
+ if (side === 'left') {
345
361
  x = -x;
346
362
  }
347
- const trX = this.constrainX(this.showingSide, viewX + x);
348
- this.translationX[side] = width + trX;
363
+ const trX = this.constrainX(side, viewX + x);
364
+ this.mTranslationX[side] = width + trX;
349
365
  const trData = this.computeTranslationData(side, width + trX);
350
366
  if (this.backDrop) {
351
367
  this.backDrop.visibility = trData.backDrop && trData.backDrop.opacity > 0 ? 'visible' : 'hidden';
352
368
  }
353
369
  this.applyTrData(trData, side);
354
370
  this.updateIsPanning(data.state);
355
- this.prevDeltaX = deltaX;
371
+ this.mPrevDeltaX = deltaX;
356
372
  }
357
373
  else {
358
374
  const deltaY = data.extraData.translationY;
359
- if (this.isAnimating || !this.isPanning || deltaY === 0 || (this.shouldPan && !this.shouldPan(side))) {
360
- this.prevDeltaY = deltaY;
375
+ if (this.mIsAnimating || !this.mIsPanning || deltaY === 0 || (this.shouldPan && !this.shouldPan(side))) {
376
+ this.mPrevDeltaY = deltaY;
361
377
  return;
362
378
  }
363
- if (this.needToSetSide) {
364
- this.showingSide = this.needToSetSide;
365
- this.needToSetSide = null;
366
- }
367
- const height = this.viewHeight[side];
368
- const viewY = this.translationY[side] - height;
369
- let y = deltaY - this.prevDeltaY;
370
- if (this.showingSide === 'top') {
379
+ // if (this.mNeedToSetSide) {
380
+ // this.mShowingSide = this.mNeedToSetSide;
381
+ // this.mNeedToSetSide = null;
382
+ // }
383
+ const height = this.mViewHeight[side];
384
+ const viewY = this.mTranslationY[side] - height;
385
+ let y = deltaY - this.mPrevDeltaY;
386
+ if (side === 'top') {
371
387
  y = -y;
372
388
  }
373
- const trY = this.constrainY(this.showingSide, viewY + y);
374
- this.translationY[side] = height + trY;
389
+ const trY = this.constrainY(side, viewY + y);
390
+ this.mTranslationY[side] = height + trY;
375
391
  const trData = this.computeTranslationData(side, height + trY);
376
392
  if (this.backDrop) {
377
393
  this.backDrop.visibility = trData.backDrop && trData.backDrop.opacity > 0 ? 'visible' : 'hidden';
378
394
  }
379
395
  this.applyTrData(trData, side);
380
396
  this.updateIsPanning(data.state);
381
- this.prevDeltaY = deltaY;
397
+ this.mPrevDeltaY = deltaY;
382
398
  }
383
399
  }
384
400
  [gestureEnabledProperty.setNative](value) {
@@ -395,23 +411,23 @@ let Drawer = class Drawer extends GridLayout {
395
411
  }
396
412
  }
397
413
  [leftDrawerModeProperty.setNative](value) {
398
- const oldValue = this.modes['left'];
399
- this.modes['left'] = value;
414
+ const oldValue = this.mModes['left'];
415
+ this.mModes['left'] = value;
400
416
  this.onSideModeChanged('left', value, oldValue);
401
417
  }
402
418
  [rightDrawerModeProperty.setNative](value) {
403
- const oldValue = this.modes['right'];
404
- this.modes['right'] = value;
419
+ const oldValue = this.mModes['right'];
420
+ this.mModes['right'] = value;
405
421
  this.onSideModeChanged('right', value, oldValue);
406
422
  }
407
423
  [topDrawerModeProperty.setNative](value) {
408
- const oldValue = this.modes['top'];
409
- this.modes['top'] = value;
424
+ const oldValue = this.mModes['top'];
425
+ this.mModes['top'] = value;
410
426
  this.onSideModeChanged('top', value, oldValue);
411
427
  }
412
428
  [bottomDrawerModeProperty.setNative](value) {
413
- const oldValue = this.modes['bottom'];
414
- this.modes['bottom'] = value;
429
+ const oldValue = this.mModes['bottom'];
430
+ this.mModes['bottom'] = value;
415
431
  this.onSideModeChanged('bottom', value, oldValue);
416
432
  }
417
433
  _onMainContentChanged(oldValue, newValue) {
@@ -491,7 +507,7 @@ let Drawer = class Drawer extends GridLayout {
491
507
  newValue.on('layoutChanged', this.onBottomLayoutChanged, this);
492
508
  break;
493
509
  }
494
- this.onSideModeChanged(side, this.modes[side], undefined);
510
+ this.onSideModeChanged(side, this.mModes[side], undefined);
495
511
  }
496
512
  }
497
513
  onSideModeChanged(side, mode, oldMode) {
@@ -504,7 +520,7 @@ let Drawer = class Drawer extends GridLayout {
504
520
  }
505
521
  const indexBack = this.backDrop ? this.getChildIndex(this.backDrop) : 0;
506
522
  const index = this.getChildIndex(drawer);
507
- drawer.visibility = this.showingSide === side ? 'visible' : 'hidden';
523
+ drawer.visibility = this.mShowingSide === side ? 'visible' : 'hidden';
508
524
  if (mode === 'under') {
509
525
  if (index > indexBack - 1 && drawer.parent === this) {
510
526
  this.removeChild(drawer);
@@ -529,13 +545,13 @@ let Drawer = class Drawer extends GridLayout {
529
545
  }
530
546
  computeTranslationData(side, value) {
531
547
  if (side === 'left' || side === 'right') {
532
- const width = this.viewWidth[side];
548
+ const width = this.mViewWidth[side];
533
549
  const delta = Math.max(width - value, 0);
534
550
  const progress = delta / width;
535
551
  if (this.translationFunction) {
536
552
  return this.translationFunction(side, width, value, delta, progress);
537
553
  }
538
- if (this.modes[side] === 'under') {
554
+ if (this.mModes[side] === 'under') {
539
555
  return {
540
556
  mainContent: {
541
557
  translateX: side === 'right' ? -delta : delta
@@ -565,13 +581,13 @@ let Drawer = class Drawer extends GridLayout {
565
581
  }
566
582
  }
567
583
  else {
568
- const height = this.viewHeight[side];
584
+ const height = this.mViewHeight[side];
569
585
  const delta = Math.max(height - value, 0);
570
586
  const progress = delta / height;
571
587
  if (this.translationFunction) {
572
588
  return this.translationFunction(side, height, value, delta, progress);
573
589
  }
574
- if (this.modes[side] === 'under') {
590
+ if (this.mModes[side] === 'under') {
575
591
  return {
576
592
  mainContent: {
577
593
  translateY: side === 'bottom' ? -delta : delta
@@ -606,8 +622,10 @@ let Drawer = class Drawer extends GridLayout {
606
622
  let data;
607
623
  let safeAreaOffset = 0;
608
624
  let changed = false;
625
+ const viewWidth = Utils.layout.toDeviceIndependentPixels(contentView.getMeasuredWidth());
626
+ const viewHeight = Utils.layout.toDeviceIndependentPixels(contentView.getMeasuredHeight());
609
627
  if (side === 'left' || side === 'right') {
610
- if (__IOS__) {
628
+ if (__IOS__ && !this.iosIgnoreSafeArea) {
611
629
  const deviceOrientation = UIDevice.currentDevice.orientation;
612
630
  if (deviceOrientation === 3 /* UIDeviceOrientation.LandscapeLeft */) {
613
631
  safeAreaOffset = Application.ios.window.safeAreaInsets.left;
@@ -617,43 +635,33 @@ let Drawer = class Drawer extends GridLayout {
617
635
  }
618
636
  }
619
637
  const width = Math.ceil(Utils.layout.toDeviceIndependentPixels(contentView.getMeasuredWidth()) + safeAreaOffset);
620
- const firstSet = this.viewWidth[side] === undefined;
621
- changed = width !== this.viewWidth[side];
622
- this.viewWidth[side] = width;
638
+ const firstSet = this.mViewWidth[side] === undefined;
639
+ changed = width !== this.mViewWidth[side];
640
+ this.mViewWidth[side] = width;
623
641
  if (firstSet) {
624
- const offset = this.showingSide === side ? 0 : width;
642
+ const offset = this.mShowingSide === side ? 0 : width;
625
643
  data = this.computeTranslationData(side, offset);
626
- const shown = this.viewWidth[side] - offset;
627
- this.translationX[side] = width - shown;
628
- }
629
- else if (this.translationX[side] === 0) {
630
- //opened: we dont need to do anything as no translation
644
+ const shown = this.mViewWidth[side] - offset;
645
+ this.mTranslationX[side] = width - shown;
631
646
  }
632
647
  else {
633
- const shown = this.viewWidth[side] - this.translationX[side];
634
- data = this.computeTranslationData(side, width - shown);
635
- this.translationX[side] = width - shown;
648
+ this.mTranslationX[side] = this.mTranslationX[side] === 0 ? 0 : width;
636
649
  }
637
650
  }
638
651
  else {
639
- safeAreaOffset = __IOS__ && Application.ios.window.safeAreaInsets ? Application.ios.window.safeAreaInsets.bottom : 0;
640
- const height = Math.ceil(Utils.layout.toDeviceIndependentPixels(contentView.getMeasuredHeight()) + safeAreaOffset);
641
- const firstSet = this.viewHeight[side] === undefined;
642
- changed = height !== this.viewHeight[side];
643
- this.viewHeight[side] = height;
652
+ safeAreaOffset = __IOS__ && !this.iosIgnoreSafeArea && Application.ios.window.safeAreaInsets ? Application.ios.window.safeAreaInsets.bottom : 0;
653
+ const height = Math.ceil(viewHeight + safeAreaOffset);
654
+ const firstSet = this.mViewHeight[side] === undefined;
655
+ changed = height !== this.mViewHeight[side];
656
+ this.mViewHeight[side] = height;
644
657
  if (firstSet) {
645
- const offset = this.showingSide === side ? 0 : height;
658
+ const offset = this.mShowingSide === side ? 0 : height;
646
659
  data = this.computeTranslationData(side, offset);
647
- const shown = this.viewHeight[side] - offset;
648
- this.translationY[side] = height - shown;
649
- }
650
- else if (this.translationX[side] === 0) {
651
- //opened: we dont need to do anything as no translation
660
+ const shown = this.mViewHeight[side] - offset;
661
+ this.mTranslationY[side] = height - shown;
652
662
  }
653
663
  else {
654
- const shown = this.viewHeight[side] - this.translationY[side];
655
- data = this.computeTranslationData(side, height - shown);
656
- this.translationY[side] = height - shown;
664
+ this.mTranslationY[side] = this.mTranslationY[side] === 0 ? 0 : height;
657
665
  }
658
666
  }
659
667
  if (changed && data) {
@@ -671,7 +679,7 @@ let Drawer = class Drawer extends GridLayout {
671
679
  let data;
672
680
  let safeAreaOffset = 0;
673
681
  if (side === 'left' || side === 'right') {
674
- if (__IOS__) {
682
+ if (__IOS__ && !this.iosIgnoreSafeArea) {
675
683
  const deviceOrientation = UIDevice.currentDevice.orientation;
676
684
  if (deviceOrientation === 3) {
677
685
  safeAreaOffset = Application.ios.window.safeAreaInsets.left;
@@ -681,12 +689,12 @@ let Drawer = class Drawer extends GridLayout {
681
689
  }
682
690
  }
683
691
  const width = Math.ceil(Utils.layout.toDeviceIndependentPixels(contentView.getMeasuredWidth()) + safeAreaOffset);
684
- this.viewWidth[side] = width;
692
+ this.mViewWidth[side] = width;
685
693
  }
686
694
  else {
687
- safeAreaOffset = __IOS__ && Application.ios.window.safeAreaInsets ? Application.ios.window.safeAreaInsets.bottom : 0;
695
+ safeAreaOffset = __IOS__ && !this.iosIgnoreSafeArea && Application.ios.window.safeAreaInsets ? Application.ios.window.safeAreaInsets.bottom : 0;
688
696
  const height = Math.ceil(Utils.layout.toDeviceIndependentPixels(contentView.getMeasuredHeight()) + safeAreaOffset);
689
- this.viewHeight[side] = height;
697
+ this.mViewHeight[side] = height;
690
698
  }
691
699
  }
692
700
  onTapGestureState(args) {
@@ -696,7 +704,7 @@ let Drawer = class Drawer extends GridLayout {
696
704
  }
697
705
  }
698
706
  updateIsPanning(state) {
699
- this.isPanning = state === GestureState.ACTIVE || state === GestureState.BEGAN;
707
+ this.mIsPanning = state === GestureState.ACTIVE || state === GestureState.BEGAN;
700
708
  }
701
709
  applyTrData(trData, side) {
702
710
  Object.keys(trData).forEach((k) => {
@@ -706,7 +714,7 @@ let Drawer = class Drawer extends GridLayout {
706
714
  });
707
715
  }
708
716
  constrainX(side, x) {
709
- const width = this.viewWidth[side];
717
+ const width = this.mViewWidth[side];
710
718
  if (x > 0) {
711
719
  return 0;
712
720
  }
@@ -716,7 +724,7 @@ let Drawer = class Drawer extends GridLayout {
716
724
  return x;
717
725
  }
718
726
  constrainY(side, y) {
719
- const height = this.viewHeight[side];
727
+ const height = this.mViewHeight[side];
720
728
  if (y > 0) {
721
729
  return 0;
722
730
  }
@@ -726,22 +734,23 @@ let Drawer = class Drawer extends GridLayout {
726
734
  return y;
727
735
  }
728
736
  async animateToPosition(side, position, duration = OPEN_DURATION) {
729
- if (this.showingSide && side !== this.showingSide) {
730
- this.animateToPosition(this.showingSide, 0, duration);
737
+ if (this.mShowingSide && side !== this.mShowingSide) {
738
+ this.animateToPosition(this.mShowingSide, 0, duration);
731
739
  }
740
+ const shouldSendEvent = side !== this.mShowingSide || (this.mShowingSide === side && position === 0);
732
741
  let trData;
733
742
  if (side === 'left' || side === 'right') {
734
- const width = this.viewWidth[side];
743
+ const width = this.mViewWidth[side];
735
744
  trData = this.computeTranslationData(side, width - position);
736
- this.translationX[side] = width - position;
745
+ this.mTranslationX[side] = width - position;
737
746
  }
738
747
  else {
739
- const height = this.viewHeight[side];
748
+ const height = this.mViewHeight[side];
740
749
  trData = this.computeTranslationData(side, height - position);
741
- this.translationY[side] = height - position;
750
+ this.mTranslationY[side] = height - position;
742
751
  }
743
752
  if (position !== 0) {
744
- this.showingSide = side;
753
+ this.mShowingSide = side;
745
754
  const drawer = this[side + 'Drawer'];
746
755
  if (drawer) {
747
756
  drawer.visibility = 'visible';
@@ -750,11 +759,9 @@ let Drawer = class Drawer extends GridLayout {
750
759
  this.backDrop.opacity = 0;
751
760
  this.backDrop.visibility = 'visible';
752
761
  }
753
- this.notify({ eventName: 'open', side, duration });
754
762
  }
755
763
  else {
756
- this.showingSide = null;
757
- this.notify({ eventName: 'close', side, duration });
764
+ this.mShowingSide = null;
758
765
  }
759
766
  // TODO: custom animation curve + apply curve on gesture
760
767
  const params = Object.keys(trData)
@@ -771,12 +778,13 @@ let Drawer = class Drawer extends GridLayout {
771
778
  }
772
779
  }
773
780
  catch (err) {
774
- console.error('animateToPosition', err);
781
+ console.error('animateToPosition', this, err, err.stack);
782
+ throw err;
775
783
  }
776
784
  finally {
777
785
  // apply tr data to prevent hickups on iOS
778
786
  // and handle animation cancelled errors
779
- if ((position !== 0 && this.showingSide === side) || (position === 0 && !this.showingSide)) {
787
+ if ((position !== 0 && this.mShowingSide === side) || (position === 0 && !this.mShowingSide)) {
780
788
  this.applyTrData(trData, side);
781
789
  if (position !== 0) {
782
790
  // if (trData.backDrop) {
@@ -793,16 +801,24 @@ let Drawer = class Drawer extends GridLayout {
793
801
  }
794
802
  }
795
803
  }
804
+ if (shouldSendEvent) {
805
+ if (position === 0) {
806
+ this.notify({ eventName: 'close', side, duration });
807
+ }
808
+ else {
809
+ this.notify({ eventName: 'open', side, duration });
810
+ }
811
+ }
796
812
  }
797
813
  }
798
814
  isSideOpened() {
799
- return !!this.showingSide;
815
+ return !!this.mShowingSide;
800
816
  }
801
817
  isOpened(side) {
802
818
  if (side) {
803
- return this.showingSide === side;
819
+ return this.mShowingSide === side;
804
820
  }
805
- return !!this.showingSide;
821
+ return !!this.mShowingSide;
806
822
  }
807
823
  async toggle(side) {
808
824
  if (!side) {
@@ -830,6 +846,7 @@ let Drawer = class Drawer extends GridLayout {
830
846
  }
831
847
  }
832
848
  async open(side, duration = OPEN_DURATION) {
849
+ side = this.getActualSide(side);
833
850
  if (!side) {
834
851
  if (this.leftDrawer) {
835
852
  side = 'left';
@@ -847,29 +864,30 @@ let Drawer = class Drawer extends GridLayout {
847
864
  return;
848
865
  }
849
866
  }
850
- if (this.showingSide && this.showingSide !== side) {
867
+ if (this.mShowingSide && this.mShowingSide !== side) {
851
868
  this.close();
852
869
  }
853
870
  if (!this.isOpened(side)) {
854
871
  this.forceEnsureSize(side);
855
872
  }
856
873
  if (side === 'left' || side === 'right') {
857
- this.animateToPosition(side, this.viewWidth[side], duration);
874
+ this.animateToPosition(side, this.mViewWidth[side], duration);
858
875
  }
859
876
  else {
860
- this.animateToPosition(side, this.viewHeight[side], duration);
877
+ this.animateToPosition(side, this.mViewHeight[side], duration);
861
878
  }
862
879
  }
863
880
  async close(side, duration = CLOSE_DURATION) {
881
+ side = this.getActualSide(side);
864
882
  if (!side) {
865
- if (this.showingSide) {
866
- side = this.showingSide;
883
+ if (this.mShowingSide) {
884
+ side = this.mShowingSide;
867
885
  }
868
886
  else {
869
887
  return;
870
888
  }
871
889
  }
872
- this.showingSide = null;
890
+ // this.mShowingSide = null;
873
891
  return this.animateToPosition(side, 0, duration);
874
892
  }
875
893
  };
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-drawer",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Easily add a side drawer (side menu) to your projects.",
5
5
  "main": "./index",
6
6
  "sideEffects": false,
@@ -54,5 +54,5 @@
54
54
  "dependencies": {
55
55
  "@nativescript-community/gesturehandler": "^2.0.8"
56
56
  },
57
- "gitHead": "f1566666ac43283ed1754eab18a121e401cc487f"
57
+ "gitHead": "256a43c34d12ade7bc26b573216222b9c66dc493"
58
58
  }