Skip to content

Commit 5d3cbea

Browse files
committed
update tdev
1 parent 62e978e commit 5d3cbea

6 files changed

Lines changed: 31 additions & 10 deletions

File tree

packages/tdev/page-index/README.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Wenn ein Plugin ein weiteres *Statusdokument* implementiert, das im Seitenindex
110110
```ts title="packages/<scope>/<new-plugin>/register.ts"
111111
const register = () => {
112112
rootStore.documentStore.registerFactory('my_new_taskable_document', createModel);
113-
rootStore.componentStore.registerTaskableDocumentType('my_new_taskable_document');
113+
rootStore.componentStore.registerTaskableDocumentType(new ModelMeta({}));
114114
};
115115
```
116116

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { rootStore } from '@tdev-stores/rootStore';
22
import { createModel } from './model';
3+
import { ModelMeta } from './model/ModelMeta';
34

45
const register = () => {
56
rootStore.documentStore.registerFactory('page_read_check', createModel);
6-
rootStore.componentStore.registerTaskableDocumentType('page_read_check');
7+
rootStore.componentStore.registerTaskableDocumentType(new ModelMeta({}));
78
};
89

910
register();

src/stores/ComponentStore.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import { ContainerMeta } from '@tdev-models/documents/DynamicDocumentRoots/Conta
1212
import iCodeMeta, { MetaInit } from '@tdev-models/documents/iCode/iCodeMeta';
1313
import { computed } from 'mobx';
1414
import React from 'react';
15+
import { TypeMeta } from '@tdev-models/DocumentRoot';
16+
import { ModelMeta as ProgressStateMeta } from '@tdev-models/documents/ProgressState';
17+
import { TaskMeta as TaskStateMeta } from '@tdev-models/documents/TaskState';
1518

1619
export type LiveCode = `live_${string}`;
1720

@@ -51,7 +54,10 @@ class ComponentStore {
5154
readonly root: RootStore;
5255
components = new Map<ContainerType, ContainerComponent>();
5356
editorComponents = new Map<CodeType, EditorComponent>();
54-
taskableDocuments = new Set<DocumentType>(['task_state', 'progress_state']);
57+
taskableDocumentsMeta = new Map<DocumentType, TypeMeta<TaskableType>>([
58+
['task_state', new TaskStateMeta({})],
59+
['progress_state', new ProgressStateMeta({})]
60+
]);
5561

5662
constructor(root: RootStore) {
5763
this.root = root;
@@ -65,15 +71,21 @@ class ComponentStore {
6571
this.components.set(type, component as ContainerComponent<any>);
6672
}
6773

68-
registerTaskableDocumentType(type: TaskableType) {
69-
this.taskableDocuments.add(type);
74+
registerTaskableDocumentType<T extends TaskableType>(defaultMeta: TypeMeta<T>) {
75+
this.taskableDocumentsMeta.set(defaultMeta.type, defaultMeta);
76+
}
77+
78+
@computed
79+
get taskableDocuments() {
80+
return new Set([...this.taskableDocumentsMeta.keys()]);
7081
}
7182

7283
@computed
7384
get defaultMeta() {
7485
return [
7586
...[...this.components.values()].map((comp) => comp.defaultMeta),
76-
...[...this.editorComponents.values()].map((comp) => comp.createModelMeta({}))
87+
...[...this.editorComponents.values()].map((comp) => comp.createModelMeta({})),
88+
...[...this.taskableDocumentsMeta.values()]
7789
];
7890
}
7991

src/stores/DocumentRootStore.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@ import { DocumentType } from '@tdev-api/document';
1818
import _ from 'es-toolkit/compat';
1919
import User from '@tdev-models/User';
2020
import { NoneAccess } from '@tdev-models/helpers/accessPolicy';
21-
import { ModelMeta as ProgressStateMeta } from '@tdev-models/documents/ProgressState';
2221
import { CodeMeta } from '@tdev-models/documents/Code';
2322
import { ModelMeta as MdxCommentMeta } from '@tdev-models/documents/MdxComment';
2423
import { ModelMeta as RestrictedMeta } from '@tdev-models/documents/Restricted';
2524
import { ModelMeta as SolutionMeta } from '@tdev-models/documents/Solution';
2625
import { ModelMeta as StringMeta } from '@tdev-models/documents/String';
27-
import { TaskMeta as TaskStateMeta } from '@tdev-models/documents/TaskState';
2826

2927
import { CmsTextMeta } from '@tdev-models/documents/CmsText';
3028

@@ -77,8 +75,6 @@ const DefaultMeta: TypeMeta<DocumentType>[] = [
7775
new RestrictedMeta({}),
7876
new SolutionMeta({}),
7977
new StringMeta({}),
80-
new TaskStateMeta({}),
81-
new ProgressStateMeta({}),
8278
new CmsTextMeta({})
8379
];
8480

tsconfig.package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
// This file is not used in compilation. It is here just for a nice editor experience.
3+
"extends": "./tsconfig.json",
4+
"compilerOptions": {
5+
"noEmit": false,
6+
"moduleResolution": "bundler",
7+
"module": "esnext",
8+
"target": "esnext"
9+
}
10+
}

updateTdev.config.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ trackedElements:
4141
- clean-onboarding.ts
4242
- src: tsconfig.tdev.json
4343
dst: tsconfig.json
44+
- src: tsconfig.package.json
45+
dst: tsconfig.package.json
4446
- src: .prettierrc
4547
dst: .prettierrc
4648
- src: .prettierignore

0 commit comments

Comments
 (0)