@nativescript-community/ui-pager 13.0.43 → 14.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 (36) hide show
  1. package/README.md +2 -55
  2. package/angular/esm2020/index.mjs +4 -4
  3. package/angular/esm2020/nativescript-community-ui-pager-angular.mjs +4 -1
  4. package/angular/esm2020/pager-items-comp.mjs +11 -4
  5. package/angular/fesm2015/nativescript-community-ui-pager-angular.mjs +17 -6
  6. package/angular/fesm2015/nativescript-community-ui-pager-angular.mjs.map +1 -1
  7. package/angular/fesm2020/nativescript-community-ui-pager-angular.mjs +17 -6
  8. package/angular/fesm2020/nativescript-community-ui-pager-angular.mjs.map +1 -1
  9. package/angular/package.json +2 -2
  10. package/index.android.d.ts +4 -9
  11. package/index.android.js +165 -213
  12. package/index.android.js.map +1 -1
  13. package/index.common.d.ts +14 -17
  14. package/index.common.js +35 -32
  15. package/index.common.js.map +1 -1
  16. package/index.ios.d.ts +3 -9
  17. package/index.ios.js +109 -177
  18. package/index.ios.js.map +1 -1
  19. package/package.json +10 -10
  20. package/platforms/android/include.gradle +0 -13
  21. package/platforms/android/native-api-usage.json +1 -6
  22. package/platforms/ios/native-api-usage.json +0 -1
  23. package/react/index.d.ts +47 -40
  24. package/react/index.js +33 -6
  25. package/react/index.js.map +1 -1
  26. package/references.d.ts +1 -2
  27. package/svelte/index.js +11 -1
  28. package/svelte/index.js.map +1 -1
  29. package/typings/viewpager2.d.ts +1 -1
  30. package/vue/pager.js +8 -1
  31. package/vue/pager.js.map +1 -1
  32. package/.pnpm-debug.log +0 -1
  33. package/CHANGELOG.md +0 -350
  34. package/angular/nativescript-community-ui-pager-angular.d.ts +0 -2
  35. package/platforms/ios/Podfile +0 -1
  36. package/typings/objc!CHIPageControl.d.ts +0 -197
package/index.ios.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { ChangeType, Color, Observable, ObservableArray, Property, ProxyViewContainer, StackLayout, Utils, View, ViewBase, profile } from '@nativescript/core';
2
- import { layout } from '@nativescript/core/utils/utils';
3
- import { Indicator, PagerBase, autoPlayProperty, autoplayDelayProperty, disableSwipeProperty, indicatorColorProperty, indicatorProperty, indicatorSelectedColorProperty, itemTemplatesProperty, itemsProperty, orientationProperty, selectedIndexProperty, showIndicatorProperty } from './index.common';
2
+ import { PagerBase, autoPlayProperty, autoplayDelayProperty, disableSwipeProperty, itemTemplatesProperty, itemsProperty, orientationProperty, selectedIndexProperty, showIndicatorProperty } from './index.common';
4
3
  export * from './index.common';
5
4
  export { Transformer } from './index.common';
6
5
  const main_queue = dispatch_get_current_queue();
@@ -63,13 +62,13 @@ export class Pager extends PagerBase {
63
62
  this.mInnerWidth = 0;
64
63
  this.mInnerHeight = 0;
65
64
  this._observableArrayHandler = (args) => {
66
- if (!this.pager) {
65
+ if (!this.nativeViewProtected) {
67
66
  return;
68
67
  }
69
- if (this.indicatorView && this.mObservableArrayInstance && this.mObservableArrayInstance.length) {
70
- this.indicatorView.numberOfPages = this.mObservableArrayInstance.length;
71
- }
72
- const collectionView = this.pager;
68
+ // if (this.indicatorView && this.mObservableArrayInstance && this.mObservableArrayInstance.length) {
69
+ // this.indicatorView.numberOfPages = this.mObservableArrayInstance.length;
70
+ // }
71
+ const collectionView = this.nativeViewProtected;
73
72
  if (collectionView) {
74
73
  try {
75
74
  let offset = 0;
@@ -124,30 +123,22 @@ export class Pager extends PagerBase {
124
123
  this.iosOverflowSafeAreaEnabledLayoutHackNeeded = true;
125
124
  this.mMap = new Map();
126
125
  }
127
- get pager() {
128
- return this.mPager;
129
- }
130
- get indicatorView() {
131
- return this.mIndicatorView;
132
- }
133
126
  createNativeView() {
134
- const nativeView = UIView.new();
135
127
  this.mLayout = UICollectionViewFlowLinearLayoutImpl.initWithOwner(new WeakRef(this));
136
- this.mLayout.scrollDirection = 1;
128
+ this.mLayout.scrollDirection = 1 /* UICollectionViewScrollDirection.Horizontal */;
137
129
  this.mLayout.minimumInteritemSpacing = 0;
138
- const pager = (this.mPager = UICollectionView.alloc().initWithFrameCollectionViewLayout(CGRectZero, this.mLayout));
139
- pager.backgroundColor = UIColor.clearColor;
140
- pager.autoresizesSubviews = false;
141
- pager.autoresizingMask = 0;
142
- pager.showsHorizontalScrollIndicator = false;
143
- pager.showsVerticalScrollIndicator = false;
144
- pager.decelerationRate = UIScrollViewDecelerationRateFast;
145
- nativeView.addSubview(pager);
130
+ const nativeView = UICollectionView.alloc().initWithFrameCollectionViewLayout(CGRectZero, this.mLayout);
131
+ nativeView.backgroundColor = UIColor.clearColor;
132
+ nativeView.autoresizesSubviews = false;
133
+ nativeView.autoresizingMask = 0 /* UIViewAutoresizing.None */;
134
+ nativeView.showsHorizontalScrollIndicator = false;
135
+ nativeView.showsVerticalScrollIndicator = false;
136
+ nativeView.decelerationRate = UIScrollViewDecelerationRateFast;
146
137
  return nativeView;
147
138
  }
148
139
  initNativeView() {
149
140
  super.initNativeView();
150
- const nativeView = this.pager;
141
+ const nativeView = this.nativeViewProtected;
151
142
  nativeView.registerClassForCellWithReuseIdentifier(PagerCell.class(), this._defaultTemplate.key);
152
143
  nativeView.backgroundColor = UIColor.clearColor;
153
144
  nativeView.autoresizesSubviews = false;
@@ -155,16 +146,15 @@ export class Pager extends PagerBase {
155
146
  nativeView.dataSource = this.mDataSource = UICollectionViewDataSourceImpl.initWithOwner(new WeakRef(this));
156
147
  nativeView.scrollEnabled = !this.disableSwipe;
157
148
  if (this.orientation === 'vertical') {
158
- this.mLayout.scrollDirection = 0;
149
+ this.mLayout.scrollDirection = 0 /* UICollectionViewScrollDirection.Vertical */;
159
150
  nativeView.alwaysBounceVertical = true;
160
151
  nativeView.alwaysBounceHorizontal = false;
161
152
  }
162
153
  else {
163
- this.mLayout.scrollDirection = 1;
154
+ this.mLayout.scrollDirection = 1 /* UICollectionViewScrollDirection.Horizontal */;
164
155
  nativeView.alwaysBounceHorizontal = true;
165
156
  nativeView.alwaysBounceVertical = false;
166
157
  }
167
- this._setIndicator(this.indicator);
168
158
  this.mDelegate = UICollectionDelegateImpl.initWithOwner(new WeakRef(this));
169
159
  this._setNativeClipToBounds();
170
160
  this._initAutoPlay(this.autoPlay);
@@ -175,20 +165,21 @@ export class Pager extends PagerBase {
175
165
  }
176
166
  let result;
177
167
  if (this.nativeViewProtected) {
178
- const cell = this.mPager.cellForItemAtIndexPath(NSIndexPath.indexPathForRowInSection(index, 0));
179
- return cell === null || cell === void 0 ? void 0 : cell.view;
168
+ const cell = this.nativeViewProtected.cellForItemAtIndexPath(NSIndexPath.indexPathForRowInSection(index, 0));
169
+ return cell?.view;
180
170
  }
181
171
  return result;
182
172
  }
183
173
  _getRealWidthHeight() {
184
174
  let height = 0;
185
175
  let width = 0;
186
- width = (layout.toDeviceIndependentPixels(this._effectiveItemWidth) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
187
- height = (layout.toDeviceIndependentPixels(this._effectiveItemHeight) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
176
+ width = (Utils.layout.toDeviceIndependentPixels(this._effectiveItemWidth) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
177
+ height = (Utils.layout.toDeviceIndependentPixels(this._effectiveItemHeight) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
188
178
  return { height, width };
189
179
  }
190
180
  _nextIndex() {
191
181
  if (this.circularMode) {
182
+ // TODO
192
183
  return 0;
193
184
  }
194
185
  else {
@@ -251,63 +242,19 @@ export class Pager extends PagerBase {
251
242
  get lastDummy() {
252
243
  return this.lastIndex;
253
244
  }
254
- _setIndicator(value) {
255
- if (this.mIndicatorView) {
256
- this.mIndicatorView.removeFromSuperview();
257
- }
258
- switch (value) {
259
- case Indicator.None:
260
- this.mIndicatorView = CHIPageControlAji.new();
261
- break;
262
- case Indicator.Worm:
263
- this.mIndicatorView = CHIPageControlAleppo.new();
264
- break;
265
- case Indicator.Fill:
266
- this.mIndicatorView = CHIPageControlChimayo.new();
267
- break;
268
- case Indicator.Swap:
269
- this.mIndicatorView = CHIPageControlPuya.new();
270
- break;
271
- case Indicator.THIN_WORM:
272
- this.mIndicatorView = CHIPageControlJalapeno.new();
273
- break;
274
- case Indicator.Flat:
275
- this.mIndicatorView = CHIPageControlJaloro.new();
276
- break;
277
- default:
278
- break;
279
- }
280
- this.mIndicatorView.tintColor = UIColor.whiteColor;
281
- this.mIndicatorView.currentPageTintColor = UIColor.whiteColor;
282
- switch (value) {
283
- case Indicator.None:
284
- case Indicator.Worm:
285
- case Indicator.Fill:
286
- case Indicator.Swap:
287
- case Indicator.THIN_WORM:
288
- case Indicator.Disabled:
289
- this.mIndicatorView.radius = 4;
290
- break;
291
- case Indicator.Flat:
292
- this.mIndicatorView.radius = 2;
293
- this.mIndicatorView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.7, 0.5);
294
- break;
295
- }
296
- }
297
245
  get _childrenCount() {
298
- var _a, _b;
299
- return ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) || ((_b = this._childrenViews) === null || _b === void 0 ? void 0 : _b.length) || 0;
246
+ return this.items?.length || this._childrenViews?.length || 0;
300
247
  }
301
248
  itemTemplateUpdated(oldData, newData) { }
302
249
  _setNativeClipToBounds() {
303
- this.pager.clipsToBounds = true;
250
+ this.nativeViewProtected.clipsToBounds = true;
304
251
  }
305
252
  [orientationProperty.setNative](value) {
306
253
  if (value === 'horizontal') {
307
- this.mLayout.scrollDirection = 1;
254
+ this.mLayout.scrollDirection = 1 /* UICollectionViewScrollDirection.Horizontal */;
308
255
  }
309
256
  else {
310
- this.mLayout.scrollDirection = 0;
257
+ this.mLayout.scrollDirection = 0 /* UICollectionViewScrollDirection.Vertical */;
311
258
  }
312
259
  }
313
260
  eachChildView(callback) {
@@ -317,7 +264,7 @@ export class Pager extends PagerBase {
317
264
  this.mMap.forEach((view, key) => callback(view));
318
265
  }
319
266
  _updateScrollPosition() {
320
- const view = this.pager;
267
+ const view = this.nativeViewProtected;
321
268
  const size = this.orientation === 'vertical' ? view.contentSize.height : view.contentSize.width;
322
269
  if (!view || size === 0) {
323
270
  return;
@@ -336,30 +283,19 @@ export class Pager extends PagerBase {
336
283
  this._itemTemplatesInternal = new Array(this._defaultTemplate);
337
284
  if (value) {
338
285
  for (let i = 0, length = value.length; i < length; i++) {
339
- this.pager.registerClassForCellWithReuseIdentifier(PagerCell.class(), value[i].key);
286
+ this.nativeViewProtected.registerClassForCellWithReuseIdentifier(PagerCell.class(), value[i].key);
340
287
  }
341
288
  this._itemTemplatesInternal = this._itemTemplatesInternal.concat(value);
342
289
  }
343
290
  }
344
291
  [itemsProperty.setNative](value) {
345
- if (this.indicatorView && value && value.length) {
346
- this.indicatorView.numberOfPages = value.length;
347
- }
348
- if (this.mObservableArrayInstance) {
349
- this.mObservableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
350
- this.mObservableArrayInstance = null;
351
- }
352
- if (value instanceof ObservableArray) {
353
- this.mObservableArrayInstance = value;
354
- this.mObservableArrayInstance.on(ObservableArray.changeEvent, this._observableArrayHandler);
355
- }
356
- else {
357
- this.refresh();
358
- }
292
+ // if (this.indicatorView && value && value.length) {
293
+ // this.indicatorView.numberOfPages = value.length;
294
+ // }
295
+ this.setObservableArrayInstance(value);
359
296
  if (!value) {
360
297
  this.mIsInit = false;
361
298
  }
362
- selectedIndexProperty.coerce(this);
363
299
  }
364
300
  [autoPlayProperty.setNative](value) {
365
301
  this._initAutoPlay(value);
@@ -371,31 +307,11 @@ export class Pager extends PagerBase {
371
307
  this._initAutoPlay(this.autoPlay);
372
308
  }
373
309
  }
374
- [showIndicatorProperty.setNative](value) {
375
- if (!this.indicatorView) {
376
- this._setIndicator(this.indicatorView);
377
- }
378
- if (!this.nativeView) {
379
- return;
380
- }
381
- this.indicatorView.center = CGPointMake(this.nativeView.center.x, this.nativeView.bounds.size.height - this.indicatorView.intrinsicContentSize.height);
382
- const hasParent = this.indicatorView.superview;
383
- if (value) {
384
- if (!hasParent) {
385
- this.nativeView.addSubview(this.indicatorView);
386
- }
387
- }
388
- else {
389
- if (hasParent) {
390
- this.indicatorView.removeFromSuperview();
391
- }
392
- }
393
- }
394
310
  _onItemsChanged(oldValue, newValue) { }
395
311
  scrollToIndexAnimated(index, animate) {
396
- if (!this.pager)
312
+ if (!this.nativeViewProtected)
397
313
  return;
398
- const contentSize = this.pager.contentSize;
314
+ const contentSize = this.nativeViewProtected.contentSize;
399
315
  const size = this.orientation === 'vertical' ? contentSize.height : contentSize.width;
400
316
  if (size === 0) {
401
317
  return;
@@ -418,10 +334,12 @@ export class Pager extends PagerBase {
418
334
  return selectedIndexProperty.nativeValueChange(this, maxMinIndex);
419
335
  }
420
336
  }
421
- if (this.mDataSource.collectionViewNumberOfItemsInSection(this.pager, 0) > maxMinIndex) {
422
- this.pager.scrollToItemAtIndexPathAtScrollPositionAnimated(NSIndexPath.indexPathForItemInSection(maxMinIndex, 0), this.orientation === 'vertical' ? 2 : 16, !!animate);
337
+ // dispatch_async(main_queue, () => {
338
+ if (this.mDataSource.collectionViewNumberOfItemsInSection(this.nativeViewProtected, 0) > maxMinIndex) {
339
+ this.nativeViewProtected.scrollToItemAtIndexPathAtScrollPositionAnimated(NSIndexPath.indexPathForItemInSection(maxMinIndex, 0), this.orientation === 'vertical' ? 2 /* UICollectionViewScrollPosition.CenteredVertically */ : 16 /* UICollectionViewScrollPosition.CenteredHorizontally */, !!animate);
423
340
  }
424
341
  selectedIndexProperty.nativeValueChange(this, maxMinIndex);
342
+ // });
425
343
  }
426
344
  refresh() {
427
345
  if (!this.isLoaded || !this.nativeView) {
@@ -430,49 +348,43 @@ export class Pager extends PagerBase {
430
348
  }
431
349
  this._isDataDirty = false;
432
350
  this.mLastLayoutKey = this.mInnerWidth + '_' + this.mInnerHeight;
351
+ // clear bindingContext when it is not observable because otherwise bindings to items won't reevaluate
433
352
  this.mMap.forEach((view, nativeView, map) => {
434
353
  if (!(view.bindingContext instanceof Observable)) {
435
354
  view.bindingContext = null;
436
355
  }
437
356
  });
438
- this.pager.reloadData();
439
- this.pager.collectionViewLayout.invalidateLayout();
357
+ // TODO: this is ugly look here: https://github.com/nativescript-vue/nativescript-vue/issues/525
358
+ // this.clearRealizedCells();
359
+ // dispatch_async(main_queue, () => {
360
+ this.nativeViewProtected.reloadData();
361
+ this.nativeViewProtected.collectionViewLayout.invalidateLayout();
440
362
  this._updateScrollPosition();
441
363
  this._initAutoPlay(this.autoPlay);
364
+ // });
442
365
  }
443
366
  onLoaded() {
444
367
  super.onLoaded();
445
- if (this.showIndicator && this.indicatorView) {
446
- this.nativeView.addSubview(this.indicatorView);
447
- }
448
368
  if (this._isDataDirty && this.mInnerWidth !== undefined && this.mInnerHeight !== undefined) {
449
369
  this.refresh();
450
370
  }
451
- this.pager.delegate = this.mDelegate;
371
+ this.nativeViewProtected.delegate = this.mDelegate;
452
372
  if (!this.items && this._childrenCount > 0) {
453
373
  selectedIndexProperty.coerce(this);
454
374
  this._updateScrollPosition();
455
375
  }
456
376
  }
457
377
  onUnloaded() {
458
- if (this.pager) {
459
- this.pager.delegate = null;
378
+ if (this.nativeViewProtected) {
379
+ this.nativeViewProtected.delegate = null;
460
380
  }
461
381
  super.onUnloaded();
462
382
  }
463
383
  disposeNativeView() {
464
384
  this.mDelegate = null;
465
385
  this.mDataSource = null;
466
- if (this.mPager) {
467
- this.mPager.delegate = null;
468
- this.mPager = null;
469
- }
470
- this.mIndicatorView = null;
386
+ this.nativeViewProtected.delegate = null;
471
387
  this.mLayout = null;
472
- if (this.mObservableArrayInstance) {
473
- this.mObservableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
474
- this.mObservableArrayInstance = null;
475
- }
476
388
  this.clearRealizedCells();
477
389
  super.disposeNativeView();
478
390
  }
@@ -485,13 +397,21 @@ export class Pager extends PagerBase {
485
397
  this.mMap.clear();
486
398
  }
487
399
  _clearCellViews(cell) {
400
+ // if (cell && cell.view) {
401
+ // if (cell.view.nativeViewProtected) {
402
+ // cell.view.nativeViewProtected.removeFromSuperview();
403
+ // }
404
+ // cell.owner = undefined;
405
+ // }
488
406
  const view = cell.view;
489
407
  if (!view) {
490
408
  return;
491
409
  }
410
+ // This is to clear the StackLayout that is used to wrap ProxyViewContainer instances.
492
411
  if (view.parent && !(view.parent instanceof Pager)) {
493
412
  this._removeView(view.parent);
494
413
  }
414
+ // No need to request layout when we are removing cells.
495
415
  cell.owner = undefined;
496
416
  const preparing = this.mPreparingCell;
497
417
  this.mPreparingCell = true;
@@ -506,27 +426,12 @@ export class Pager extends PagerBase {
506
426
  this.mPreparingCell = preparing;
507
427
  this.mMap.delete(cell);
508
428
  }
509
- [indicatorProperty.setNative](value) {
510
- this._setIndicator(value);
511
- }
512
- [indicatorColorProperty.setNative](value) {
513
- if (this.indicatorView) {
514
- const color = !value || value instanceof Color ? value : new Color(value);
515
- this.indicatorView.tintColor = color ? color.ios : null;
516
- }
517
- }
518
- [indicatorSelectedColorProperty.setNative](value) {
519
- if (this.indicatorView) {
520
- const color = !value || value instanceof Color ? value : new Color(value);
521
- this.indicatorView.currentPageTintColor = color ? color.ios : null;
522
- }
523
- }
524
429
  [disableSwipeProperty.setNative](value) {
525
- this.mPager.scrollEnabled = !value;
430
+ this.nativeViewProtected.scrollEnabled = !value;
526
431
  this.mDisableSwipe = value;
527
432
  }
528
433
  [contentInsetAdjustmentBehaviorProperty.setNative](value) {
529
- this.mPager.contentInsetAdjustmentBehavior = value;
434
+ this.nativeViewProtected.contentInsetAdjustmentBehavior = value;
530
435
  }
531
436
  get disableAnimation() {
532
437
  return this.mDisableAnimation;
@@ -547,6 +452,7 @@ export class Pager extends PagerBase {
547
452
  this.notify(args);
548
453
  view = args.view;
549
454
  if (view && view.parent) {
455
+ // This is to clear the StackLayout that is used to wrap ProxyViewContainer instances.
550
456
  if (!(view.parent instanceof Pager)) {
551
457
  this._removeView(view.parent);
552
458
  }
@@ -554,6 +460,19 @@ export class Pager extends PagerBase {
554
460
  }
555
461
  this.mMap.delete(cell);
556
462
  }
463
+ // called by N when the size actually changed
464
+ // _onSizeChanged() {
465
+ // dispatch_async(main_queue, () => {
466
+ // if (!this.pager) {
467
+ // return;
468
+ // }
469
+ // this.pager.reloadData();
470
+ // // if (changed) {
471
+ // this._updateScrollPosition();
472
+ // // }
473
+ // this._initAutoPlay(this.autoPlay);
474
+ // });
475
+ // }
557
476
  onMeasure(widthMeasureSpec, heightMeasureSpec) {
558
477
  super.onMeasure(widthMeasureSpec, heightMeasureSpec);
559
478
  this.mMap.forEach((childView, pagerCell) => {
@@ -572,27 +491,27 @@ export class Pager extends PagerBase {
572
491
  if (!this.nativeView) {
573
492
  return;
574
493
  }
575
- this.pager.frame = this.nativeView.bounds;
576
- if (this.indicatorView && this.indicatorView.intrinsicContentSize) {
577
- this.indicatorView.center = CGPointMake(this.nativeView.center.x, this.nativeView.bounds.size.height - this.indicatorView.intrinsicContentSize.height);
578
- }
579
- const layoutView = this.pager.collectionViewLayout;
494
+ // this.nativeViewProtected.frame = this.nativeView.bounds;
495
+ const layoutView = this.nativeViewProtected.collectionViewLayout;
580
496
  if (!layoutView) {
581
497
  return;
582
498
  }
583
499
  layoutView.invalidateLayout();
584
500
  const size = this._getSize();
585
501
  this.mMap.forEach((childView, pagerCell) => {
586
- const width = layout.toDevicePixels(size.width);
587
- const height = layout.toDevicePixels(size.height);
502
+ const width = Utils.layout.toDevicePixels(size.width);
503
+ const height = Utils.layout.toDevicePixels(size.height);
588
504
  View.layoutChild(this, childView, 0, 0, width, height);
589
505
  });
506
+ // there is no need to call refresh if it was triggered before with same size.
507
+ // this refresh is just to handle size change
590
508
  const layoutKey = this.mInnerWidth + '_' + this.mInnerHeight;
591
509
  if (this.mLastLayoutKey !== layoutKey) {
592
510
  this.refresh();
593
511
  }
594
512
  }
595
513
  requestLayout() {
514
+ // When preparing cell don't call super - no need to invalidate our measure when cell desiredSize is changed.
596
515
  if (!this.mPreparingCell) {
597
516
  super.requestLayout();
598
517
  }
@@ -621,11 +540,14 @@ export class Pager extends PagerBase {
621
540
  };
622
541
  this.notify(args);
623
542
  view = args.view || this._getDefaultItemContent(indexPath.row);
543
+ // Proxy containers should not get treated as layouts.
544
+ // Wrap them in a real layout as well.
624
545
  if (view instanceof ProxyViewContainer) {
625
546
  const sp = new StackLayout();
626
547
  sp.addChild(view);
627
548
  view = sp;
628
549
  }
550
+ // If cell is reused it have old content - remove it first.
629
551
  if (!cell.view) {
630
552
  cell.owner = new WeakRef(view);
631
553
  }
@@ -641,6 +563,16 @@ export class Pager extends PagerBase {
641
563
  this.mMap.set(cell, view);
642
564
  if (view && !view.parent) {
643
565
  this._addView(view);
566
+ // prevent infinit request layout
567
+ // view['performLayout'] = () => {
568
+ // this._layoutCell(view, indexPath);
569
+ // const size = this._getSize();
570
+ // const width = layout.toDevicePixels(size.width);
571
+ // const height = layout.toDevicePixels(size.height);
572
+ // if (view && view.isLayoutRequired) {
573
+ // View.layoutChild(this, view, 0, 0, width, height);
574
+ // }
575
+ // };
644
576
  if (this.iosOverflowSafeArea) {
645
577
  const innerView = UICellView.new();
646
578
  innerView.view = new WeakRef(view);
@@ -660,28 +592,28 @@ export class Pager extends PagerBase {
660
592
  _layoutCell(cellView, index) {
661
593
  if (cellView) {
662
594
  const size = this._getSize();
663
- const width = layout.toDevicePixels(size.width);
664
- const height = layout.toDevicePixels(size.height);
665
- const widthMeasureSpec = layout.makeMeasureSpec(width, layout.EXACTLY);
666
- const heightMeasureSpec = layout.makeMeasureSpec(height, layout.EXACTLY);
595
+ const width = Utils.layout.toDevicePixels(size.width);
596
+ const height = Utils.layout.toDevicePixels(size.height);
597
+ const widthMeasureSpec = Utils.layout.makeMeasureSpec(width, Utils.layout.EXACTLY);
598
+ const heightMeasureSpec = Utils.layout.makeMeasureSpec(height, Utils.layout.EXACTLY);
667
599
  const measured = View.measureChild(this, cellView, widthMeasureSpec, heightMeasureSpec);
668
600
  }
669
601
  }
670
602
  get horizontalOffset() {
671
- return this.pager ? this.pager.contentOffset.x : 0;
603
+ return this.nativeViewProtected ? this.nativeViewProtected.contentOffset.x : 0;
672
604
  }
673
605
  get verticalOffset() {
674
- return this.pager ? this.pager.contentOffset.y : 0;
606
+ return this.nativeViewProtected ? this.nativeViewProtected.contentOffset.y : 0;
675
607
  }
676
608
  _getSpacing() {
677
- return layout.toDeviceIndependentPixels(this.convertToSize(this.spacing));
609
+ return Utils.layout.toDeviceIndependentPixels(this.convertToSize(this.spacing));
678
610
  }
679
611
  _getPeaking() {
680
- return layout.toDeviceIndependentPixels(this.convertToSize(this.peaking));
612
+ return Utils.layout.toDeviceIndependentPixels(this.convertToSize(this.peaking));
681
613
  }
682
614
  _getSize() {
683
- let width = layout.toDeviceIndependentPixels(this._effectiveItemWidth);
684
- let height = layout.toDeviceIndependentPixels(this._effectiveItemHeight);
615
+ let width = Utils.layout.toDeviceIndependentPixels(this._effectiveItemWidth);
616
+ let height = Utils.layout.toDeviceIndependentPixels(this._effectiveItemHeight);
685
617
  if (this.orientation === 'vertical') {
686
618
  height = (height - (this._getSpacing() * 2 + this._getPeaking() * 2)) / this.perPage;
687
619
  }
@@ -835,9 +767,9 @@ var UICollectionDelegateImpl = /** @class */ (function (_super) {
835
767
  }
836
768
  var percent = offset / total;
837
769
  var progress = percent * (owner.itemCount - 1);
838
- if (owner.indicatorView && owner.indicatorView.setWithProgressAnimated && !Number.isNaN(progress)) {
839
- owner.indicatorView.progress = progress;
840
- }
770
+ // if (owner.indicatorView && owner.indicatorView.setWithProgressAnimated && !Number.isNaN(progress)) {
771
+ // owner.indicatorView.progress = progress;
772
+ // }
841
773
  var index = parseInt(progress.toFixed(0), 10);
842
774
  if (owner.selectedIndex !== index && !Number.isNaN(index)) {
843
775
  // selectedIndexProperty.nativeValueChange(owner, index);
@@ -1032,8 +964,8 @@ var UICollectionViewDataSourceImpl = /** @class */ (function (_super) {
1032
964
  view['iosIgnoreSafeArea'] = owner['iosIgnoreSafeArea'];
1033
965
  owner._layoutCell(view, indexPath);
1034
966
  var size = owner._getSize();
1035
- var width = layout.toDevicePixels(size.width);
1036
- var height = layout.toDevicePixels(size.height);
967
+ var width = Utils.layout.toDevicePixels(size.width);
968
+ var height = Utils.layout.toDevicePixels(size.height);
1037
969
  if (view && view.isLayoutRequired) {
1038
970
  View.layoutChild(owner, view, 0, 0, width, height);
1039
971
  }
@@ -1050,7 +982,7 @@ var UICollectionViewDataSourceImpl = /** @class */ (function (_super) {
1050
982
  cellView.iosOverflowSafeArea = owner.iosOverflowSafeArea;
1051
983
  cellView['iosIgnoreSafeArea'] = owner['iosIgnoreSafeArea'];
1052
984
  if (!owner.iosOverflowSafeAreaEnabled && cellView && cellView.isLayoutRequired) {
1053
- View.layoutChild(owner, cellView, 0, 0, layout.toDevicePixels(size.width), layout.toDevicePixels(size.height));
985
+ View.layoutChild(owner, cellView, 0, 0, Utils.layout.toDevicePixels(size.width), Utils.layout.toDevicePixels(size.height));
1054
986
  }
1055
987
  }
1056
988
  return cell;
package/index.ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.ios.js","sourceRoot":"../src/","sources":["index.ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"../src/","sources":["index.ios.ts"],"names":[],"mappings":"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"}