UNPKG

igniteui-webcomponents-datasources

Version:

Reference custom data providers for the Ignite UI Web Components data source.

273 lines (272 loc) 10.5 kB
import { VirtualDataSource } from "igniteui-webcomponents-core"; import { RestVirtualDataSourceDataProvider } from "./RestVirtualDataSourceDataProvider"; export class RestVirtualDataSource extends VirtualDataSource { constructor() { super(); this._baseUri = null; this._isFilteringSupportedByServer = false; this._entitySet = null; this._timeoutMilliseconds = 10000; this._isAggregationSupportedByServer = false; this._enableJsonp = true; this._fixedFullCount = -1; this._provideFullCount = null; this._provideOrderByParameter = null; this._provideFilterParameter = null; this._provideAggregationParameter = null; this._provideAggregatedCount = null; this._provideUri = null; this._performFetch = null; this._providePagingParameter = null; this._provideDesiredPropertiesParameter = null; this.dataProvider = ((() => { let $ret = new RestVirtualDataSourceDataProvider(); $ret.executionContext = this.executionContext; $ret.enableJsonp = this.enableJsonp; $ret.isAggregationSupported = this.isGroupingSupported; return $ret; })()); this.externalDataSource = this; } onBaseUriChanged(oldValue, newValue) { if (this.actualDataProvider) { this.actualDataProvider.baseUri = this.baseUri; this.queueAutoRefresh(); } } get baseUri() { return this._baseUri; } set baseUri(value) { let oldValue = this._baseUri; this._baseUri = value; if (oldValue != this._baseUri) { this.onBaseUriChanged(oldValue, this._baseUri); } } onEntitySetChanged(oldValue, newValue) { if (this.actualDataProvider) { this.actualDataProvider.entitySet = this.entitySet; this.queueAutoRefresh(); } this.queueAutoRefresh(); } set isFilteringSupportedByServer(v) { this._isFilteringSupportedByServer = v; } get isFilteringSupportedByServer() { return this._isFilteringSupportedByServer; } get_isFilteringSupported() { if (this._isFilteringSupportedByServer) { return true; } return false; } get entitySet() { return this._entitySet; } set entitySet(value) { let oldValue = this._entitySet; this._entitySet = value; if (this._entitySet != oldValue) { this.onEntitySetChanged(oldValue, this._entitySet); } } onTimeoutMillisecondsChanged(oldValue, newValue) { if (this.actualDataProvider) { this.actualDataProvider.timeoutMilliseconds = this.timeoutMilliseconds; } } get timeoutMilliseconds() { return this._timeoutMilliseconds; } set timeoutMilliseconds(value) { let oldValue = this._timeoutMilliseconds; this._timeoutMilliseconds = value; if (oldValue != this._timeoutMilliseconds) { this.onTimeoutMillisecondsChanged(oldValue, this._timeoutMilliseconds); } } get isSortingSupportedOverride() { return true; } get isFilteringSupportedOverride() { return true; } get isGroupingSupportedOverride() { return this.isAggregationSupportedByServer; } get isAggregationSupportedByServer() { return this._isAggregationSupportedByServer; } set isAggregationSupportedByServer(isSupported) { this._isAggregationSupportedByServer = isSupported; if (this.actualDataProvider) { this.actualDataProvider.isAggregationSupported = this.isAggregationSupportedByServer; } } get enableJsonp() { return this._enableJsonp; } set enableJsonp(isEnabled) { this._enableJsonp = isEnabled; if (this.actualDataProvider) { this.actualDataProvider.enableJsonp = this.enableJsonp; } } get fixedFullCount() { return this._fixedFullCount; } set fixedFullCount(value) { this._fixedFullCount = value; } get provideFullCount() { return this._provideFullCount; } set provideFullCount(value) { this._provideFullCount = value; if (this.actualDataProvider) { this.actualDataProvider.provideFullCount = this.provideFullCount; this.queueAutoRefresh(); } } get provideOrderByParameter() { return this._provideOrderByParameter; } set provideOrderByParameter(value) { this._provideOrderByParameter = value; if (this.actualDataProvider) { this.actualDataProvider.provideOrderByParameter = this.provideOrderByParameter; this.queueAutoRefresh(); } } get provideFilterParameter() { return this._provideFilterParameter; } set provideFilterParameter(value) { this._provideFilterParameter = value; if (this.actualDataProvider) { this.actualDataProvider.provideFilterParameter = this.provideFilterParameter; this.queueAutoRefresh(); } } get provideAggregationParameter() { return this._provideAggregationParameter; } set provideAggregationParameter(value) { this._provideAggregationParameter = value; if (this.actualDataProvider) { this.actualDataProvider.provideAggregationParameter = this.provideAggregationParameter; this.queueAutoRefresh(); } } get provideAggregatedCount() { return this._provideAggregatedCount; } set provideAggregatedCount(value) { this._provideAggregatedCount = value; if (this.actualDataProvider) { this.actualDataProvider.provideAggregatedCount = this.provideAggregatedCount; this.queueAutoRefresh(); } } get provideUri() { return this._provideUri; } set provideUri(value) { this._provideUri = value; if (this.actualDataProvider) { this.actualDataProvider.provideUri = this.provideUri; this.queueAutoRefresh(); } } get performFetch() { return this._performFetch; } set performFetch(value) { this._performFetch = value; if (this.actualDataProvider) { this.actualDataProvider.performFetch = this.performFetch; this.queueAutoRefresh(); } } get providePagingParameter() { return this._providePagingParameter; } set providePagingParameter(value) { this._providePagingParameter = value; if (this.actualDataProvider) { this.actualDataProvider.providePagingParameter = this.providePagingParameter; this.queueAutoRefresh(); } } get provideDesiredPropertiesParameter() { return this._provideDesiredPropertiesParameter; } set provideDesiredPropertiesParameter(value) { this._provideDesiredPropertiesParameter = value; if (this.actualDataProvider) { this.actualDataProvider.provideDesiredPropertiesParameter = this.provideDesiredPropertiesParameter; this.queueAutoRefresh(); } } get provideItems() { return this._provideItems; } set provideItems(value) { this._provideItems = value; if (this.actualDataProvider) { this.actualDataProvider.provideItems = this.provideItems; this.queueAutoRefresh(); } } clone() { let dataSource = new RestVirtualDataSource(); dataSource.executionContext = this.executionContext; dataSource.includeSummaryRowsInSection = this.includeSummaryRowsInSection; dataSource.isSectionCollapsable = this.isSectionCollapsable; dataSource.isSectionExpandedDefault = this.isSectionExpandedDefault; //dataSource.isSectionHeaderNormalRow = this.isSectionHeaderNormalRow; dataSource.isSectionSummaryRowsAtBottom = this.isSectionSummaryRowsAtBottom; //dataSource.isSectionContentVisible = this.isSectionContentVisible; dataSource.primaryKey = this.primaryKey; dataSource.propertiesRequested = this.propertiesRequested; dataSource.sectionHeaderDisplayMode = this.sectionHeaderDisplayMode; dataSource.shouldEmitSectionFooters = this.shouldEmitSectionFooters; dataSource.shouldEmitSectionHeaders = this.shouldEmitSectionHeaders; dataSource.shouldEmitShiftedRows = this.shouldEmitShiftedRows; dataSource.summaryScope = this.summaryScope; for (var i = 0; i < this.groupDescriptions.size(); i++) { dataSource.groupDescriptions.add(this.groupDescriptions.get(i)); } for (var i = 0; i < this.sortDescriptions.size(); i++) { dataSource.sortDescriptions.add(this.sortDescriptions.get(i)); } for (var i = 0; i < this.filterExpressions.size(); i++) { dataSource.filterExpressions.add(this.filterExpressions.get(i)); } for (var i = 0; i < this.summaryDescriptions.size(); i++) { dataSource.summaryDescriptions.add(this.summaryDescriptions.get(i)); } dataSource.pageSizeRequested = this.pageSizeRequested; dataSource.maxCachedPages = this.maxCachedPages; dataSource.baseUri = this.baseUri; dataSource.entitySet = this.entitySet; dataSource.timeoutMilliseconds = this.timeoutMilliseconds; dataSource.isAggregationSupportedByServer = this.isAggregationSupportedByServer; dataSource.enableJsonp = this.enableJsonp; dataSource.fixedFullCount = this.fixedFullCount; dataSource.provideAggregationParameter = this.provideAggregationParameter; dataSource.provideAggregatedCount = this.provideAggregatedCount; dataSource.provideFilterParameter = this.provideFilterParameter; dataSource.provideFullCount = this.provideFullCount; dataSource.provideOrderByParameter = this.provideOrderByParameter; dataSource.provideUri = this.provideUri; dataSource.performFetch = this.performFetch; dataSource.providePagingParameter = this.providePagingParameter; dataSource.provideItems = this.provideItems; dataSource.provideDesiredPropertiesParameter = this.provideDesiredPropertiesParameter; return dataSource; } }