
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
angular-checkboxes
Advanced tools
Bind a list of checkboxes to a unique ng-model array.
If you are used to manipulate HTML forms, you probably know that each checkbox is a separate variable (or maybe an ngModel with AngularJS).
Sometimes, it could be usefull to manipulate all these checkboxes as a unique array.
angular.checkboxes module lets you turn your list of checkboxes into a unique destination array, providing :
http://msieurtoph.github.io/angular-checkboxes
npm i angular-checkboxes --save
Please, visit http://msieurtoph.github.io/angular-checkboxes for live examples.
<form>
...
<div mt-to="myUniqueArray">
<input type="checkbox" mt-checkbox name="value1" /> Value 1 <br/>
<input type="checkbox" mt-checkbox name="value2" /> Value 2 <br/>
<input type="checkbox" mt-checkbox name="value3" /> Value 3 <br/>
</div>
...
</form>
Let's check Value 1 and Value 2, and you will get (in the current scope):
myUniqueArray= [
"value1",
"value2"
];
Let's push value3 to myUniqueArray now, and you will check the Value 3 checkbox.
Pretty cool, no ?
/!\ Do not forget to $apply() the scope changes when manipulating destination array!
Don't care about that, the module takes it in charge. Just use them if you need, they will be updated with the flow: if you add or remove a value from the destination array, the checkbox ngModel (a boolean) will be switched.
The only thing to know is : during the initialisation phase, if the ngModel state of the checkbox differs from its state in the destination array, the ngModel will be overriden. So if the checkbox is checked, but the value is not in the array : the checkbox will be unchecked...
A possible enhancement could be to add an option (in the Provider or as an attribute) to force it to work the other way and give the checkbox ngModel the priority on the array.
The directive mtCheckbox provides a controller. It publishes :
value (string)
The value that will be pushed to/shifted from the destination array for this checkbox. See the demo page to know how to initialize it.
state (boolean)
It tells if the checkbox is currently checked or not.
It is better not to change this state manually and prefer the set(state) method.
set(state) (function(boolean))
It allows external directives to check (value=true) or uncheck (value=false) the checkbox programmatically. Any other non-boolean value will do nothing.
The directive mtTo provides a controller too. It publishes :
get() (function())
The getter for the destination array.
set(list) (function(array))
The setter for the destination array. The provided array will replace the existing one.
indexOf(elt) (function(elt))
To get the index of the provided element in the destination array.
add(elt) (function(elt))
To push an element to the destination array, except if the element is already added.
remove(elt) (function(elt))
To remove an element from the destination array, if present.
FAQs
Bind a list of checkboxes to a unique ng-model array
The npm package angular-checkboxes receives a total of 74 weekly downloads. As such, angular-checkboxes popularity was classified as not popular.
We found that angular-checkboxes demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.