zmp-vue
Version:
Build full featured iOS & Android apps using ZMP & Vue
58 lines (47 loc) • 1.64 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _vue = require("vue");
var _gridItem = _interopRequireDefault(require("./grid-item"));
var _constants = require("../../common/constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function render(_ctx, _cache) {
var _ref;
var _component_GridItem = (0, _vue.resolveComponent)("GridItem");
return (0, _vue.openBlock)(), (0, _vue.createBlock)("div", {
class: ["grid", (_ref = {}, _ref["grid-" + _ctx.gridColumns] = true, _ref['grid-no-border'] = _ctx.noBorder, _ref)]
}, [_ctx.data && _ctx.data.length ? ((0, _vue.openBlock)(true), (0, _vue.createBlock)(_vue.Fragment, {
key: 0
}, (0, _vue.renderList)(_ctx.data, function (item, index) {
return (0, _vue.openBlock)(), (0, _vue.createBlock)(_component_GridItem, (0, _vue.mergeProps)({
key: item.key || "grid-item-" + index
}, item), null, 16);
}), 128)) : (0, _vue.renderSlot)(_ctx.$slots, "default", {
key: 1
})], 2);
}
var _default = {
name: 'zmp-grid',
render: render,
props: {
noBorder: Boolean,
data: Array,
columns: [Number, String]
},
components: {
GridItem: _gridItem.default
},
setup: function setup(props) {
var gridColumns = (0, _vue.computed)(function () {
var gridColumns = 3;
if (props.columns && props.columns > _constants.MIN_GRID_COLUMNS && props.columns < _constants.MAX_GRID_COLUMNS) {
gridColumns = props.columns;
}
return gridColumns;
});
return {
gridColumns: gridColumns
};
}
};
exports.default = _default;