Giter VIP home page Giter VIP logo

advanced-select's Introduction

advanced-select

CircleCI (all branches) npm (scoped) NpmLicense npm bundle size (minified + gzip) David David

What's this

Component to render a "select" with advanced interactions (search, select/deselect all, etc) for websites built with Vue and Bootstrap 3

Install

npm install @myena/advanced-select

Dependencies

  • Vue 2*/3
    • *For Vue 2 it depends on @vue/composition-api, via vue-demi
  • Bootstrap 3

Demo

https://myena-advanced-select.netlify.app/

Usage

Options can be passed as props

<AdvancedSelect
  v-model="value"
  :options="options"
  :disabled="disabled"
  />

Or as the default slot

<AdvancedSelect
  v-model="secondValue"
  :disabled="disabled"
  >
  <option value="1">Text</option>
  <option value="2">Text 2</option>
</AdvancedSelect>
import AdvancedSelect from 'advanced-select';

export default {
  components: {
    AdvancedSelect,
  },
  data: () => ({
    options: [
      { value: 1, text: 'One' },
      { value: 2, text: 'Two' },
    ],
    value: null,
    secondValue: '1',
    disabled: false,
  }),
};

Props

Prop Type Default Description
v-model any null Pass v-model to the component to have the reference to the current selected value
:options Array [] The options to display. A list of objects in the form: { value: 1, text: 'One' } or { label: 'Group 1', options: [ { value: 1, text: 'One' } ]. If not passed as prop, it tries to read them from the component default slot, where they can be specified as HTML standard `option
:search Boolean false Show or not a search field to filter the options
:multiple Boolean false Single or multiple select
:controls Boolean false Show or not a couple control buttons at the top for (de)selecting all items
:collapseHeaders Boolean false Show or not a link on the headers to toggle items under them
:displayMax Number 0 How many selected items to display on the button in multiple mode. 0 means all
:displayText String "{0} items selected" Text to display if displayMax is reached. "{0}" will be replaced by the total number
:dropdownClass String '' Class to use for the dropdown menu. EG: 'dropdown-menu-right'
:texts Object { placeholder: 'Nothing selected', empty: 'No results', selectAll: 'Select all', selectNone: 'Select none', } Texts used

All other DOM attributes are inherited by the component button. For example: :disabled="true" will disable the button.

advanced-select's People

Contributors

ancadorneanu avatar andyghiuta avatar daniel-andoni-ness avatar dependabot[bot] avatar emartinas avatar liliaplacinta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

advanced-select's Issues

Display issue when used inside a scrollable element

When used in a container that has overflow: scroll or overflow: auto, the option list will remain inside the container and won't overflow.
Especially problematic when rendered at the bottom of the container because the item list will not be visible.

Bootstrap 4

Hi!

Seems like an awesome package, how does it coop with Bootstrap 4?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.