|
|
|
@ -1,4 +1,6 @@
|
|
|
|
import { render, hitTest, scrollHitTest } from './ui';
|
|
|
|
import { render, hitTest, scrollHitTest } from './ui';
|
|
|
|
|
|
|
|
import { syncToAst, saveDefinitions } from './runtime-js';
|
|
|
|
|
|
|
|
import { definitions } from './compiler';
|
|
|
|
|
|
|
|
|
|
|
|
type UIValue = any;
|
|
|
|
type UIValue = any;
|
|
|
|
|
|
|
|
|
|
|
|
@ -217,6 +219,28 @@ export function runAppCompiled(canvas: HTMLCanvasElement, store: any) {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (event._tag === 'DeleteAt') {
|
|
|
|
|
|
|
|
const path = event._0;
|
|
|
|
|
|
|
|
const name = path[0];
|
|
|
|
|
|
|
|
if (path.length === 1) {
|
|
|
|
|
|
|
|
delete store[name];
|
|
|
|
|
|
|
|
definitions.delete(name);
|
|
|
|
|
|
|
|
saveDefinitions();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
let obj = store[name];
|
|
|
|
|
|
|
|
for (let i = 1; i < path.length - 1; i++) {
|
|
|
|
|
|
|
|
if (obj === undefined || obj === null) return;
|
|
|
|
|
|
|
|
obj = obj[path[i]];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (obj !== undefined && obj !== null) {
|
|
|
|
|
|
|
|
delete obj[path[path.length - 1]];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
syncToAst(name);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (event._tag === 'Focus') {
|
|
|
|
if (event._tag === 'Focus') {
|
|
|
|
setFocus(event._0);
|
|
|
|
setFocus(event._0);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
|