UNPKG

2.81 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const mongoose = require("mongoose");
4const diagramSchema = new mongoose.Schema({
5 Name: String,
6 IsActive: { type: Boolean, default: true },
7 Description: String,
8 Groups: [String],
9 Box: {
10 Cols: { type: Number, required: true, default: 1 },
11 Rows: { type: Number, required: true, default: 1 },
12 Order: { type: Number, required: true, default: 1 },
13 TextColor: { type: String, required: true, default: "#333" },
14 BackgroundColor: { type: String, required: true, default: "#fff" },
15 },
16 "Source": {
17 type: mongoose.Schema.Types.ObjectId,
18 ref: "Source"
19 },
20 Type: {
21 type: String, required: true, default: "Pie", enum: {
22 values: ["pie", "linear", "scatter", "bar", "line", "area", "area-spline", "numero", "booleano", "tempo"],
23 message: "enum validator failed for path `{PATH}` with value `{VALUE}`"
24 }
25 },
26 "Widget": {
27 "booleano": {
28 "SuccessMessage": String,
29 "FailureMessage": String,
30 }
31 },
32 Chart: {
33 data: {
34 type: {
35 type: String, required: true, default: "Pie", enum: {
36 values: ["pie", "linear", "scatter", "bar", "line"],
37 message: "enum validator failed for path `{PATH}` with value `{VALUE}`"
38 }
39 },
40 // TODO:
41 types: {
42 type: Object, default: {}
43 },
44 // TODO:
45 names: {},
46 // TODO:
47 axis: {},
48 // TODO:
49 groups: {
50 type: Array, default: []
51 },
52 columns: { type: Array },
53 colors: { type: Object, default: {} }
54 },
55 // TODO:
56 grid: {},
57 Flow: Boolean,
58 ColumnMappings: [{
59 NamePath: { type: String },
60 ValuePath: { type: String, required: true }
61 }],
62 legend: {
63 show: { type: Boolean, default: true }
64 },
65 subchart: {
66 show: { type: Boolean, default: false }
67 },
68 zoom: {
69 enabled: { type: Boolean, default: false }
70 },
71 tooltip: {
72 grouped: { type: Boolean, default: false }
73 },
74 }
75}, { timestamps: true });
76/**
77 * pre save diagram middleware.
78 */
79diagramSchema.pre("save", function save(next) {
80 const diagram = this;
81 // if (!diagram.isModified("password")) { return next(); }
82 next();
83});
84const Diagram = mongoose.model("Diagram", diagramSchema);
85exports.Diagram = Diagram;
86//# sourceMappingURL=diagram.model.js.map
\No newline at end of file