UNPKG

vue-service-model

Version:

Vue.js library for handling REST service requests with caching, aggregation and model definitions

60 lines (59 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var vue_1 = tslib_1.__importDefault(require("vue")); var BaseModel_1 = require("../models/BaseModel"); var RenderableField_1 = require("../fields/RenderableField"); /** * Mixin to input field by props * Takes field instance or model and field name */ exports.default = vue_1.default.extend({ inheritAttrs: false, props: { /** * Model instance * Use in combination with fieldName */ model: { default: null, validator: function (value) { return value === null || value instanceof BaseModel_1.BaseModel; } }, /** * Field name * Use in combination with model */ fieldName: { type: String, default: null }, /** * Field instance */ field: { default: null, validator: function (value) { return value === null || value instanceof RenderableField_1.RenderableField; } }, /** * Additional render props */ renderProps: { type: Object, default: null } }, computed: { fieldObj: function () { if (this.field) { return this.field; } else if (this.model && this.fieldName) { var model = this.model; return model.getField(this.fieldName); } else { return null; } } } });