summaryrefslogtreecommitdiffstats
path: root/install/ui/src
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2015-04-29 17:51:02 +0200
committerPetr Vobornik <pvoborni@redhat.com>2015-05-20 14:04:10 +0200
commit6a2b486e500b62abe7ef14e4f34c945726f3256b (patch)
treeaa6fefef9d85c3731e949f42a3254e76c4727a97 /install/ui/src
parent8f6013952061099fff4ec9b8784fc1ee91828c4e (diff)
downloadfreeipa-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/ui/src')
-rw-r--r--install/ui/src/freeipa/navigation/Menu.js21
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) {