experiments with display (+ link with id) and input (+ default expression)
This commit is contained in:
parent
bbeaa6a4e0
commit
7456271782
4 changed files with 22 additions and 10 deletions
|
@ -103,18 +103,27 @@ function getSid(): string {
|
|||
//localStorage.setItem('api.sessionid', '')
|
||||
|
||||
async function dopoll(app: typeof appdata) {
|
||||
const wait_time = 10000
|
||||
while (true) {
|
||||
try {
|
||||
let res = await fetch(app.conf.pollurl)
|
||||
let msg = await res.json()
|
||||
console.log(msg)
|
||||
if (msg.status === 'data') {
|
||||
app.handle(msg)
|
||||
switch (msg.status) {
|
||||
case 'idle':
|
||||
break
|
||||
case 'data':
|
||||
app.handle(msg)
|
||||
break
|
||||
default:
|
||||
console.log('poll response: ', msg)
|
||||
await sleep(wait_time)
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
await new Promise(r => setTimeout(r, 10000))
|
||||
await sleep(wait_time)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const sleep = (delay: number) => new Promise(r => setTimeout(r, delay))
|
||||
|
|
|
@ -16,15 +16,15 @@ cyberscopes example site - use petite-vue in Hugo-generated sites.
|
|||
|
||||
{{< pv/fieldset >}}
|
||||
|
||||
{{< pv/input-textline name="firstname" attrs="autofocus" >}}
|
||||
{{< pv/input-textline name="lastname" >}}
|
||||
Id: {{< pv/input-textline name="id" defexpr="conf.itemid" >}}
|
||||
First Name: {{< pv/input-textline name="firstname" attrs="autofocus" >}}
|
||||
Last Name: {{< pv/input-textline name="lastname" >}}
|
||||
Email: {{< pv/input-textline name="email" default="hm@cy55.de" >}}
|
||||
{{< pv/button >}}
|
||||
|
||||
{{< pv/display expr="`${data.firstname} ${data.lastname}`.trim() || '???'" >}}
|
||||
|
||||
<!--{{< pv/input-textline type="hidden"
|
||||
name="email" default="hm@cy55.de" >}}-->
|
||||
{{< pv/display name="email" >}}
|
||||
{{< pv/display name="id" linkto="data.id" >}}
|
||||
|
||||
{{< /pv/fieldset >}}
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{{- $name := .Get "name" | default "textline" -}}
|
||||
{{- $expr := .Get "expr" | default (printf "data.%s" $name) -}}
|
||||
{{- $default := .Get "default" | default "" -}}
|
||||
{{- $linkto := .Get "linkto" -}}
|
||||
<div>
|
||||
{{- if $linkto }}<a :href="'?id=' + {{ $linkto }}">{{ end -}}
|
||||
<pre v-text="{{ $expr }}"></pre>
|
||||
{{- if $linkto }}</a>{{ end -}}
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
{{- $type := .Get "type" | default "text" -}}
|
||||
{{- $name := .Get "name" | default "textline" -}}
|
||||
{{- $default := .Get "default" | default "" -}}
|
||||
{{- $defexpr := .Get "defexpr" | default (printf "'%s'" $default) -}}
|
||||
<div>
|
||||
<input type="{{ $type }}" name="{{ $name }}"
|
||||
{{- with .Get "attrs" }} {{ . }}{{ end }}
|
||||
v-model="data.{{ $name }}"
|
||||
@vue:mounted="data.{{ $name }} = '{{ $default }}'"
|
||||
@vue:mounted="data.{{ $name }} = {{ $defexpr }}"
|
||||
{{- with .Get "onchange" }} @change="{{ . }}"{{ end }} />
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue