A thingy, that may help you deal with random data. Has some in-bread editor-components, but you can create any svelte-component to edit values.
Easiest way is to clone this repo and start playing with example data:
git clone https://github.com/Syyskimo/sveditor.git
# navigate to folder you just cloned
cd sveditor
# install node modules
npm install
# start the server and open the app in a new browser tab
npm run dev -- --open
Then check the basic entry-point: src/routes/index.svelte
And try playing with it.
It might be a good idea (though, not mandatory) to use typescript. If you're using such
trying checking lib/src/model/types | Model
Model has:
Properties (PropertyModel):
lib/src/model/types | Component
Data is just basic object. Might have anything.
For example:
<script lang="ts">
import {Sveditor} from "sveditor";
import {Model, Component} from "./types";
let data = {
id: 1,
name: 'John',
age: 25
}
// and a model for that might be:
const model: Model = {
name: 'person',
properties: [
{
key: 'name',
title: 'Name',
component: Component.TextInput,
validate: (value => {
return (value.length > 1 ? {validated: true} : {validated: false, message: 'too short'})
})
},
{
key: 'age',
title: 'Give your age',
component: Component.Slider,
definitions: {
min: 18,
max: 99
}
},
]
}
</script>
<Sveditor data="{data}" model="{model}" on:save={(x) => {console.log(x)}}/>