index.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var relation_1 = require('../common/relation');
  4. var component_1 = require('../common/component');
  5. function emit(target, value) {
  6. target.$emit('input', value);
  7. target.$emit('change', value);
  8. }
  9. component_1.VantComponent({
  10. field: true,
  11. relation: relation_1.useParent('checkbox-group'),
  12. classes: ['icon-class', 'label-class'],
  13. props: {
  14. value: Boolean,
  15. disabled: Boolean,
  16. useIconSlot: Boolean,
  17. checkedColor: String,
  18. labelPosition: String,
  19. labelDisabled: Boolean,
  20. shape: {
  21. type: String,
  22. value: 'round',
  23. },
  24. iconSize: {
  25. type: null,
  26. value: 20,
  27. },
  28. },
  29. data: {
  30. parentDisabled: false,
  31. },
  32. methods: {
  33. emitChange: function (value) {
  34. if (this.parent) {
  35. this.setParentValue(this.parent, value);
  36. } else {
  37. emit(this, value);
  38. }
  39. },
  40. toggle: function () {
  41. var _a = this.data,
  42. parentDisabled = _a.parentDisabled,
  43. disabled = _a.disabled,
  44. value = _a.value;
  45. if (!disabled && !parentDisabled) {
  46. this.emitChange(!value);
  47. }
  48. },
  49. onClickLabel: function () {
  50. var _a = this.data,
  51. labelDisabled = _a.labelDisabled,
  52. parentDisabled = _a.parentDisabled,
  53. disabled = _a.disabled,
  54. value = _a.value;
  55. if (!disabled && !labelDisabled && !parentDisabled) {
  56. this.emitChange(!value);
  57. }
  58. },
  59. setParentValue: function (parent, value) {
  60. var parentValue = parent.data.value.slice();
  61. var name = this.data.name;
  62. var max = parent.data.max;
  63. if (value) {
  64. if (max && parentValue.length >= max) {
  65. return;
  66. }
  67. if (parentValue.indexOf(name) === -1) {
  68. parentValue.push(name);
  69. emit(parent, parentValue);
  70. }
  71. } else {
  72. var index = parentValue.indexOf(name);
  73. if (index !== -1) {
  74. parentValue.splice(index, 1);
  75. emit(parent, parentValue);
  76. }
  77. }
  78. },
  79. },
  80. });