34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
import Route from '@ember/routing/route';
|
|
import { inject as service } from '@ember/service';
|
|
import { isEmpty, isPresent } from '@ember/utils';
|
|
import { schedule } from '@ember/runloop';
|
|
|
|
export default class BudgetRoute extends Route {
|
|
@service browserCache;
|
|
@service kredits;
|
|
|
|
async model () {
|
|
if (isPresent(this.kredits.reimbursements) &&
|
|
isEmpty(this.kredits.reimbursementsPending)) {
|
|
// reimbursements loaded before, no need to sync or load
|
|
return;
|
|
}
|
|
|
|
const numCachedReimbursements = await this.browserCache.reimbursements.length();
|
|
if (numCachedReimbursements > 0) {
|
|
await this.kredits.loadObjectsFromCache('Reimbursement');
|
|
this.kredits.set('reimbursementsNeedSync', true);
|
|
} else {
|
|
await this.kredits.fetchObjects('Reimbursement', { page: { size: 10 } });
|
|
}
|
|
}
|
|
|
|
afterModel() {
|
|
// TODO implement syncReimbursements
|
|
// if (this.kredits.reimbursementsNeedSync) {
|
|
// schedule('afterRender', this.kredits.syncReimbursements,
|
|
// this.kredits.syncReimbursements.perform);
|
|
// }
|
|
}
|
|
}
|