2020-06-15 17:41:31 +02:00
|
|
|
const FIELD_TYPES = ["string", "number", "boolean"]
|
|
|
|
|
|
|
|
export const FIELDS = {
|
|
|
|
PLAIN_TEXT: {
|
|
|
|
name: "Plain Text",
|
|
|
|
icon: "ri-text",
|
2020-06-16 21:29:18 +02:00
|
|
|
type: "string",
|
|
|
|
constraints: {
|
2020-06-15 17:41:31 +02:00
|
|
|
type: "string",
|
2020-06-16 21:29:18 +02:00
|
|
|
length: {},
|
|
|
|
presence: false,
|
2020-06-15 17:41:31 +02:00
|
|
|
},
|
|
|
|
},
|
|
|
|
NUMBER: {
|
|
|
|
name: "Number",
|
|
|
|
icon: "ri-number-1",
|
2020-06-16 21:29:18 +02:00
|
|
|
type: "number",
|
|
|
|
constraints: {
|
2020-06-15 17:41:31 +02:00
|
|
|
type: "number",
|
2020-06-16 21:29:18 +02:00
|
|
|
presence: false,
|
|
|
|
numericality: {},
|
2020-06-15 17:41:31 +02:00
|
|
|
},
|
|
|
|
},
|
|
|
|
BOOLEAN: {
|
|
|
|
name: "True/False",
|
|
|
|
icon: "ri-toggle-line",
|
2020-06-16 21:29:18 +02:00
|
|
|
type: "boolean",
|
|
|
|
constraints: {
|
2020-06-15 17:41:31 +02:00
|
|
|
type: "boolean",
|
2020-06-16 21:29:18 +02:00
|
|
|
presence: false,
|
2020-06-15 17:41:31 +02:00
|
|
|
},
|
|
|
|
},
|
2020-06-18 18:44:42 +02:00
|
|
|
// OPTIONS: {
|
|
|
|
// name: "Options",
|
|
|
|
// icon: "ri-list-check-2",
|
|
|
|
// type: "options",
|
|
|
|
// constraints: {
|
|
|
|
// type: "string",
|
|
|
|
// presence: false,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// DATETIME: {
|
|
|
|
// name: "Date/Time",
|
|
|
|
// icon: "ri-calendar-event-fill",
|
|
|
|
// type: "datetime",
|
|
|
|
// constraints: {
|
|
|
|
// type: "date",
|
|
|
|
// datetime: {},
|
|
|
|
// presence: false,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// IMAGE: {
|
|
|
|
// name: "File",
|
|
|
|
// icon: "ri-image-line",
|
|
|
|
// type: "file",
|
|
|
|
// constraints: {
|
|
|
|
// type: "string",
|
|
|
|
// presence: false,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// FILE: {
|
|
|
|
// name: "Image",
|
|
|
|
// icon: "ri-file-line",
|
|
|
|
// type: "file",
|
|
|
|
// constraints: {
|
|
|
|
// type: "string",
|
|
|
|
// presence: false,
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// DATA_LINK: {
|
|
|
|
// name: "Data Links",
|
|
|
|
// icon: "ri-link",
|
|
|
|
// type: "link",
|
|
|
|
// modelId: null,
|
|
|
|
// constraints: {
|
|
|
|
// type: "array",
|
|
|
|
// }
|
|
|
|
// },
|
2020-06-15 17:41:31 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export const BLOCKS = {
|
2020-06-17 17:51:10 +02:00
|
|
|
NAME: {
|
|
|
|
name: "Name",
|
|
|
|
icon: "ri-text",
|
|
|
|
type: "string",
|
|
|
|
constraints: {
|
|
|
|
type: "string",
|
|
|
|
length: {},
|
|
|
|
presence: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
PHONE_NUMBER: {
|
|
|
|
name: "Phone Number",
|
|
|
|
icon: "ri-number-1",
|
|
|
|
type: "number",
|
|
|
|
constraints: {
|
|
|
|
type: "number",
|
|
|
|
presence: false,
|
|
|
|
numericality: {},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
ACTIVE: {
|
|
|
|
name: "Active",
|
|
|
|
icon: "ri-toggle-line",
|
|
|
|
type: "boolean",
|
|
|
|
constraints: {
|
|
|
|
type: "boolean",
|
|
|
|
presence: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
PRIORITY: {
|
|
|
|
name: "Options",
|
|
|
|
icon: "ri-list-check-2",
|
|
|
|
type: "options",
|
|
|
|
constraints: {
|
|
|
|
type: "string",
|
|
|
|
presence: false,
|
|
|
|
inclusion: [
|
|
|
|
"low",
|
|
|
|
"medium",
|
|
|
|
"high"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
END_DATE: {
|
|
|
|
name: "End Date",
|
|
|
|
icon: "ri-calendar-event-fill",
|
|
|
|
type: "datetime",
|
|
|
|
constraints: {
|
|
|
|
type: "date",
|
|
|
|
datetime: {},
|
|
|
|
presence: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
AVATAR: {
|
|
|
|
name: "Avatar",
|
|
|
|
icon: "ri-image-line",
|
|
|
|
type: "image",
|
|
|
|
constraints: {
|
|
|
|
type: "string",
|
|
|
|
presence: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
PDF: {
|
|
|
|
name: "PDF",
|
|
|
|
icon: "ri-file-line",
|
|
|
|
type: "file",
|
|
|
|
constraints: {
|
|
|
|
type: "string",
|
|
|
|
presence: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
DATA_LINK: {
|
|
|
|
name: "Data Links",
|
|
|
|
icon: "ri-link",
|
|
|
|
type: "link",
|
|
|
|
modelId: null,
|
|
|
|
constraints: {
|
|
|
|
type: "array",
|
|
|
|
}
|
|
|
|
},
|
2020-06-15 17:41:31 +02:00
|
|
|
}
|
|
|
|
|
2020-06-17 17:51:10 +02:00
|
|
|
// TODO: Needs more thought, need to come up with the constraints etc for each one
|
|
|
|
export const MODELS = {
|
|
|
|
CONTACTS: {
|
|
|
|
icon: "ri-link",
|
|
|
|
name: "Contacts",
|
|
|
|
schema: {
|
|
|
|
Name: BLOCKS.NAME,
|
|
|
|
"Phone Number": BLOCKS.PHONE_NUMBER
|
|
|
|
}
|
|
|
|
},
|
|
|
|
RECIPES: {
|
|
|
|
icon: "ri-link",
|
|
|
|
name: "Recipes",
|
|
|
|
schema: {
|
|
|
|
Name: BLOCKS.NAME,
|
|
|
|
"Phone Number": BLOCKS.PHONE_NUMBER
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|