blob: 5b8ea25cb0aaa1fda7e39e9e77d0d0df14a4d760 [file] [log] [blame]
/*
* ItemPlugin is an external, pluggable UI widget that can extend the
* functionality of the details view which is displayed when user selects an
* item in the Vanadium Namespace Browser.
*/
var itemPlugin = {
/*
* Short title for the plugin. This title will be displayed to the end user.
* @type {string}
*/
title: 'My Plugin',
/*
* Given a Vanadium object name and its signature, it should return whether
* or not this plugin supports that object.
* @param {string} name Vanadium object name for the item.
* @param {signature} Signature of the item.
* @return {boolean} Whether this plugin supports the selected item.
*/
canSupport: function(name, signature) {},
/*
* Given a Vanadium object name, this function needs to render a
* single DOM node to display.
* Render is only called once per unique name and cached.
* Plugin is free to update the DOM at any point.
*
* WebComponent's attached, detached, ready, etc can be used to handle the
* life-cycle of the DOM component.
*
* Plugin host is free to detach/attach the given DOM arbitrarily and DOM may
* not get attached immediately after the render call.
*
* @param {string} name Vanadium object name for the item.
* @return {DOM} A single DOM object to display.
*/
render: function(name) {}
}