index.js 8.5 KB

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