add loop property & fix bug caused by renderPage cache
This commit is contained in:
@@ -1957,12 +1957,9 @@ var Slider = /** @class */ (function (_super) {
|
||||
return this.cachedViews.values();
|
||||
};
|
||||
Slider.prototype.getItem = function (itemIdx) {
|
||||
var view = this.cachedViews.get("" + itemIdx);
|
||||
if (view === undefined) {
|
||||
view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set("" + itemIdx, view);
|
||||
}
|
||||
var view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set("" + itemIdx, view);
|
||||
return view;
|
||||
};
|
||||
Slider.prototype.isDirty = function () {
|
||||
@@ -2004,6 +2001,10 @@ var Slider = /** @class */ (function (_super) {
|
||||
Property,
|
||||
__metadata$6("design:type", Function)
|
||||
], Slider.prototype, "onPageSlided", void 0);
|
||||
__decorate$6([
|
||||
Property,
|
||||
__metadata$6("design:type", Boolean)
|
||||
], Slider.prototype, "loop", void 0);
|
||||
return Slider;
|
||||
}(Superview));
|
||||
function slider(config) {
|
||||
|
@@ -1457,12 +1457,9 @@ class Slider extends Superview {
|
||||
return this.cachedViews.values();
|
||||
}
|
||||
getItem(itemIdx) {
|
||||
let view = this.cachedViews.get(`${itemIdx}`);
|
||||
if (view === undefined) {
|
||||
view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set(`${itemIdx}`, view);
|
||||
}
|
||||
let view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set(`${itemIdx}`, view);
|
||||
return view;
|
||||
}
|
||||
isDirty() {
|
||||
@@ -1503,6 +1500,10 @@ __decorate$6([
|
||||
Property,
|
||||
__metadata$6("design:type", Function)
|
||||
], Slider.prototype, "onPageSlided", void 0);
|
||||
__decorate$6([
|
||||
Property,
|
||||
__metadata$6("design:type", Boolean)
|
||||
], Slider.prototype, "loop", void 0);
|
||||
function slider(config) {
|
||||
const ret = new Slider;
|
||||
for (let key in config) {
|
||||
|
@@ -2916,12 +2916,9 @@ class Slider extends Superview {
|
||||
return this.cachedViews.values();
|
||||
}
|
||||
getItem(itemIdx) {
|
||||
let view = this.cachedViews.get(`${itemIdx}`);
|
||||
if (view === undefined) {
|
||||
view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set(`${itemIdx}`, view);
|
||||
}
|
||||
let view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set(`${itemIdx}`, view);
|
||||
return view;
|
||||
}
|
||||
isDirty() {
|
||||
@@ -2962,6 +2959,10 @@ __decorate$6([
|
||||
Property,
|
||||
__metadata$6("design:type", Function)
|
||||
], Slider.prototype, "onPageSlided", void 0);
|
||||
__decorate$6([
|
||||
Property,
|
||||
__metadata$6("design:type", Boolean)
|
||||
], Slider.prototype, "loop", void 0);
|
||||
function slider(config) {
|
||||
const ret = new Slider;
|
||||
for (let key in config) {
|
||||
|
2
doric-js/index.d.ts
vendored
2
doric-js/index.d.ts
vendored
@@ -632,6 +632,7 @@ declare module 'doric/lib/src/widget/slider' {
|
||||
itemCount: number;
|
||||
batchCount?: number;
|
||||
onPageSlided?: (index: number) => void;
|
||||
loop?: boolean;
|
||||
}
|
||||
export class Slider extends Superview implements ISlider {
|
||||
allSubviews(): IterableIterator<SlideItem>;
|
||||
@@ -639,6 +640,7 @@ declare module 'doric/lib/src/widget/slider' {
|
||||
renderPage: (index: number) => SlideItem;
|
||||
batchCount: number;
|
||||
onPageSlided?: (index: number) => void;
|
||||
loop?: boolean;
|
||||
isDirty(): boolean;
|
||||
slidePage(context: BridgeContext, page: number, smooth?: boolean): Promise<any>;
|
||||
getSlidedPage(context: BridgeContext): Promise<number>;
|
||||
|
2
doric-js/lib/src/widget/slider.d.ts
vendored
2
doric-js/lib/src/widget/slider.d.ts
vendored
@@ -15,6 +15,7 @@ export interface ISlider extends IView {
|
||||
itemCount: number;
|
||||
batchCount?: number;
|
||||
onPageSlided?: (index: number) => void;
|
||||
loop?: boolean;
|
||||
}
|
||||
export declare class Slider extends Superview implements ISlider {
|
||||
private cachedViews;
|
||||
@@ -24,6 +25,7 @@ export declare class Slider extends Superview implements ISlider {
|
||||
renderPage: (index: number) => SlideItem;
|
||||
batchCount: number;
|
||||
onPageSlided?: (index: number) => void;
|
||||
loop?: boolean;
|
||||
private getItem;
|
||||
isDirty(): boolean;
|
||||
private renderBunchedItems;
|
||||
|
@@ -43,12 +43,9 @@ export class Slider extends Superview {
|
||||
return this.cachedViews.values();
|
||||
}
|
||||
getItem(itemIdx) {
|
||||
let view = this.cachedViews.get(`${itemIdx}`);
|
||||
if (view === undefined) {
|
||||
view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set(`${itemIdx}`, view);
|
||||
}
|
||||
let view = this.renderPage(itemIdx);
|
||||
view.superview = this;
|
||||
this.cachedViews.set(`${itemIdx}`, view);
|
||||
return view;
|
||||
}
|
||||
isDirty() {
|
||||
@@ -89,6 +86,10 @@ __decorate([
|
||||
Property,
|
||||
__metadata("design:type", Function)
|
||||
], Slider.prototype, "onPageSlided", void 0);
|
||||
__decorate([
|
||||
Property,
|
||||
__metadata("design:type", Boolean)
|
||||
], Slider.prototype, "loop", void 0);
|
||||
export function slider(config) {
|
||||
const ret = new Slider;
|
||||
for (let key in config) {
|
||||
|
@@ -36,6 +36,7 @@ export interface ISlider extends IView {
|
||||
itemCount: number
|
||||
batchCount?: number
|
||||
onPageSlided?: (index: number) => void
|
||||
loop?: boolean
|
||||
}
|
||||
|
||||
export class Slider extends Superview implements ISlider {
|
||||
@@ -58,13 +59,13 @@ export class Slider extends Superview implements ISlider {
|
||||
@Property
|
||||
onPageSlided?: (index: number) => void
|
||||
|
||||
@Property
|
||||
loop?: boolean
|
||||
|
||||
private getItem(itemIdx: number) {
|
||||
let view = this.cachedViews.get(`${itemIdx}`)
|
||||
if (view === undefined) {
|
||||
view = this.renderPage(itemIdx)
|
||||
view.superview = this
|
||||
this.cachedViews.set(`${itemIdx}`, view)
|
||||
}
|
||||
let view = this.renderPage(itemIdx)
|
||||
view.superview = this
|
||||
this.cachedViews.set(`${itemIdx}`, view)
|
||||
return view
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user