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', '')
 | //localStorage.setItem('api.sessionid', '')
 | ||||||
| 
 | 
 | ||||||
| async function dopoll(app: typeof appdata) { | async function dopoll(app: typeof appdata) { | ||||||
|  | 	const wait_time = 10000 | ||||||
| 	while (true) { | 	while (true) { | ||||||
| 		try { | 		try { | ||||||
| 			let res = await fetch(app.conf.pollurl) | 			let res = await fetch(app.conf.pollurl) | ||||||
| 			let msg = await res.json() | 			let msg = await res.json() | ||||||
| 			console.log(msg) | 			console.log(msg) | ||||||
| 			if (msg.status === 'data') { | 			switch (msg.status) { | ||||||
| 				app.handle(msg) | 				case 'idle': | ||||||
|  | 					break | ||||||
|  | 				case 'data': | ||||||
|  | 					app.handle(msg) | ||||||
|  | 					break | ||||||
|  | 				default: | ||||||
|  | 					console.log('poll response: ', msg) | ||||||
|  | 					await sleep(wait_time) | ||||||
| 			} | 			} | ||||||
| 		} catch (error) { | 		} catch (error) { | ||||||
| 			console.log(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/fieldset >}} | ||||||
| 
 | 
 | ||||||
|   {{< pv/input-textline name="firstname" attrs="autofocus" >}} |   Id: {{< pv/input-textline name="id" defexpr="conf.itemid" >}} | ||||||
|   {{< pv/input-textline name="lastname" >}} |   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/button >}} | ||||||
| 
 | 
 | ||||||
|   {{< pv/display expr="`${data.firstname} ${data.lastname}`.trim() || '???'" >}} |   {{< pv/display expr="`${data.firstname} ${data.lastname}`.trim() || '???'" >}} | ||||||
| 
 | 
 | ||||||
|   <!--{{< pv/input-textline type="hidden"  |   {{< pv/display name="id" linkto="data.id" >}} | ||||||
|             name="email" default="hm@cy55.de" >}}--> |  | ||||||
|   {{< pv/display name="email" >}} |  | ||||||
| 
 | 
 | ||||||
| {{< /pv/fieldset >}} | {{< /pv/fieldset >}} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| {{- $name := .Get "name" | default "textline" -}} | {{- $name := .Get "name" | default "textline" -}} | ||||||
| {{- $expr := .Get "expr" | default (printf "data.%s" $name) -}} | {{- $expr := .Get "expr" | default (printf "data.%s" $name) -}} | ||||||
| {{- $default := .Get "default" | default "" -}} | {{- $linkto := .Get "linkto" -}} | ||||||
| <div> | <div> | ||||||
|  |   {{- if $linkto }}<a :href="'?id=' + {{ $linkto }}">{{ end -}} | ||||||
|   <pre v-text="{{ $expr }}"></pre> |   <pre v-text="{{ $expr }}"></pre> | ||||||
|  |   {{- if $linkto }}</a>{{ end -}} | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
|  | @ -1,10 +1,11 @@ | ||||||
| {{- $type := .Get "type" | default "text" -}} | {{- $type := .Get "type" | default "text" -}} | ||||||
| {{- $name := .Get "name" | default "textline" -}} | {{- $name := .Get "name" | default "textline" -}} | ||||||
| {{- $default := .Get "default" | default "" -}} | {{- $default := .Get "default" | default "" -}} | ||||||
|  | {{- $defexpr := .Get "defexpr" | default (printf "'%s'" $default) -}} | ||||||
| <div> | <div> | ||||||
|   <input type="{{ $type }}" name="{{ $name }}"  |   <input type="{{ $type }}" name="{{ $name }}"  | ||||||
| 		 {{- with .Get "attrs" }} {{ . }}{{ end }} | 		 {{- with .Get "attrs" }} {{ . }}{{ end }} | ||||||
| 		 v-model="data.{{ $name }}" | 		 v-model="data.{{ $name }}" | ||||||
| 		 @vue:mounted="data.{{ $name }} = '{{ $default }}'" | 		 @vue:mounted="data.{{ $name }} = {{ $defexpr }}" | ||||||
| 		 {{- with .Get "onchange" }} @change="{{ . }}"{{ end }} /> | 		 {{- with .Get "onchange" }} @change="{{ . }}"{{ end }} /> | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue