roamjs-components 1.0.0-beta.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/ComponentContainer.tsx +16 -14
- package/src/components/ConfigPanels/BlocksPanel.tsx +18 -16
- package/src/dom/addKeyboardTriggers.ts +24 -20
- package/src/dom/createPageTitleObserver.ts +18 -17
- package/src/queries/getCurrentUserDisplayName.ts +2 -2
- package/src/testing/mockRoamEnvironment.ts +18 -14
- package/src/util/extensionDeprecatedWarning.ts +3 -2
- package/src/util/getAuthorizationHeader.ts +4 -4
- package/src/util/getOauth.ts +7 -8
- package/src/util/getOauthAccounts.ts +5 -5
- package/src/util/getSettingValueFromTree.ts +8 -4
- package/src/util/getSubTree.ts +7 -5
- package/src/util/getToken.ts +9 -4
- package/src/util/handleFetch.ts +4 -4
- package/src/util/setInputSetting.ts +2 -2
- package/src/util/setInputSettings.ts +3 -3
package/package.json
CHANGED
|
@@ -49,20 +49,22 @@ export const createComponentRender =
|
|
|
49
49
|
(b: HTMLButtonElement, args?: OnloadArgs): void => {
|
|
50
50
|
if (b.parentElement) {
|
|
51
51
|
b.parentElement.onmousedown = (e: MouseEvent) => e.stopPropagation();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
52
|
+
getBlockUidFromTarget(b).then((blockUid) => {
|
|
53
|
+
if (!b.parentElement) return;
|
|
54
|
+
const possibleBlockId = b.closest(".roam-block")?.id;
|
|
55
|
+
const blockId = possibleBlockId?.endsWith?.(blockUid)
|
|
56
|
+
? possibleBlockId
|
|
57
|
+
: undefined;
|
|
58
|
+
if (blockUid) {
|
|
59
|
+
renderWithUnmount(
|
|
60
|
+
<ComponentContainer blockId={blockId} className={className}>
|
|
61
|
+
<Fc blockUid={blockUid} />
|
|
62
|
+
</ComponentContainer>,
|
|
63
|
+
b.parentElement,
|
|
64
|
+
args
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
66
68
|
}
|
|
67
69
|
};
|
|
68
70
|
|
|
@@ -28,23 +28,25 @@ const BlocksPanel: FieldPanel<BlocksField> = ({
|
|
|
28
28
|
)
|
|
29
29
|
)
|
|
30
30
|
.then((formatUid) =>
|
|
31
|
-
getFirstChildUidByBlockUid(formatUid)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
getFirstChildUidByBlockUid(formatUid).then((childUid) =>
|
|
32
|
+
childUid
|
|
33
|
+
? formatUid
|
|
34
|
+
: (defaultValue?.length
|
|
35
|
+
? Promise.all(
|
|
36
|
+
defaultValue.map((node, order) =>
|
|
37
|
+
createBlock({
|
|
38
|
+
node,
|
|
39
|
+
parentUid: formatUid,
|
|
40
|
+
order,
|
|
41
|
+
})
|
|
42
|
+
)
|
|
41
43
|
)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
: createBlock({
|
|
45
|
+
node: { text: " " },
|
|
46
|
+
parentUid: formatUid,
|
|
47
|
+
})
|
|
48
|
+
).then(() => formatUid)
|
|
49
|
+
)
|
|
48
50
|
)
|
|
49
51
|
.then((uid) => {
|
|
50
52
|
window.roamAlphaAPI.ui.components.renderBlock({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RoamBasicNode } from "../types/native";
|
|
2
2
|
import getSettingValueFromTree from "../util/getSettingValueFromTree";
|
|
3
3
|
|
|
4
|
-
const addKeybordTriggers = ({
|
|
4
|
+
const addKeybordTriggers = async ({
|
|
5
5
|
triggers: inputTriggers,
|
|
6
6
|
}: {
|
|
7
7
|
triggers: {
|
|
@@ -12,26 +12,30 @@ const addKeybordTriggers = ({
|
|
|
12
12
|
callback: () => void;
|
|
13
13
|
}[];
|
|
14
14
|
}) => {
|
|
15
|
-
const triggers =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
const triggers = await Promise.all(
|
|
16
|
+
inputTriggers.map(async ({ trigger, callback }) => {
|
|
17
|
+
if (trigger instanceof RegExp) {
|
|
18
|
+
return { trigger, callback };
|
|
19
|
+
} else if (typeof trigger === "function") {
|
|
20
|
+
return { callback, trigger: trigger() };
|
|
21
|
+
} else {
|
|
22
|
+
const triggerValue = (
|
|
23
|
+
await getSettingValueFromTree({
|
|
24
|
+
tree: trigger.tree,
|
|
25
|
+
key: "trigger",
|
|
26
|
+
defaultValue: trigger.defaultValue || "\\\\",
|
|
27
|
+
})
|
|
28
|
+
)
|
|
29
|
+
.replace(/"/g, "")
|
|
30
|
+
.replace(/\\/g, "\\\\")
|
|
31
|
+
.replace(/\+/g, "\\+")
|
|
32
|
+
.trim();
|
|
30
33
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
const triggerRegex = new RegExp(`${triggerValue}$`);
|
|
35
|
+
return { callback, trigger: triggerRegex };
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
);
|
|
35
39
|
|
|
36
40
|
document.addEventListener("input", (e) => {
|
|
37
41
|
const target = e.target as HTMLElement;
|
|
@@ -15,23 +15,24 @@ const createPageTitleObserver = ({
|
|
|
15
15
|
"roam-article"
|
|
16
16
|
)[0] as HTMLDivElement;
|
|
17
17
|
if (d) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
getPageUidByPageTitle(title).then((uid) => {
|
|
19
|
+
const attribute = `data-roamjs-${uid}`;
|
|
20
|
+
if ((uid && url === getRoamUrl(uid)) || (log && url === getRoamUrl())) {
|
|
21
|
+
// React's rerender crushes the old article/heading
|
|
22
|
+
setTimeout(() => {
|
|
23
|
+
if (!d.hasAttribute(attribute)) {
|
|
24
|
+
d.setAttribute(attribute, "true");
|
|
25
|
+
callback(
|
|
26
|
+
document.getElementsByClassName(
|
|
27
|
+
"roam-article"
|
|
28
|
+
)[0] as HTMLDivElement
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
}, 1);
|
|
32
|
+
} else {
|
|
33
|
+
d.removeAttribute(attribute);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
35
36
|
}
|
|
36
37
|
};
|
|
37
38
|
const wrapped = (e: HashChangeEvent) => listener(e.newURL);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import getCurrentUserUid from "./getCurrentUserUid";
|
|
2
2
|
import getDisplayNameByUid from "./getDisplayNameByUid";
|
|
3
3
|
|
|
4
|
-
const getCurrentUserDisplayName = (): string => {
|
|
4
|
+
const getCurrentUserDisplayName = async (): Promise<string> => {
|
|
5
5
|
const uid = getCurrentUserUid();
|
|
6
|
-
return getDisplayNameByUid(uid);
|
|
6
|
+
return await getDisplayNameByUid(uid);
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
export default getCurrentUserDisplayName;
|
|
@@ -1387,20 +1387,24 @@ const mockRoamEnvironment = () => {
|
|
|
1387
1387
|
// TODO - process exp
|
|
1388
1388
|
return node;
|
|
1389
1389
|
};
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1390
|
+
return Promise.resolve(
|
|
1391
|
+
Array.isArray(id)
|
|
1392
|
+
? (() => {
|
|
1393
|
+
const [attr, val] = id;
|
|
1394
|
+
if (attr === ":block/uid") {
|
|
1395
|
+
return pick(graph.state[graph.uids[val]]);
|
|
1396
|
+
} else if (attr === ":node/title") {
|
|
1397
|
+
return pick(graph.state[graph.titles[val]]);
|
|
1398
|
+
} else {
|
|
1399
|
+
throw new Error(`Attr is not supported: ${attr}`);
|
|
1400
|
+
}
|
|
1401
|
+
})()
|
|
1402
|
+
: typeof id === "number"
|
|
1403
|
+
? pick(graph.state[id])
|
|
1404
|
+
: (() => {
|
|
1405
|
+
throw new Error(`Id is not supported: ${id}`);
|
|
1406
|
+
})()
|
|
1407
|
+
);
|
|
1404
1408
|
},
|
|
1405
1409
|
q: (query, ..._params) => {
|
|
1406
1410
|
return mockQuery({ graph, query });
|
|
@@ -17,10 +17,11 @@ const extensionDeprecatedWarning = async ({
|
|
|
17
17
|
}): Promise<void> => {
|
|
18
18
|
const configUid = await getPageUidByPageTitle(extensionId);
|
|
19
19
|
const config = await getBasicTreeByParentUid(configUid);
|
|
20
|
-
const
|
|
20
|
+
const donotShowAgainNode = await getSubTree({
|
|
21
21
|
tree: config,
|
|
22
22
|
key: "Do not show again",
|
|
23
|
-
})
|
|
23
|
+
});
|
|
24
|
+
const donotShowAgainUid = donotShowAgainNode.uid;
|
|
24
25
|
if (!donotShowAgainUid) {
|
|
25
26
|
const blocks = (
|
|
26
27
|
(await window.roamAlphaAPI.data.backend.q(
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import getCurrentUserEmail from "../queries/getCurrentUserEmail";
|
|
2
2
|
import getToken from "./getToken";
|
|
3
3
|
|
|
4
|
-
const getAuthorizationHeader = (service?: string) => {
|
|
5
|
-
const token = getToken();
|
|
4
|
+
const getAuthorizationHeader = async (service?: string): Promise<string> => {
|
|
5
|
+
const token = await getToken();
|
|
6
6
|
return token
|
|
7
|
-
? `Bearer ${window.btoa(`${getCurrentUserEmail()}:${
|
|
8
|
-
: getToken(service);
|
|
7
|
+
? `Bearer ${window.btoa(`${getCurrentUserEmail()}:${token}`)}`
|
|
8
|
+
: await getToken(service);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
export default getAuthorizationHeader;
|
package/src/util/getOauth.ts
CHANGED
|
@@ -5,7 +5,7 @@ import localStorageGet from "./localStorageGet";
|
|
|
5
5
|
import toConfigPageName from "./toConfigPageName";
|
|
6
6
|
import toFlexRegex from "./toFlexRegex";
|
|
7
7
|
|
|
8
|
-
const getOauth = (service: string, label?: string): string => {
|
|
8
|
+
const getOauth = async (service: string, label?: string): Promise<string> => {
|
|
9
9
|
const fromStorage = localStorageGet(`oauth-${service}`);
|
|
10
10
|
if (fromStorage) {
|
|
11
11
|
const accounts = JSON.parse(fromStorage) as {
|
|
@@ -18,14 +18,13 @@ const getOauth = (service: string, label?: string): string => {
|
|
|
18
18
|
const { data, ...node } = accountNode;
|
|
19
19
|
return data ? JSON.stringify({ ...JSON.parse(data), node }) : "{}";
|
|
20
20
|
}
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
);
|
|
21
|
+
const pageUid = await getPageUidByPageTitle(toConfigPageName(service));
|
|
22
|
+
const tree = await getShallowTreeByParentUid(pageUid);
|
|
24
23
|
const node = tree.find((s) => toFlexRegex("oauth").test(s.text.trim()));
|
|
25
24
|
if (!node) {
|
|
26
25
|
return "{}";
|
|
27
26
|
}
|
|
28
|
-
const nodeChildren = getShallowTreeByParentUid(node.uid);
|
|
27
|
+
const nodeChildren = await getShallowTreeByParentUid(node.uid);
|
|
29
28
|
const index = label
|
|
30
29
|
? nodeChildren.findIndex((t) => toFlexRegex(label).test(t.text))
|
|
31
30
|
: 0;
|
|
@@ -37,11 +36,11 @@ const getOauth = (service: string, label?: string): string => {
|
|
|
37
36
|
const obj = JSON.parse(labelNode.text);
|
|
38
37
|
obj.node = {
|
|
39
38
|
uid: labelNode.uid,
|
|
40
|
-
time: getEditTimeByBlockUid(labelNode.uid),
|
|
39
|
+
time: await getEditTimeByBlockUid(labelNode.uid),
|
|
41
40
|
};
|
|
42
41
|
return JSON.stringify(obj);
|
|
43
42
|
}
|
|
44
|
-
const dataNode = getShallowTreeByParentUid(labelNode.uid)[0];
|
|
43
|
+
const dataNode = (await getShallowTreeByParentUid(labelNode.uid))[0];
|
|
45
44
|
const uid = dataNode?.uid || "";
|
|
46
45
|
if (!dataNode?.text) {
|
|
47
46
|
return "{}";
|
|
@@ -49,7 +48,7 @@ const getOauth = (service: string, label?: string): string => {
|
|
|
49
48
|
const obj = JSON.parse(dataNode.text);
|
|
50
49
|
obj.node = {
|
|
51
50
|
uid,
|
|
52
|
-
time: uid ? getEditTimeByBlockUid(uid) : 0,
|
|
51
|
+
time: uid ? await getEditTimeByBlockUid(uid) : 0,
|
|
53
52
|
};
|
|
54
53
|
return JSON.stringify(obj);
|
|
55
54
|
};
|
|
@@ -4,7 +4,7 @@ import localStorageGet from "./localStorageGet";
|
|
|
4
4
|
import toConfigPageName from "./toConfigPageName";
|
|
5
5
|
import toFlexRegex from "./toFlexRegex";
|
|
6
6
|
|
|
7
|
-
const getOauthAccounts = (service: string): string[] => {
|
|
7
|
+
const getOauthAccounts = async (service: string): Promise<string[]> => {
|
|
8
8
|
const fromStorage = localStorageGet(`oauth-${service}`);
|
|
9
9
|
if (fromStorage) {
|
|
10
10
|
const accounts = JSON.parse(fromStorage) as {
|
|
@@ -13,14 +13,14 @@ const getOauthAccounts = (service: string): string[] => {
|
|
|
13
13
|
}[];
|
|
14
14
|
return accounts.map((a) => a.text);
|
|
15
15
|
}
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
);
|
|
16
|
+
const pageUid = await getPageUidByPageTitle(toConfigPageName(service));
|
|
17
|
+
const tree = await getShallowTreeByParentUid(pageUid);
|
|
19
18
|
const node = tree.find((s) => toFlexRegex("oauth").test(s.text.trim()));
|
|
20
19
|
if (!node) {
|
|
21
20
|
return [];
|
|
22
21
|
}
|
|
23
|
-
|
|
22
|
+
const nodeChildren = await getShallowTreeByParentUid(node.uid);
|
|
23
|
+
return nodeChildren.map((t) => t.text);
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
export default getOauthAccounts;
|
|
@@ -2,9 +2,9 @@ import getBasicTreeByParentUid from "../queries/getBasicTreeByParentUid";
|
|
|
2
2
|
import type { InputTextNode } from "../types";
|
|
3
3
|
import toFlexRegex from "./toFlexRegex";
|
|
4
4
|
|
|
5
|
-
const getSettingValueFromTree = ({
|
|
5
|
+
const getSettingValueFromTree = async ({
|
|
6
6
|
parentUid = "",
|
|
7
|
-
tree
|
|
7
|
+
tree,
|
|
8
8
|
key,
|
|
9
9
|
defaultValue = "",
|
|
10
10
|
}: {
|
|
@@ -12,8 +12,12 @@ const getSettingValueFromTree = ({
|
|
|
12
12
|
tree?: InputTextNode[];
|
|
13
13
|
key: string;
|
|
14
14
|
defaultValue?: string;
|
|
15
|
-
}): string => {
|
|
16
|
-
|
|
15
|
+
}): Promise<string> => {
|
|
16
|
+
// results in type errors via `npx tsc --noEmit`
|
|
17
|
+
// const resolvedTree = tree || (await getBasicTreeByParentUid(parentUid));
|
|
18
|
+
let resolvedTree = tree;
|
|
19
|
+
if (!resolvedTree) resolvedTree = await getBasicTreeByParentUid(parentUid);
|
|
20
|
+
const node = resolvedTree.find((s) => toFlexRegex(key).test(s.text.trim()));
|
|
17
21
|
const value = node?.children?.[0]
|
|
18
22
|
? node?.children?.[0].text.trim()
|
|
19
23
|
: defaultValue;
|
package/src/util/getSubTree.ts
CHANGED
|
@@ -3,23 +3,25 @@ import type { RoamBasicNode } from "../types/native";
|
|
|
3
3
|
import createBlock from "../writes/createBlock";
|
|
4
4
|
import toFlexRegex from "./toFlexRegex";
|
|
5
5
|
|
|
6
|
-
const getSubTree = ({
|
|
6
|
+
const getSubTree = async ({
|
|
7
7
|
key,
|
|
8
8
|
parentUid,
|
|
9
9
|
order = 0,
|
|
10
|
-
tree
|
|
10
|
+
tree,
|
|
11
11
|
}: {
|
|
12
12
|
key: string;
|
|
13
13
|
parentUid?: string;
|
|
14
14
|
tree?: RoamBasicNode[];
|
|
15
15
|
order?: number;
|
|
16
|
-
}): RoamBasicNode => {
|
|
17
|
-
const
|
|
16
|
+
}): Promise<RoamBasicNode> => {
|
|
17
|
+
const resolvedTree =
|
|
18
|
+
tree || (parentUid ? await getBasicTreeByParentUid(parentUid) : []);
|
|
19
|
+
const node = resolvedTree.find((s) => toFlexRegex(key).test(s.text.trim()));
|
|
18
20
|
if (node) return node;
|
|
19
21
|
const defaultNode = { text: "", children: [] };
|
|
20
22
|
if (parentUid) {
|
|
21
23
|
const uid = window.roamAlphaAPI.util.generateUID();
|
|
22
|
-
createBlock({ node: { text: key, uid }, parentUid, order });
|
|
24
|
+
await createBlock({ node: { text: key, uid }, parentUid, order });
|
|
23
25
|
return {
|
|
24
26
|
uid,
|
|
25
27
|
...defaultNode,
|
package/src/util/getToken.ts
CHANGED
|
@@ -3,10 +3,15 @@ import getPageUidByPageTitle from "../queries/getPageUidByPageTitle";
|
|
|
3
3
|
import getTokenFromTree from "./getTokenFromTree";
|
|
4
4
|
import localStorageGet from "./localStorageGet";
|
|
5
5
|
|
|
6
|
-
const getToken = (service = "roamjs"): string =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
getBasicTreeByParentUid(getPageUidByPageTitle(`roam/js/${service}`))
|
|
6
|
+
const getToken = async (service = "roamjs"): Promise<string> => {
|
|
7
|
+
const fromStorage = localStorageGet(
|
|
8
|
+
`token${service === "roamjs" ? "" : `-${service}`}`
|
|
10
9
|
);
|
|
10
|
+
if (fromStorage) return fromStorage;
|
|
11
|
+
|
|
12
|
+
const pageUid = await getPageUidByPageTitle(`roam/js/${service}`);
|
|
13
|
+
const tree = await getBasicTreeByParentUid(pageUid);
|
|
14
|
+
return getTokenFromTree(tree);
|
|
15
|
+
};
|
|
11
16
|
|
|
12
17
|
export default getToken;
|
package/src/util/handleFetch.ts
CHANGED
|
@@ -22,18 +22,18 @@ type HandleFetch = <T extends Record<string, unknown> | ArrayBuffer>(
|
|
|
22
22
|
// ) => HandleFetchReturn<T, B>;
|
|
23
23
|
) => Promise<T>;
|
|
24
24
|
|
|
25
|
-
const handleFetch: HandleFetch = (
|
|
25
|
+
const handleFetch: HandleFetch = async (
|
|
26
26
|
transformArgs,
|
|
27
27
|
{ method, anonymous, authorization, path, href, domain, headers = {}, buffer }
|
|
28
28
|
) => {
|
|
29
29
|
const url = new URL(href || `${domain || getApiUrlEnv()}/${path}`);
|
|
30
|
-
const
|
|
31
|
-
? { Authorization: authorization || getAuthorizationHeader() }
|
|
30
|
+
const authHeader = !anonymous
|
|
31
|
+
? { Authorization: authorization || (await getAuthorizationHeader()) }
|
|
32
32
|
: ({} as HeadersInit);
|
|
33
33
|
return fetch(
|
|
34
34
|
...transformArgs(url, {
|
|
35
35
|
method,
|
|
36
|
-
headers: { ...
|
|
36
|
+
headers: { ...authHeader, ...headers },
|
|
37
37
|
})
|
|
38
38
|
).then((r) => {
|
|
39
39
|
if (!r.ok) {
|
|
@@ -3,7 +3,7 @@ import createBlock from "../writes/createBlock";
|
|
|
3
3
|
import updateBlock from "../writes/updateBlock";
|
|
4
4
|
import toFlexRegex from "./toFlexRegex";
|
|
5
5
|
|
|
6
|
-
const setInputSetting = ({
|
|
6
|
+
const setInputSetting = async ({
|
|
7
7
|
blockUid,
|
|
8
8
|
value,
|
|
9
9
|
key,
|
|
@@ -14,7 +14,7 @@ const setInputSetting = ({
|
|
|
14
14
|
key: string;
|
|
15
15
|
index?: number;
|
|
16
16
|
}): Promise<string> => {
|
|
17
|
-
const tree = getBasicTreeByParentUid(blockUid);
|
|
17
|
+
const tree = await getBasicTreeByParentUid(blockUid);
|
|
18
18
|
const keyNode = tree.find((t) => toFlexRegex(key).test(t.text));
|
|
19
19
|
if (keyNode && keyNode.children.length) {
|
|
20
20
|
return updateBlock({
|
|
@@ -3,7 +3,7 @@ import deleteBlock from "../writes/deleteBlock";
|
|
|
3
3
|
import createBlock from "../writes/createBlock";
|
|
4
4
|
import toFlexRegex from "./toFlexRegex";
|
|
5
5
|
|
|
6
|
-
export const setInputSettings = ({
|
|
6
|
+
export const setInputSettings = async ({
|
|
7
7
|
blockUid,
|
|
8
8
|
values,
|
|
9
9
|
key,
|
|
@@ -13,8 +13,8 @@ export const setInputSettings = ({
|
|
|
13
13
|
values: string[];
|
|
14
14
|
key: string;
|
|
15
15
|
index?: number;
|
|
16
|
-
}): void => {
|
|
17
|
-
const tree = getBasicTreeByParentUid(blockUid);
|
|
16
|
+
}): Promise<void> => {
|
|
17
|
+
const tree = await getBasicTreeByParentUid(blockUid);
|
|
18
18
|
const keyNode = tree.find((t) => toFlexRegex(key).test(t.text));
|
|
19
19
|
if (keyNode) {
|
|
20
20
|
keyNode.children
|