Skip to content

Commit 425fcc8

Browse files
committed
Merge pull request livecode#2433 from livecodeali/feature-navbar_forgiveness
[[ Navbar ]] Use defaults when navbar data is set with missing elements
2 parents eda98ce + 9032ab6 commit 425fcc8

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

extensions/widgets/navbar/navbar.lcb

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,12 @@ private handler setData(in pArray as Array, in pKeys as List, out rList as List)
942942
put the empty array into tElement
943943
repeat for each element tKey in pKeys
944944
put tLookup[tOrderKey formatted as string] into tOriginalKey
945-
put pArray[tOriginalKey][tKey] into tElement[tKey]
945+
-- Use default item if key is not present
946+
if tKey is among the keys of pArray[tOriginalKey] then
947+
put pArray[tOriginalKey][tKey] into tElement[tKey]
948+
else
949+
put defaultNavElement(tKey) into tElement[tKey]
950+
end if
946951
end repeat
947952
if tElement["label"] is "" then
948953
put "New Item" into tElement["label"]
@@ -1040,6 +1045,23 @@ end handler
10401045
--
10411046
--------------------------------------------------------------------------------
10421047

1048+
private handler defaultNavElement(in pKey as String) returns String
1049+
if pKey is "name" then
1050+
return kDefaultNavName
1051+
else if pKey is "label" then
1052+
return kDefaultNavLabel
1053+
else if pKey is "icon_name" then
1054+
return kDefaultNavIconName
1055+
else if pKey is "selected_icon_name" then
1056+
return ""
1057+
else if pKey is "icon" then
1058+
return ""
1059+
else if pKey is "selected_icon" then
1060+
return ""
1061+
end if
1062+
return ""
1063+
end handler
1064+
10431065
private handler defaultNavArray() returns Array
10441066
variable tArray as Array
10451067
put the empty array into tArray

0 commit comments

Comments
 (0)