Encore Helpers
Library to store small shared utils and services that can be used across different application
Install
$ npm install encore-helpers
Documentation
BEMClassGenerator
Generate CSS class name for Encore components
Methods
getBlock - return class name for a block
getBlockWithModifier - return class name for a block with modifier
getElement - return class name for an element inside block (can be only one nesting level)
getElementWithModifier - return class name for an element inside block with modifier
PublisherSubscriber
Allow microFEs to communicate between each other
Library is working with special event format:
{widget name}_{view name}_{event name}
View name could be empty. Widget and event names should use dash as a word separator.
Service provide two groups of connection methods and one helper method for event name generation:
Publish methods
emit - call event on specific HTML element
globalEmit - call event on window
Subscribe methods
subscribe - listen to event on specific HTML element, return unsubscribe function
globalSubscribe - listen to event on window
Helper method
getEventName - return formatted event name
DataAttributesValidator
Methods
validateUrl - throws error with key if value is not valid url
validateString - throws error with key if value is not valid string
validateJson - throws error with key if value is not valid JSON
validateBoolean - throws error with key if value is not valid stringified boolean
validateDate - throws error with key if value is not valid stringified date
validateTime - throws error with key if value is not valid time
validateEnum - throws error with key if value is not excected in provided Enum values available
validateNumber - throws error with key if value is not valid stringified number
Storybook copy button
addStorybookCopyButton - adds copy button to storybook page
removeCopyButton - removes copy button from storybook page
Segment Tracker
Methods
getSnippet - return the script for Segment initialization. The script should be added to the head element of the page.
getInstance - return Segment instance
page - send "Page" event to Segment (https://segment.com/docs/spec/page/)
track - send a "Track" event to Segment (https://segment.com/docs/spec/track/)
identify - send an "Identify" event to Segment (https://segment.com/docs/spec/identify/)
alias - send an "Alias" event to Segment (https://segment.com/docs/spec/alias/)