primo-app
Version:
primo is an all-in-one ide, cms, component library, and static site generator
54 lines (52 loc) • 1.09 kB
JavaScript
import {writable} from 'svelte/store'
import ContentField from '../../components/FieldTypes/ContentField.svelte'
import TextAreaField from '../../components/FieldTypes/TextAreaField.svelte'
import RepeaterField from '../../components/FieldTypes/RepeaterField.svelte'
import GroupField from '../../components/FieldTypes/GroupField.svelte'
const fieldTypes = writable([
{
id: 'content',
label: 'Text Area',
component: TextAreaField
},
{
id: 'number',
label: 'Number',
component: ContentField
},
{
id: 'url',
label: 'URL',
component: ContentField
},
{
id: 'checkbox',
label: 'True / False',
component: ContentField
},
{
id: 'repeater',
label: 'Repeater',
component: RepeaterField
},
{
id: 'group',
label: 'Group',
component: GroupField
},
{
id: 'text',
label: 'Text',
component: ContentField
},
])
export default {
register: (newType) => {
fieldTypes.update(types => [
...types,
newType
])
},
set: fieldTypes.set,
subscribe: fieldTypes.subscribe
}