From: Eduardo San Martin Morote Date: Mon, 10 May 2021 14:45:26 +0000 (+0200) Subject: refactor(devtools): only use one inspector state/tree X-Git-Tag: v2.0.0-alpha.17~47 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=194311ee487a634a5f19820196abdbb93eddc4be;p=thirdparty%2Fvuejs%2Fpinia.git refactor(devtools): only use one inspector state/tree --- diff --git a/src/devtools.ts b/src/devtools.ts index 6e832462..f96244bb 100644 --- a/src/devtools.ts +++ b/src/devtools.ts @@ -96,6 +96,34 @@ export function addDevtools(app: App, store: GenericStore) { treeFilterPlaceholder: 'Search stores', }) + api.on.getInspectorTree((payload) => { + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + const stores = Array.from(registeredStores) + + payload.rootNodes = (payload.filter + ? stores.filter((store) => + store.$id.toLowerCase().includes(payload.filter.toLowerCase()) + ) + : stores + ).map(formatStoreForInspectorTree) + } + }) + + api.on.getInspectorState((payload) => { + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + const stores = Array.from(registeredStores) + const store = stores.find((store) => store.$id === payload.nodeId) + + if (store) { + payload.state = { + options: formatStoreForInspectorState(store), + } + } else { + toastMessage(`store "${payload.nodeId}" not found`, 'error') + } + } + }) + isAlreadyInstalled = true } else { api.notifyComponentUpdate() @@ -127,34 +155,6 @@ export function addDevtools(app: App, store: GenericStore) { }) }) - api.on.getInspectorTree((payload) => { - if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { - const stores = Array.from(registeredStores) - - payload.rootNodes = (payload.filter - ? stores.filter((store) => - store.$id.toLowerCase().includes(payload.filter.toLowerCase()) - ) - : stores - ).map(formatStoreForInspectorTree) - } - }) - - api.on.getInspectorState((payload) => { - if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { - const stores = Array.from(registeredStores) - const store = stores.find((store) => store.$id === payload.nodeId) - - if (store) { - payload.state = { - options: formatStoreForInspectorState(store), - } - } else { - toastMessage(`store "${payload.nodeId}" not found`, 'error') - } - } - }) - // trigger an update so it can display new registered stores // @ts-ignore api.notifyComponentUpdate()