diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2014-09-18 17:28:41 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2014-09-30 10:47:03 +0200 |
commit | cd4c337002fa5c67d0dcad271790fc7130af47d1 (patch) | |
tree | 0dc2b3dc0c8ed64f00caa88779d8b047b23722af | |
parent | e0c33446799a2f199b181660dd2b03a4ca6636da (diff) | |
download | freeipa-cd4c337002fa5c67d0dcad271790fc7130af47d1.tar.gz freeipa-cd4c337002fa5c67d0dcad271790fc7130af47d1.tar.xz freeipa-cd4c337002fa5c67d0dcad271790fc7130af47d1.zip |
webui: add simple link column support
Usual link columns are link with primary key of current entity.
This patch allows to create a link to arbitrary non-nested entity.
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
-rw-r--r-- | install/ui/src/freeipa/facet.js | 4 | ||||
-rw-r--r-- | install/ui/src/freeipa/widget.js | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/install/ui/src/freeipa/facet.js b/install/ui/src/freeipa/facet.js index c26df4e73..c06df00a8 100644 --- a/install/ui/src/freeipa/facet.js +++ b/install/ui/src/freeipa/facet.js @@ -1965,7 +1965,9 @@ exp.table_facet = IPA.table_facet = function(spec, no_init) { var metadata = IPA.get_entity_param(entity.name, column.name); column.primary_key = metadata && metadata.primary_key; - column.link = (column.link === undefined ? true : column.link) && column.primary_key; + if (column.primary_key) { + column.link = column.link === undefined ? true : column.link; + } if (column.link && column.primary_key) { column.link_handler = function(value) { diff --git a/install/ui/src/freeipa/widget.js b/install/ui/src/freeipa/widget.js index f44710384..c7a082b18 100644 --- a/install/ui/src/freeipa/widget.js +++ b/install/ui/src/freeipa/widget.js @@ -2489,6 +2489,8 @@ IPA.column = function (spec) { that.link = spec.link; that.adapter = builder.build('adapter', spec.adapter || 'adapter', { context: that }); that.formatter = builder.build('formatter', spec.formatter); + that.target_entity = spec.target_entity; + that.target_facet = spec.target_facet; if (!that.entity) { throw { @@ -2585,6 +2587,10 @@ IPA.column = function (spec) { * Intended to be overridden. */ that.link_handler = function(value) { + + // very simple implementation which doesn't handle navigation to + // nested entities + navigation.show_entity(that.target_entity, that.target_facet, [value]); return false; }; |