New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

componentmanager

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

componentmanager

Manage your enviroment nodes

latest
Source
npmnpm
Version
1.0.4
Version published
Maintainers
1
Created
Source

ComponentManager

Manage your dom nodes to initialize. ComponentManager is written in EcmaScript6, alternative your can use es5 version with bower.

minimum system enviroment

  • Promise API
  • document.querySelectorAll

Example Markup

<button class="simple-button" data-components="button">label</button>

<div data-components="button,mycomponent" data-settings='{"button": {}, "mycomponent": {}}'></div>

Run

var cm = new ComponentManager();

// setup properties before start detection
cm.setup({PROPERTY:VALUE});

cm
// require event, will triggerd after found components
      .on('AddComponent', function (event) {
// EXAMPLE with Systemjs loader and flightjs components
        return System
          .import(event.path)
          .then(function (pack) {
            return pack.default;
          })
          .then(function (component) => {
            var componentNode = component.attachTo(event.node, event.setting);
          });
      })
// detect start by document as root 
      .detect(document)
// promise interface after done make the next step
      .then(function (nodes) {
        // all component found and initialize
      });

documentation

All handling based on promises objects, after detection you can play with a ready system. Each function return a valid value it follow the fluid code conzept

properties (options)

path

(default 'components/') prefixed script paths could be empty script

detectAttr

(default 'data-components') detection attribute of nodes

settingAttr

(default 'data-settings') optional attribute for setting definition(JSON script)

splitSeperator

(default ',') used for multi definition if components Example: data-components="comp1,comp2"

Methode

on(eventName, callback)

listener registration @param eventName @param callback @returns {ComponentManager}

setup(setting)

setup manager by map @param setting @returns {ComponentManager}

getComponentNodes(root)

return all component nodes in root @param root @returns {NodeList}

getNodesOfComponent(componentName, root = document)

return all nodes that implement the component @param componentName @param root @returns {NodeList}

detect(root)

detect all components in root @param root @returns {Promise}

Events

AddComponent

Will trigger after detection and parsing all information for this component Event data has information about this component { node = DOM Node name = component name, path = path to component, setting = detected setting }

Keywords

manager

FAQs

Package last updated on 16 Feb 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts