diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2015-04-29 17:51:02 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2015-05-20 14:04:10 +0200 |
commit | 6a2b486e500b62abe7ef14e4f34c945726f3256b (patch) | |
tree | aa6fefef9d85c3731e949f42a3254e76c4727a97 /install | |
parent | 8f6013952061099fff4ec9b8784fc1ee91828c4e (diff) | |
download | freeipa-6a2b486e500b62abe7ef14e4f34c945726f3256b.tar.gz freeipa-6a2b486e500b62abe7ef14e4f34c945726f3256b.tar.xz freeipa-6a2b486e500b62abe7ef14e4f34c945726f3256b.zip |
webui: navigation: unique names on entity facet menu items
Fixes issue where it is not possible to define under the same parent:
{ entity: 'bar', facet: 'baz' }
{ entity: 'foo', facet: 'baz' }
Error reporting of invalid menu item names was improved.
Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
Diffstat (limited to 'install')
-rw-r--r-- | install/ui/src/freeipa/navigation/Menu.js | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/install/ui/src/freeipa/navigation/Menu.js b/install/ui/src/freeipa/navigation/Menu.js index 17678a59f..bee92ebb4 100644 --- a/install/ui/src/freeipa/navigation/Menu.js +++ b/install/ui/src/freeipa/navigation/Menu.js @@ -84,8 +84,17 @@ return declare([Evented], // each item must have a name and a label // FIXME: consider to move entity and facet stuff outside of this object - item.name = item.name || item.facet || item.entity; - if (!name) throw 'Missing menu item property: name'; + if (!item.name) { + if (item.facet && item.entity) { + item.name = item.entity + '_' + item.facet; + } else { + item.name = item.facet || item.entity; + } + } + if (!item.name) { + window.console.error('Missing menu item property: \'name\'', item); + return false; + } if (item.label) item.label = text.get(item.label); if (item.title) item.title = text.get(item.title); @@ -101,7 +110,6 @@ return declare([Evented], if (!facet) { return false; //quit } - item.name = facet.name; if (!item.label) item.label = facet.label; if (!item.title) item.title = facet.title; } @@ -135,7 +143,12 @@ return declare([Evented], delete item.children; // finally add the item - this.items.add(item); + try { + this.items.add(item); + } catch(e) { + window.console.error("Unable to add menu item", item); + throw e; + } // add children if (children) { |