From 1ad9e70c00ff85021dc9e3d75a1d5f481832f858 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sat, 25 Feb 2023 21:41:06 +0100 Subject: [PATCH] work in progress: set up structures and processes in common.ts --- assets/js/common.ts | 44 +++++++++++++++++++++++++++++++++++++++++ assets/js/main.ts | 7 ++----- assets/js/params-tsc.ts | 7 ++++++- assets/js/settings.ts | 9 +++++---- 4 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 assets/js/common.ts diff --git a/assets/js/common.ts b/assets/js/common.ts new file mode 100644 index 0000000..4ad3317 --- /dev/null +++ b/assets/js/common.ts @@ -0,0 +1,44 @@ +import { api, polling } from './settings' + +const confdata = { + pollurl: '' +} + +export function config (api, polling) { + return undefined +} + +export const pvapp = { + $delimiters: ['{|', '|}'], + conf: confdata, + data: {}, + output: '', + save, + poll +} + +// method definitions + +function save(value: string) { + this.output += '\n' + value + //this.newdata = '' +} + +async function dopoll(app: typeof pvapp) { + while (true) { + try { + let res = await fetch(pvapp.conf.pollurl) + let data = await res.json() + console.log(data) + //obj.newdata = data['status'] + } catch (error) { + console.log(error) + await new Promise(r => setTimeout(r, 10000)) + } + } +} + +function poll() { + dopoll(this) +} + diff --git a/assets/js/main.ts b/assets/js/main.ts index 083bacc..b808deb 100644 --- a/assets/js/main.ts +++ b/assets/js/main.ts @@ -2,16 +2,13 @@ import { createApp } from './lib/petite-vue.es.js' import { pageid } from '@params' console.log("pageid:", pageid) -// import { config, pvapp } from './common' import { api, polling } from './settings' +import { config, pvapp } from './common' // pvapp.run(config(api, polling)) -const [domain, action, class_, item] = Object.values(polling) -const pollUrl = `${api.path}/${domain}/${action}/${class_}/${item}` +const pollUrl = `${api.path}/${polling.msgbase.join('/')}` console.log("pollUrl:", pollUrl) -//const apiUrl = '/api/system/poll/service/pclt-0001' - const appdata = { $delimiters: ['{|', '|}'], urlParams: new URL(location.href).searchParams, diff --git a/assets/js/params-tsc.ts b/assets/js/params-tsc.ts index f5976d2..9a37b14 100644 --- a/assets/js/params-tsc.ts +++ b/assets/js/params-tsc.ts @@ -2,5 +2,10 @@ // imported by tsc via "import {...} from @params". // Hugo / ESBuild will provide js.Build params in @params // (see layout/partials/js.html). + +export const apipath = 'apipath-dummy' // obsolete? see settings.ts + export const pageid = 'pageid-dummy' -export const apipath = 'apipath-dummy' +export const domain = 'domain-dummy' +export const action = 'action-dummy' +export const class_ = 'class-dummy' diff --git a/assets/js/settings.ts b/assets/js/settings.ts index ebfce84..7e11dc8 100644 --- a/assets/js/settings.ts +++ b/assets/js/settings.ts @@ -3,8 +3,9 @@ export const api = { } export const polling = { - domain: 'system', - action: 'poll', - class: 'service', - item: 'pclt-0001' + msgbase: ['system', 'poll', 'service', 'pclt-0001'] + //msgbase: ['system', 'poll', 'session'] + //msgbase: ['system', 'poll', 'interaction'] } + +// export const polling = null // suppress polling