@@ -71,7 +71,37 @@ export const useDataStyleStore = defineStore("dataStyle", () => {
7171 }
7272
7373 async function importStores ( snapshot ) {
74- dataStyleState . styles = snapshot ?. styles || { }
74+ const stylesSnapshot = snapshot ?. styles || { }
75+ console . log ( "[DataStyle] importStores snapshot ids:" , Object . keys ( stylesSnapshot ) )
76+
77+ for ( const id of Object . keys ( dataStyleState . styles ) ) {
78+ delete dataStyleState . styles [ id ]
79+ }
80+ for ( const [ id , style ] of Object . entries ( stylesSnapshot ) ) {
81+ dataStyleState . styles [ id ] = style
82+ }
83+ }
84+
85+ async function applyAllStylesFromState ( ) {
86+ const ids = Object . keys ( dataStyleState . styles || { } )
87+ console . log ( "[DataStyle] applyAllStylesFromState ids:" , ids )
88+ const applyTasks = [ ]
89+ for ( const id of ids ) {
90+ const meta = dataBaseStore . itemMetaDatas ( id )
91+ const objectType = meta ?. object_type
92+ const style = dataStyleState . styles [ id ]
93+ if ( ! style ) {
94+ console . warn ( "[DataStyle] No style for id:" , id , "skip" )
95+ continue
96+ }
97+ if ( objectType === "mesh" ) {
98+ applyTasks . push ( Promise . all ( meshStyleStore . applyMeshDefaultStyle ( id ) ) )
99+ } else if ( objectType === "model" ) {
100+ applyTasks . push ( modelStyleStore . applyModelDefaultStyle ( id ) )
101+ }
102+ }
103+ await Promise . all ( applyTasks )
104+ console . log ( "[DataStyle] applyAllStylesFromState finished" )
75105 }
76106
77107 return {
@@ -82,6 +112,7 @@ export const useDataStyleStore = defineStore("dataStyle", () => {
82112 modelEdgesVisibility,
83113 exportStores,
84114 importStores,
115+ applyAllStylesFromState,
85116 ...meshStyleStore ,
86117 ...modelStyleStore ,
87118 }
0 commit comments