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

g5-component

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

g5-component

Browserify Component Scaffold

latest
Source
npmnpm
Version
3.0.0-alpha.1
Version published
Maintainers
1
Created
Source

g5-component.js

Browserify Component Scaffold

NPM version NPM license GitHub issues

Setup

Install the package and use it as a module

npm i g5-component

Or clone the repo and use it as a scaffold/boilerplate for your component

git clone https://github.com/MajorLeagueBaseball/g5-component.git && cd g5-component

Install

Install dependencies, run the initial build, and start the development server

npm i && npm run build && npm run start-dev

Usage Example

Based on the provided linescore example

<section class="g5-component g5-component--linescore"></section>
let linescoreComponent = g5Component({
    component: 'g5-component--linescore',
    container: document.querySelector('.g5-component--linescore'),
    css: 'g5-component--linescore-initiated',
    interval: 15000,
    path: '/src/data/linescore.json'
});

linescoreComponent.init();

Options

A single shared options Object

OptionTypeDescriptionDefault
componentStringcomponent name/class''
containerElementprimary container''
cssStringclasses to add after instantiationg5-component
i18nStringlocalizationen
intervalNumberpolling interval40000
pathStringdata path to fetch (remote or local)''
enableFetchBooleanflag to enable/disable initial data fetchtrue
enablePollingBooleanflag to enable/disable data pollingtrue
extendListenersFunctioncallback executed after all event listeners have been addedundefined

Methods

Simple set of core methods

linescoreComponent.init(); // initiates component
linescoreComponent.hasInstance(); // checks if container has an instance of g5-component
linescoreComponent.detachEvents(); // detaches all events
linescoreComponent.attachEvents(); // attaches all events
linescoreComponent.destroy(); // kills component instance, cleans everything out to prevent memory leaks

Events / Listen

Events must be attached before the component is instantiated

linescoreComponent.on('ready', (obj) => {
    // console.log('component model and viewModel have been initiated', obj);
});

linescoreComponent.on('data', (data) => {
    // console.log('component data from model', data);
});

linescoreComponent.on('data-error', (err) => {
    // console.log('component model data error', err);
});

linescoreComponent.on('destroy', (obj) => {
    // console.log('component instance killed', obj);
});

linescoreComponent.on('start', () => {
    // console.log('component start fetch');
});

linescoreComponent.on('stop', () => {
    // console.log('component stop fetch');
});

Events / Trigger

Events must be triggered after the component is instantiated

// 
// Used with the `enableFetch` option (which toggles the initial data fetch), this 
// event allows direct passing of a data Object via an event
//
linescoreComponent.emit('synthetic-data', data);

//
// stops data polling on component
// event is ignored if data polling is already stopped
//
linescoreComponent.emit('stop');

//
// resumes data polling on component
// event is ignored if already polling data
//
linescoreComponent.emit('start');

Server / Development

Server running on http://localhost:9966 with automatic split builds (vendor dependencies are built separately for faster build times) [Ctrl+C] to kill server

npm run start-dev

Server

Server running on http://localhost:9966 with full build [Ctrl+C] to kill server

npm run start

Commands

build

Builds JS, CSS, and compresses images

npm run build

test

runs test directory through the babel-tape-runner

npm test

lint

lint via JSHint, options set in .jshintrc

npm run lint

compress-images

compresses all images in src/images/ and outputs to src/images/build

npm run compress-images

Browser Support

ChromeFirefoxIEOperaSafari
10+ ✔6.1+ ✔
                                                                                                         
                                                                                                         
                                                                                                         
                                                                                                         
                                                                                                         
            ______
            _\ _~-\___
    =  = ==(____G5____D
                \_____\___________________,-~~~~~~~`-.._
                /     o O o o o o O O o o o o o o O o  |\_
                `~-.__        ___..----..                  )
                      `---~~\___________/------------`````
                      =  ===(_________D
                                                                                                         
                                                                                                         
                                                                                                         
                                                                                                         
                                                                                                         

Keywords

component

FAQs

Package last updated on 28 Mar 2017

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