@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/.pnpm-debug.log +1 -0
- package/CHANGELOG.md +24 -0
- package/angular/index.d.ts +1 -1
- package/angular/pager-items-comp.d.ts +3 -3
- package/index.android.d.ts +12 -4
- package/index.android.js +387 -336
- package/index.android.js.map +1 -1
- package/index.common.d.ts +1 -1
- package/index.common.js +2 -1
- package/index.common.js.map +1 -1
- package/index.ios.d.ts +1 -1
- package/index.ios.js +302 -175
- package/index.ios.js.map +1 -1
- package/package.json +2 -2
- package/platforms/android/include.gradle +1 -0
- package/react/index.d.ts +2 -2
- package/references.d.ts +1 -1
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,
|
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.
|
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.
|
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
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
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
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
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
|
-
|
529
|
-
|
530
|
-
|
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.
|
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.
|
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
|
-
|
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
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
}
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
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
|
630
|
-
|
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
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
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
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
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
|
-
|
656
|
-
|
657
|
-
sp.addChild(view);
|
720
|
+
else if (position === this.firstDummy()) {
|
721
|
+
position = 0;
|
658
722
|
}
|
659
723
|
else {
|
660
|
-
|
661
|
-
}
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
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 (
|
676
|
-
|
736
|
+
else if (index === this.firstDummy()) {
|
737
|
+
index = 0;
|
677
738
|
}
|
678
739
|
else {
|
679
|
-
|
740
|
+
index = index - 1;
|
680
741
|
}
|
681
742
|
}
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
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
|
-
|
699
|
-
|
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
|
-
|
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
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
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
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
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
|
-
|
755
|
-
|
756
|
-
|
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
|
-
|
765
|
-
|
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 =
|
769
|
-
|
770
|
-
|
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
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
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
|
-
|
824
|
-
|
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
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
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
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
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
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
var
|
853
|
-
|
854
|
-
|
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
|
861
|
-
|
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
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
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
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
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
|
-
|
897
|
-
|
898
|
-
|
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
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
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
|