summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2014-09-18 17:28:41 +0200
committerPetr Vobornik <pvoborni@redhat.com>2014-09-30 10:47:03 +0200
commitcd4c337002fa5c67d0dcad271790fc7130af47d1 (patch)
tree0dc2b3dc0c8ed64f00caa88779d8b047b23722af
parente0c33446799a2f199b181660dd2b03a4ca6636da (diff)
downloadfreeipa-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.js4
-rw-r--r--install/ui/src/freeipa/widget.js6
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;
};