https://github.com/caiquevallim/dual-pick-list-heroes
The dual-pick-list has been created for help us to create a dual list box fastest in AngularJS 1.6.1 or lower.
Install through npm:
$ npm install [email protected] --save
$ npm install bootstrap-duallistbox --save
$ npm install smart-table --save
$ npm install lodash --save
$ npm install dual-pick-list --save
Then include in your apps module (app.js):
angular.module('app',['dual-pick-list']);
And now include in your app.scripts.json:
{
"chunks":{
"vendor":[
"dual-pick-list"
]
},
"paths":{
"dual-pick-list":"node_modules/dual-pick-list/dual-pick-list.component.js"
}
}
or also:
<script src="./node_modules/dual-pick-list/dual-pick-list.component.js"> </script>
Finally use in one of your apps components:
You're going to need to include in your HTML 5 file the following statment:
<dual-pick-list list="items"
on-transaction="onTransactionDualList(leftList, rightList)"
header-config="headerConfig"
text-key-left-list="{{'Not Selected'}}"
text-key-right-list="{{'Selected'}}">
</dual-pick-list>
-
Bindings:
list
:ArrayList[Item]
. This bind isrequired
.headerConfig
:{left:ArrayList[HConfig], right:ArrayList[HConfig]}
. This bindrequired
and it's used to you setup header of your left list and header of your right list.onTransaction
:()=>{}
. This bindrequired
, when any event is dispatched, you can get left list and right list through the dual-pick-list component.textKeyLeftList
:String leftLabel
. Name of left table. This bind is notrequired
. It has a valueNot Selected
as default.textKeyRightList
:String rightLabel
. Name of right table. This bind is notrequired
. It has a valueSelected
as default.placeHolder
:String placeholder
. Search input left and right.
-
Models:
-
Item
- property
left : Boolean
When it istrue
then the item will be located on left list - property
right : Boolean
When it istrue
then the item will be located on right list - property
fieldOfYourInterest
: For example:cdClient
,descClient
or any other that you will need
- property
-
HConfig
- property
text : String
. Name of the column. - property
hidden : Boolean
. If you need of some field to just your business and you do not want to show this for you client, so you'll need to hidden this collumn getting valuetrue
in this property. - property
key : String
This property should contain the name that you have been past onItem.fieldOfYourInterest
property above - property
custom : Boolean
:true
for you use some components in your records of this column - property
select : ObjectSelect
: It can not betrue
ifcustom
hasfalse
- property
checkbox : Boolean
: It can not betrue
ifcustom
hasfalse
- property
button : ()=>{}
Function which can manipulated the current item or any other events that you need. It can not betrue
ifcustom
hasfalse
- property
-
ObjectSelect
- property
list : ArrayList[ObjectSelect]
: This list should be mapped asObjectSelectItem
- property
-
ObjectSelectItem
- property
id : number/long/int
: Id - property
text : String
: Name
- property
-
- Install Node.js and NPM
- Install local dev dependencies:
npm install
while current directory is this repo
MIT