@rebelcode/vc-selection-list

0.1.0 • Public • Published

Selection List Component

npm (scoped)

Selection List is a Vue component that extend Repeater component from here and used for creating components that can be used for selection item (or items) from the passed collection.

Usage

<selection-list :collection="items" v-model="selectedValue">
    <div :class="[r.isItemSelected(r.item) ? 'selected' : '']" @click="r.select(r.item)" slot-scope="r">
        <span>{{ r.item.title }}</span>
    </div>
</selection-list>

Where collection is type of FunctionalCollection from here. v-model var (selectedValue in our case) is type of Array. Also selection-list can be multiple, if :multiple="true" is set on selection-list component.

When rendering one item from the collection, all methods and objects from Repeater component and new ones available:

{scopeName} is string you've passed to slot-scope attribute inside item's template. In our example is r. In that template you'll be able to access to exposed methods and variables using that scope.

{scopeName}.isItemSelected(item) - function for checking that item is selected.

{scopeName}.select(item) - function for selecting item (@click="r.select(r.item) in example above").

{scopeName}.getKey(item) - function for getting key from collection's item. This is useful when selection list wrapper is native select. In this case you use getKey(item) for provide value attribute for option. For example: <option :value="r.getKey(r.item)>{{ r.item.title }}</option>.

Developing

Run npm install to install all dev dependencies.

Here is available npm commands.

Build library while developing

npm run dev

Build library for production

npm run production

Run e2e tests

npm run e2e

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.1.01alpha-1
0.1.01latest

Version History

VersionDownloads (Last 7 Days)Published
0.1.01

Package Sidebar

Install

npm i @rebelcode/vc-selection-list

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

14.7 kB

Total Files

9

Last publish

Collaborators

  • romalytvynenko
  • xedinunknown