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
JavaScript
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;
}
}
}
});
;