From 9032ab6299f4fa777248586c94720b36201804e6 Mon Sep 17 00:00:00 2001 From: livecodeali Date: Thu, 18 Jun 2015 17:02:26 +0100 Subject: [PATCH] [[ Navbar ]] Use defaults when navbar data is set with missing elements --- extensions/widgets/navbar/navbar.lcb | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/extensions/widgets/navbar/navbar.lcb b/extensions/widgets/navbar/navbar.lcb index 7487ce7b163..2661c9acadf 100644 --- a/extensions/widgets/navbar/navbar.lcb +++ b/extensions/widgets/navbar/navbar.lcb @@ -942,7 +942,12 @@ private handler setData(in pArray as Array, in pKeys as List, out rList as List) put the empty array into tElement repeat for each element tKey in pKeys put tLookup[tOrderKey formatted as string] into tOriginalKey - put pArray[tOriginalKey][tKey] into tElement[tKey] + -- Use default item if key is not present + if tKey is among the keys of pArray[tOriginalKey] then + put pArray[tOriginalKey][tKey] into tElement[tKey] + else + put defaultNavElement(tKey) into tElement[tKey] + end if end repeat if tElement["label"] is "" then put "New Item" into tElement["label"] @@ -1040,6 +1045,23 @@ end handler -- -------------------------------------------------------------------------------- +private handler defaultNavElement(in pKey as String) returns String + if pKey is "name" then + return kDefaultNavName + else if pKey is "label" then + return kDefaultNavLabel + else if pKey is "icon_name" then + return kDefaultNavIconName + else if pKey is "selected_icon_name" then + return "" + else if pKey is "icon" then + return "" + else if pKey is "selected_icon" then + return "" + end if + return "" +end handler + private handler defaultNavArray() returns Array variable tArray as Array put the empty array into tArray