|
searchOnclick() {
let searchObj = [];
let startDate;
let endDate;
let formElements = [].slice.call(
document.querySelectorAll(".event-search .search-field")
);
formElements.forEach(node => {
let fieldOperator;
let predicateCondition;
let fieldValue;
let fieldInstance;
if (
node.value &&
node.value !== "" &&
!node.classList.contains("e-datepicker")
) {
fieldOperator = "contains";
predicateCondition = "or";
fieldValue = node.value;
searchObj.push({
field: node.getAttribute("data-name"),
operator: fieldOperator,
value: fieldValue,
predicate: predicateCondition,
matchcase: true
});
}
if (
node.classList.contains("e-datepicker") &&
node.ej2_instances[0].value
) {
fieldInstance = node.ej2_instances[0];
fieldValue = fieldInstance.value;
if (node.classList.contains("e-start-time")) {
fieldOperator = "greaterthanorequal";
predicateCondition = "and";
startDate = new Date(+fieldValue);
} else {
fieldOperator = "lessthanorequal";
predicateCondition = "and";
let date = new Date(+fieldInstance.value);
fieldValue = new Date(date.setDate(date.getDate() + 1));
endDate = fieldValue;
}
searchObj.push({
field: node.getAttribute("data-name"),
operator: fieldOperator,
value: fieldValue,
predicate: predicateCondition,
matchcase: false
});
}
});
if (searchObj.length > 0) {
let filterCondition = searchObj[0];
let predicate = new Predicate(
filterCondition.field,
filterCondition.operator,
filterCondition.value,
filterCondition.matchcase
);
for (let i = 1; i < searchObj.length; i++) {
predicate = predicate.and(
searchObj[i].field,
searchObj[i].operator,
searchObj[i].value,
searchObj[i].matchcase
);
}
let result = new DataManager(
this.scheduleObj.getEvents(startDate, endDate, true)
).executeLocal(new Query().where(predicate));
this.showSearchEvents("show", result);
} else {
this.showSearchEvents("hide");
}
}
clearOnClick() {
document.getElementById("schedule").style.display = "block";
document.getElementById("form-search").reset();
this.showSearchEvents("hide");
}
showSearchEvents(type, data) {
if (type === "show") {
this.scheduleObj.eventSettings.dataSource = data;
} else {
this.scheduleObj.eventSettings.dataSource = this.data;
}
} |
|
btnClick() {
var keyWork = "Lungs";
new DataManager(this.scheduleObj.getEvents(null, null, true))
.executeQuery(
new Query().search(
keyWork,
["Subject", "Location", "Description"],
null,
true,
true
)
)
.then(e => {
this.scheduleObj.eventSettings.dataSource = e.result;
});
} |