@rebelcode/vc-selection-list v0.1.0
Selection List Component
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 toslot-scopeattribute inside item's template. In our example isr. 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 devBuild library for production
npm run productionRun e2e tests
npm run e2e8 years ago