index.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var component_1 = require('./../common/component.js');
  4. component_1.VantComponent({
  5. relation: {
  6. name: 'collapse-item',
  7. type: 'descendant',
  8. linked: function linked(child) {
  9. this.children.push(child);
  10. },
  11. unlinked: function unlinked(child) {
  12. this.children = this.children.filter(function (item) {
  13. return item !== child;
  14. });
  15. }
  16. },
  17. props: {
  18. value: {
  19. type: null,
  20. observer: 'updateExpanded'
  21. },
  22. accordion: {
  23. type: Boolean,
  24. observer: 'updateExpanded'
  25. },
  26. border: {
  27. type: Boolean,
  28. value: true
  29. }
  30. },
  31. beforeCreate: function beforeCreate() {
  32. this.children = [];
  33. },
  34. methods: {
  35. updateExpanded: function updateExpanded() {
  36. this.children.forEach(function (child) {
  37. child.updateExpanded();
  38. });
  39. },
  40. switch: function _switch(name, expanded) {
  41. var _a = this.data,
  42. accordion = _a.accordion,
  43. value = _a.value;
  44. if (!accordion) {
  45. name = expanded ? (value || []).concat(name) : (value || []).filter(function (activeName) {
  46. return activeName !== name;
  47. });
  48. } else {
  49. name = expanded ? name : '';
  50. }
  51. this.$emit('change', name);
  52. this.$emit('input', name);
  53. }
  54. }
  55. });
  56. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwicmVsYXRpb24iLCJuYW1lIiwidHlwZSIsImxpbmtlZCIsInVubGlua2VkIiwiaXRlbSIsInByb3BzIiwib2JzZXJ2ZXIiLCJhY2NvcmRpb24iLCJib3JkZXIiLCJiZWZvcmVDcmVhdGUiLCJtZXRob2RzIiwidXBkYXRlRXhwYW5kZWQiLCJjaGlsZCIsInN3aXRjaCIsIl9hIiwiZXhwYW5kZWQiLCJhY3RpdmVOYW1lIl0sIm1hcHBpbmdzIjoiOztBQUNBQSxPQUFBQSxjQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxZQUFBQSxFQUE2QyxFQUFFQyxPQUEvQ0QsSUFBNkMsRUFBN0NBO0FBQ0EsSUFBSUUsY0FBY0MsUUFBbEIsMEJBQWtCQSxDQUFsQjtBQUNBRCxZQUFBQSxhQUFBQSxDQUEwQjtBQUN0QkUsY0FBVTtBQUNOQyxjQURNLGVBQUE7QUFFTkMsY0FGTSxZQUFBO0FBR05DLGdCQUFRLFNBQUEsTUFBQSxDQUFBLEtBQUEsRUFBaUI7QUFDckIsaUJBQUEsUUFBQSxDQUFBLElBQUEsQ0FBQSxLQUFBO0FBSkUsU0FBQTtBQU1OQyxrQkFBVSxTQUFBLFFBQUEsQ0FBQSxLQUFBLEVBQWlCO0FBQ3ZCLGlCQUFBLFFBQUEsR0FBZ0IsS0FBQSxRQUFBLENBQUEsTUFBQSxDQUFxQixVQUFBLElBQUEsRUFBZ0I7QUFBRSx1QkFBT0MsU0FBUCxLQUFBO0FBQXZELGFBQWdCLENBQWhCO0FBQ0g7QUFSSyxLQURZO0FBV3RCQyxXQUFPO0FBQ0hULGVBQU87QUFDSEssa0JBREcsSUFBQTtBQUVISyxzQkFBVTtBQUZQLFNBREo7QUFLSEMsbUJBQVc7QUFDUE4sa0JBRE8sT0FBQTtBQUVQSyxzQkFBVTtBQUZILFNBTFI7QUFTSEUsZ0JBQVE7QUFDSlAsa0JBREksT0FBQTtBQUVKTCxtQkFBTztBQUZIO0FBVEwsS0FYZTtBQXlCdEJhLGtCQUFjLFNBQUEsWUFBQSxHQUFZO0FBQ3RCLGFBQUEsUUFBQSxHQUFBLEVBQUE7QUExQmtCLEtBQUE7QUE0QnRCQyxhQUFTO0FBQ0xDLHdCQUFnQixTQUFBLGNBQUEsR0FBWTtBQUN4QixpQkFBQSxRQUFBLENBQUEsT0FBQSxDQUFzQixVQUFBLEtBQUEsRUFBaUI7QUFDbkNDLHNCQUFBQSxjQUFBQTtBQURKLGFBQUE7QUFGQyxTQUFBO0FBTUxDLGdCQUFRLFNBQUEsT0FBQSxDQUFBLElBQUEsRUFBQSxRQUFBLEVBQTBCO0FBQzlCLGdCQUFJQyxLQUFLLEtBQVQsSUFBQTtBQUFBLGdCQUFvQlAsWUFBWU8sR0FBaEMsU0FBQTtBQUFBLGdCQUE4Q2xCLFFBQVFrQixHQUF0RCxLQUFBO0FBQ0EsZ0JBQUksQ0FBSixTQUFBLEVBQWdCO0FBQ1pkLHVCQUFPZSxXQUNELENBQUNuQixTQUFELEVBQUEsRUFBQSxNQUFBLENBRENtQixJQUNELENBRENBLEdBRUQsQ0FBQ25CLFNBQUQsRUFBQSxFQUFBLE1BQUEsQ0FBcUIsVUFBQSxVQUFBLEVBQXNCO0FBQUUsMkJBQU9vQixlQUFQLElBQUE7QUFGbkRoQixpQkFFTSxDQUZOQTtBQURKLGFBQUEsTUFLSztBQUNEQSx1QkFBT2UsV0FBQUEsSUFBQUEsR0FBUGYsRUFBQUE7QUFDSDtBQUNELGlCQUFBLEtBQUEsQ0FBQSxRQUFBLEVBQUEsSUFBQTtBQUNBLGlCQUFBLEtBQUEsQ0FBQSxPQUFBLEVBQUEsSUFBQTtBQUNIO0FBbEJJO0FBNUJhLENBQTFCSCIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGNvbXBvbmVudF8xID0gcmVxdWlyZShcIi4uL2NvbW1vbi9jb21wb25lbnRcIik7XG5jb21wb25lbnRfMS5WYW50Q29tcG9uZW50KHtcbiAgICByZWxhdGlvbjoge1xuICAgICAgICBuYW1lOiAnY29sbGFwc2UtaXRlbScsXG4gICAgICAgIHR5cGU6ICdkZXNjZW5kYW50JyxcbiAgICAgICAgbGlua2VkOiBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHVubGlua2VkOiBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgeyByZXR1cm4gaXRlbSAhPT0gY2hpbGQ7IH0pO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBwcm9wczoge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHlwZTogbnVsbCxcbiAgICAgICAgICAgIG9ic2VydmVyOiAndXBkYXRlRXhwYW5kZWQnXG4gICAgICAgIH0sXG4gICAgICAgIGFjY29yZGlvbjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIG9ic2VydmVyOiAndXBkYXRlRXhwYW5kZWQnXG4gICAgICAgIH0sXG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIHZhbHVlOiB0cnVlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGJlZm9yZUNyZWF0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZUV4cGFuZGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQudXBkYXRlRXhwYW5kZWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBzd2l0Y2g6IGZ1bmN0aW9uIChuYW1lLCBleHBhbmRlZCkge1xuICAgICAgICAgICAgdmFyIF9hID0gdGhpcy5kYXRhLCBhY2NvcmRpb24gPSBfYS5hY2NvcmRpb24sIHZhbHVlID0gX2EudmFsdWU7XG4gICAgICAgICAgICBpZiAoIWFjY29yZGlvbikge1xuICAgICAgICAgICAgICAgIG5hbWUgPSBleHBhbmRlZFxuICAgICAgICAgICAgICAgICAgICA/ICh2YWx1ZSB8fCBbXSkuY29uY2F0KG5hbWUpXG4gICAgICAgICAgICAgICAgICAgIDogKHZhbHVlIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24gKGFjdGl2ZU5hbWUpIHsgcmV0dXJuIGFjdGl2ZU5hbWUgIT09IG5hbWU7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbmFtZSA9IGV4cGFuZGVkID8gbmFtZSA6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgbmFtZSk7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIG5hbWUpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0=