@nativescript-community/ui-pager 13.0.36 → 13.0.39

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.
package/index.android.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ChangeType, Color, Device, ObservableArray, Property, Screen, StackLayout, View, ViewBase, profile } from '@nativescript/core';
2
2
  import { isString } from '@nativescript/core/utils/types';
3
3
  import { layout } from '@nativescript/core/utils/utils';
4
- import { Indicator, PagerBase, PagerItem, Transformer, autoPlayProperty, autoplayDelayProperty, disableSwipeProperty, indicatorColorProperty, indicatorProperty, indicatorSelectedColorProperty, itemTemplatesProperty, itemsProperty, orientationProperty, peakingProperty, selectedIndexProperty, showIndicatorProperty, spacingProperty } from './index.common';
4
+ import { Indicator, PagerBase, Transformer, autoPlayProperty, autoplayDelayProperty, disableSwipeProperty, indicatorColorProperty, indicatorProperty, indicatorSelectedColorProperty, itemTemplatesProperty, itemsProperty, orientationProperty, peakingProperty, selectedIndexProperty, showIndicatorProperty, spacingProperty } from './index.common';
5
5
  export * from './index.common';
6
6
  export { Transformer } from './index.common';
7
7
  function notifyForItemAtIndex(owner, nativeView, view, eventName, index) {
@@ -21,7 +21,7 @@ export class Pager extends PagerBase {
21
21
  constructor() {
22
22
  super();
23
23
  this._oldDisableAnimation = false;
24
- this._realizedItems = new Map();
24
+ this._viewHolders = new Set();
25
25
  this._childrenViewsType = new Map();
26
26
  this._realizedTemplates = new Map();
27
27
  this.lastEvent = 0;
@@ -88,8 +88,6 @@ export class Pager extends PagerBase {
88
88
  else {
89
89
  this._pager.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL);
90
90
  }
91
- initPagerChangeCallback();
92
- this._pageListener = new PageChangeCallback(new WeakRef(this));
93
91
  initPagerRecyclerAdapter();
94
92
  this._pagerAdapter = new PagerRecyclerAdapter(new WeakRef(this));
95
93
  this.compositeTransformer = new androidx.viewpager2.widget.CompositePageTransformer();
@@ -112,6 +110,8 @@ export class Pager extends PagerBase {
112
110
  super.initNativeView();
113
111
  this._oldDisableAnimation = this.disableAnimation;
114
112
  this.disableAnimation = true;
113
+ initPagerChangeCallback();
114
+ this._pageListener = new PageChangeCallback(new WeakRef(this));
115
115
  this.pager.registerOnPageChangeCallback(this._pageListener);
116
116
  this.pager.setAdapter(this._pagerAdapter);
117
117
  if (this._androidViewId < 0) {
@@ -134,6 +134,24 @@ export class Pager extends PagerBase {
134
134
  this._indicatorView.setCount(0);
135
135
  }
136
136
  }
137
+ enumerateViewHolders(cb) {
138
+ let result, v;
139
+ for (let it = this._viewHolders.values(), cellItemView = null; (cellItemView = it.next().value);) {
140
+ if (cellItemView) {
141
+ result = cb(cellItemView);
142
+ if (result) {
143
+ return result;
144
+ }
145
+ }
146
+ }
147
+ return result;
148
+ }
149
+ getChildView(index) {
150
+ if (this._childrenViews) {
151
+ return this._childrenViews[index].view;
152
+ }
153
+ return this.enumerateViewHolders((v) => (v.getAdapterPosition() === index ? v.view : undefined));
154
+ }
137
155
  _removeChildView(index) {
138
156
  const type = this._childrenViews[index].type;
139
157
  this._childrenViewsType.delete(type);
@@ -230,12 +248,24 @@ export class Pager extends PagerBase {
230
248
  }
231
249
  this.pager.setPageTransformer(this.compositeTransformer);
232
250
  }
251
+ disposeViewHolderViews() {
252
+ this.enumerateViewHolders((v) => {
253
+ const view = v.view;
254
+ if (view && view.isLoaded) {
255
+ view.callUnloaded();
256
+ }
257
+ view._isAddedToNativeVisualTree = false;
258
+ view._tearDownUI();
259
+ });
260
+ this._viewHolders = new Set();
261
+ }
233
262
  disposeNativeView() {
234
263
  this.off(View.layoutChangedEvent, this.onLayoutChange, this);
235
264
  this._childrenViews = null;
236
- this._realizedItems.clear();
265
+ this.disposeViewHolderViews();
237
266
  this._realizedTemplates.clear();
238
267
  this._pageListener = null;
268
+ this.pager.setAdapter(null);
239
269
  this._pagerAdapter = null;
240
270
  this._transformers = [];
241
271
  if (this._observableArrayInstance) {
@@ -365,12 +395,21 @@ export class Pager extends PagerBase {
365
395
  onUnloaded() {
366
396
  super.onUnloaded();
367
397
  }
368
- eachChildView(callback) {
369
- if (this._realizedItems && this._realizedItems.size > 0) {
370
- this._realizedItems.forEach((view, key) => {
371
- callback(view);
372
- });
373
- }
398
+ eachChild(callback) {
399
+ super.eachChild(callback);
400
+ this.enumerateViewHolders((v) => {
401
+ const view = v.view;
402
+ if (view) {
403
+ if (view.parent instanceof Pager) {
404
+ callback(view);
405
+ }
406
+ else {
407
+ if (view.parent) {
408
+ callback(view.parent);
409
+ }
410
+ }
411
+ }
412
+ });
374
413
  }
375
414
  updateAdapter() {
376
415
  this._pagerAdapter.notifyDataSetChanged();
@@ -519,116 +558,118 @@ function initPagerChangeCallback() {
519
558
  if (PageChangeCallback) {
520
559
  return PageChangeCallback;
521
560
  }
522
- let PageChangeCallbackImpl = class PageChangeCallbackImpl extends androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback {
523
- constructor(owner) {
524
- super();
525
- this.owner = owner;
526
- return global.__native(this);
561
+ var PageChangeCallbackImpl = /** @class */ (function (_super) {
562
+ __extends(PageChangeCallbackImpl, _super);
563
+ function PageChangeCallbackImpl(owner) {
564
+ var _this = _super.call(this) || this;
565
+ _this.owner = owner;
566
+ return global.__native(_this);
567
+ }
568
+ PageChangeCallbackImpl.prototype.onPageSelected = function (position) {
569
+ var owner = this.owner && this.owner.get();
570
+ if (owner) {
571
+ owner.notify({
572
+ eventName: Pager.swipeEvent,
573
+ object: owner
574
+ });
527
575
  }
528
- onPageSelected(position) {
529
- const owner = this.owner && this.owner.get();
530
- if (owner) {
576
+ };
577
+ PageChangeCallbackImpl.prototype.onPageScrolled = function (position, positionOffset, positionOffsetPixels) {
578
+ var owner = this.owner && this.owner.get();
579
+ if (owner && owner.isLayoutValid) {
580
+ if (owner.circularMode) {
581
+ position = owner.pagerAdapter.getPosition(position);
582
+ }
583
+ var offset = position * positionOffsetPixels;
584
+ if (owner.orientation === 'vertical') {
585
+ owner._horizontalOffset = 0;
586
+ owner._verticalOffset = offset;
587
+ }
588
+ else if (owner.orientation === 'horizontal') {
589
+ owner._horizontalOffset = offset;
590
+ owner._verticalOffset = 0;
591
+ }
592
+ owner.notify({
593
+ eventName: Pager.scrollEvent,
594
+ object: owner,
595
+ selectedIndex: position,
596
+ currentPosition: position + positionOffset,
597
+ scrollX: owner.horizontalOffset,
598
+ scrollY: owner.verticalOffset
599
+ });
600
+ if (owner.items && position === owner.pagerAdapter.lastIndex() - owner.loadMoreCount) {
601
+ owner.notify({ eventName: Pager.loadMoreItemsEvent, object: owner });
602
+ }
603
+ if (owner.showIndicator && owner.indicatorView) {
604
+ var progress = Pager.getProgress(owner.indicatorView, position, positionOffset, false);
605
+ var selectingPosition = progress[0];
606
+ var selectingProgress = progress[1];
607
+ owner.indicatorView.setInteractiveAnimation(true);
608
+ owner.indicatorView.setProgress(selectingPosition, selectingProgress);
609
+ }
610
+ }
611
+ };
612
+ PageChangeCallbackImpl.prototype.onPageScrollStateChanged = function (state) {
613
+ var owner = this.owner && this.owner.get();
614
+ if (owner) {
615
+ if (owner.lastEvent === 0 && state === 1) {
531
616
  owner.notify({
532
- eventName: Pager.swipeEvent,
617
+ eventName: Pager.swipeStartEvent,
533
618
  object: owner
534
619
  });
620
+ owner.lastEvent = 1;
535
621
  }
536
- }
537
- onPageScrolled(position, positionOffset, positionOffsetPixels) {
538
- const owner = this.owner && this.owner.get();
539
- if (owner && owner.isLayoutValid) {
540
- if (owner.circularMode) {
541
- position = owner.pagerAdapter.getPosition(position);
542
- }
543
- const offset = position * positionOffsetPixels;
544
- if (owner.orientation === 'vertical') {
545
- owner._horizontalOffset = 0;
546
- owner._verticalOffset = offset;
547
- }
548
- else if (owner.orientation === 'horizontal') {
549
- owner._horizontalOffset = offset;
550
- owner._verticalOffset = 0;
551
- }
622
+ else if (owner.lastEvent === 1 && state === 1) {
552
623
  owner.notify({
553
- eventName: Pager.scrollEvent,
554
- object: owner,
555
- selectedIndex: position,
556
- currentPosition: position + positionOffset,
557
- scrollX: owner.horizontalOffset,
558
- scrollY: owner.verticalOffset
624
+ eventName: Pager.swipeOverEvent,
625
+ object: owner
559
626
  });
560
- if (owner.items && position === owner.pagerAdapter.lastIndex() - owner.loadMoreCount) {
561
- owner.notify({ eventName: Pager.loadMoreItemsEvent, object: owner });
562
- }
563
- if (owner.showIndicator && owner.indicatorView) {
564
- const progress = Pager.getProgress(owner.indicatorView, position, positionOffset, false);
565
- const selectingPosition = progress[0];
566
- const selectingProgress = progress[1];
567
- owner.indicatorView.setInteractiveAnimation(true);
568
- owner.indicatorView.setProgress(selectingPosition, selectingProgress);
569
- }
627
+ owner.lastEvent = 1;
570
628
  }
571
- }
572
- onPageScrollStateChanged(state) {
573
- const owner = this.owner && this.owner.get();
574
- if (owner) {
575
- if (owner.lastEvent === 0 && state === 1) {
576
- owner.notify({
577
- eventName: Pager.swipeStartEvent,
578
- object: owner
579
- });
580
- owner.lastEvent = 1;
581
- }
582
- else if (owner.lastEvent === 1 && state === 1) {
583
- owner.notify({
584
- eventName: Pager.swipeOverEvent,
585
- object: owner
586
- });
587
- owner.lastEvent = 1;
588
- }
589
- else if (owner.lastEvent === 1 && state === 2) {
590
- owner.notify({
591
- eventName: Pager.swipeEndEvent,
592
- object: owner
593
- });
594
- owner.lastEvent = 2;
595
- }
596
- else {
597
- owner.lastEvent = 0;
598
- }
599
- if (owner.isLayoutValid && state === androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE) {
600
- const count = owner.pagerAdapter.getItemCount();
601
- const index = owner.pager.getCurrentItem();
602
- if (owner.circularMode) {
603
- if (index === 0) {
604
- owner.indicatorView.setInteractiveAnimation(false);
605
- owner.pager.setCurrentItem(count - 2, false);
606
- selectedIndexProperty.nativeValueChange(owner, count - 3);
607
- owner.indicatorView.setSelected(count - 3);
608
- owner.indicatorView.setInteractiveAnimation(true);
609
- }
610
- else if (index === count - 1) {
611
- owner.indicatorView.setInteractiveAnimation(false);
612
- owner.indicatorView.setSelected(0);
613
- owner.pager.setCurrentItem(1, false);
614
- selectedIndexProperty.nativeValueChange(owner, 0);
615
- owner.indicatorView.setInteractiveAnimation(true);
616
- }
617
- else {
618
- selectedIndexProperty.nativeValueChange(owner, index - 1);
619
- }
629
+ else if (owner.lastEvent === 1 && state === 2) {
630
+ owner.notify({
631
+ eventName: Pager.swipeEndEvent,
632
+ object: owner
633
+ });
634
+ owner.lastEvent = 2;
635
+ }
636
+ else {
637
+ owner.lastEvent = 0;
638
+ }
639
+ if (owner.isLayoutValid && state === androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE) {
640
+ // ts-ignore
641
+ var count = owner.pagerAdapter.getItemCount();
642
+ var index = owner.pager.getCurrentItem();
643
+ if (owner.circularMode) {
644
+ if (index === 0) {
645
+ // last item
646
+ owner.indicatorView.setInteractiveAnimation(false);
647
+ owner.pager.setCurrentItem(count - 2, false);
648
+ selectedIndexProperty.nativeValueChange(owner, count - 3);
649
+ owner.indicatorView.setSelected(count - 3);
650
+ owner.indicatorView.setInteractiveAnimation(true);
651
+ }
652
+ else if (index === count - 1) {
653
+ // first item
654
+ owner.indicatorView.setInteractiveAnimation(false);
655
+ owner.indicatorView.setSelected(0);
656
+ owner.pager.setCurrentItem(1, false);
657
+ selectedIndexProperty.nativeValueChange(owner, 0);
658
+ owner.indicatorView.setInteractiveAnimation(true);
620
659
  }
621
660
  else {
622
- selectedIndexProperty.nativeValueChange(owner, index);
623
- owner.indicatorView.setSelected(index);
661
+ selectedIndexProperty.nativeValueChange(owner, index - 1);
624
662
  }
625
663
  }
664
+ else {
665
+ selectedIndexProperty.nativeValueChange(owner, index);
666
+ owner.indicatorView.setSelected(index);
667
+ }
626
668
  }
627
669
  }
628
670
  };
629
- PageChangeCallbackImpl = __decorate([
630
- NativeClass
631
- ], PageChangeCallbackImpl);
671
+ return PageChangeCallbackImpl;
672
+ }(androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback));
632
673
  PageChangeCallback = PageChangeCallbackImpl;
633
674
  }
634
675
  let PagerRecyclerAdapter;
@@ -636,138 +677,140 @@ function initPagerRecyclerAdapter() {
636
677
  if (PagerRecyclerAdapter) {
637
678
  return;
638
679
  }
639
- let PagerRecyclerAdapterImpl = class PagerRecyclerAdapterImpl extends androidx.recyclerview.widget.RecyclerView.Adapter {
640
- constructor(owner) {
641
- super();
642
- this.owner = owner;
643
- return global.__native(this);
680
+ var PagerRecyclerAdapterImpl = /** @class */ (function (_super) {
681
+ __extends(PagerRecyclerAdapterImpl, _super);
682
+ function PagerRecyclerAdapterImpl(owner) {
683
+ var _this = _super.call(this) || this;
684
+ _this.owner = owner;
685
+ return global.__native(_this);
686
+ }
687
+ PagerRecyclerAdapterImpl.prototype.onCreateViewHolder = function (param0, type) {
688
+ var owner = this.owner ? this.owner.get() : null;
689
+ if (!owner) {
690
+ return null;
644
691
  }
645
- onCreateViewHolder(param0, type) {
646
- const owner = this.owner ? this.owner.get() : null;
647
- if (!owner) {
648
- return null;
649
- }
650
- const template = owner._itemTemplatesInternal[type];
651
- let view = template.createView();
652
- if (!view && owner._itemViewLoader !== undefined) {
653
- view = owner._itemViewLoader(template.key);
692
+ var template = owner._itemTemplatesInternal[type];
693
+ var view = template.createView();
694
+ if (!view && owner._itemViewLoader !== undefined) {
695
+ view = owner._itemViewLoader(template.key);
696
+ }
697
+ var sp = new StackLayout();
698
+ if (view) {
699
+ sp.addChild(view);
700
+ }
701
+ else {
702
+ sp[PLACEHOLDER] = true;
703
+ }
704
+ sp._setupAsRootView(owner._context);
705
+ sp._isAddedToNativeVisualTree = true;
706
+ sp.callLoaded();
707
+ sp.nativeView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT));
708
+ initPagerViewHolder();
709
+ var holder = new PagerViewHolder(new WeakRef(sp), new WeakRef(owner));
710
+ owner._viewHolders.add(holder);
711
+ return holder;
712
+ };
713
+ PagerRecyclerAdapterImpl.prototype.getPosition = function (index) {
714
+ var owner = this.owner && this.owner.get();
715
+ var position = index;
716
+ if (owner && owner.circularMode) {
717
+ if (position === 0) {
718
+ position = this.lastDummy();
654
719
  }
655
- const sp = new StackLayout();
656
- if (view) {
657
- sp.addChild(view);
720
+ else if (position === this.firstDummy()) {
721
+ position = 0;
658
722
  }
659
723
  else {
660
- sp[PLACEHOLDER] = true;
661
- }
662
- owner._addView(sp);
663
- sp.nativeView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT));
664
- owner._realizedItems.set(sp.nativeView, sp);
665
- initPagerViewHolder();
666
- return new PagerViewHolder(new WeakRef(sp), new WeakRef(owner));
667
- }
668
- getPosition(index) {
669
- const owner = this.owner && this.owner.get();
670
- let position = index;
671
- if (owner && owner.circularMode) {
672
- if (position === 0) {
673
- position = this.lastDummy();
724
+ position = position - 1;
725
+ }
726
+ }
727
+ return position;
728
+ };
729
+ PagerRecyclerAdapterImpl.prototype.onBindViewHolder = function (holder, index) {
730
+ var owner = this.owner ? this.owner.get() : null;
731
+ if (owner) {
732
+ if (owner.circularMode) {
733
+ if (index === 0) {
734
+ index = this.lastDummy();
674
735
  }
675
- else if (position === this.firstDummy()) {
676
- position = 0;
736
+ else if (index === this.firstDummy()) {
737
+ index = 0;
677
738
  }
678
739
  else {
679
- position = position - 1;
740
+ index = index - 1;
680
741
  }
681
742
  }
682
- return position;
683
- }
684
- onBindViewHolder(holder, index) {
685
- const owner = this.owner ? this.owner.get() : null;
686
- if (owner) {
687
- if (owner.circularMode) {
688
- if (index === 0) {
689
- index = this.lastDummy();
690
- }
691
- else if (index === this.firstDummy()) {
692
- index = 0;
693
- }
694
- else {
695
- index = index - 1;
696
- }
743
+ var bindingContext = owner._getDataItem(index);
744
+ var args = {
745
+ eventName: Pager.itemLoadingEvent,
746
+ object: owner,
747
+ android: holder,
748
+ ios: undefined,
749
+ index: index,
750
+ bindingContext: bindingContext,
751
+ view: holder.view[PLACEHOLDER] ? null : holder.view.getChildAt(0)
752
+ };
753
+ owner.notify(args);
754
+ if (holder.view[PLACEHOLDER]) {
755
+ if (args.view) {
756
+ holder.view.addChild(args.view);
697
757
  }
698
- const bindingContext = owner._getDataItem(index);
699
- const args = {
700
- eventName: Pager.itemLoadingEvent,
701
- object: owner,
702
- android: holder,
703
- ios: undefined,
704
- index,
705
- bindingContext,
706
- view: holder.view[PLACEHOLDER] ? null : holder.view.getChildAt(0)
707
- };
708
- owner.notify(args);
709
- if (holder.view[PLACEHOLDER]) {
710
- if (args.view) {
711
- holder.view.addChild(args.view);
712
- }
713
- else {
714
- holder.view.addChild(owner._getDefaultItemContent(index));
715
- }
716
- holder.view[PLACEHOLDER] = false;
717
- }
718
- owner._prepareItem(holder.view, index);
719
- }
720
- }
721
- getItemId(i) {
722
- const owner = this.owner ? this.owner.get() : null;
723
- let id = i;
724
- if (owner && owner.items) {
725
- const item = owner.items.getItem ? owner.items.getItem(i) : owner.items[i];
726
- if (item) {
727
- id = owner.itemIdGenerator(item, i, owner.items);
758
+ else {
759
+ holder.view.addChild(owner._getDefaultItemContent(index));
728
760
  }
761
+ holder.view[PLACEHOLDER] = false;
729
762
  }
730
- return long(id);
731
- }
732
- getItemCount() {
733
- const owner = this.owner ? this.owner.get() : null;
734
- return owner && owner.items && owner.items.length ? owner.items.length + (owner.circularMode ? 2 : 0) : 0;
763
+ owner._prepareItem(holder.view, index);
735
764
  }
736
- getItemViewType(index) {
737
- const owner = this.owner ? this.owner.get() : null;
738
- if (owner) {
739
- const template = owner._getItemTemplate(index);
740
- return owner._itemTemplatesInternal.indexOf(template);
765
+ };
766
+ PagerRecyclerAdapterImpl.prototype.getItemId = function (i) {
767
+ var owner = this.owner ? this.owner.get() : null;
768
+ var id = i;
769
+ if (owner && owner.items) {
770
+ var item = owner.items.getItem ? owner.items.getItem(i) : owner.items[i];
771
+ if (item) {
772
+ id = owner.itemIdGenerator(item, i, owner.items);
741
773
  }
742
- return 0;
743
774
  }
744
- lastIndex() {
745
- const owner = this.owner && this.owner.get();
746
- if (owner) {
747
- if (owner.items.length === 0) {
748
- return 0;
749
- }
750
- return owner.circularMode ? this.getItemCount() - 3 : this.getItemCount() - 1;
751
- }
752
- return 0;
775
+ return long(id);
776
+ };
777
+ PagerRecyclerAdapterImpl.prototype.getItemCount = function () {
778
+ var owner = this.owner ? this.owner.get() : null;
779
+ return owner && owner.items && owner.items.length ? owner.items.length + (owner.circularMode ? 2 : 0) : 0;
780
+ };
781
+ PagerRecyclerAdapterImpl.prototype.getItemViewType = function (index) {
782
+ var owner = this.owner ? this.owner.get() : null;
783
+ if (owner) {
784
+ var template = owner._getItemTemplate(index);
785
+ return owner._itemTemplatesInternal.indexOf(template);
753
786
  }
754
- firstDummy() {
755
- const count = this.getItemCount();
756
- if (count === 0) {
787
+ return 0;
788
+ };
789
+ PagerRecyclerAdapterImpl.prototype.lastIndex = function () {
790
+ var owner = this.owner && this.owner.get();
791
+ if (owner) {
792
+ if (owner.items.length === 0) {
757
793
  return 0;
758
794
  }
759
- return this.getItemCount() - 1;
760
- }
761
- lastDummy() {
762
- return this.lastIndex();
795
+ return owner.circularMode ? this.getItemCount() - 3 : this.getItemCount() - 1;
763
796
  }
764
- hasStableIds() {
765
- return true;
797
+ return 0;
798
+ };
799
+ PagerRecyclerAdapterImpl.prototype.firstDummy = function () {
800
+ var count = this.getItemCount();
801
+ if (count === 0) {
802
+ return 0;
766
803
  }
804
+ return this.getItemCount() - 1;
767
805
  };
768
- PagerRecyclerAdapterImpl = __decorate([
769
- NativeClass
770
- ], PagerRecyclerAdapterImpl);
806
+ PagerRecyclerAdapterImpl.prototype.lastDummy = function () {
807
+ return this.lastIndex();
808
+ };
809
+ PagerRecyclerAdapterImpl.prototype.hasStableIds = function () {
810
+ return true;
811
+ };
812
+ return PagerRecyclerAdapterImpl;
813
+ }(androidx.recyclerview.widget.RecyclerView.Adapter));
771
814
  PagerRecyclerAdapter = PagerRecyclerAdapterImpl;
772
815
  }
773
816
  let StaticPagerStateAdapter;
@@ -775,91 +818,93 @@ function initStaticPagerStateAdapter() {
775
818
  if (StaticPagerStateAdapter) {
776
819
  return;
777
820
  }
778
- let StaticPagerStateAdapterImpl = class StaticPagerStateAdapterImpl extends androidx.recyclerview.widget.RecyclerView.Adapter {
779
- constructor(owner) {
780
- super();
781
- this.owner = owner;
782
- return global.__native(this);
783
- }
784
- onCreateViewHolder(param0, type) {
785
- const owner = this.owner ? this.owner.get() : null;
786
- if (!owner) {
787
- return null;
788
- }
789
- const view = owner._childrenViewsType.get(type);
790
- const sp = new StackLayout();
791
- if (view && !view.parent) {
792
- sp.addChild(view);
793
- }
794
- else {
795
- sp[PLACEHOLDER] = true;
796
- }
797
- owner._addView(sp);
798
- sp.nativeView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT));
799
- owner._realizedItems.set(sp.nativeView, sp);
800
- initPagerViewHolder();
801
- return new PagerViewHolder(new WeakRef(sp), new WeakRef(owner));
802
- }
803
- onBindViewHolder(holder, index) {
804
- const owner = this.owner ? this.owner.get() : null;
805
- if (owner) {
806
- const args = {
807
- eventName: Pager.itemLoadingEvent,
808
- object: owner,
809
- android: holder,
810
- ios: undefined,
811
- index,
812
- view: holder.view[PLACEHOLDER] ? null : holder.view
813
- };
814
- owner.notify(args);
815
- if (holder.view[PLACEHOLDER]) {
816
- if (args.view) {
817
- holder.view.addChild(args.view);
818
- }
819
- holder.view[PLACEHOLDER] = false;
820
- }
821
- }
821
+ var StaticPagerStateAdapterImpl = /** @class */ (function (_super) {
822
+ __extends(StaticPagerStateAdapterImpl, _super);
823
+ function StaticPagerStateAdapterImpl(owner) {
824
+ var _this = _super.call(this) || this;
825
+ _this.owner = owner;
826
+ return global.__native(_this);
827
+ }
828
+ StaticPagerStateAdapterImpl.prototype.onCreateViewHolder = function (param0, type) {
829
+ var owner = this.owner ? this.owner.get() : null;
830
+ if (!owner) {
831
+ return null;
822
832
  }
823
- hasStableIds() {
824
- return true;
833
+ var view = owner._childrenViewsType.get(type);
834
+ var sp = new StackLayout(); // Pager2 requires match_parent so add a parent with to fill
835
+ if (view && !view.parent) {
836
+ sp.addChild(view);
825
837
  }
826
- getItem(i) {
827
- const owner = this.owner ? this.owner.get() : null;
828
- if (owner) {
829
- if (owner._childrenViews) {
830
- return owner._childrenViews[i].view;
838
+ else {
839
+ sp[PLACEHOLDER] = true;
840
+ }
841
+ sp._setupAsRootView(owner._context);
842
+ sp._isAddedToNativeVisualTree = true;
843
+ sp.callLoaded();
844
+ sp.nativeView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT));
845
+ initPagerViewHolder();
846
+ var holder = new PagerViewHolder(new WeakRef(sp), new WeakRef(owner));
847
+ owner._viewHolders.add(holder);
848
+ return holder;
849
+ };
850
+ StaticPagerStateAdapterImpl.prototype.onBindViewHolder = function (holder, index) {
851
+ var owner = this.owner ? this.owner.get() : null;
852
+ if (owner) {
853
+ var args = {
854
+ eventName: Pager.itemLoadingEvent,
855
+ object: owner,
856
+ android: holder,
857
+ ios: undefined,
858
+ index: index,
859
+ view: holder.view[PLACEHOLDER] ? null : holder.view
860
+ };
861
+ owner.notify(args);
862
+ if (holder.view[PLACEHOLDER]) {
863
+ if (args.view) {
864
+ holder.view.addChild(args.view);
831
865
  }
866
+ holder.view[PLACEHOLDER] = false;
832
867
  }
833
- return null;
834
868
  }
835
- getItemId(i) {
836
- const owner = this.owner ? this.owner.get() : null;
837
- let id = i;
838
- if (owner) {
839
- const item = this.getItem(i);
840
- if (item) {
841
- id = owner.itemIdGenerator(item, i, Array.from(owner._childrenViews));
842
- }
869
+ };
870
+ StaticPagerStateAdapterImpl.prototype.hasStableIds = function () {
871
+ return true;
872
+ };
873
+ StaticPagerStateAdapterImpl.prototype.getItem = function (i) {
874
+ var owner = this.owner ? this.owner.get() : null;
875
+ if (owner) {
876
+ if (owner._childrenViews) {
877
+ return owner._childrenViews[i].view;
843
878
  }
844
- return long(id);
845
879
  }
846
- getItemCount() {
847
- var _a;
848
- const owner = this.owner ? this.owner.get() : null;
849
- return (owner && ((_a = owner._childrenViews) === null || _a === void 0 ? void 0 : _a.length)) || 0;
850
- }
851
- getItemViewType(index) {
852
- var _a;
853
- const owner = (_a = this.owner) === null || _a === void 0 ? void 0 : _a.get();
854
- if (owner && owner._childrenViews) {
855
- return owner._childrenViews[index].type;
880
+ return null;
881
+ };
882
+ StaticPagerStateAdapterImpl.prototype.getItemId = function (i) {
883
+ var owner = this.owner ? this.owner.get() : null;
884
+ var id = i;
885
+ if (owner) {
886
+ var item = this.getItem(i);
887
+ if (item) {
888
+ id = owner.itemIdGenerator(item, i, Array.from(owner._childrenViews));
856
889
  }
857
- return index;
858
890
  }
891
+ return long(id);
892
+ };
893
+ StaticPagerStateAdapterImpl.prototype.getItemCount = function () {
894
+ var _a;
895
+ var owner = this.owner ? this.owner.get() : null;
896
+ return (owner && ((_a = owner._childrenViews) === null || _a === void 0 ? void 0 : _a.length)) || 0;
897
+ };
898
+ StaticPagerStateAdapterImpl.prototype.getItemViewType = function (index) {
899
+ var _a;
900
+ var owner = (_a = this.owner) === null || _a === void 0 ? void 0 : _a.get();
901
+ if (owner && owner._childrenViews) {
902
+ return owner._childrenViews[index].type;
903
+ }
904
+ return index;
859
905
  };
860
- StaticPagerStateAdapterImpl = __decorate([
861
- NativeClass
862
- ], StaticPagerStateAdapterImpl);
906
+ return StaticPagerStateAdapterImpl;
907
+ }(androidx.recyclerview.widget.RecyclerView.Adapter));
863
908
  StaticPagerStateAdapter = StaticPagerStateAdapterImpl;
864
909
  }
865
910
  let PagerViewHolder;
@@ -867,20 +912,24 @@ function initPagerViewHolder() {
867
912
  if (PagerViewHolder) {
868
913
  return;
869
914
  }
870
- let PagerViewHolderImpl = class PagerViewHolderImpl extends androidx.recyclerview.widget.RecyclerView.ViewHolder {
871
- constructor(owner, pager) {
872
- super(owner.get().nativeViewProtected);
873
- this.owner = owner;
874
- this.pager = pager;
875
- return global.__native(this);
876
- }
877
- get view() {
878
- return this.owner ? this.owner.get() : null;
879
- }
880
- };
881
- PagerViewHolderImpl = __decorate([
882
- NativeClass
883
- ], PagerViewHolderImpl);
915
+ var PagerViewHolderImpl = /** @class */ (function (_super) {
916
+ __extends(PagerViewHolderImpl, _super);
917
+ function PagerViewHolderImpl(owner, pager) {
918
+ var _this = _super.call(this, owner.get().nativeViewProtected) || this;
919
+ _this.owner = owner;
920
+ _this.pager = pager;
921
+ return global.__native(_this);
922
+ }
923
+ Object.defineProperty(PagerViewHolderImpl.prototype, "view", {
924
+ get: function () {
925
+ var _a;
926
+ return (_a = this.owner) === null || _a === void 0 ? void 0 : _a.get();
927
+ },
928
+ enumerable: true,
929
+ configurable: true
930
+ });
931
+ return PagerViewHolderImpl;
932
+ }(androidx.recyclerview.widget.RecyclerView.ViewHolder));
884
933
  PagerViewHolder = PagerViewHolderImpl;
885
934
  }
886
935
  let ZoomOutPageTransformer;
@@ -888,28 +937,29 @@ function initZoomOutPageTransformer() {
888
937
  if (ZoomOutPageTransformer) {
889
938
  return;
890
939
  }
891
- let ZoomOutPageTransformerImpl = class ZoomOutPageTransformerImpl extends java.lang.Object {
892
- constructor() {
893
- super();
894
- return global.__native(this);
940
+ var ZoomOutPageTransformerImpl = /** @class */ (function (_super) {
941
+ __extends(ZoomOutPageTransformerImpl, _super);
942
+ function ZoomOutPageTransformerImpl() {
943
+ var _this = _super.call(this) || this;
944
+ return global.__native(_this);
945
+ }
946
+ ZoomOutPageTransformerImpl.prototype.transformPage = function (view, position) {
947
+ var MIN_SCALE = 0.85;
948
+ if (position <= 1 || position >= -1) {
949
+ var scale = Math.max(MIN_SCALE, 1 - Math.abs(position));
950
+ view.setScaleX(scale);
951
+ view.setScaleY(scale);
895
952
  }
896
- transformPage(view, position) {
897
- const MIN_SCALE = 0.85;
898
- if (position <= 1 || position >= -1) {
899
- const scale = Math.max(MIN_SCALE, 1 - Math.abs(position));
900
- view.setScaleX(scale);
901
- view.setScaleY(scale);
902
- }
903
- else {
904
- view.setScaleX(1);
905
- view.setScaleY(1);
906
- }
953
+ else {
954
+ view.setScaleX(1);
955
+ view.setScaleY(1);
907
956
  }
908
957
  };
909
958
  ZoomOutPageTransformerImpl = __decorate([
910
- NativeClass,
911
959
  Interfaces([androidx.viewpager2.widget.ViewPager2.PageTransformer])
912
960
  ], ZoomOutPageTransformerImpl);
961
+ return ZoomOutPageTransformerImpl;
962
+ }(java.lang.Object));
913
963
  ZoomOutPageTransformer = ZoomOutPageTransformerImpl;
914
964
  }
915
965
  let ZoomInPageTransformer;
@@ -917,24 +967,25 @@ function initZoomInPageTransformer() {
917
967
  if (ZoomInPageTransformer) {
918
968
  return;
919
969
  }
920
- let ZoomInPageTransformerImpl = class ZoomInPageTransformerImpl extends java.lang.Object {
921
- constructor() {
922
- super();
923
- return global.__native(this);
924
- }
925
- transformPage(view, position) {
926
- const scale = position < 0 ? position + 1.0 : Math.abs(1.0 - position);
927
- view.setScaleX(scale);
928
- view.setScaleY(scale);
929
- view.setPivotX(view.getWidth() * 0.5);
930
- view.setPivotY(view.getHeight() * 0.5);
931
- view.setAlpha(view < -1.0 || position > 1.0 ? 0.0 : 1.0 - (scale - 1.0));
932
- }
970
+ var ZoomInPageTransformerImpl = /** @class */ (function (_super) {
971
+ __extends(ZoomInPageTransformerImpl, _super);
972
+ function ZoomInPageTransformerImpl() {
973
+ var _this = _super.call(this) || this;
974
+ return global.__native(_this);
975
+ }
976
+ ZoomInPageTransformerImpl.prototype.transformPage = function (view, position) {
977
+ var scale = position < 0 ? position + 1.0 : Math.abs(1.0 - position);
978
+ view.setScaleX(scale);
979
+ view.setScaleY(scale);
980
+ view.setPivotX(view.getWidth() * 0.5);
981
+ view.setPivotY(view.getHeight() * 0.5);
982
+ view.setAlpha(view < -1.0 || position > 1.0 ? 0.0 : 1.0 - (scale - 1.0));
933
983
  };
934
984
  ZoomInPageTransformerImpl = __decorate([
935
- NativeClass,
936
985
  Interfaces([androidx.viewpager2.widget.ViewPager2.PageTransformer])
937
986
  ], ZoomInPageTransformerImpl);
987
+ return ZoomInPageTransformerImpl;
988
+ }(java.lang.Object));
938
989
  ZoomInPageTransformer = ZoomInPageTransformerImpl;
939
990
  }
940
991
  //# sourceMappingURL=index.android.js.map