@things-factory/worklist 10.1.184 → 10.1.186
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/my-work-menus.d.ts +0 -5
- package/dist-client/my-work-menus.js +1 -2
- package/dist-client/my-work-menus.js.map +1 -1
- package/dist-client/pages/activity-catalog/activity-catalog-page.d.ts +18 -74
- package/dist-client/pages/activity-catalog/activity-catalog-page.js +292 -527
- package/dist-client/pages/activity-catalog/activity-catalog-page.js.map +1 -1
- package/dist-client/pages/activity-thread/activity-thread-page.d.ts +1 -1
- package/dist-client/pages/work-door/door-links.d.ts +1 -9
- package/dist-client/pages/work-door/door-links.js +1 -11
- package/dist-client/pages/work-door/door-links.js.map +1 -1
- package/dist-client/pages/work-door/door-sentence.d.ts +26 -14
- package/dist-client/pages/work-door/door-sentence.js +58 -60
- package/dist-client/pages/work-door/door-sentence.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +0 -3
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/activity/activity-query.js +2 -31
- package/dist-server/service/activity/activity-query.js.map +1 -1
- package/dist-server/service/activity/approval-line-seats.d.ts +12 -0
- package/dist-server/service/activity/approval-line-seats.js +68 -0
- package/dist-server/service/activity/approval-line-seats.js.map +1 -0
- package/dist-server/service/activity/index.d.ts +1 -1
- package/dist-server/service/activity-instance/activity-instance-query.js +2 -54
- package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
- package/dist-server/service/activity-instance/index.d.ts +1 -1
- package/dist-server/service/index.d.ts +3 -3
- package/dist-server/service/work-door/work-door-resolver.js +7 -2
- package/dist-server/service/work-door/work-door-resolver.js.map +1 -1
- package/dist-server/service/work-door/work-door-service.d.ts +8 -1
- package/dist-server/service/work-door/work-door-service.js +11 -2
- package/dist-server/service/work-door/work-door-service.js.map +1 -1
- package/dist-server/service/work-door/work-door-type.d.ts +2 -0
- package/dist-server/service/work-door/work-door-type.js +8 -0
- package/dist-server/service/work-door/work-door-type.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/tests/work-door-door-words.test.ts +1 -1
- package/things-factory.config.js +1 -6
- package/translations/en.json +11 -45
- package/translations/es.json +11 -45
- package/translations/ja.json +11 -45
- package/translations/ko.json +11 -45
- package/translations/ms.json +11 -45
- package/translations/zh.json +11 -45
- package/tests/work-door-sentence.test.ts +0 -199
|
@@ -86,10 +86,5 @@ export declare const MY_WORK_MENUS: {
|
|
|
86
86
|
readonly icon: "menu_book";
|
|
87
87
|
readonly label: "title.activity catalog";
|
|
88
88
|
};
|
|
89
|
-
readonly 'work-doors': {
|
|
90
|
-
readonly path: "work-doors-page";
|
|
91
|
-
readonly icon: "how_to_reg";
|
|
92
|
-
readonly label: "menu.work-doors";
|
|
93
|
-
};
|
|
94
89
|
};
|
|
95
90
|
export type MyWorkMenuName = keyof typeof MY_WORK_MENUS;
|
|
@@ -15,7 +15,6 @@ export const MY_WORK_MENUS = {
|
|
|
15
15
|
starter: { path: 'starter-list', icon: 'rocket_launch', label: 'title.activity starter list' },
|
|
16
16
|
reporter: { path: 'reporter-list', icon: 'content_paste_search', label: 'title.activity reporter list' },
|
|
17
17
|
'activity-instance': { path: 'activity-instance-list', icon: 'list_alt_check', label: 'title.activity instance list' },
|
|
18
|
-
'activity-catalog': { path: 'activity-catalog', icon: 'menu_book', label: 'title.activity catalog' }
|
|
19
|
-
'work-doors': { path: 'work-doors-page', icon: 'how_to_reg', label: 'menu.work-doors' }
|
|
18
|
+
'activity-catalog': { path: 'activity-catalog', icon: 'menu_book', label: 'title.activity catalog' }
|
|
20
19
|
};
|
|
21
20
|
//# sourceMappingURL=my-work-menus.js.map
|
|
@@ -1 +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,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;
|
|
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,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;CACvD,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']\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 '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} as const satisfies Record<string, MyWorkMenu>\n\nexport type MyWorkMenuName = keyof typeof MY_WORK_MENUS\n"]}
|
|
@@ -1,87 +1,31 @@
|
|
|
1
|
-
import '@material/web/icon/icon.js';
|
|
2
1
|
import '@operato/list-state/ox-page-state.js';
|
|
2
|
+
import '@things-factory/organization/dist-client/component/approval-line-brief.js';
|
|
3
3
|
import { PageView } from '@operato/shell';
|
|
4
4
|
declare const ActivityCatalogPage_base: (new (...args: any[]) => import("lit").LitElement) & typeof PageView;
|
|
5
5
|
export declare class ActivityCatalogPage extends ActivityCatalogPage_base {
|
|
6
6
|
static styles: import("lit").CSSResult[];
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
private doors?;
|
|
8
|
+
private counts;
|
|
9
|
+
private todo;
|
|
10
|
+
private seatsStanding;
|
|
11
|
+
private seatsOffered;
|
|
12
|
+
private loadError;
|
|
12
13
|
get context(): {
|
|
13
|
-
frame: string;
|
|
14
14
|
title: string;
|
|
15
|
-
|
|
15
|
+
frame: string;
|
|
16
16
|
};
|
|
17
|
-
|
|
18
|
-
private retry;
|
|
19
|
-
private renderCatalog;
|
|
20
|
-
private renderOne;
|
|
21
|
-
/**
|
|
22
|
-
* 이 업무가 무엇인가.
|
|
23
|
-
*
|
|
24
|
-
* `guide` 가 그 자리다 — 받는 사람의 말로 쓴 문장이다. 번역은 서버가 줄마다 계산해 보낸 `guideTKeys` 로
|
|
25
|
-
* 찾고, 번역이 없으면 문장이 그대로 나간다. `description` 은
|
|
26
|
-
* 우리끼리 쓰는 영어 한 줄이라 여기에 그대로 내지 않는다. 한국어 화면에서 영어 한 줄은 설명이
|
|
27
|
-
* 아니다.
|
|
28
|
-
*
|
|
29
|
-
* 없으면 **한 줄로** 없다고 말한다. 없는 것을 여러 줄로 늘리지 않는다.
|
|
30
|
-
*/
|
|
31
|
-
/**
|
|
32
|
-
* Reads declared sentences in the reader's language, falling back to the sentence as declared
|
|
33
|
-
* when there is no key or no translation for it. Lines and keys pair by position, as guide does.
|
|
34
|
-
*/
|
|
35
|
-
private readSentences;
|
|
36
|
-
private renderGuide;
|
|
37
|
-
/**
|
|
38
|
-
* 이 공장이 이 단계를 쓰나 — **결재선에 결재자가 있나.**
|
|
39
|
-
*
|
|
40
|
-
* 결재선은 양식이 아니라 그 현장이 정하는 것이라, 같은 업무가 어느 공장에서는 결재를 받고 어느
|
|
41
|
-
* 공장에서는 그냥 지나간다. 그 사실이 지금까지 기동 로그 한 줄에만 있었다.
|
|
42
|
-
*
|
|
43
|
-
* **사람 수가 아니라 단계 수다** — 역할로 걸린 한 단계는 여러 사람이 본다. 그리고 비어 있다는 것이
|
|
44
|
-
* 무슨 일을 뜻하는지는 업무마다 달라서(상신이 막히거나, 확인 없이 지나가거나) 여기서 결과를 말하지
|
|
45
|
-
* 않는다. 그건 그 업무의 설명이 할 말이다.
|
|
46
|
-
*
|
|
47
|
-
* 「아직 사용 안 함」인 카드에는 그리지 않는다 — 세워지지 않은 양식에 결재선이 있을 수 없다.
|
|
48
|
-
*/
|
|
49
|
-
private renderApprovers;
|
|
50
|
-
/**
|
|
51
|
-
* 개발 정보 — **값이 있을 때만.**
|
|
52
|
-
*
|
|
53
|
-
* 첫 판은 값이 없어도 「…선언되지 않았습니다」를 네 줄 그렸다. 사용자에게는 뜻 없는 벽이고 우리에게도
|
|
54
|
-
* 아무 정보가 아니다. 아무것도 없으면 이 절 자체를 그리지 않는다 — 그 업무가 카탈로그에 「개발 정보
|
|
55
|
-
* 없음」으로 남는 것은 화면 위쪽의 목적을 방해하지 않는다.
|
|
56
|
-
*/
|
|
57
|
-
private renderBuild;
|
|
58
|
-
/**
|
|
59
|
-
* 무엇이 실제로 서 있나 — **선언과 정의를 가르는 줄이다.**
|
|
60
|
-
*
|
|
61
|
-
* 이 화면은 단계 이름 하나로 「계획」·「동작함」만 말했다. 그런데 사용자가 카탈로그를 보고 물은 것은
|
|
62
|
-
* 「화면 설정도 없이 이게 정의냐」였고, 화면이 그 칸을 안 보이니 세는 사람이 파일을 열어야 했다.
|
|
63
|
-
* 액티비티가 서려면 주고받는 값과 화면과 콜백이 있어야 하고, 선언만 된 항목에는 그중 아무것도 없다.
|
|
64
|
-
*
|
|
65
|
-
* 설치되지 않은 항목에는 그리지 않는다. 45건에 「없음 · 없음 · 없음」을 세 줄씩 붙이면 그 자체가
|
|
66
|
-
* 벽이고, 무엇이 없는지는 그 항목의 gaps 가 이미 사람 말로 적고 있다.
|
|
67
|
-
*/
|
|
68
|
-
private renderBuilt;
|
|
69
|
-
/** 잰 날짜를 수와 함께 낸다 — 손으로 적는 기록이라 낡는데, 날짜가 있으면 낡았다는 것을 안다. */
|
|
70
|
-
private renderRun;
|
|
17
|
+
pageInitialized(): Promise<void>;
|
|
71
18
|
pageUpdated(changes: any, lifecycle: any): Promise<void>;
|
|
19
|
+
private load;
|
|
20
|
+
/** 결재선은 각 업무에서 지정하고, 역할이 부족할 때만 별도로 안내한다. */
|
|
21
|
+
private renderNext;
|
|
22
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
23
|
+
private renderDoors;
|
|
72
24
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* 메뉴에서 눌러 들어오면 화면이 꺼졌다 켜지면서 `pageUpdated` 가 오고 거기서 읽는다. 그런데 주소를
|
|
76
|
-
* 직접 열면 이 요소가 **이미 active 인 채로** 만들어져서 그 전환이 없다. 실측했다: `active` 는
|
|
77
|
-
* 참인데 `loaded` 가 거짓이고, 화면은 아무것도 없이 조용했다 — 오류도 빈 화면 문구도 없다.
|
|
78
|
-
*
|
|
79
|
-
* 목록 화면들은 이 자리가 안 비어 있다. grist 가 첫 렌더에서 스스로 `fetchHandler` 를 부르기
|
|
80
|
-
* 때문이다. 이 화면은 grist 를 안 쓰니 부르는 사람이 없었다.
|
|
81
|
-
*
|
|
82
|
-
* 그래서 켜져 있는데 아직 안 읽었으면 여기서 읽는다. `loaded` 가 그 조건이라 두 번 읽지 않는다.
|
|
25
|
+
* Where 「결재선 지정」 goes: this activity's detail, or - when it follows another activity's line - that
|
|
26
|
+
* activity's, since the line is set there. None for a form borrowed from another site.
|
|
83
27
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
28
|
+
private lineEditAddress;
|
|
29
|
+
private renderDoor;
|
|
86
30
|
}
|
|
87
31
|
export {};
|