|
|
|
@ -17,14 +17,18 @@ const renderers = new Map([ |
|
|
|
|
|
|
|
export function getRenderer(schema, editable) { |
|
|
|
if (renderers.get(schema.type)) { |
|
|
|
return renderers.get(schema.type)(schema.options, editable) |
|
|
|
return renderers.get(schema.type)( |
|
|
|
schema.options, |
|
|
|
schema.constraints, |
|
|
|
editable |
|
|
|
) |
|
|
|
} else { |
|
|
|
return false |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* eslint-disable no-unused-vars */ |
|
|
|
function booleanRenderer(options, editable) { |
|
|
|
function booleanRenderer(options, constraints, editable) { |
|
|
|
return params => { |
|
|
|
const toggle = e => { |
|
|
|
params.value = !params.value |
|
|
|
@ -46,7 +50,7 @@ function booleanRenderer(options, editable) { |
|
|
|
} |
|
|
|
} |
|
|
|
/* eslint-disable no-unused-vars */ |
|
|
|
function attachmentRenderer(options, editable) { |
|
|
|
function attachmentRenderer(options, constraints, editable) { |
|
|
|
return params => { |
|
|
|
const container = document.createElement("div") |
|
|
|
|
|
|
|
@ -68,7 +72,7 @@ function attachmentRenderer(options, editable) { |
|
|
|
} |
|
|
|
} |
|
|
|
/* eslint-disable no-unused-vars */ |
|
|
|
function dateRenderer(options, editable) { |
|
|
|
function dateRenderer(options, constraints, editable) { |
|
|
|
return function(params) { |
|
|
|
const container = document.createElement("div") |
|
|
|
const toggle = e => { |
|
|
|
@ -88,7 +92,7 @@ function dateRenderer(options, editable) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function optionsRenderer({ inclusion }, editable) { |
|
|
|
function optionsRenderer(options, constraints, editable) { |
|
|
|
return params => { |
|
|
|
if (!editable) return params.value |
|
|
|
const container = document.createElement("div") |
|
|
|
@ -103,7 +107,7 @@ function optionsRenderer({ inclusion }, editable) { |
|
|
|
target: container, |
|
|
|
props: { |
|
|
|
value: params.value, |
|
|
|
options: inclusion, |
|
|
|
options: constraints.inclusion, |
|
|
|
}, |
|
|
|
}) |
|
|
|
|
|
|
|
@ -113,7 +117,7 @@ function optionsRenderer({ inclusion }, editable) { |
|
|
|
} |
|
|
|
} |
|
|
|
/* eslint-disable no-unused-vars */ |
|
|
|
function linkedRowRenderer(options, editable) { |
|
|
|
function linkedRowRenderer(options, constraints, editable) { |
|
|
|
return params => { |
|
|
|
let container = document.createElement("div") |
|
|
|
container.style.display = "grid" |
|
|
|
@ -133,11 +137,11 @@ function linkedRowRenderer(options, editable) { |
|
|
|
} |
|
|
|
|
|
|
|
/* eslint-disable no-unused-vars */ |
|
|
|
function viewDetailsRenderer(options) { |
|
|
|
function viewDetailsRenderer(options, constraints, editable) { |
|
|
|
return params => { |
|
|
|
let container = document.createElement("div") |
|
|
|
container.style.display = "grid" |
|
|
|
container.style.placeItems = "center" |
|
|
|
container.style.alignItems = "center" |
|
|
|
container.style.height = "100%" |
|
|
|
|
|
|
|
new ViewDetails({ |
|
|
|
|