Skip to content

Instantly share code, notes, and snippets.

@patrixr
Created May 17, 2019 07:19
Show Gist options
  • Save patrixr/a61db552ff3eea2f0e6c1caa05c7635c to your computer and use it in GitHub Desktop.
Save patrixr/a61db552ff3eea2f0e6c1caa05c7635c to your computer and use it in GitHub Desktop.
Ember: Finding loaded associations
function hasMissingAssociations(record, associationName) {
if (_.isArray(associationName)) {
return _.some(associationName, name => {
hasMissingAssociations(record, name);
});
}
const relationship = record.relationshipFor(associationName);
if (!relationship) {
return false;
}
const associationModelName = relationship.type.replace(/-/g, '_');
const idKey = _.camelCase(associationModelName) + (relationship.kind === "hasMany" ? 'Ids' : 'Id');
const ids = _.flatten(record.get(idKey));
return _.some(ids, (id) => {
return !store.peekRecord(associationModelName, id);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment