index.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var component_1 = require('./../common/component.js');
  4. component_1.VantComponent({
  5. props: {
  6. info: null,
  7. icon: String,
  8. dot: Boolean,
  9. name: {
  10. type: [String, Number]
  11. }
  12. },
  13. relation: {
  14. name: 'tabbar',
  15. type: 'ancestor'
  16. },
  17. data: {
  18. active: false
  19. },
  20. methods: {
  21. onClick: function onClick() {
  22. if (this.parent) {
  23. this.parent.onChange(this);
  24. }
  25. this.$emit('click');
  26. },
  27. updateFromParent: function updateFromParent() {
  28. var parent = this.parent;
  29. if (!parent) {
  30. return;
  31. }
  32. var index = parent.children.indexOf(this);
  33. var parentData = parent.data;
  34. var data = this.data;
  35. var active = (data.name || index) === parentData.active;
  36. var patch = {};
  37. if (active !== data.active) {
  38. patch.active = active;
  39. }
  40. if (parentData.activeColor !== data.activeColor) {
  41. patch.activeColor = parentData.activeColor;
  42. }
  43. if (parentData.inactiveColor !== data.inactiveColor) {
  44. patch.inactiveColor = parentData.inactiveColor;
  45. }
  46. return Object.keys(patch).length > 0 ? this.set(patch) : Promise.resolve();
  47. }
  48. }
  49. });
  50. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwicHJvcHMiLCJpbmZvIiwiaWNvbiIsImRvdCIsIm5hbWUiLCJ0eXBlIiwicmVsYXRpb24iLCJkYXRhIiwiYWN0aXZlIiwibWV0aG9kcyIsIm9uQ2xpY2siLCJ1cGRhdGVGcm9tUGFyZW50IiwicGFyZW50IiwiaW5kZXgiLCJwYXJlbnREYXRhIiwicGF0Y2giLCJQcm9taXNlIl0sIm1hcHBpbmdzIjoiOztBQUNBQSxPQUFBQSxjQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxZQUFBQSxFQUE2QyxFQUFFQyxPQUEvQ0QsSUFBNkMsRUFBN0NBO0FBQ0EsSUFBSUUsY0FBY0MsUUFBbEIsMEJBQWtCQSxDQUFsQjtBQUNBRCxZQUFBQSxhQUFBQSxDQUEwQjtBQUN0QkUsV0FBTztBQUNIQyxjQURHLElBQUE7QUFFSEMsY0FGRyxNQUFBO0FBR0hDLGFBSEcsT0FBQTtBQUlIQyxjQUFNO0FBQ0ZDLGtCQUFNLENBQUEsTUFBQSxFQUFBLE1BQUE7QUFESjtBQUpILEtBRGU7QUFTdEJDLGNBQVU7QUFDTkYsY0FETSxRQUFBO0FBRU5DLGNBQU07QUFGQSxLQVRZO0FBYXRCRSxVQUFNO0FBQ0ZDLGdCQUFRO0FBRE4sS0FiZ0I7QUFnQnRCQyxhQUFTO0FBQ0xDLGlCQUFTLFNBQUEsT0FBQSxHQUFZO0FBQ2pCLGdCQUFJLEtBQUosTUFBQSxFQUFpQjtBQUNiLHFCQUFBLE1BQUEsQ0FBQSxRQUFBLENBQUEsSUFBQTtBQUNIO0FBQ0QsaUJBQUEsS0FBQSxDQUFBLE9BQUE7QUFMQyxTQUFBO0FBT0xDLDBCQUFrQixTQUFBLGdCQUFBLEdBQVk7QUFDMUIsZ0JBQUlDLFNBQVMsS0FBYixNQUFBO0FBQ0EsZ0JBQUksQ0FBSixNQUFBLEVBQWE7QUFDVDtBQUNIO0FBQ0QsZ0JBQUlDLFFBQVFELE9BQUFBLFFBQUFBLENBQUFBLE9BQUFBLENBQVosSUFBWUEsQ0FBWjtBQUNBLGdCQUFJRSxhQUFhRixPQUFqQixJQUFBO0FBQ0EsZ0JBQUlMLE9BQU8sS0FBWCxJQUFBO0FBQ0EsZ0JBQUlDLFNBQVMsQ0FBQ0QsS0FBQUEsSUFBQUEsSUFBRCxLQUFBLE1BQXlCTyxXQUF0QyxNQUFBO0FBQ0EsZ0JBQUlDLFFBQUosRUFBQTtBQUNBLGdCQUFJUCxXQUFXRCxLQUFmLE1BQUEsRUFBNEI7QUFDeEJRLHNCQUFBQSxNQUFBQSxHQUFBQSxNQUFBQTtBQUNIO0FBQ0QsZ0JBQUlELFdBQUFBLFdBQUFBLEtBQTJCUCxLQUEvQixXQUFBLEVBQWlEO0FBQzdDUSxzQkFBQUEsV0FBQUEsR0FBb0JELFdBQXBCQyxXQUFBQTtBQUNIO0FBQ0QsZ0JBQUlELFdBQUFBLGFBQUFBLEtBQTZCUCxLQUFqQyxhQUFBLEVBQXFEO0FBQ2pEUSxzQkFBQUEsYUFBQUEsR0FBc0JELFdBQXRCQyxhQUFBQTtBQUNIO0FBQ0QsbUJBQU9uQixPQUFBQSxJQUFBQSxDQUFBQSxLQUFBQSxFQUFBQSxNQUFBQSxHQUFBQSxDQUFBQSxHQUNELEtBQUEsR0FBQSxDQURDQSxLQUNELENBRENBLEdBRURvQixRQUZOLE9BRU1BLEVBRk47QUFHSDtBQTdCSTtBQWhCYSxDQUExQmxCIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgY29tcG9uZW50XzEgPSByZXF1aXJlKFwiLi4vY29tbW9uL2NvbXBvbmVudFwiKTtcbmNvbXBvbmVudF8xLlZhbnRDb21wb25lbnQoe1xuICAgIHByb3BzOiB7XG4gICAgICAgIGluZm86IG51bGwsXG4gICAgICAgIGljb246IFN0cmluZyxcbiAgICAgICAgZG90OiBCb29sZWFuLFxuICAgICAgICBuYW1lOiB7XG4gICAgICAgICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHJlbGF0aW9uOiB7XG4gICAgICAgIG5hbWU6ICd0YWJiYXInLFxuICAgICAgICB0eXBlOiAnYW5jZXN0b3InXG4gICAgfSxcbiAgICBkYXRhOiB7XG4gICAgICAgIGFjdGl2ZTogZmFsc2VcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgb25DbGljazogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnQub25DaGFuZ2UodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdjbGljaycpO1xuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVGcm9tUGFyZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgcGFyZW50ID0gdGhpcy5wYXJlbnQ7XG4gICAgICAgICAgICBpZiAoIXBhcmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBpbmRleCA9IHBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpO1xuICAgICAgICAgICAgdmFyIHBhcmVudERhdGEgPSBwYXJlbnQuZGF0YTtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgdmFyIGFjdGl2ZSA9IChkYXRhLm5hbWUgfHwgaW5kZXgpID09PSBwYXJlbnREYXRhLmFjdGl2ZTtcbiAgICAgICAgICAgIHZhciBwYXRjaCA9IHt9O1xuICAgICAgICAgICAgaWYgKGFjdGl2ZSAhPT0gZGF0YS5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBwYXRjaC5hY3RpdmUgPSBhY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyZW50RGF0YS5hY3RpdmVDb2xvciAhPT0gZGF0YS5hY3RpdmVDb2xvcikge1xuICAgICAgICAgICAgICAgIHBhdGNoLmFjdGl2ZUNvbG9yID0gcGFyZW50RGF0YS5hY3RpdmVDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwYXJlbnREYXRhLmluYWN0aXZlQ29sb3IgIT09IGRhdGEuaW5hY3RpdmVDb2xvcikge1xuICAgICAgICAgICAgICAgIHBhdGNoLmluYWN0aXZlQ29sb3IgPSBwYXJlbnREYXRhLmluYWN0aXZlQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocGF0Y2gpLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IHRoaXMuc2V0KHBhdGNoKVxuICAgICAgICAgICAgICAgIDogUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiJdLCJmaWxlIjoiaW5kZXguanMifQ==