1
0
Fork 0
mirror of synced 2024-07-01 20:41:03 +12:00

lint fixes

This commit is contained in:
kevmodrome 2020-10-12 18:54:18 +02:00
parent 28caf55ac4
commit 1e1662d265
No known key found for this signature in database
GPG key ID: E8F9CD141E63BF38
6 changed files with 123 additions and 110 deletions

View file

@ -316,7 +316,8 @@ export default {
{
name: "Grid",
_component: "@budibase/standard-components/datagrid",
description: "a datagrid component with functionality to add, remove and edit rows.",
description:
"a datagrid component with functionality to add, remove and edit rows.",
icon: "ri-file-list-line",
properties: {
design: { ...all },
@ -336,7 +337,13 @@ export default {
label: "Theme",
key: "theme",
control: OptionSelect,
options: ["alpine", "alpine-dark", "balham", "balham-dark", "material"],
options: [
"alpine",
"alpine-dark",
"balham",
"balham-dark",
"material",
],
placeholder: "alpine",
},
],

View file

@ -68,7 +68,7 @@ exports.patch = async function(ctx) {
}
exports.save = async function(ctx) {
if (ctx.request.body.type === 'delete') {
if (ctx.request.body.type === "delete") {
await bulkDelete(ctx)
} else {
await saveRecord(ctx)
@ -298,20 +298,26 @@ const TYPE_TRANSFORM_MAP = {
}
async function bulkDelete(ctx) {
const instanceId = ctx.user.instanceId
const { records } = ctx.request.body
const db = new CouchDB(ctx.user.instanceId)
await db.bulkDocs(
records.map(record => ({ ...record, _deleted: true }), (err, res) => {
if (err) {
ctx.status = 500
} else {
records.forEach(record => {
emitEvent(`record:delete`, ctx, record)
})
ctx.status = 200
records.map(
record => ({ ...record, _deleted: true }),
err => {
if (err) {
ctx.status = 500
} else {
records.forEach(record => {
ctx.eventEmitter &&
ctx.eventEmitter.emitRecord(`record:delete`, instanceId, record)
})
ctx.status = 200
}
}
}))
)
)
}
async function saveRecord(ctx) {
@ -373,4 +379,4 @@ async function saveRecord(ctx) {
ctx.body = record
ctx.status = 200
ctx.message = `${model.name} created successfully`
}
}

View file

@ -2,7 +2,7 @@ import svelte from "rollup-plugin-svelte"
import resolve from "rollup-plugin-node-resolve"
import commonjs from "@rollup/plugin-commonjs"
import postcss from "rollup-plugin-postcss"
import { terser } from "rollup-plugin-terser";
import { terser } from "rollup-plugin-terser"
const lodash_fp_exports = ["isEmpty"]

View file

@ -39,7 +39,6 @@
const jsonModel = await _bb.api.get(`/api/models/${datasource.modelId}`)
model = await jsonModel.json()
const { schema } = model
console.log(schema)
if (!isEmpty(datasource)) {
data = await fetchData(datasource)
columnDefs = Object.keys(schema).map((key, i) => {

View file

@ -1,116 +1,117 @@
// Custom renderers to handle special types
// https://www.ag-grid.com/javascript-grid-cell-rendering-components/
import AttachmentCell from './AttachmentCell/Button.svelte'
import Select from './Select/Wrapper.svelte'
import AttachmentCell from "./AttachmentCell/Button.svelte"
import Select from "./Select/Wrapper.svelte"
import DatePicker from "./DateTime/Wrapper.svelte"
const renderers = new Map([
["boolean", booleanRenderer],
["attachment", attachmentRenderer],
["options", optionsRenderer],
["link", linkedRecordRenderer],
["boolean", booleanRenderer],
["attachment", attachmentRenderer],
["options", optionsRenderer],
["link", linkedRecordRenderer],
])
export function getRenderer({ type, constraints }, editable) {
if (renderers.get(type)) {
return renderers.get(type)(constraints, editable)
} else {
return false
}
if (renderers.get(type)) {
return renderers.get(type)(constraints, editable)
} else {
return false
}
}
/* eslint-disable no-unused-vars */
function booleanRenderer(constraints, editable) {
return params => {
const toggle = (e) => {
params.value = !params.value
params.setValue(e.currentTarget.checked)
}
let input = document.createElement("input")
input.style.display = "grid";
input.style.placeItems = "center";
input.style.height = "100%";
input.type = "checkbox"
input.checked = params.value
if (editable) {
input.addEventListener("click", toggle)
} else {
input.disabled = true
}
return input
return params => {
const toggle = e => {
params.value = !params.value
params.setValue(e.currentTarget.checked)
}
}
function attachmentRenderer(constraints, editable ) {
return params => {
const container = document.createElement("div")
const attachmentInstance = new AttachmentCell({
target: container,
props: {
files: params.value || [],
}
});
return container
let input = document.createElement("input")
input.style.display = "grid"
input.style.placeItems = "center"
input.style.height = "100%"
input.type = "checkbox"
input.checked = params.value
if (editable) {
input.addEventListener("click", toggle)
} else {
input.disabled = true
}
return input
}
}
/* eslint-disable no-unused-vars */
function attachmentRenderer(constraints, editable) {
return params => {
const container = document.createElement("div")
const attachmentInstance = new AttachmentCell({
target: container,
props: {
files: params.value || [],
},
})
return container
}
}
/* eslint-disable no-unused-vars */
function dateRenderer(constraints, editable) {
return function (params) {
const container = document.createElement("div")
const toggle = (e) => {
params.setValue(e.detail[0][0])
}
// Options need to be passed in with minTime and maxTime! Needs bbui update.
const datePickerInstance = new DatePicker({
target: container,
props: {
value: params.value,
}
});
return container
return function(params) {
const container = document.createElement("div")
const toggle = e => {
params.setValue(e.detail[0][0])
}
}
// Options need to be passed in with minTime and maxTime! Needs bbui update.
const datePickerInstance = new DatePicker({
target: container,
props: {
value: params.value,
},
})
return container
}
}
function optionsRenderer({ inclusion }, editable) {
return params => {
if (!editable) return params.value
const container = document.createElement("div")
container.style.display = "grid";
container.style.placeItems = "center";
container.style.height = "100%";
const change = (e) => {
params.setValue(e.detail)
}
const selectInstance = new Select({
target: container,
props: {
value: params.value,
options: inclusion
}
});
selectInstance.$on('change', change)
return container
return params => {
if (!editable) return params.value
const container = document.createElement("div")
container.style.display = "grid"
container.style.placeItems = "center"
container.style.height = "100%"
const change = e => {
params.setValue(e.detail)
}
const selectInstance = new Select({
target: container,
props: {
value: params.value,
options: inclusion,
},
})
selectInstance.$on("change", change)
return container
}
}
/* eslint-disable no-unused-vars */
function linkedRecordRenderer(constraints, editable) {
return params => {
console.log(params.value)
let container = document.createElement("div")
container.style.display = "grid";
container.style.placeItems = "center";
container.style.height = "100%";
return params => {
let container = document.createElement("div")
container.style.display = "grid"
container.style.placeItems = "center"
container.style.height = "100%"
container.innerText = params.value.length || 0
container.innerText = params.value.length || 0
return container
}
}
return container
}
}

View file

@ -1,6 +1,6 @@
// https://www.ag-grid.com/javascript-grid-value-setters/
// These handles values and makes sure they adhere to the data type provided by the model
export const number = (params) => {
params.data[params.colDef.field] = parseFloat(params.newValue);
return true;
}
export const number = params => {
params.data[params.colDef.field] = parseFloat(params.newValue)
return true
}