Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
angular2-multiselect-dropdown
Advanced tools
Angular Multiselct dropdown component library for Angular version 11, 10, 9,8,6,4
Angular 2 multiselect dropdown component for web applications. Easy to integrate and use.
default.theme.css
file to get the basic styling of the dropdown. Refer to themes and theming
section belowThe Mutiselect Dropdown package is published on the npm Registry.
Install the package :
npm install angular2-multiselect-dropdown
Once installed import AngularMultiSelectModule
from the installed package into your module as follows:
Latest version available for each version of Angular
angular2-multiselect-dropdown | Angular |
---|---|
10.0.0 | 18.X.X |
9.0.0 | 17.X.X |
8.0.0 | 16.X.X |
7.0.0 | 15.X.X |
6.0.0 | 14.X.X |
Import AngularMultiSelectModule
into NgModule
in app.module.ts
. Angular's FormsModule
is also required.
import { AngularMultiSelectModule } from 'angular2-multiselect-dropdown';
import { FormsModule } from '@angular/forms';
@NgModule({
// ...
imports: [
AngularMultiSelectModule,
FormsModule
]
// ...
})
Declare the component data variables and options in your component where you want to consume the dropdown component.
import { Component, OnInit } from '@angular/core';
export class AppComponent implements OnInit {
dropdownList = [];
selectedItems = [];
dropdownSettings = {};
ngOnInit(){
this.dropdownList = [
{"id":1,"itemName":"India"},
{"id":2,"itemName":"Singapore"},
{"id":3,"itemName":"Australia"},
{"id":4,"itemName":"Canada"},
{"id":5,"itemName":"South Korea"},
{"id":6,"itemName":"Germany"},
{"id":7,"itemName":"France"},
{"id":8,"itemName":"Russia"},
{"id":9,"itemName":"Italy"},
{"id":10,"itemName":"Sweden"}
];
this.selectedItems = [
{"id":2,"itemName":"Singapore"},
{"id":3,"itemName":"Australia"},
{"id":4,"itemName":"Canada"},
{"id":5,"itemName":"South Korea"}
];
this.dropdownSettings = {
singleSelection: false,
text:"Select Countries",
selectAllText:'Select All',
unSelectAllText:'UnSelect All',
enableSearchFilter: true,
classes:"myclass custom-class"
};
}
onItemSelect(item:any){
console.log(item);
console.log(this.selectedItems);
}
OnItemDeSelect(item:any){
console.log(item);
console.log(this.selectedItems);
}
onSelectAll(items: any){
console.log(items);
}
onDeSelectAll(items: any){
console.log(items);
}
}
Add the following component tag in you template
<angular2-multiselect [data]="dropdownList" [(ngModel)]="selectedItems"
[settings]="dropdownSettings"
(onSelect)="onItemSelect($event)"
(onDeSelect)="OnItemDeSelect($event)"
(onSelectAll)="onSelectAll($event)"
(onDeSelectAll)="onDeSelectAll($event)"></angular2-multiselect>
default.theme.css
file to get the basic styling of the dropdown.angular2-multiselect-dropdown\themes\default.theme.css
default.theme.css
in angular-cli.json
(for versions below angular 6) and angular.json
(for version 6 or more).You can create your own theme from now on. You can have a look at example scss theming file at Default theme
<angular2-multiselect [data]="dropdownList" [(ngModel)]="selectedItems" [settings]="dropdownSettings">
<c-item>
<ng-template let-item="item">
<label style="color: #333;min-width: 150px;">{{item.itemName}}</label>
<img [src]="item.image" style="width: 30px; border: 1px solid #efefef;margin-right: 20px;" />
<label>Capital - {{item.capital}}</label>
</ng-template>
</c-item>
</angular2-multiselect>
<angular2-multiselect [data]="dropdownList" [(ngModel)]="selectedItems" [settings]="dropdownSettings">
<c-badge>
<ng-template let-item="item">
<label style="margin: 0px;">{{item.itemName}}</label>
<img [src]="item.image" style="width: 16px; margin-right: 5px;" />
</ng-template>
</c-badge>
</angular2-multiselect>
<form (ngSubmit)="onSubmit()" #loginForm="ngForm" style="border: 1px solid #ccc; padding: 10px;">
<div class="form-group">
<label for="name">Skills</label>
<angular2-multiselect [data]="itemList" [(ngModel)]="formModel.skills"
[settings]="settings"
(onSelect)="onItemSelect($event)"
(onDeSelect)="OnItemDeSelect($event)"
(onSelectAll)="onSelectAll($event)"
(onDeSelectAll)="onDeSelectAll($event)" name="skills">
</angular2-multiselect>
</div>
</form>
formModel = {
name: '',
email: 'ascasc@aa.com',
skills: [{ "id": 1, "itemName": "Angular" }]
};
<form [formGroup]="userForm" novalidate style="border: 1px solid #ccc; padding: 10px;">
<div class="form-group">
<label for="name">Skills</label>
<angular2-multiselect [data]="itemList" [(ngModel)]="selectedItems"
[settings]="settings"
(onSelect)="onItemSelect($event)"
(onDeSelect)="OnItemDeSelect($event)"
(onSelectAll)="onSelectAll($event)"
(onDeSelectAll)="onDeSelectAll($event)" formControlName="skills">
</angular2-multiselect>
</div>
</form>
userForm: FormGroup;
this.userForm = this.fb.group({
name: '',
email: ['', Validators.required],
skills: [[], Validators.required]
});
The following list of settings are supported by the component. Configure the settings to meet your requirement.
Setting | Type | Description | Default Value |
---|---|---|---|
singleSelection | Boolean | To set the dropdown for single item selection only. | false |
text | String | Text to be show in the dropdown, when no items are selected. | 'Select' |
enableCheckAll | Boolean | Enable the option to select all items in list | false |
selectAllText | String | Text to display as the label of select all option | Select All |
unSelectAllText | String | Text to display as the label of unSelect option | UnSelect All |
enableSearchFilter | Boolean | Enable filter option for the list. | false |
enableFilterSelectAll | Boolean | A 'select all' checkbox to select all filtered results. | true |
filterSelectAllText | String | Text to display as the label of select all option | Select all filtered results |
filterUnSelectAllText | String | Text to display as the label of unSelect option | UnSelect all filtered results |
maxHeight | Number | Set maximum height of the dropdown list in px. | 300 |
badgeShowLimit | Number | Limit the number of badges/items to show in the input field. If not set will show all selected. | All |
classes | String | Custom classes to the dropdown component. Classes are added to the dropdown selector tag. To add multiple classes, the value should be space separated class names. | '' |
limitSelection | Number | Limit the selection of number of items from the dropdown list. Once the limit is reached, all unselected items gets disabled. | none |
disabled | Boolean | Disable the dropdown | false |
searchPlaceholderText | String | Custom text for the search placeholder text. Default value would be 'Search' | 'Search' |
groupBy | String | Name of the field by which the list should be grouped. | none |
selectGroup | Boolean | Select a group at once. GroupBy should be enabled, to use this. | false |
searchAutofocus | Boolean | Autofocus search input field | true |
labelKey | String | The property name which should be rendered as label in the dropdown | itemName |
primaryKey | String | The property by which the object is identified. Default is 'id'. | id |
position | String | Set the position of the dropdown list to 'top' or 'bottom' | bottom |
noDataLabel | String | Label text when no data is available in the list | 'No Data Available' |
searchBy | Array | Search the list by certain properties of the list item. Ex: ["itemName, "id","name"]. Deafult is , it will search the list by all the properties of list item | [] |
lazyLoading | Boolean | Enable lazy loading. Used to render large datasets. | false |
showCheckbox | Boolean | Show or hide checkboxes in the list | true |
addNewItemOnFilter | Boolean | Whe you filter items and if, the item is not found, you can add the text as new item to the list | false |
addNewButtonText | String | The text in the button when addNewItemOnFilter is enabled | 'Add' |
escapeToClose | boolean | Press excape key to close the dropdown | true |
autoPosition | boolean | Enable dropdown to open either on 'top' or 'bottom' Ex: settings = { position: 'bottom', autoPosition: false }; open the dropdown always at bottom | true |
tagToBody | boolean | If the dropdown to be appended to body or not ? | true |
onSelect
- Return the selected item on selection.
Example : (onSelect)="onItemSelect($event)"onDeSelect
- Return the un-selected item on un-selecting.
Example : (onDeSelect)="OnItemDeSelect($event)"onSelectAll
- Return the list of all selected items.
Example : (onSelectAll)="onSelectAll($event)"onDeSelectAll
- Returns an empty array.
Example : (onDeSelectAll)="onDeSelectAll($event)"onGroupSelect
- Returns the selected group items as an array.
Example: (onGroupSelect)="onGroupSelect($event)"onGroupDeSelect
- Returns the sun-elected group items as an array.
Example: (onGroupDeSelect)="onGroupDeSelect($event)"onOpen
- Callback method fired after the dropdown opens
Example : (onOpen)="onOpen($event)"onClose
- Callback method, fired when the dropdown is closed
Example : (onClose)="onClose($event)"onScrollToEnd
- Callback event fired when the dropdown list is scrolled to the end. Usually used with virtual scrolling, to load data on scroll.
Example : (onScrollToEnd)="fetchMore($event)"onAddFilterNewItem
- Callback event fired when you click the Add
button which will appear when addNewItemOnFilter
setting is enabled.
Example : (onAddFilterNewItem)="onAddItem($event)"onFilterSelectAll
- Callback event fired when the list is filtered and all filtered items are selected with select all filtered items checkbox.
Example : (onFilterSelectAll)="onFilterSelectAll($event)"onFilterDeSelectAll
- Callback event fired when the list is filtered and all filtered items are de-selected with de-select all filtered items checkbox.
Example : (onFilterDeSelectAll)="onFilterDeSelectAll($event)"npm install
ng serve
for a dev serverhttp://localhost:4200/
The app will automatically reload if you change any of the source files.MIT License.
FAQs
Angular Multiselct dropdown component library for Angular version 11, 10, 9,8,6,4
The npm package angular2-multiselect-dropdown receives a total of 14,298 weekly downloads. As such, angular2-multiselect-dropdown popularity was classified as popular.
We found that angular2-multiselect-dropdown demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
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.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.