Skip to content

Commit

Permalink
fix(core): added item template handling for external renderers (#10196)
Browse files Browse the repository at this point in the history
  • Loading branch information
CatchABus committed Feb 3, 2023
1 parent 485fb61 commit b993a83
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
10 changes: 8 additions & 2 deletions packages/core/ui/list-view/list-view-common.ts
Expand Up @@ -10,6 +10,7 @@ import { Observable, EventData } from '../../data/observable';
import { ObservableArray, ChangedData } from '../../data/observable-array';
import { addWeakEventListener, removeWeakEventListener } from '../core/weak-event-listener';
import { CoreTypes } from '../../core-types';
import { isFunction } from '../../utils/types';

const autoEffectiveRowHeight = -1;

Expand All @@ -28,8 +29,13 @@ export abstract class ListViewBase extends ContainerView implements ListViewDefi
key: 'default',
createView: () => {
if (__UI_USE_EXTERNAL_RENDERER__) {
} else if (this.itemTemplate) {
return Builder.parse(this.itemTemplate, this);
if (isFunction(this.itemTemplate)) {
return (<Template>this.itemTemplate)();
}
} else {
if (this.itemTemplate) {
return Builder.parse(this.itemTemplate, this);
}
}

return undefined;
Expand Down
3 changes: 2 additions & 1 deletion packages/core/ui/repeater/index.ts
Expand Up @@ -8,6 +8,7 @@ import { ObservableArray, ChangedData } from '../../data/observable-array';
import { addWeakEventListener, removeWeakEventListener } from '../core/weak-event-listener';
import { Builder } from '../builder';
import { profile } from '../../profiling';
import { isFunction } from '../../utils/types';

export interface ItemsSource {
length: number;
Expand Down Expand Up @@ -130,7 +131,7 @@ export class Repeater extends CustomLayoutView {

if (!viewToAdd) {
if (__UI_USE_EXTERNAL_RENDERER__) {
viewToAdd = this._getDefaultItemContent(i);
viewToAdd = isFunction(this.itemTemplate) ? (<Template>this.itemTemplate)() : this._getDefaultItemContent(i);
} else {
viewToAdd = this.itemTemplate ? Builder.parse(this.itemTemplate, this) : this._getDefaultItemContent(i);
}
Expand Down

0 comments on commit b993a83

Please sign in to comment.