Sha256: d9aec202a016340a210b0f5840a962265d39b1190c8947deda3593a6bc29cbdf

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

// In this file, you can tune how data is displayed,
// For instance create links

// Utilities
var httpRegexp = new RegExp('^http[s]?://[^ ]+$');

function url_decorator(key, value) {
  var e = document.createElement('a');
  e.setAttribute('href', value);
  e.appendChild(document.createTextNode(value));
  return e;
}

/**
 * serviceInstanceDecorator is called to decorate an instance.
 */
function serviceInstanceDecorator(instance, element, serviceName, node_meta_info) {
    return element;
}

/**
 * serviceMetaDecorator must return a HTML node to decorate a service instance meta.
 * It should return the decorated element.
 */
function serviceMetaDecorator(instance, key, value, serviceName, node_meta_info) {
    if (httpRegexp.test(value)) {
      return url_decorator(key, value);
    } else {
      return document.createTextNode(value);
    }
}

/**
 * navBarDecorator is called to modify to modify naviguation bar of all UI pages.
 * it receives the nav bar div
 * it does not have to return anything.
 */
function navBarDecorator(navbar) { }


/**
 * fetchedResponseDecorator is called with http response when a resource is fetched by any instance of ConsulUIManager
 * it does not have to return anything.
 */
async function fetchedResponseDecorator(httpResponse) { }

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
consul-templaterb-1.21.7 samples/consul-ui/decorators.js.erb
consul-templaterb-1.21.6 samples/consul-ui/decorators.js.erb