Skip to content

Commit bdf66bc

Browse files
committed
fix
1 parent 068f2ef commit bdf66bc

File tree

2 files changed

+95
-12
lines changed

2 files changed

+95
-12
lines changed

src/blocks/sync-pointer.vue

Lines changed: 92 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,82 @@
11
<template>
22
<div>
3-
just a test {{ referencePointerId }}
4-
<!-- <NotionRenderer2 name="uniquerenderer" :blockMap="testMap" /> -->
3+
<!-- just a test {{ referencePointerId }}<br /><br /> -->
4+
5+
<!-- {{ calcMap }} -->
6+
<!-- <p>RENDERED DATA:</p> -->
7+
<!-- {{ childMap }}
8+
<h4>test</h4>
9+
{{ blockMap }} -->
10+
<NotionRenderer :blockMap="childMap" />
511
</div>
612
</template>
713

814
<script>
915
import Blockable, { blockComputed } from "@/lib/blockable";
10-
// import NotionRenderer2 from "@/components/notion-renderer";
16+
17+
// import NotionBlock from "@/components/block";
18+
// import { defaultMapImageUrl, defaultMapPageUrl } from "@/lib/utils";
19+
// import NotionRenderer from "@/components/notion-renderer";
1120
export default {
1221
extends: Blockable,
1322
name: "NotionSyncPointer",
1423
components: {
24+
// NotionBlock,
1525
// NotionRenderer2,
26+
NotionRenderer: () => import("../components/notion-renderer.vue"),
1627
},
1728
computed: {
1829
...blockComputed,
1930
referencePointerId() {
2031
return this.format?.transclusion_reference_pointer?.id;
2132
},
33+
34+
calcMap() {
35+
// return this.blockMap[this.referencePointerId]?.value;
36+
return {
37+
[this.referencePointerId]: {
38+
role: "reader",
39+
value: this.blockMap[this.referencePointerId]?.value,
40+
},
41+
};
42+
},
43+
transclusionChildIds() {
44+
return this.blockMap[this.referencePointerId]?.value?.content;
45+
},
46+
childMap() {
47+
return this.transclusionChildIds
48+
.map((id) => {
49+
return {
50+
[id]: this.blockMap[id],
51+
};
52+
})
53+
.reduce(function (result, item) {
54+
var key = Object.keys(item)[0]; //first property: a, b, c
55+
result[key] = item[key];
56+
return result;
57+
}, {});
58+
},
59+
// childMap() {
60+
// return this.transclusionChildIds.map((id) => id);
61+
// },
2262
testMap() {
2363
return {
24-
"619b49d9-6b25-489d-88ae-8bd47545ec09": {
64+
"661a6380-e23d-4fd6-ac5c-197aeadfaafe": {
2565
role: "reader",
2666
value: {
27-
id: "619b49d9-6b25-489d-88ae-8bd47545ec09",
28-
version: 53,
29-
type: "header",
67+
id: "661a6380-e23d-4fd6-ac5c-197aeadfaafe",
68+
version: 49,
69+
type: "text",
3070
properties: {
31-
title: [["New origin sync block"]],
71+
title: [
72+
["This is a synced block from another "],
73+
["page", [["b"], ["c"]]],
74+
["."],
75+
],
3276
},
33-
created_time: 1647109620000,
34-
last_edited_time: 1647109620000,
35-
parent_id: "4bdce11c-d935-44e5-b96e-5b1857cea6dc",
77+
created_time: 1647108420000,
78+
last_edited_time: 1647108660000,
79+
parent_id: "61a98ab5-4f1f-4fb9-aef4-340acfcd1759",
3680
parent_table: "block",
3781
alive: true,
3882
created_by_table: "notion_user",
@@ -42,11 +86,47 @@ export default {
4286
space_id: "a61a30bd-677b-4bab-b5c8-1863fec1f096",
4387
},
4488
},
89+
90+
// "619b49d9-6b25-489d-88ae-8bd47545ec09": {
91+
// role: "reader",
92+
// value: {
93+
// id: "619b49d9-6b25-489d-88ae-8bd47545ec09",
94+
// version: 53,
95+
// type: "header",
96+
// properties: {
97+
// title: [["New origin sync block"]],
98+
// },
99+
// created_time: 1647109620000,
100+
// last_edited_time: 1647109620000,
101+
// parent_id: "4bdce11c-d935-44e5-b96e-5b1857cea6dc",
102+
// parent_table: "block",
103+
// alive: true,
104+
// created_by_table: "notion_user",
105+
// created_by_id: "f0199428-7aba-473e-86b9-eb9f78d896c6",
106+
// last_edited_by_table: "notion_user",
107+
// last_edited_by_id: "f0199428-7aba-473e-86b9-eb9f78d896c6",
108+
// space_id: "a61a30bd-677b-4bab-b5c8-1863fec1f096",
109+
// },
110+
// },
45111
};
46112
},
47113
},
114+
// props: {
115+
// blockMap: [Object],
116+
// contentId: String,
117+
// fullPage: { type: Boolean, default: false },
118+
// hideList: { type: Array, default: () => [] },
119+
// level: { type: Number, default: 0 },
120+
// mapImageUrl: { type: Function, default: defaultMapImageUrl },
121+
// mapPageUrl: { type: Function, default: defaultMapPageUrl },
122+
// pageLinkOptions: Object,
123+
// prism: { type: Boolean, default: false },
124+
// todo: { type: Boolean, default: false },
125+
// },
48126
};
49127
</script>
50128
51129
<style>
52-
</style>
130+
</style>
131+
132+

src/components/block.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
v-else-if="isType('transclusion_reference')"
4040
v-bind="pass"
4141
/>
42+
<div v-else-if="isType('transclusion_container')" class="notion-sync-block">
43+
<slot />
44+
</div>
4245
<hr v-else-if="isType('divider')" class="notion-hr" />
4346
<div v-else-if="todo && visible">
4447
todo: {{ type }}

0 commit comments

Comments
 (0)