Initial implementation of props editor.
This commit is contained in:
parent
3594f07346
commit
05a32f25f0
|
@ -53,38 +53,38 @@ store.subscribe(s => {
|
||||||
components = s.components;
|
components = s.components;
|
||||||
});
|
});
|
||||||
|
|
||||||
// const save = () => {
|
const save = () => {
|
||||||
|
|
||||||
// ignoreStore = true;
|
ignoreStore = true;
|
||||||
// if(!validate()) {
|
if(!validate()) {
|
||||||
// ignoreStore = false;
|
ignoreStore = false;
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// component.name = originalName || name;
|
component.name = originalName || name;
|
||||||
// component.description = description;
|
component.description = description;
|
||||||
// component.tags = pipe(tagsString, [
|
component.tags = pipe(tagsString, [
|
||||||
// split(","),
|
split(","),
|
||||||
// map(s => s.trim())
|
map(s => s.trim())
|
||||||
// ]);
|
]);
|
||||||
|
|
||||||
// store.saveScreen(component);
|
store.saveScreen(component);
|
||||||
|
|
||||||
// ignoreStore = false;
|
ignoreStore = false;
|
||||||
// // now do the rename
|
// now do the rename
|
||||||
// if(name !== originalName) {
|
if(name !== originalName) {
|
||||||
// store.renameScreen(originalName, name);
|
store.renameScreen(originalName, name);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
// const deleteComponent = () => {
|
const deleteComponent = () => {
|
||||||
// showDialog();
|
showDialog();
|
||||||
// }
|
}
|
||||||
|
|
||||||
// const confirmDeleteComponent = () => {
|
const confirmDeleteComponent = () => {
|
||||||
// store.deleteScreen(component.name);
|
store.deleteScreen(component.name);
|
||||||
// hideDialog();
|
hideDialog();
|
||||||
// }
|
}
|
||||||
|
|
||||||
const onPropsValidate = result => {
|
const onPropsValidate = result => {
|
||||||
propsValidationErrors = result;
|
propsValidationErrors = result;
|
||||||
|
@ -100,6 +100,7 @@ const updateComponent = doChange => {
|
||||||
const onPropsChanged = newProps => {
|
const onPropsChanged = newProps => {
|
||||||
updateComponent(newComponent =>
|
updateComponent(newComponent =>
|
||||||
assign(newComponent.props, newProps));
|
assign(newComponent.props, newProps));
|
||||||
|
save();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,14 +27,14 @@ const setComponentProp = (props) => {
|
||||||
|
|
||||||
{#if propDef.type === "event"}
|
{#if propDef.type === "event"}
|
||||||
|
|
||||||
<div class="prop-label">{propDef.____name}</div>
|
<h5>{propDef.____name}</h5>
|
||||||
<EventListSelector parentProps={props}
|
<EventListSelector parentProps={props}
|
||||||
{propDef}
|
{propDef}
|
||||||
onValueChanged={setComponentProp} />
|
onValueChanged={setComponentProp} />
|
||||||
|
|
||||||
{:else }
|
{:else }
|
||||||
|
|
||||||
<div class="prop-label">{propDef.____name}</div>
|
<h5>{propDef.____name}</h5>
|
||||||
<StateBindingControl value={props[propDef.____name]}
|
<StateBindingControl value={props[propDef.____name]}
|
||||||
type={propDef.type}
|
type={propDef.type}
|
||||||
options={propDef.options}
|
options={propDef.options}
|
||||||
|
@ -47,13 +47,21 @@ const setComponentProp = (props) => {
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.root {
|
.root {
|
||||||
padding: 1rem 0 0rem 0;
|
height: 40px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-columns: 70px 1fr;
|
||||||
|
grid-gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prop-label {
|
h5 {
|
||||||
font-size: 0.8rem;
|
font-size: 12px;
|
||||||
color: var(--secondary100);
|
font-weight: 700;
|
||||||
font-weight: bold;
|
color: #163057;
|
||||||
|
opacity: 0.6;
|
||||||
|
padding-top: 12px;
|
||||||
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -66,10 +66,10 @@ const setBindingSource = ev => {
|
||||||
bind(bindingPath, bindingFallbackValue, ev.target.value);
|
bind(bindingPath, bindingFallbackValue, ev.target.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const makeBinding = () => {
|
// const makeBinding = () => {
|
||||||
forceIsBound=true;
|
// forceIsBound=true;
|
||||||
isExpanded=true;
|
// isExpanded=true;
|
||||||
}
|
// }
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -132,33 +132,20 @@ const makeBinding = () => {
|
||||||
|
|
||||||
{:else}
|
{:else}
|
||||||
|
|
||||||
<input class="uk-input uk-form-small"
|
<input on:change={ev => onChanged(ev.target.value)}
|
||||||
on:change={ev => onChanged(ev.target.value)}
|
|
||||||
bind:value={value}
|
bind:value={value}
|
||||||
style="flex: 1 0 auto;" >
|
style="flex: 1 0 auto;" />
|
||||||
|
|
||||||
|
|
||||||
{/if}
|
{/if}
|
||||||
<IconButton icon="link"
|
|
||||||
size="12"
|
|
||||||
on:click={makeBinding} />
|
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.unbound-container {
|
.unbound-container {
|
||||||
display:flex;
|
display:flex;
|
||||||
margin: .5rem 0rem .5rem 0rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unbound-container > *:nth-child(1) {
|
|
||||||
width:auto;
|
|
||||||
flex: 1 0 auto;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
color: var(--secondary100);
|
|
||||||
border-radius: .2rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bound-header {
|
.bound-header {
|
||||||
|
@ -176,5 +163,15 @@ const makeBinding = () => {
|
||||||
color: var(--secondary50);
|
color: var(--secondary50);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #163057;
|
||||||
|
opacity: 0.7;
|
||||||
|
padding: 5px 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: 1px solid #DBDBDB;
|
||||||
|
border-radius: 2px;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
Loading…
Reference in New Issue