Цель
Используйте App Maker, чтобы собирать дни рождения пользователей и отображать только дни рождения в этом месяце.
Выпуск
У меня есть модель данных, persons
.В этой модели два источника данных, по умолчанию persons
и второй birthdaysThisMonth
.Сценарий запроса источника данных в birthdaysThisMonth
работает правильно и возвращает только дни рождения в этом месяце из модели persons
.
Однако, когда я изменяю дату рождения в источнике данных persons
, источник данных birthdaysThisMonth
остаетсябез изменений, например, скрипт Query в birthdaysThisMonth
не повторно выполняется .
Чтобы изменить дату рождения, я выбираю новую дату из средства выбора даты, и отображается новое значениев таблице.Я не использую кнопку отправки, я вижу изменения, когда средство выбора даты теряет фокус.
Что я пробовал
Этот сценарий выполняется как Сценарий запроса в birthdaysThisMonth
источнике данных , который не установлен на Manual save mode
.Он возвращает нужные мне записи.
function setBirthdays() {
var calcRecords = [];
var personsRecords = app.models.persons.newQuery().run();
for (i=0; i<personsRecords.length; i++) {
var id = app.models.persons.newQuery().filters.Id._equals = i;
if (personsRecords[i].birthdate.getMonth() == thisMonth()) {
var calcRecord = app.models.persons.newRecord();
calcRecord.emailSecondary = personsRecords[i].emailSecondary;
calcRecord.birthdate = personsRecords[I].birthdate;
calcRecord.Id = personsRecords[i].Id;
calcRecords.push(calcRecord);
}
}
return calcRecords;
}
Вопрос
Как повторно выполнить скрипт запроса в birthdaysThisMonth
, когда данные в persons
были обновлены.Как мне инициировать запрос, чтобы он переоценивал данные в persons
и соответственно фильтровал.
Использование событий и onAfterSave
кажется многообещающим, но я не нашел пример этого.
BTW
Я бы хотел, чтобы эта работа происходила на стороне сервера, если это возможно.