index.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var component_1 = require('./../common/component.js');
  4. var FONT_COLOR = '#ed6a0c';
  5. var BG_COLOR = '#fffbe8';
  6. component_1.VantComponent({
  7. props: {
  8. text: {
  9. type: String,
  10. value: ''
  11. },
  12. mode: {
  13. type: String,
  14. value: ''
  15. },
  16. url: {
  17. type: String,
  18. value: ''
  19. },
  20. openType: {
  21. type: String,
  22. value: 'navigate'
  23. },
  24. delay: {
  25. type: Number,
  26. value: 1
  27. },
  28. speed: {
  29. type: Number,
  30. value: 50
  31. },
  32. scrollable: {
  33. type: Boolean,
  34. value: true
  35. },
  36. leftIcon: {
  37. type: String,
  38. value: ''
  39. },
  40. color: {
  41. type: String,
  42. value: FONT_COLOR
  43. },
  44. backgroundColor: {
  45. type: String,
  46. value: BG_COLOR
  47. },
  48. wrapable: Boolean
  49. },
  50. data: {
  51. show: true
  52. },
  53. watch: {
  54. text: function text() {
  55. this.set({}, this.init);
  56. }
  57. },
  58. created: function created() {
  59. this.resetAnimation = wx.createAnimation({
  60. duration: 0,
  61. timingFunction: 'linear'
  62. });
  63. },
  64. destroyed: function destroyed() {
  65. this.timer && clearTimeout(this.timer);
  66. },
  67. methods: {
  68. init: function init() {
  69. var _this = this;
  70. Promise.all([this.getRect('.van-notice-bar__content'), this.getRect('.van-notice-bar__wrap')]).then(function (rects) {
  71. var contentRect = rects[0],
  72. wrapRect = rects[1];
  73. if (contentRect == null || wrapRect == null || !contentRect.width || !wrapRect.width) {
  74. return;
  75. }
  76. var _a = _this.data,
  77. speed = _a.speed,
  78. scrollable = _a.scrollable,
  79. delay = _a.delay;
  80. if (scrollable && wrapRect.width < contentRect.width) {
  81. var duration = contentRect.width / speed * 1000;
  82. _this.wrapWidth = wrapRect.width;
  83. _this.contentWidth = contentRect.width;
  84. _this.duration = duration;
  85. _this.animation = wx.createAnimation({
  86. duration: duration,
  87. timingFunction: 'linear',
  88. delay: delay
  89. });
  90. _this.scroll();
  91. }
  92. });
  93. },
  94. scroll: function scroll() {
  95. var _this = this;
  96. this.timer && clearTimeout(this.timer);
  97. this.timer = null;
  98. this.set({
  99. animationData: this.resetAnimation.translateX(this.wrapWidth).step().export()
  100. });
  101. setTimeout(function () {
  102. _this.set({
  103. animationData: _this.animation.translateX(-_this.contentWidth).step().export()
  104. });
  105. }, 20);
  106. this.timer = setTimeout(function () {
  107. _this.scroll();
  108. }, this.duration);
  109. },
  110. onClickIcon: function onClickIcon() {
  111. this.timer && clearTimeout(this.timer);
  112. this.timer = null;
  113. this.set({ show: false });
  114. },
  115. onClick: function onClick(event) {
  116. this.$emit('click', event);
  117. }
  118. }
  119. });
  120. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwiRk9OVF9DT0xPUiIsIkJHX0NPTE9SIiwicHJvcHMiLCJ0ZXh0IiwidHlwZSIsIm1vZGUiLCJ1cmwiLCJvcGVuVHlwZSIsImRlbGF5Iiwic3BlZWQiLCJzY3JvbGxhYmxlIiwibGVmdEljb24iLCJjb2xvciIsImJhY2tncm91bmRDb2xvciIsIndyYXBhYmxlIiwiQm9vbGVhbiIsImRhdGEiLCJzaG93Iiwid2F0Y2giLCJjcmVhdGVkIiwiZHVyYXRpb24iLCJ0aW1pbmdGdW5jdGlvbiIsImRlc3Ryb3llZCIsImNsZWFyVGltZW91dCIsIm1ldGhvZHMiLCJpbml0IiwiX3RoaXMiLCJQcm9taXNlIiwiY29udGVudFJlY3QiLCJyZWN0cyIsIndyYXBSZWN0IiwiX2EiLCJzY3JvbGwiLCJhbmltYXRpb25EYXRhIiwic2V0VGltZW91dCIsIm9uQ2xpY2tJY29uIiwib25DbGljayJdLCJtYXBwaW5ncyI6Ijs7QUFDQUEsT0FBQUEsY0FBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsWUFBQUEsRUFBNkMsRUFBRUMsT0FBL0NELElBQTZDLEVBQTdDQTtBQUNBLElBQUlFLGNBQWNDLFFBQWxCLDBCQUFrQkEsQ0FBbEI7QUFDQSxJQUFJQyxhQUFKLFNBQUE7QUFDQSxJQUFJQyxXQUFKLFNBQUE7QUFDQUgsWUFBQUEsYUFBQUEsQ0FBMEI7QUFDdEJJLFdBQU87QUFDSEMsY0FBTTtBQUNGQyxrQkFERSxNQUFBO0FBRUZQLG1CQUFPO0FBRkwsU0FESDtBQUtIUSxjQUFNO0FBQ0ZELGtCQURFLE1BQUE7QUFFRlAsbUJBQU87QUFGTCxTQUxIO0FBU0hTLGFBQUs7QUFDREYsa0JBREMsTUFBQTtBQUVEUCxtQkFBTztBQUZOLFNBVEY7QUFhSFUsa0JBQVU7QUFDTkgsa0JBRE0sTUFBQTtBQUVOUCxtQkFBTztBQUZELFNBYlA7QUFpQkhXLGVBQU87QUFDSEosa0JBREcsTUFBQTtBQUVIUCxtQkFBTztBQUZKLFNBakJKO0FBcUJIWSxlQUFPO0FBQ0hMLGtCQURHLE1BQUE7QUFFSFAsbUJBQU87QUFGSixTQXJCSjtBQXlCSGEsb0JBQVk7QUFDUk4sa0JBRFEsT0FBQTtBQUVSUCxtQkFBTztBQUZDLFNBekJUO0FBNkJIYyxrQkFBVTtBQUNOUCxrQkFETSxNQUFBO0FBRU5QLG1CQUFPO0FBRkQsU0E3QlA7QUFpQ0hlLGVBQU87QUFDSFIsa0JBREcsTUFBQTtBQUVIUCxtQkFBT0c7QUFGSixTQWpDSjtBQXFDSGEseUJBQWlCO0FBQ2JULGtCQURhLE1BQUE7QUFFYlAsbUJBQU9JO0FBRk0sU0FyQ2Q7QUF5Q0hhLGtCQUFVQztBQXpDUCxLQURlO0FBNEN0QkMsVUFBTTtBQUNGQyxjQUFNO0FBREosS0E1Q2dCO0FBK0N0QkMsV0FBTztBQUNIZixjQUFNLFNBQUEsSUFBQSxHQUFZO0FBQ2QsaUJBQUEsR0FBQSxDQUFBLEVBQUEsRUFBYSxLQUFiLElBQUE7QUFDSDtBQUhFLEtBL0NlO0FBb0R0QmdCLGFBQVMsU0FBQSxPQUFBLEdBQVk7QUFDakIsYUFBQSxjQUFBLEdBQXNCLEdBQUEsZUFBQSxDQUFtQjtBQUNyQ0Msc0JBRHFDLENBQUE7QUFFckNDLDRCQUFnQjtBQUZxQixTQUFuQixDQUF0QjtBQXJEa0IsS0FBQTtBQTBEdEJDLGVBQVcsU0FBQSxTQUFBLEdBQVk7QUFDbkIsYUFBQSxLQUFBLElBQWNDLGFBQWEsS0FBM0IsS0FBY0EsQ0FBZDtBQTNEa0IsS0FBQTtBQTZEdEJDLGFBQVM7QUFDTEMsY0FBTSxTQUFBLElBQUEsR0FBWTtBQUNkLGdCQUFJQyxRQUFKLElBQUE7QUFDQUMsb0JBQUFBLEdBQUFBLENBQVksQ0FDUixLQUFBLE9BQUEsQ0FEUSwwQkFDUixDQURRLEVBRVIsS0FBQSxPQUFBLENBRkpBLHVCQUVJLENBRlEsQ0FBWkEsRUFBQUEsSUFBQUEsQ0FHUSxVQUFBLEtBQUEsRUFBaUI7QUFDckIsb0JBQUlDLGNBQWNDLE1BQWxCLENBQWtCQSxDQUFsQjtBQUFBLG9CQUE0QkMsV0FBV0QsTUFBdkMsQ0FBdUNBLENBQXZDO0FBQ0Esb0JBQUlELGVBQUFBLElBQUFBLElBQ0FFLFlBREFGLElBQUFBLElBRUEsQ0FBQ0EsWUFGREEsS0FBQUEsSUFHQSxDQUFDRSxTQUhMLEtBQUEsRUFHcUI7QUFDakI7QUFDSDtBQUNELG9CQUFJQyxLQUFLTCxNQUFULElBQUE7QUFBQSxvQkFBcUJqQixRQUFRc0IsR0FBN0IsS0FBQTtBQUFBLG9CQUF1Q3JCLGFBQWFxQixHQUFwRCxVQUFBO0FBQUEsb0JBQW1FdkIsUUFBUXVCLEdBQTNFLEtBQUE7QUFDQSxvQkFBSXJCLGNBQWNvQixTQUFBQSxLQUFBQSxHQUFpQkYsWUFBbkMsS0FBQSxFQUFzRDtBQUNsRCx3QkFBSVIsV0FBWVEsWUFBQUEsS0FBQUEsR0FBRCxLQUFDQSxHQUFoQixJQUFBO0FBQ0FGLDBCQUFBQSxTQUFBQSxHQUFrQkksU0FBbEJKLEtBQUFBO0FBQ0FBLDBCQUFBQSxZQUFBQSxHQUFxQkUsWUFBckJGLEtBQUFBO0FBQ0FBLDBCQUFBQSxRQUFBQSxHQUFBQSxRQUFBQTtBQUNBQSwwQkFBQUEsU0FBQUEsR0FBa0IsR0FBQSxlQUFBLENBQW1CO0FBQ2pDTixrQ0FEaUMsUUFBQTtBQUVqQ0Msd0NBRmlDLFFBQUE7QUFHakNiLCtCQUFPQTtBQUgwQixxQkFBbkIsQ0FBbEJrQjtBQUtBQSwwQkFBQUEsTUFBQUE7QUFDSDtBQXZCTEMsYUFBQUE7QUFIQyxTQUFBO0FBNkJMSyxnQkFBUSxTQUFBLE1BQUEsR0FBWTtBQUNoQixnQkFBSU4sUUFBSixJQUFBO0FBQ0EsaUJBQUEsS0FBQSxJQUFjSCxhQUFhLEtBQTNCLEtBQWNBLENBQWQ7QUFDQSxpQkFBQSxLQUFBLEdBQUEsSUFBQTtBQUNBLGlCQUFBLEdBQUEsQ0FBUztBQUNMVSwrQkFBZSxLQUFBLGNBQUEsQ0FBQSxVQUFBLENBQ0MsS0FERCxTQUFBLEVBQUEsSUFBQSxHQUFBLE1BQUE7QUFEVixhQUFUO0FBTUFDLHVCQUFXLFlBQVk7QUFDbkJSLHNCQUFBQSxHQUFBQSxDQUFVO0FBQ05PLG1DQUFlUCxNQUFBQSxTQUFBQSxDQUFBQSxVQUFBQSxDQUNDLENBQUNBLE1BREZBLFlBQUFBLEVBQUFBLElBQUFBLEdBQUFBLE1BQUFBO0FBRFQsaUJBQVZBO0FBREpRLGFBQUFBLEVBQUFBLEVBQUFBO0FBUUEsaUJBQUEsS0FBQSxHQUFhLFdBQVcsWUFBWTtBQUNoQ1Isc0JBQUFBLE1BQUFBO0FBRFMsYUFBQSxFQUVWLEtBRkgsUUFBYSxDQUFiO0FBL0NDLFNBQUE7QUFtRExTLHFCQUFhLFNBQUEsV0FBQSxHQUFZO0FBQ3JCLGlCQUFBLEtBQUEsSUFBY1osYUFBYSxLQUEzQixLQUFjQSxDQUFkO0FBQ0EsaUJBQUEsS0FBQSxHQUFBLElBQUE7QUFDQSxpQkFBQSxHQUFBLENBQVMsRUFBRU4sTUFBWCxLQUFTLEVBQVQ7QUF0REMsU0FBQTtBQXdETG1CLGlCQUFTLFNBQUEsT0FBQSxDQUFBLEtBQUEsRUFBaUI7QUFDdEIsaUJBQUEsS0FBQSxDQUFBLE9BQUEsRUFBQSxLQUFBO0FBQ0g7QUExREk7QUE3RGEsQ0FBMUJ0QyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGNvbXBvbmVudF8xID0gcmVxdWlyZShcIi4uL2NvbW1vbi9jb21wb25lbnRcIik7XG52YXIgRk9OVF9DT0xPUiA9ICcjZWQ2YTBjJztcbnZhciBCR19DT0xPUiA9ICcjZmZmYmU4JztcbmNvbXBvbmVudF8xLlZhbnRDb21wb25lbnQoe1xuICAgIHByb3BzOiB7XG4gICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbHVlOiAnJ1xuICAgICAgICB9LFxuICAgICAgICBtb2RlOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWx1ZTogJydcbiAgICAgICAgfSxcbiAgICAgICAgdXJsOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWx1ZTogJydcbiAgICAgICAgfSxcbiAgICAgICAgb3BlblR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbHVlOiAnbmF2aWdhdGUnXG4gICAgICAgIH0sXG4gICAgICAgIGRlbGF5OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICB2YWx1ZTogMVxuICAgICAgICB9LFxuICAgICAgICBzcGVlZDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IDUwXG4gICAgICAgIH0sXG4gICAgICAgIHNjcm9sbGFibGU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICB2YWx1ZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBsZWZ0SWNvbjoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgdmFsdWU6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICB2YWx1ZTogRk9OVF9DT0xPUlxuICAgICAgICB9LFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbHVlOiBCR19DT0xPUlxuICAgICAgICB9LFxuICAgICAgICB3cmFwYWJsZTogQm9vbGVhblxuICAgIH0sXG4gICAgZGF0YToge1xuICAgICAgICBzaG93OiB0cnVlXG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICB0ZXh0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aGlzLnNldCh7fSwgdGhpcy5pbml0KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnJlc2V0QW5pbWF0aW9uID0gd3guY3JlYXRlQW5pbWF0aW9uKHtcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwLFxuICAgICAgICAgICAgdGltaW5nRnVuY3Rpb246ICdsaW5lYXInXG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgZGVzdHJveWVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudGltZXIgJiYgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjdCgnLnZhbi1ub3RpY2UtYmFyX19jb250ZW50JyksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRSZWN0KCcudmFuLW5vdGljZS1iYXJfX3dyYXAnKVxuICAgICAgICAgICAgXSkudGhlbihmdW5jdGlvbiAocmVjdHMpIHtcbiAgICAgICAgICAgICAgICB2YXIgY29udGVudFJlY3QgPSByZWN0c1swXSwgd3JhcFJlY3QgPSByZWN0c1sxXTtcbiAgICAgICAgICAgICAgICBpZiAoY29udGVudFJlY3QgPT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICB3cmFwUmVjdCA9PSBudWxsIHx8XG4gICAgICAgICAgICAgICAgICAgICFjb250ZW50UmVjdC53aWR0aCB8fFxuICAgICAgICAgICAgICAgICAgICAhd3JhcFJlY3Qud2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgX2EgPSBfdGhpcy5kYXRhLCBzcGVlZCA9IF9hLnNwZWVkLCBzY3JvbGxhYmxlID0gX2Euc2Nyb2xsYWJsZSwgZGVsYXkgPSBfYS5kZWxheTtcbiAgICAgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZSAmJiB3cmFwUmVjdC53aWR0aCA8IGNvbnRlbnRSZWN0LndpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBkdXJhdGlvbiA9IChjb250ZW50UmVjdC53aWR0aCAvIHNwZWVkKSAqIDEwMDA7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLndyYXBXaWR0aCA9IHdyYXBSZWN0LndpZHRoO1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jb250ZW50V2lkdGggPSBjb250ZW50UmVjdC53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuZHVyYXRpb24gPSBkdXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuYW5pbWF0aW9uID0gd3guY3JlYXRlQW5pbWF0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWluZ0Z1bmN0aW9uOiAnbGluZWFyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiBkZWxheVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuc2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHNjcm9sbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHRoaXMudGltZXIgJiYgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgICAgICAgICAgdGhpcy50aW1lciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRGF0YTogdGhpcy5yZXNldEFuaW1hdGlvblxuICAgICAgICAgICAgICAgICAgICAudHJhbnNsYXRlWCh0aGlzLndyYXBXaWR0aClcbiAgICAgICAgICAgICAgICAgICAgLnN0ZXAoKVxuICAgICAgICAgICAgICAgICAgICAuZXhwb3J0KClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uRGF0YTogX3RoaXMuYW5pbWF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAudHJhbnNsYXRlWCgtX3RoaXMuY29udGVudFdpZHRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0ZXAoKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmV4cG9ydCgpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCAyMCk7XG4gICAgICAgICAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2Nyb2xsKCk7XG4gICAgICAgICAgICB9LCB0aGlzLmR1cmF0aW9uKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DbGlja0ljb246IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRoaXMudGltZXIgJiYgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgICAgICAgICAgdGhpcy50aW1lciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnNldCh7IHNob3c6IGZhbHNlIH0pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NsaWNrJywgZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0=