refactor
This commit is contained in:
parent
ee96f77ef2
commit
c5bb881438
|
@ -4,11 +4,11 @@
|
|||
*/
|
||||
|
||||
import { utils, values } from '@syuilo/aiscript';
|
||||
import { genId } from '@/utility/id.js';
|
||||
import { ref } from 'vue';
|
||||
import type { Ref } from 'vue';
|
||||
import * as Misskey from 'misskey-js';
|
||||
import { assertStringAndIsIn } from './common.js';
|
||||
import type { Ref } from 'vue';
|
||||
import { genId } from '@/utility/id.js';
|
||||
|
||||
const ALIGNS = ['left', 'center', 'right'] as const;
|
||||
const FONTS = ['serif', 'sans-serif', 'monospace'] as const;
|
||||
|
@ -21,16 +21,15 @@ type BorderStyle = (typeof BORDER_STYLES)[number];
|
|||
export type AsUiComponentBase = {
|
||||
id: string;
|
||||
hidden?: boolean;
|
||||
children?: AsUiComponent['id'][];
|
||||
};
|
||||
|
||||
export type AsUiRoot = AsUiComponentBase & {
|
||||
type: 'root';
|
||||
children: AsUiComponent['id'][];
|
||||
};
|
||||
|
||||
export type AsUiContainer = AsUiComponentBase & {
|
||||
type: 'container';
|
||||
children?: AsUiComponent['id'][];
|
||||
align?: Align;
|
||||
bgColor?: string;
|
||||
fgColor?: string;
|
||||
|
@ -123,7 +122,6 @@ export type AsUiSelect = AsUiComponentBase & {
|
|||
|
||||
export type AsUiFolder = AsUiComponentBase & {
|
||||
type: 'folder';
|
||||
children?: AsUiComponent['id'][];
|
||||
title?: string;
|
||||
opened?: boolean;
|
||||
};
|
||||
|
|
|
@ -82,10 +82,10 @@ const logs = ref<{
|
|||
text: string;
|
||||
print: boolean;
|
||||
}[]>([]);
|
||||
const root = ref<AsUiRoot>();
|
||||
const root = ref<AsUiRoot | undefined>();
|
||||
const components = ref<Ref<AsUiComponent>[]>([]);
|
||||
const uiKey = ref(0);
|
||||
const uiInspectorOpenedComponents = ref(new Map<string, boolean>);
|
||||
const uiInspectorOpenedComponents = ref(new Map<AsUiComponent | Ref<AsUiComponent>, boolean>);
|
||||
|
||||
const saved = miLocalStorage.getItem('scratchpad');
|
||||
if (saved) {
|
||||
|
@ -186,11 +186,13 @@ const headerActions = computed(() => []);
|
|||
const headerTabs = computed(() => []);
|
||||
|
||||
const showns = computed(() => {
|
||||
if (root.value == null) return new Set<string>();
|
||||
const result = new Set<string>();
|
||||
(function addChildrenToResult(c: AsUiComponent) {
|
||||
result.add(c.id);
|
||||
if (c.children) {
|
||||
const childComponents = components.value.filter(v => c.children.includes(v.value.id));
|
||||
const children = c.children;
|
||||
if (children) {
|
||||
const childComponents = components.value.filter(v => children.includes(v.value.id));
|
||||
for (const child of childComponents) {
|
||||
addChildrenToResult(child.value);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue