diff options
| author | taehoon <th.dev91@gmail.com> | 2019-04-06 13:45:28 -0400 |
|---|---|---|
| committer | taehoon <th.dev91@gmail.com> | 2019-04-17 11:32:49 -0400 |
| commit | ecff6acf2d651931e06eebfa8856d940aedb2bee (patch) | |
| tree | 080100a22deecc56519ccf4a55180637fce0d965 /src/components/selectable_list | |
| parent | 3f5e798de79b401945d2a0ac992ca5ee6115d79f (diff) | |
support indeterminate checkbox state
Diffstat (limited to 'src/components/selectable_list')
| -rw-r--r-- | src/components/selectable_list/selectable_list.js | 6 | ||||
| -rw-r--r-- | src/components/selectable_list/selectable_list.vue | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/components/selectable_list/selectable_list.js b/src/components/selectable_list/selectable_list.js index b60399ec..b8bd4f75 100644 --- a/src/components/selectable_list/selectable_list.js +++ b/src/components/selectable_list/selectable_list.js @@ -24,6 +24,12 @@ const SelectableList = { computed: { allSelected () { return !this.items.find(item => !this.isSelected(item)) + }, + noneSelected () { + return !this.items.find(item => this.isSelected(item)) + }, + someSelected () { + return !this.allSelected && !this.noneSelected } }, methods: { diff --git a/src/components/selectable_list/selectable_list.vue b/src/components/selectable_list/selectable_list.vue index 292704c4..5b8693c4 100644 --- a/src/components/selectable_list/selectable_list.vue +++ b/src/components/selectable_list/selectable_list.vue @@ -2,7 +2,7 @@ <div class="selectable-list"> <div class="selectable-list-header" v-if="items.length > 0"> <div class="selectable-list-checkbox-wrapper"> - <Checkbox :checked="allSelected" @change="toggleAll">{{ $t('selectable_list.select_all') }}</Checkbox> + <Checkbox :checked="allSelected" @change="toggleAll" :indeterminate="someSelected">{{ $t('selectable_list.select_all') }}</Checkbox> </div> <div class="selectable-list-header-actions"> <slot name="header" :selected="selected" /> |
