@@ -111,7 +111,6 @@ const handleReload = () => {
111111 window .location .reload ()
112112}
113113
114-
115114// Add refs for container and selected node tracking
116115const treeContainer = ref (null )
117116
@@ -162,61 +161,62 @@ watch(
162161 <div class =" path-display-container" >
163162 <div class =" path-info" >
164163 <div class =" path-display" >{{ api.pathString }}</div >
165-
166-
167164 </div >
168165
169166 <div class =" field has-addons" >
170167 <p class =" control" >
171- <button @click =" api.goPrevStep()" class =" button is-small nav-button" >
168+ <button @click =" api.goPrevStep()" class =" button is-small nav-button" :disabled = " !api.hasPrevStep() " >
172169 <span ><FAIcon icon="fa-solid fa-angle-left" /></span >
173170 </button >
174171 </p >
175172 <p class =" control" >
176- <button @click =" api.goNextStep()" class =" button is-small nav-button" >
173+ <button @click =" api.goNextStep()" class =" button is-small nav-button" :disabled = " !api.hasNextStep() " >
177174 <span ><FAIcon icon="fa-solid fa-angle-right" /></span >
178175 </button >
179176 </p >
180177 <p class =" control" >
181- <button @click =" api.reset()" class =" button is-small nav-button" >
178+ <button @click =" api.reset()" class =" button is-small nav-button" :disabled = " !api.hasPrevStep() " >
182179 <span ><FAIcon icon="fa-solid fa-house-flag" /></span >
183180 </button >
184181 </p >
185182 <p class =" control" >
186- <button @click =" api.clear()" class =" button is-small nav-button" >
183+ <button @click =" api.clear()" class =" button is-small nav-button" :disabled = " !api.hasPrevStep() " >
187184 <span ><FAIcon icon="fa-solid fa-trash" /></span >
188185 </button >
189186 </p >
190187 <p class =" control" >
191- <button @click =" handleReload" class =" button is-small nav-button" >
188+ <button @click =" handleReload" class =" button is-small nav-button" :disabled = " !api.hasPrevStep() " >
192189 <span ><FAIcon icon="fa-solid fa-arrow-rotate-left" /></span >
193190 </button >
194191 </p >
195192 </div >
196193 </div >
197194
198195 <div class =" tree-container" ref =" treeContainer" >
199- <div class =" index-display" >{{ api.stepIndex }}/{{ api.nSteps }}</div >
200-
201- <ul class =" tree-root" >
202- <li v-if =" stateMachine" class =" tree-node root-node" >
203- <ul v-if =" stateMachine.rows && stateMachine.rows.length > 0" class =" children" >
204- <TreeNode
205- v-for =" (state , index ) in stateMachine .rows "
206- :key =" index "
207- :state =" state "
208- :index =" index "
209- :total =" stateMachine .rows .length "
210- :is-node-selected =" isNodeSelected "
211- :format-data =" formatData "
212- :depth =" 1 "
213- :max-depth =" 5 "
214- :vertical-lines =" [] "
215- @node-click =" handleNodeClick "
216- />
217- </ul >
218- </li >
219- </ul >
196+ <div v-if =" api.nSteps > 0" >
197+ <div class =" index-display" v-if =" api.nSteps > 0" >{{ api.stepIndex }}/{{ api.nSteps }}</div >
198+
199+ <ul class =" tree-root" >
200+ <li v-if =" stateMachine" class =" tree-node root-node" >
201+ <ul v-if =" stateMachine.rows && stateMachine.rows.length > 0" class =" children" >
202+ <TreeNode
203+ v-for =" (state , index ) in stateMachine .rows "
204+ :key =" index "
205+ :state =" state "
206+ :index =" index "
207+ :total =" stateMachine .rows .length "
208+ :is-node-selected =" isNodeSelected "
209+ :format-data =" formatData "
210+ :depth =" 1 "
211+ :max-depth =" 5 "
212+ :vertical-lines =" [] "
213+ @node-click =" handleNodeClick "
214+ />
215+ </ul >
216+ </li >
217+ </ul >
218+ </div >
219+ <div class =" tree-viewer-container-empty" v-else >No steps available</div >
220220 </div >
221221 <div class =" data-container-global" >
222222 <div class =" global-data-display" >
@@ -263,16 +263,14 @@ watch(
263263.tree-viewer-container-empty {
264264 flex : 1 ;
265265 height : 100% ;
266- padding-top : 15 px ;
266+ padding-top : 5 px ;
267267 padding-left : 10px ;
268268 padding-right : 10px ;
269- padding-bottom : 15px ;
270- font-size : 0.8rem ;
269+ font-size : 0.75rem ;
271270 font-family : monospace ;
272271 font-weight : 800 ;
273- color : #3e7974 ;
272+ color : #9ca7a6 ;
274273 border-top : 1px solid #cacaca ;
275- background-color : #f1f3f3 ;
276274 text-align : left ;
277275}
278276
0 commit comments