provide 'data-buttons' based on partial 'button'

This commit is contained in:
Helmut Merz 2023-04-04 11:08:46 +02:00
parent e47d90cde9
commit f7144f7b2a
4 changed files with 33 additions and 11 deletions

View file

@ -20,13 +20,7 @@ cyberscopes example site - view / edit person (user) data.
Last Name: {{< pv/data-field-line name="lastname" >}}
Email: {{< pv/data-field-line name="email" default="hm@cy55.de" >}}
{{< pv/button mode="view" exec="chmode" action="edit" label="Edit" >}}
{{< pv/button mode="view" exec="chmode" action="new" label="New" >}}
{{< pv/button mode="edit new" exec="chmode" action="view" label="Cancel" >}}
{{< pv/button mode="edit" label="Save Changes" >}}
{{< pv/button mode="edit" exec="copynew" label="Copy Data" >}}
{{< pv/button mode="edit" action="delete" label="Delete Item" >}}
{{< pv/button mode="new" label="Create Item" >}}
{{< pv/data-buttons include="view" >}}
<br>
{{< pv/data-display

View file

@ -0,0 +1,3 @@
<button type="{{ .type }}" name="{{ .name }}"
{{- with .mode }}v-show="hasmode('{{ . }}')"{{ end -}}
@click="{{ .exec }}('{{ .action }}')">{{.label}}</button>

View file

@ -0,0 +1,26 @@
{{- $defparams := dict "type" "button" "name" "submit"
"exec" "exec" "action" "" "label" "Submit" -}}
{{- $params := merge $defparams (
dict "mode" "view" "exec" "chmode" "action" "edit" "label" "Edit") -}}
{{ partial "button" $params }}
{{- $params = merge $params (dict "action" "new" "label" "New") -}}
{{ partial "button" $params }}
{{- $params = merge $params (
dict "mode" "edit new" "action" "view" "label" "Cancel") -}}
{{ partial "button" $params }}
{{- $params = merge $defparams ( dict "mode" "edit" "label" "Save Changes") -}}
{{ partial "button" $params }}
{{- $params = merge $params (dict "exec" "copynew" "label" "Copy Data") -}}
{{ partial "button" $params }}
{{- $params = merge $params (dict "exec" "delete" "label" "Delete Item") -}}
{{ partial "button" $params }}
{{- $params = merge $defparams ( dict "mode" "new" "label" "Create Item") -}}
{{ partial "button" $params }}

View file

@ -1,15 +1,14 @@
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link" @click.prevent="chmode('view')" href="#"
:class="state.mode == 'view' ? 'active' : null">View</a>
:class="hasmode('view') ? 'active' : null">View</a>
</li>
<li class="nav-item">
<a class="nav-link" @click.prevent="chmode('edit')" href="#"
:class="state.mode == 'edit' ? 'active' : null">Edit</a>
:class="hasmode('edit')? 'active' : null">Edit</a>
</li>
<li class="nav-item">
<a class="nav-link" @click.prevent="chmode('new')" href="#"
:class="state.mode == 'new' ? 'active' : null">New</a>
:class="hasmode('new') ? 'active' : null">New</a>
</li>
</ul>
</ul>