store latest params in the store
This commit is contained in:
@@ -31,8 +31,8 @@ export interface HealthyResponse {
|
||||
data: any
|
||||
type: 'stl' | 'png' | 'geometry'
|
||||
}
|
||||
customizerParams?: any
|
||||
lastParameters?: any
|
||||
customizerParams?: any[]
|
||||
currentParameters?: RawCustomizerParams
|
||||
}
|
||||
|
||||
export interface RawCustomizerParams {
|
||||
@@ -45,14 +45,14 @@ export function createHealthyResponse({
|
||||
consoleMessage,
|
||||
type,
|
||||
customizerParams,
|
||||
lastParameters,
|
||||
currentParameters,
|
||||
}: {
|
||||
date: Date
|
||||
data: any
|
||||
consoleMessage: string
|
||||
type: HealthyResponse['objectData']['type']
|
||||
customizerParams?: any
|
||||
lastParameters?: any
|
||||
currentParameters?: any
|
||||
}): HealthyResponse {
|
||||
return {
|
||||
status: 'healthy',
|
||||
@@ -66,7 +66,7 @@ export function createHealthyResponse({
|
||||
time: date,
|
||||
},
|
||||
customizerParams,
|
||||
lastParameters,
|
||||
currentParameters,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ function CSG2Object3D(obj) {
|
||||
}
|
||||
|
||||
let scriptWorker
|
||||
let lastParameters = {}
|
||||
let currentParameters = {}
|
||||
const scriptUrl = '/demo-worker.js'
|
||||
let resolveReference = null
|
||||
let response = null
|
||||
@@ -117,7 +117,7 @@ export const render: DefaultKernelExport['render'] = async ({
|
||||
consoleMessage: data.scriptStats,
|
||||
date: new Date(),
|
||||
customizerParams: parameterDefinitions,
|
||||
lastParameters,
|
||||
currentParameters,
|
||||
})
|
||||
}
|
||||
callResolve()
|
||||
@@ -148,7 +148,7 @@ export const render: DefaultKernelExport['render'] = async ({
|
||||
// we need this to keep the form filled with same data when new parameter definitions arrive
|
||||
// each render of the script could provide new paramaters. In case some of them are still rpesent
|
||||
// it is expected for them to stay the same and not just reset
|
||||
lastParameters = parameters || {}
|
||||
currentParameters = parameters || {}
|
||||
|
||||
const waitResult = new Promise((resolve) => {
|
||||
resolveReference = resolve
|
||||
|
||||
@@ -28,7 +28,7 @@ export function genParams(
|
||||
defs,
|
||||
target,
|
||||
storedParams = {},
|
||||
callback = undefined,
|
||||
callback: (values: RawCustomizerParams, source: any) => void = undefined,
|
||||
buttons = ['reset', 'save', 'load', 'edit', 'link']
|
||||
) {
|
||||
const funcs = {
|
||||
@@ -140,7 +140,7 @@ export function genParams(
|
||||
if (missingKeys.length) console.log('missing param impl', missingKeys)
|
||||
|
||||
function _callback(source = 'change') {
|
||||
if (callback) callback(getParams(target), source)
|
||||
if (callback && source !== 'group') callback(getParams(target), source)
|
||||
}
|
||||
|
||||
html += '<div class="jscad-param-buttons"><div>'
|
||||
@@ -179,7 +179,7 @@ export function genParams(
|
||||
})
|
||||
}
|
||||
|
||||
export function getParams(target: HTMLElement): RawCustomizerParams {
|
||||
function getParams(target: HTMLElement): RawCustomizerParams {
|
||||
const params = {}
|
||||
if (!target) return params
|
||||
|
||||
|
||||
Reference in New Issue
Block a user