|
ejs-dropdownlist
id="games"
#sample
[dataSource]="sportsData"
[fields]="fields"
[placeholder]="waterMark"
[popupHeight]="height"
[query]="query"
(actionComplete)="onActionComplete($event)"
></ejs-dropdownlist> |
|
public onActionComplete(e) {
var operator = this.query1 ? null : new Query();
var start;
var end;
if (!this.isFilter) {
start = e.result.length;
end = e.result.length + 5;
}
var listElement = (this.listObj as any).list;
listElement.addEventListener("scroll", () => {
if (
listElement.scrollTop + listElement.offsetHeight >=
listElement.scrollHeight
) {
var filterQuery = operator ? operator.clone() : operator;
filterQuery = filterQuery ? filterQuery.range(start, end) : filterQuery;
if (filterQuery) {
new DataManager(this.sportsData)
.executeQuery(filterQuery)
.then(event => {
start = end;
end += 5;
if (!this.isFilter) {
this.listObj.addItem((event as any).result);
this.listObj.addItem((event as any).result);
}
if ((event as any).result.length === 0) {
operator = null;
}
})
.catch(e => {});
}
}
});
} |
|
clickMe() {
var predicate = new Predicate("Game", "equal", "Football3");
predicate = predicate.or("Id", "equal", "Game23");
var query = new Query();
new DataManager(this.sportsData)
.executeQuery(query.where(predicate).take(1))
.then(e => {
var items = (e as any).result[0].Id;
var items1 = (e as any).result[0].Game;
this.listObj.addItem({ Id: items, Game: items1 });
this.listObj.value = items;
})
.catch(e => true);
} |
|
public dynamicAddItem: string = "Game22";
public onActionComplete(e) {
var operator = this.query1 ? null : new Query();
var start;
var end;
if (!this.isFilter) {
start = e.result.length;
end = e.result.length + 5;
}
var listElement = (this.listObj as any).list;
listElement.addEventListener("scroll", () => {
if (
listElement.scrollTop + listElement.offsetHeight >=
listElement.scrollHeight
) {
var filterQuery = operator ? operator.clone() : operator;
filterQuery = filterQuery ? filterQuery.range(start, end) : filterQuery;
if (filterQuery) {
new DataManager(this.sportsData).executeQuery(filterQuery).then(event => {
start = end;
end += 5;
if (!this.isFilter) {
//Before adding the items, here compared and removed the duplicate of dynamically added item
if ((event as any).result.some(game => game.Id === this.dynamicAddItem)) {
var index = (event as any).result.findIndex(x => x.Id === this.dynamicAddItem);
(event as any).result.splice(index, 1);
}
this.listObj.addItem((event as any).result);
}
if ((event as any).result.length === 0) {
operator = null;
}
})
.catch(e => {});
}
}
});
}
|