New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

compose-shell

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

compose-shell

A web component for displaying a versatile shell-like interface.

  • 2.1.5
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

Compose Shell

A web component for displaying a versatile shell-like interface.

Installation

Browserify & npm

Simply npm install compose-shell and require it in your project. The package doesn't export anything.

Load the dist

  • Look in dist/ for both minified and unminified sources.
  • There's some CSS required to make this work. shell.css
  • Source map available.

Usage

This is a web component. Which means, you don't manually trigger it. Just follow the simple HTML guidelines to making it work.

Basic HTML structure

Within your site, you need a structure similar to this:

<compose-shell method="get" action="path_to_action">
  <!-- Example params group -->
  <compose-shell-param name="find" before="find(" after=")">
    <compose-shell-param name="find[query]" required="true" before="{" after="}" type="hash" parser="bson"></compose-shell-param>
    <compose-shell-param name="find[fields]" before=",{" after="}" type="hash" hint="Fields" parser="bson"></compose-shell-param>
  </compose-shell-param>

  <!-- Example standalone params -->
  <compose-shell-param name="sort" before=".sort({" after="})" type="hash" parser="bson"></compose-shell-param>
  <compose-shell-param name="explain" type="boolean">.explain()</compose-shell-param>
  
  <!-- Buttons referecing the fields -->
  <compose-shell-button toggle="find[fields]">fields{}</compose-shell-button>
  <compose-shell-button toggle="sort">sort()</compose-shell-button>
  <compose-shell-button toggle="explain">explain()</compose-shell-button>

  <!-- A submit button -->
  <compose-shell-button type="submit">Run</compose-shell-button>
</compose-shell>

There's a lot more examples of this in the examples.html file. If you pull/download the repository, you can load the file up in a browser and it should work fine.

<compose-shell>

The parent tag contains the whole shell parameters and buttons (more on this below.)

Any attributes passed to it will be applied to the form that'll be submitted

<compose-shell-param>

... can either be a standalone param or a group of params.

Relevant attributes
  • name: the name to send as an input within the form. Also used to reference the param by other attributes / elements.
  • before: text to display before the input. For a hash, there's often a "{" or "({" in there.
  • after: same as before, but after.
  • required: some fields don't have buttons and therefore must be marked as required so that they're visible even without the button being toggled.
  • type: the type of the parameter. can be a "hash", "boolean", "text"
  • parser: the type of parser to use on the parameter when parsing and serializing its value. For now only bson is supported (MongoDB), if none is specified, it'll just passthrough the value as is.
  • hint: a small tooltip to display when the parameter is toggled.
  • dependency: a dependency of the parameter (this is the name of another attribute.)
  • focus: specify the field to focus on when the shell is fully ready.
Element's text content

Parameters of type boolean can have content within the <compose-shell-param> tag. This will be displayed as their label.

<compose-shell-button>

Button to toggle the field on or off.

Relevant attributes

The only relevant attribute is toggle, it corresponds to the name of the parameter to toggle.

Element's text content

... is used for the label on the button

FAQs

Package last updated on 11 Jun 2015

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc