index.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var link_1 = require("../mixins/link");
  4. var component_1 = require("../common/component");
  5. var utils_1 = require("../common/utils");
  6. component_1.VantComponent({
  7. relation: {
  8. name: 'grid',
  9. type: 'ancestor',
  10. current: 'grid-item',
  11. },
  12. mixins: [link_1.link],
  13. props: {
  14. icon: String,
  15. dot: Boolean,
  16. info: null,
  17. text: String,
  18. useSlot: Boolean
  19. },
  20. data: {
  21. viewStyle: '',
  22. },
  23. mounted: function () {
  24. this.updateStyle();
  25. },
  26. methods: {
  27. updateStyle: function () {
  28. if (!this.parent) {
  29. return;
  30. }
  31. var _a = this.parent, data = _a.data, children = _a.children;
  32. var columnNum = data.columnNum, border = data.border, square = data.square, gutter = data.gutter, clickable = data.clickable, center = data.center;
  33. var width = 100 / columnNum + "%";
  34. var styleWrapper = [];
  35. styleWrapper.push("width: " + width);
  36. if (square) {
  37. styleWrapper.push("padding-top: " + width);
  38. }
  39. if (gutter) {
  40. var gutterValue = utils_1.addUnit(gutter);
  41. styleWrapper.push("padding-right: " + gutterValue);
  42. var index = children.indexOf(this);
  43. if (index >= columnNum) {
  44. styleWrapper.push("margin-top: " + gutterValue);
  45. }
  46. }
  47. var contentStyle = '';
  48. if (square && gutter) {
  49. var gutterValue = utils_1.addUnit(gutter);
  50. contentStyle = "\n right: " + gutterValue + ";\n bottom: " + gutterValue + ";\n height: auto;\n ";
  51. }
  52. this.setData({
  53. viewStyle: styleWrapper.join('; '),
  54. contentStyle: contentStyle,
  55. center: center,
  56. border: border,
  57. square: square,
  58. gutter: gutter,
  59. clickable: clickable
  60. });
  61. },
  62. onClick: function () {
  63. this.$emit('click');
  64. this.jumpLink();
  65. }
  66. }
  67. });