Skip to content

Commit 7fe2c7e

Browse files
committed
display updates
when no steps exist it displays a message and disables the buttons
1 parent 0913c99 commit 7fe2c7e

1 file changed

Lines changed: 32 additions & 34 deletions

File tree

src/dev/developer_mode/StateTreeViewer.vue

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ const handleReload = () => {
111111
window.location.reload()
112112
}
113113
114-
115114
// Add refs for container and selected node tracking
116115
const 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: 15px;
266+
padding-top: 5px;
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

Comments
 (0)