Port ui/context components to JavaScript

Signed-off-by: Byron Ruth <b@devel.io>
Rename data-role to data-target for convention

Signed-off-by: Byron Ruth <b@devel.io>
Merge pull request #489 from cbmi/context-port

Port ui/context components to JavaScript