-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Strange thing happening when I change and save store in story book. Not all data fetched from local store.
What I do:
- Fetch data from remote:
export const prepareDetailsPageData = async () => {
await DetailsPageModel.fetchFromLocal()
console.log('> prepareDetailsPageData:', DetailsPageModel.exists())
if (!DetailsPageModel.exists()) {
const detailsPageUrl = 'some_url'
const data = await DetailsPageModel.api().fetch(detailsPageUrl)
await DetailsPageModel.createLocally({ data })
}
}
where data is the response and DetailsPageModel looks like
export default class DetailsPageModel extends Model {
static entity = Models.PAGE_DETAILS
static fields () {
return {
$type: this.string(null),
content: this.hasOne(DetailsPageContentModel, 'to_parent', '$type'),
menu: this.attr(null),
list: this.hasMany(ContentDetailsListItemModel, 'to_parent', '$id'),
creationDate: this.string(null),
telemetry: this.attr(null),
}
}
static apiConfig = {
actions: {
async fetch (url) {
const result = await this.get(`${url}`, { save: true })
return result.response
}
}
}
}
It works and looks like data stored in localstorage

And all registered correctly since data can be retrieved in a first run, store connected to storybook comonent:
export const detailsPage = () => ({
components: { DetailsPage },
template: `<details-page v-if="isReady"/>`,
computed: {
isReady: () => DetailsPageModel.exists(),
},
beforeUpdate: async () => {
Navigator.init()
},
beforeCreate: async () => {
await prepareDetailsPageData()
console.log("> Storybook > DetailsPage : beforeCreate:", DetailsPageModel.query().first())
},
store
})
And when code in store updated, hot reloaded performed, then this:
await DetailsPageModel.fetchFromLocal()
console.log('> prepareDetailsPageData:', DetailsPageModel.exists())
show > prepareDetailsPageData: true
However the DetailsPageModel.query().first() does not return dependencies as it was before hot-reload

All dependencies are null.
Any guesses how to fix it?
Metadata
Metadata
Assignees
Labels
No labels