From ffb43a8b8a17534cc577517082260008673a2c68 Mon Sep 17 00:00:00 2001 From: sai-neetha Date: Thu, 31 Aug 2023 12:27:17 +0200 Subject: Update ODLUX Update odlux to latest Issue-ID: CCSDK-3933 Change-Id: I40ed806955c46295c5f2c36d74964a6045576662 Signed-off-by: sai-neetha --- .../configurationApp/src/actions/deviceActions.ts | 45 +++++++++++++--------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'sdnr/wt/odlux/apps/configurationApp') diff --git a/sdnr/wt/odlux/apps/configurationApp/src/actions/deviceActions.ts b/sdnr/wt/odlux/apps/configurationApp/src/actions/deviceActions.ts index 52137135a..d8ec4bfd9 100644 --- a/sdnr/wt/odlux/apps/configurationApp/src/actions/deviceActions.ts +++ b/sdnr/wt/odlux/apps/configurationApp/src/actions/deviceActions.ts @@ -193,29 +193,36 @@ export const updateViewActionAsyncCreator = (vPath: string) => async (dispatch: })); } else { // Found a list at root level of a module w/o a reference key. - dataPath += `?content=config&fields=${encodeURIComponent(viewElement.id)}(${encodeURIComponent(viewElement.key || '')})`; + dataPath += `?&fields=${encodeURIComponent(viewElement.id)}(${encodeURIComponent(viewElement.key || '')})`; const restResult = (await restService.getConfigData(dataPath)); if (restResult && restResult.status === 200 && restResult.data && restResult.data[viewElement.id] ) { // spoof the not existing view here const refData = restResult.data[viewElement.id]; - const refView : ViewSpecification = { - id: '-1', - canEdit: false, - config: false, - language: 'en-US', - elements: { - [viewElement.key!] : { - uiType: 'string', - config: false, - id: viewElement.key, - label: viewElement.key, - isList: true, - } as ViewElementString, - }, - }; - dispatch(new EnableValueSelector(refView, refData, viewElement.key!, (refKey) => { - window.setTimeout(() => dispatch(new PushAction(`${vPath}[${refKey.replace(/\//ig, '%2F')}]`))); - })); + if (!Array.isArray(refData) || !refData.length) { + throw new Error('Found a list at root level of a module containing no keys.'); + } + if (refData.length > 1) { + const refView : ViewSpecification = { + id: '-1', + canEdit: false, + config: false, + language: 'en-US', + elements: { + [viewElement.key!] : { + uiType: 'string', + config: false, + id: viewElement.key, + label: viewElement.key, + isList: true, + } as ViewElementString, + }, + }; + dispatch(new EnableValueSelector(refView, refData, viewElement.key!, (refKey) => { + window.setTimeout(() => dispatch(new PushAction(`${vPath}[${refKey.replace(/\//ig, '%2F')}]`))); + })); + } else { + window.setTimeout(() => dispatch(new PushAction(`${vPath}[${refData[0]?.id.replace(/\//ig, '%2F')}]`))); + } } else { throw new Error('Found a list at root level of a module and could not determine the keys.'); } -- cgit 1.2.3-korg