UNPKG

@apicart/brackets

Version:

Small, flexible, easy to use, component-oriented javascript template engine.

44 lines (32 loc) 1.15 kB
import {Brackets} from '../shared/variables'; import {utils} from '../shared/utils'; import {redrawInstance} from './redrawler'; import {createRenderingInstanceObject} from './runtime/renderingInstances'; /** * @param {{}} parameters */ export function render(parameters) { var targetElements; if (typeof parameters.el === 'string') { targetElements = document.querySelectorAll(parameters.el); } else if (parameters.el instanceof Element) { targetElements = [parameters.el]; } else if (parameters.el instanceof NodeList || Array.isArray(parameters.el)) { targetElements = parameters.el; } else { throw new Error('Brackets: unsupported type for parameter el.'); } if (targetElements.length > 1 && parameters.cacheKey && ! parameters.template) { throw new Error( 'Brackets: you must provide a single template for \'' + parameters.cacheKey + '\' cacheKey because multiple target elements were found.' ); } if ( ! targetElements) { return; } utils.each(targetElements, function (key, targetElement) { redrawInstance(createRenderingInstanceObject(parameters, targetElement).instanceId); }); return Brackets; }