addon/components/ui-checkbox-group.js

import UiCheckboxGroupBase from '../mixins/ui-checkbox-group-base';
import layout from '../templates/components/ui-checkbox-group';
import Component from '@ember/component';
import { isArray } from '@ember/array'

/**
ui-checkbox-group component see {{#crossLink "mixins.UiCheckboxGroupBase"}}{{/crossLink}}

@module components
@namespace components
@class UiCheckboxGroup
@constructor
*/
export default Component.extend(UiCheckboxGroupBase, {
    layout: layout,
    /**
    value is checked or not
    @method isOptionChecked
    @return {Boolean}
    */
    isOptionChecked(optionValue){
        if(isArray(this.value)){
            return this.value.includes(optionValue);
        }
        return false;
    },
    actions: {
        childChange(checked, value){
            if(checked && !this.value.includes(value)){
                this.value.pushObject(value);
            }
            if(!checked && this.value.includes(value)){
                this.value.removeObject(value);
            }
        }
    }
});