diff --git a/install/static/entity.js b/install/static/entity.js index 74a07d009..e68ed3f2a 100644 --- a/install/static/entity.js +++ b/install/static/entity.js @@ -26,6 +26,7 @@ function ipa_facet(spec) { spec = spec || {}; var that = {}; + that.display_class = spec.display_class || 'entity-facet'; that.name = spec.name; that.label = spec.label; that._entity_name = spec.entity_name; @@ -290,11 +291,16 @@ function ipa_details_only_setup(container){ ipa_entity_setup.call(this, container, 'details'); } +function ipa_current_facet(entity){ + return $.bbq.getState(entity.name + '-facet', true) || entity.default_facet || 'search'; +} + function ipa_entity_setup(container) { var entity = this; - var facet_name = $.bbq.getState(entity.name + '-facet', true) || entity.default_facet || 'search'; + var facet_name = ipa_current_facet(entity); + var facet = entity.get_facet(facet_name); if (!facet) return; @@ -321,54 +327,69 @@ function ipa_entity_setup(container) { function action_panel(entity_name){ + + function build_link(other_facet,label,other_entity){ + var li = $('
  • ', { + "class" : other_facet.display_class, + title: other_entity, + text: label, + click: function(entity_name, other_facet_name) { + return function() { + if($(this).hasClass('entity-facet-disabled')){ + return false; + } + var this_pkey = $('.action-panel input[id=pkey]').val(); + IPA.switch_and_show_page( + entity_name, other_facet_name, + this_pkey, other_entity); + + return false; + }; + }(entity_name, other_facet_name) + }); + return li; + } + var div = $('
    ', { "class":"action-panel", html: $('

    Actions

    ') }); + + /*Note, for debugging purposes, it is useful to set var pkey_type = 'text';*/ + var pkey_type = 'hidden'; + $('', + {'type': pkey_type, + id:'pkey', + name:'pkey'}).appendTo(div); + var ul = $('