Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ce3e905d3e | |||
| 6f98d79d9f | |||
| c18079bff5 | |||
| 29022c339b | |||
| 97b6c0a436 | |||
| f85431ce34 | |||
| fad2911158 |
@@ -435,6 +435,12 @@ export const useVisualStore = defineStore('visualStore', () => {
|
||||
|
||||
const clearDataInput = () => (dataInput.value = null)
|
||||
|
||||
const resetViewerState = () => {
|
||||
setViewerReadyToLoad(false)
|
||||
clearDataInput()
|
||||
lastLoadedRootObjectId.value = undefined
|
||||
isViewerObjectsLoaded.value = false
|
||||
}
|
||||
|
||||
const setViewerReadyToLoad = (newValue: boolean) => (isViewerReadyToLoad.value = newValue)
|
||||
|
||||
@@ -652,6 +658,7 @@ export const useVisualStore = defineStore('visualStore', () => {
|
||||
setLoadingProgress,
|
||||
clearLoadingProgress,
|
||||
setIsLoadingFromFile,
|
||||
resetViewerState,
|
||||
resetFilters,
|
||||
downloadLatestVersion,
|
||||
handleObjectsLoadedComplete,
|
||||
|
||||
@@ -75,15 +75,28 @@ export class Visual implements IVisual {
|
||||
visualStore.setViewerReadyToLoad(false)
|
||||
}
|
||||
|
||||
const tryUpdateFieldInputState = () => {
|
||||
try {
|
||||
const matrixView = options.dataViews[0]?.matrix
|
||||
if (matrixView) {
|
||||
visualStore.setFieldInputState(validateMatrixView(options))
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('Failed to update field input state during skip path:', (e as Error).message)
|
||||
}
|
||||
}
|
||||
|
||||
if (visualStore.postFileSaveSkipNeeded) {
|
||||
visualStore.setPostFileSaveSkipNeeded(false)
|
||||
console.log('Skipping unneccessary update function after file save.')
|
||||
tryUpdateFieldInputState()
|
||||
return
|
||||
}
|
||||
|
||||
if (visualStore.postClickSkipNeeded) {
|
||||
visualStore.setPostClickSkipNeeded(false)
|
||||
console.log('Skipping unneccessary update function canvas click.')
|
||||
tryUpdateFieldInputState()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -136,6 +149,12 @@ export class Visual implements IVisual {
|
||||
visualStore.setFieldInputState(validationResult)
|
||||
console.log('❓Field inputs', validationResult)
|
||||
|
||||
if (!validationResult.rootObjectId) {
|
||||
console.log('🔄 Root object ID removed - resetting viewer state')
|
||||
visualStore.resetViewerState()
|
||||
return
|
||||
}
|
||||
|
||||
switch (options.type) {
|
||||
case powerbi.VisualUpdateType.Resize:
|
||||
case powerbi.VisualUpdateType.ResizeEnd:
|
||||
@@ -326,6 +345,7 @@ export class Visual implements IVisual {
|
||||
colorBy: false,
|
||||
tooltipData: false
|
||||
})
|
||||
visualStore.resetViewerState()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user