Fix issue where changing the role of a screen did not correctly update screen list
This commit is contained in:
parent
89e38ce534
commit
9f4899306c
|
@ -3,13 +3,14 @@
|
||||||
import PathTree from "./PathTree.svelte"
|
import PathTree from "./PathTree.svelte"
|
||||||
|
|
||||||
let routes = {}
|
let routes = {}
|
||||||
$: paths = Object.keys(routes || {}).sort()
|
let paths = []
|
||||||
|
|
||||||
$: {
|
$: allRoutes = $store.routes
|
||||||
const allRoutes = $store.routes
|
$: selectedScreenId = $store.selectedScreenId
|
||||||
|
$: updatePaths(allRoutes, $selectedAccessRole, selectedScreenId)
|
||||||
|
|
||||||
|
const updatePaths = (allRoutes, selectedRoleId, selectedScreenId) => {
|
||||||
const sortedPaths = Object.keys(allRoutes || {}).sort()
|
const sortedPaths = Object.keys(allRoutes || {}).sort()
|
||||||
const selectedRoleId = $selectedAccessRole
|
|
||||||
const selectedScreenId = $store.selectedScreenId
|
|
||||||
|
|
||||||
let found = false
|
let found = false
|
||||||
let firstValidScreenId
|
let firstValidScreenId
|
||||||
|
@ -41,11 +42,15 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
routes = filteredRoutes
|
routes = { ...filteredRoutes }
|
||||||
|
paths = Object.keys(routes || {}).sort()
|
||||||
|
|
||||||
// Select the correct role for the current screen ID
|
// Select the correct role for the current screen ID
|
||||||
if (!found && screenRoleId) {
|
if (!found && screenRoleId) {
|
||||||
selectedAccessRole.set(screenRoleId)
|
selectedAccessRole.set(screenRoleId)
|
||||||
|
if (screenRoleId !== selectedRoleId) {
|
||||||
|
updatePaths(allRoutes, screenRoleId, selectedScreenId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the selected screen isn't in this filtered list, select the first one
|
// If the selected screen isn't in this filtered list, select the first one
|
||||||
|
|
Loading…
Reference in New Issue