@things-factory/worklist 10.1.141 → 10.1.142
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/dist-client/index.d.ts +1 -0
- package/dist-client/index.js +1 -0
- package/dist-client/index.js.map +1 -1
- package/dist-client/my-work-menus.d.ts +100 -0
- package/dist-client/my-work-menus.js +22 -0
- package/dist-client/my-work-menus.js.map +1 -0
- package/dist-client/route.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/translations/en.json +1 -0
- package/translations/ja.json +1 -0
- package/translations/ko.json +1 -0
- package/translations/ms.json +1 -0
- package/translations/zh.json +1 -0
package/dist-client/index.d.ts
CHANGED
package/dist-client/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export * from './pages/activity/activity-page.js';
|
|
|
2
2
|
export * from './activity-summary-generator.js';
|
|
3
3
|
export * from './components/activity-thread-timeline.js';
|
|
4
4
|
export * from './pages/activity-catalog/activity-panels.js';
|
|
5
|
+
export * from './my-work-menus.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist-client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0CAA0C,CAAA;AACxD,cAAc,6CAA6C,CAAA","sourcesContent":["export * from './pages/activity/activity-page.js'\nexport * from './activity-summary-generator.js'\nexport * from './components/activity-thread-timeline.js'\nexport * from './pages/activity-catalog/activity-panels.js'\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0CAA0C,CAAA;AACxD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './pages/activity/activity-page.js'\nexport * from './activity-summary-generator.js'\nexport * from './components/activity-thread-timeline.js'\nexport * from './pages/activity-catalog/activity-panels.js'\nexport * from './my-work-menus.js'\n"]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The menu entries for worklist's own screens — **which address, which icon, which label, which count.**
|
|
3
|
+
*
|
|
4
|
+
* Every product puts "my work" in its menu, and each used to write these rows itself: the same path,
|
|
5
|
+
* icon, label key and badge name, copied and drifting (one app had a different to-do icon, one had its
|
|
6
|
+
* own English labels). The screens are worklist's, so the facts about them are too. A product picks the
|
|
7
|
+
* entries it shows, in its own order, and keeps its own menu shape:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const MY_WORK: MyWorkMenuName[] = ['todo', 'approval-pending', 'draft', 'done']
|
|
11
|
+
* MY_WORK.map(name => MY_WORK_MENUS[name]).map(({ path, icon, label, badge }) => ({ path, icon, name: i18next.t(label), … }))
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* `label` is a translation key that worklist carries in every language. `badge` is a name for
|
|
15
|
+
* `generateActivitySummary`; how a product draws the count stays with the product.
|
|
16
|
+
*/
|
|
17
|
+
export interface MyWorkMenu {
|
|
18
|
+
/** Address of the worklist screen. */
|
|
19
|
+
path: string;
|
|
20
|
+
/** Material Symbols name. */
|
|
21
|
+
icon: string;
|
|
22
|
+
/** Translation key in worklist's translations. */
|
|
23
|
+
label: string;
|
|
24
|
+
/** `generateActivitySummary` name, for entries that count something. */
|
|
25
|
+
badge?: 'numberOfToDos' | 'numberOfApprovalPendings' | 'numberOfDrafts' | 'numberOfPicks' | 'numberOfMyWork';
|
|
26
|
+
}
|
|
27
|
+
export declare const MY_WORK_MENUS: {
|
|
28
|
+
/** The group row: everything that has come to me. Opens the to-do list. */
|
|
29
|
+
readonly 'my-work': {
|
|
30
|
+
readonly path: "todo-list";
|
|
31
|
+
readonly icon: "inbox";
|
|
32
|
+
readonly label: "menu.my-work";
|
|
33
|
+
readonly badge: "numberOfMyWork";
|
|
34
|
+
};
|
|
35
|
+
readonly todo: {
|
|
36
|
+
readonly path: "todo-list";
|
|
37
|
+
readonly icon: "things_to_do";
|
|
38
|
+
readonly label: "title.todo list";
|
|
39
|
+
readonly badge: "numberOfToDos";
|
|
40
|
+
};
|
|
41
|
+
readonly 'approval-pending': {
|
|
42
|
+
readonly path: "approval-pending-list";
|
|
43
|
+
readonly icon: "approval";
|
|
44
|
+
readonly label: "title.approval pending list";
|
|
45
|
+
readonly badge: "numberOfApprovalPendings";
|
|
46
|
+
};
|
|
47
|
+
readonly draft: {
|
|
48
|
+
readonly path: "draft-list";
|
|
49
|
+
readonly icon: "drive_file_rename_outline";
|
|
50
|
+
readonly label: "title.draft list";
|
|
51
|
+
readonly badge: "numberOfDrafts";
|
|
52
|
+
};
|
|
53
|
+
readonly done: {
|
|
54
|
+
readonly path: "done-list";
|
|
55
|
+
readonly icon: "task_alt";
|
|
56
|
+
readonly label: "title.done list";
|
|
57
|
+
};
|
|
58
|
+
readonly 'approval-done': {
|
|
59
|
+
readonly path: "approval-done-list";
|
|
60
|
+
readonly icon: "history";
|
|
61
|
+
readonly label: "title.approval done list";
|
|
62
|
+
};
|
|
63
|
+
readonly 'my-work-calendar': {
|
|
64
|
+
readonly path: "done-list-calendar";
|
|
65
|
+
readonly icon: "calendar_month";
|
|
66
|
+
readonly label: "title.my work calendar";
|
|
67
|
+
};
|
|
68
|
+
readonly pickable: {
|
|
69
|
+
readonly path: "pickable-list";
|
|
70
|
+
readonly icon: "shop";
|
|
71
|
+
readonly label: "title.activity shopping";
|
|
72
|
+
readonly badge: "numberOfPicks";
|
|
73
|
+
};
|
|
74
|
+
readonly starter: {
|
|
75
|
+
readonly path: "starter-list";
|
|
76
|
+
readonly icon: "rocket_launch";
|
|
77
|
+
readonly label: "title.activity starter list";
|
|
78
|
+
};
|
|
79
|
+
readonly reporter: {
|
|
80
|
+
readonly path: "reporter-list";
|
|
81
|
+
readonly icon: "content_paste_search";
|
|
82
|
+
readonly label: "title.activity reporter list";
|
|
83
|
+
};
|
|
84
|
+
readonly 'activity-instance': {
|
|
85
|
+
readonly path: "activity-instance-list";
|
|
86
|
+
readonly icon: "list_alt_check";
|
|
87
|
+
readonly label: "title.activity instance list";
|
|
88
|
+
};
|
|
89
|
+
readonly 'activity-catalog': {
|
|
90
|
+
readonly path: "activity-catalog";
|
|
91
|
+
readonly icon: "menu_book";
|
|
92
|
+
readonly label: "title.activity catalog";
|
|
93
|
+
};
|
|
94
|
+
readonly 'work-doors': {
|
|
95
|
+
readonly path: "work-doors-page";
|
|
96
|
+
readonly icon: "how_to_reg";
|
|
97
|
+
readonly label: "menu.work-doors";
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
export type MyWorkMenuName = keyof typeof MY_WORK_MENUS;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const MY_WORK_MENUS = {
|
|
2
|
+
/** The group row: everything that has come to me. Opens the to-do list. */
|
|
3
|
+
'my-work': { path: 'todo-list', icon: 'inbox', label: 'menu.my-work', badge: 'numberOfMyWork' },
|
|
4
|
+
todo: { path: 'todo-list', icon: 'things_to_do', label: 'title.todo list', badge: 'numberOfToDos' },
|
|
5
|
+
'approval-pending': {
|
|
6
|
+
path: 'approval-pending-list',
|
|
7
|
+
icon: 'approval',
|
|
8
|
+
label: 'title.approval pending list',
|
|
9
|
+
badge: 'numberOfApprovalPendings'
|
|
10
|
+
},
|
|
11
|
+
draft: { path: 'draft-list', icon: 'drive_file_rename_outline', label: 'title.draft list', badge: 'numberOfDrafts' },
|
|
12
|
+
done: { path: 'done-list', icon: 'task_alt', label: 'title.done list' },
|
|
13
|
+
'approval-done': { path: 'approval-done-list', icon: 'history', label: 'title.approval done list' },
|
|
14
|
+
'my-work-calendar': { path: 'done-list-calendar', icon: 'calendar_month', label: 'title.my work calendar' },
|
|
15
|
+
pickable: { path: 'pickable-list', icon: 'shop', label: 'title.activity shopping', badge: 'numberOfPicks' },
|
|
16
|
+
starter: { path: 'starter-list', icon: 'rocket_launch', label: 'title.activity starter list' },
|
|
17
|
+
reporter: { path: 'reporter-list', icon: 'content_paste_search', label: 'title.activity reporter list' },
|
|
18
|
+
'activity-instance': { path: 'activity-instance-list', icon: 'list_alt_check', label: 'title.activity instance list' },
|
|
19
|
+
'activity-catalog': { path: 'activity-catalog', icon: 'menu_book', label: 'title.activity catalog' },
|
|
20
|
+
'work-doors': { path: 'work-doors-page', icon: 'how_to_reg', label: 'menu.work-doors' }
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=my-work-menus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"my-work-menus.js","sourceRoot":"","sources":["../client/my-work-menus.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,2EAA2E;IAC3E,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC/F,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;IACnG,kBAAkB,EAAE;QAClB,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,6BAA6B;QACpC,KAAK,EAAE,0BAA0B;KAClC;IACD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpH,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACvE,eAAe,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACnG,kBAAkB,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,wBAAwB,EAAE;IAC3G,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3G,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,6BAA6B,EAAE;IAC9F,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,8BAA8B,EAAE;IACxG,mBAAmB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,8BAA8B,EAAE;IACtH,kBAAkB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACpG,YAAY,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE;CAC1C,CAAA","sourcesContent":["/**\n * The menu entries for worklist's own screens — **which address, which icon, which label, which count.**\n *\n * Every product puts \"my work\" in its menu, and each used to write these rows itself: the same path,\n * icon, label key and badge name, copied and drifting (one app had a different to-do icon, one had its\n * own English labels). The screens are worklist's, so the facts about them are too. A product picks the\n * entries it shows, in its own order, and keeps its own menu shape:\n *\n * ```ts\n * const MY_WORK: MyWorkMenuName[] = ['todo', 'approval-pending', 'draft', 'done']\n * MY_WORK.map(name => MY_WORK_MENUS[name]).map(({ path, icon, label, badge }) => ({ path, icon, name: i18next.t(label), … }))\n * ```\n *\n * `label` is a translation key that worklist carries in every language. `badge` is a name for\n * `generateActivitySummary`; how a product draws the count stays with the product.\n */\nexport interface MyWorkMenu {\n /** Address of the worklist screen. */\n path: string\n /** Material Symbols name. */\n icon: string\n /** Translation key in worklist's translations. */\n label: string\n /** `generateActivitySummary` name, for entries that count something. */\n badge?: 'numberOfToDos' | 'numberOfApprovalPendings' | 'numberOfDrafts' | 'numberOfPicks' | 'numberOfMyWork'\n}\n\nexport const MY_WORK_MENUS = {\n /** The group row: everything that has come to me. Opens the to-do list. */\n 'my-work': { path: 'todo-list', icon: 'inbox', label: 'menu.my-work', badge: 'numberOfMyWork' },\n todo: { path: 'todo-list', icon: 'things_to_do', label: 'title.todo list', badge: 'numberOfToDos' },\n 'approval-pending': {\n path: 'approval-pending-list',\n icon: 'approval',\n label: 'title.approval pending list',\n badge: 'numberOfApprovalPendings'\n },\n draft: { path: 'draft-list', icon: 'drive_file_rename_outline', label: 'title.draft list', badge: 'numberOfDrafts' },\n done: { path: 'done-list', icon: 'task_alt', label: 'title.done list' },\n 'approval-done': { path: 'approval-done-list', icon: 'history', label: 'title.approval done list' },\n 'my-work-calendar': { path: 'done-list-calendar', icon: 'calendar_month', label: 'title.my work calendar' },\n pickable: { path: 'pickable-list', icon: 'shop', label: 'title.activity shopping', badge: 'numberOfPicks' },\n starter: { path: 'starter-list', icon: 'rocket_launch', label: 'title.activity starter list' },\n reporter: { path: 'reporter-list', icon: 'content_paste_search', label: 'title.activity reporter list' },\n 'activity-instance': { path: 'activity-instance-list', icon: 'list_alt_check', label: 'title.activity instance list' },\n 'activity-catalog': { path: 'activity-catalog', icon: 'menu_book', label: 'title.activity catalog' },\n 'work-doors': { path: 'work-doors-page', icon: 'how_to_reg', label: 'menu.work-doors' }\n} as const satisfies Record<string, MyWorkMenu>\n\nexport type MyWorkMenuName = keyof typeof MY_WORK_MENUS\n"]}
|
package/dist-client/route.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function route(page: string): "
|
|
1
|
+
export default function route(page: string): "todo-list" | "approval-pending-list" | "draft-list" | "done-list" | "approval-done-list" | "done-list-calendar" | "pickable-list" | "starter-list" | "reporter-list" | "activity-instance-list" | "activity-catalog" | "work-doors-page" | "activity" | "activity-thread" | "activity-thread-view" | "activity-approval" | "activity-detail" | "activity-list" | "activity-instance-start" | "activity-instance-search" | "activity-template-list" | "activity-store" | "activity-thread-list" | "activity-approval-list" | "installable-activity-list" | "activity-stats-list" | undefined;
|