Files
Manu MA ecc2c55370 docs(all): possible values are extracted by stencil (#16190)
* docs(all): possible values are extracted by stencil

* add defaults

* remove all hardcoded defaults

* update stencil
2018-11-02 00:06:40 +01:00

59 lines
1.4 KiB
TypeScript

import { Component, ComponentInterface, Prop } from '@stencil/core';
import { Config, Mode, SpinnerTypes } from '../../interface';
import { createThemedClasses } from '../../utils/theme';
@Component({
tag: 'ion-infinite-scroll-content',
styleUrls: {
ios: 'infinite-scroll-content.ios.scss',
md: 'infinite-scroll-content.md.scss'
}
})
export class InfiniteScrollContent implements ComponentInterface {
mode!: Mode;
@Prop({ context: 'config' }) config!: Config;
/**
* An animated SVG spinner that shows while loading.
*/
@Prop({ mutable: true }) loadingSpinner?: SpinnerTypes;
/**
* Optional text to display while loading.
*/
@Prop() loadingText?: string;
componentDidLoad() {
if (this.loadingSpinner === undefined) {
this.loadingSpinner = this.config.get(
'infiniteLoadingSpinner',
this.config.get('spinner', 'lines')
);
}
}
hostData() {
return {
class: createThemedClasses(this.mode, 'infinite-scroll-content')
};
}
render() {
return (
<div class="infinite-loading">
{this.loadingSpinner && (
<div class="infinite-loading-spinner">
<ion-spinner name={this.loadingSpinner} />
</div>
)}
{this.loadingText && (
<div class="infinite-loading-text" innerHTML={this.loadingText} />
)}
</div>
);
}
}