@voplus/morpho-workspace 1.3.160 → 1.3.161

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.
Files changed (81) hide show
  1. package/es/data/work-schedule/WorkScheduleStore.d.ts +33 -0
  2. package/es/data/work-schedule/WorkScheduleStore.js +115 -0
  3. package/es/data/work-schedule/WorkScheduleStore.js.map +1 -0
  4. package/es/data/work-schedule/hooks.d.ts +10 -0
  5. package/es/data/work-schedule/hooks.js +19 -0
  6. package/es/data/work-schedule/hooks.js.map +1 -0
  7. package/es/data/work-schedule/index.d.ts +4 -0
  8. package/es/data/work-schedule/index.js +5 -0
  9. package/es/data/work-schedule/index.js.map +1 -0
  10. package/es/data/work-schedule/interfaces.d.ts +16 -0
  11. package/es/data/work-schedule/interfaces.js +2 -0
  12. package/es/data/work-schedule/interfaces.js.map +1 -0
  13. package/es/data/work-schedule/types.d.ts +25 -0
  14. package/es/data/work-schedule/types.js +2 -0
  15. package/es/data/work-schedule/types.js.map +1 -0
  16. package/es/data/work-schedule/work-schedule-events/index.d.ts +3 -0
  17. package/es/data/work-schedule/work-schedule-events/index.js +4 -0
  18. package/es/data/work-schedule/work-schedule-events/index.js.map +1 -0
  19. package/es/data/work-schedule/work-schedule-events/useAutoUpdateListData.d.ts +4 -0
  20. package/es/data/work-schedule/work-schedule-events/useAutoUpdateListData.js +15 -0
  21. package/es/data/work-schedule/work-schedule-events/useAutoUpdateListData.js.map +1 -0
  22. package/es/data/work-schedule/work-schedule-events/useOnDeleteWorkSchedule.d.ts +4 -0
  23. package/es/data/work-schedule/work-schedule-events/useOnDeleteWorkSchedule.js +16 -0
  24. package/es/data/work-schedule/work-schedule-events/useOnDeleteWorkSchedule.js.map +1 -0
  25. package/es/data/work-schedule/work-schedule-events/useOnNewWorkSchedule.d.ts +4 -0
  26. package/es/data/work-schedule/work-schedule-events/useOnNewWorkSchedule.js +17 -0
  27. package/es/data/work-schedule/work-schedule-events/useOnNewWorkSchedule.js.map +1 -0
  28. package/es/modules/Routes.d.ts +6 -0
  29. package/es/modules/Routes.js +13 -0
  30. package/es/modules/Routes.js.map +1 -1
  31. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.d.ts +15 -0
  32. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.js +59 -0
  33. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.js.map +1 -0
  34. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.less +10 -0
  35. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/state.d.ts +13 -0
  36. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/state.js +35 -0
  37. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/state.js.map +1 -0
  38. package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.d.ts +6 -0
  39. package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.js +18 -0
  40. package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.js.map +1 -0
  41. package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.less +12 -0
  42. package/es/modules/work/work-schedule/components/WorkScheduleItem/index.d.ts +6 -0
  43. package/es/modules/work/work-schedule/components/WorkScheduleItem/index.js +80 -0
  44. package/es/modules/work/work-schedule/components/WorkScheduleItem/index.js.map +1 -0
  45. package/es/modules/work/work-schedule/components/WorkScheduleItem/index.less +61 -0
  46. package/es/modules/work/work-schedule/components/WorkScheduleList/index.d.ts +20 -0
  47. package/es/modules/work/work-schedule/components/WorkScheduleList/index.js +64 -0
  48. package/es/modules/work/work-schedule/components/WorkScheduleList/index.js.map +1 -0
  49. package/es/modules/work/work-schedule/components/WorkScheduleList/index.less +12 -0
  50. package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.d.ts +20 -0
  51. package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.js +87 -0
  52. package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.js.map +1 -0
  53. package/es/modules/work/work-schedule/components/WorkSchedulePropertiesView/index.d.ts +6 -0
  54. package/es/modules/work/work-schedule/components/WorkSchedulePropertiesView/index.js +15 -0
  55. package/es/modules/work/work-schedule/components/WorkSchedulePropertiesView/index.js.map +1 -0
  56. package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.d.ts +15 -0
  57. package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.js +30 -0
  58. package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.js.map +1 -0
  59. package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.less +25 -0
  60. package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.d.ts +6 -0
  61. package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.js +29 -0
  62. package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.js.map +1 -0
  63. package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.d.ts +13 -0
  64. package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.js +44 -0
  65. package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.js.map +1 -0
  66. package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.less +39 -0
  67. package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/index.d.ts +5 -0
  68. package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/index.js +29 -0
  69. package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/index.js.map +1 -0
  70. package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/state.d.ts +19 -0
  71. package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/state.js +56 -0
  72. package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/state.js.map +1 -0
  73. package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.d.ts +10 -0
  74. package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.js +12 -0
  75. package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.js.map +1 -0
  76. package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.less +21 -0
  77. package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.d.ts +3 -0
  78. package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.js +30 -0
  79. package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.js.map +1 -0
  80. package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.less +22 -0
  81. package/package.json +1 -1
@@ -0,0 +1,33 @@
1
+ import { ApiEndPoint } from "@voplus/api";
2
+ import { CountedMap, Store } from "@voplus/morpho-data";
3
+ import { CreateWorkScheduleOptions, DeleteWorkScheduleOptions, EditWorkScheduleOptions, LoadWorkScheduleOptions } from "./types";
4
+ import { IWorkSchedule } from "./interfaces";
5
+ import { LoadDocumentListOptions } from "@voplus/morpho-document-core";
6
+ /** Quotation store supply backend functions. */
7
+ export declare class WorkScheduleStore extends Store {
8
+ readonly endpoint: ApiEndPoint;
9
+ /** Name of the store */
10
+ readonly name: string;
11
+ private readonly _workScheduleDeleted;
12
+ private readonly _workScheduleCreated;
13
+ constructor(endpoint: ApiEndPoint);
14
+ /** All currently used corporate. */
15
+ readonly items: CountedMap<string, IWorkSchedule>;
16
+ /** Event fires when a delete workSchedule has been deleted. */
17
+ get WorkScheduleDeletedEvent(): import("strongly-typed-events").IEvent<WorkScheduleStore, IWorkSchedule>;
18
+ /** Event fires when a new WorkSchedule has been created. */
19
+ get WorkScheduleCreatedEvent(): import("strongly-typed-events").IEvent<WorkScheduleStore, IWorkSchedule>;
20
+ /** Create a new Identity. */
21
+ create(options: CreateWorkScheduleOptions): Promise<IWorkSchedule>;
22
+ /** Edit an existing item on server. */
23
+ edit(id: string, options: EditWorkScheduleOptions): Promise<void>;
24
+ /** workSchedule 內有文件不能delete */
25
+ delete(ids: string[], options?: DeleteWorkScheduleOptions): Promise<any>;
26
+ /** Load a list of documents from server.
27
+ * @param {LoadDocumentListOptions}
28
+ */
29
+ loadList(options?: LoadDocumentListOptions): Promise<IWorkSchedule[]>;
30
+ load(id: string, options: LoadWorkScheduleOptions): Promise<IWorkSchedule>;
31
+ }
32
+ /** 响应钩子检索 IdentityStore */
33
+ export declare const useWorkScheduleStore: () => WorkScheduleStore;
@@ -0,0 +1,115 @@
1
+ import { RequestBuilder } from "@voplus/api";
2
+ import { CountedMap, Store, useApplicationContext } from "@voplus/morpho-data";
3
+ import { observable } from "mobx";
4
+ import { EventDispatcher } from "strongly-typed-events";
5
+ const StoreName = "WorkScheduleStore";
6
+ /** Quotation store supply backend functions. */
7
+ export class WorkScheduleStore extends Store {
8
+ constructor(endpoint) {
9
+ super();
10
+ Object.defineProperty(this, "endpoint", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: endpoint
15
+ });
16
+ /** Name of the store */
17
+ Object.defineProperty(this, "name", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: StoreName
22
+ });
23
+ Object.defineProperty(this, "_workScheduleDeleted", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: new EventDispatcher()
28
+ });
29
+ Object.defineProperty(this, "_workScheduleCreated", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: new EventDispatcher()
34
+ });
35
+ /** All currently used corporate. */
36
+ Object.defineProperty(this, "items", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: new CountedMap((key) => ({ id: key, loaded: false }), observable.map([], { deep: true }))
41
+ });
42
+ }
43
+ /** Event fires when a delete workSchedule has been deleted. */
44
+ get WorkScheduleDeletedEvent() {
45
+ return this._workScheduleDeleted.asEvent();
46
+ }
47
+ /** Event fires when a new WorkSchedule has been created. */
48
+ get WorkScheduleCreatedEvent() {
49
+ return this._workScheduleCreated.asEvent();
50
+ }
51
+ /** Create a new Identity. */
52
+ async create(options) {
53
+ // invariant(options.name, "Name cannot be empty.");
54
+ return await this.action(async () => {
55
+ const r = await this.endpoint.post(`/api/work-schedules/create`, new RequestBuilder().json(options.data));
56
+ const t = (await r.json());
57
+ this._workScheduleCreated.dispatch(this, t);
58
+ return t;
59
+ }, options);
60
+ }
61
+ /** Edit an existing item on server. */
62
+ async edit(id, options) {
63
+ await this.action(async () => {
64
+ const r = await this.endpoint.post(`/api/work-schedules/${id}`, new RequestBuilder().json(options.data));
65
+ const t = await r.json();
66
+ this.items.overwrite(t.id, t);
67
+ }, options);
68
+ }
69
+ /** workSchedule 內有文件不能delete */
70
+ async delete(ids, options) {
71
+ return await this.action(async () => {
72
+ await this.endpoint.delete(`/api/work-schedules/delete`, new RequestBuilder().json({ Ids: ids, Options: options === null || options === void 0 ? void 0 : options.data }));
73
+ const deleted = [];
74
+ for (const id of ids) {
75
+ const item = this.items.peek(id);
76
+ if (item) {
77
+ deleted.push(item);
78
+ this._workScheduleDeleted.dispatch(this, item);
79
+ }
80
+ }
81
+ return deleted;
82
+ }, options);
83
+ }
84
+ /** Load a list of documents from server.
85
+ * @param {LoadDocumentListOptions}
86
+ */
87
+ async loadList(options) {
88
+ let query = "";
89
+ if (options === null || options === void 0 ? void 0 : options.Includes) {
90
+ query = query.concat(`includes=${options.Includes}`);
91
+ }
92
+ if (query)
93
+ query = "?".concat(query);
94
+ const r = await this.endpoint.post(`/api/work-schedules${query}`, new RequestBuilder().json(options ? options : { Filters: [] }));
95
+ return (await r.json());
96
+ }
97
+ async load(id, options) {
98
+ let query = "";
99
+ if (options.includes)
100
+ query = query.concat(`includes=${options.includes}`);
101
+ if (query)
102
+ query = "?".concat(query);
103
+ const r = await this.endpoint.get(`/api/work-schedules/${id}${query}`);
104
+ return await r.json();
105
+ }
106
+ }
107
+ /** 响应钩子检索 IdentityStore */
108
+ export const useWorkScheduleStore = () => {
109
+ const context = useApplicationContext();
110
+ if (!context.getStore(StoreName)) {
111
+ context.addStore(new WorkScheduleStore(context.api.currentEndPoint));
112
+ }
113
+ return context.getStore(StoreName);
114
+ };
115
+ //# sourceMappingURL=WorkScheduleStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkScheduleStore.js","sourceRoot":"","sources":["../../../src/data/work-schedule/WorkScheduleStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { LoadDocumentListOptions } from "@voplus/morpho-document-core";
2
+ import { IWorkSchedule } from "./interfaces";
3
+ import { ListDataContextState } from "@voplus/morpho-ui/es/data";
4
+ import { LoadWorkScheduleOptions } from ".";
5
+ /** React hook to retrieve a workSchedule
6
+ * @param {string} id - id of the workSchedule
7
+ * @param {LoadDocumentOptions} options - options
8
+ */
9
+ export declare const useWorkSchedule: (id: string, options?: LoadWorkScheduleOptions | undefined) => IWorkSchedule;
10
+ export declare const useWorkScheduleListEffect: (list: ListDataContextState<IWorkSchedule> | null, effect: (list: any[], total: number) => void, options?: LoadDocumentListOptions | undefined) => void;
@@ -0,0 +1,19 @@
1
+ import { useDocumentListLoaderEffect } from "@voplus/morpho-document-core";
2
+ import { useLoadCountedMapItem } from "@voplus/morpho-data";
3
+ import { useWorkScheduleStore } from "./WorkScheduleStore";
4
+ /** React hook to retrieve a workSchedule
5
+ * @param {string} id - id of the workSchedule
6
+ * @param {LoadDocumentOptions} options - options
7
+ */
8
+ export const useWorkSchedule = (id, options) => {
9
+ options = options ? options : {};
10
+ const store = useWorkScheduleStore();
11
+ return useLoadCountedMapItem(id, store.items, () => store.load(id, options), options);
12
+ };
13
+ export const useWorkScheduleListEffect = (list, effect, options) => {
14
+ const deps = options ? options : {};
15
+ const store = useWorkScheduleStore();
16
+ // Call useDocumentListEffect and ensure won't load twice for same loading options.
17
+ return useDocumentListLoaderEffect(list, effect, () => store.loadList(options), [deps]);
18
+ };
19
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/data/work-schedule/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAKpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,OAAiC,EAAE,EAAE;IAChF,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA8B,CAAC;IAC9D,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,OAAO,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,IAAgD,EAChD,MAA4C,EAC5C,OAAiC,EAChC,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA8B,CAAC;IACjE,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IAErC,mFAAmF;IACnF,OAAO,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./interfaces";
2
+ export * from "./WorkScheduleStore";
3
+ export * from "./hooks";
4
+ export * from "./types";
@@ -0,0 +1,5 @@
1
+ export * from "./interfaces";
2
+ export * from "./WorkScheduleStore";
3
+ export * from "./hooks";
4
+ export * from "./types";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/work-schedule/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { ILoadable } from "@voplus/morpho-data";
2
+ export declare type WorkScheduleStatus = "Draft" | "Scheduled";
3
+ export interface IWorkSchedule extends ILoadable {
4
+ id: string;
5
+ name: string;
6
+ contact: {
7
+ id: string;
8
+ name: string;
9
+ };
10
+ workType: {
11
+ id: string;
12
+ name: string;
13
+ };
14
+ schedule?: Date;
15
+ status?: WorkScheduleStatus;
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/data/work-schedule/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { LoadOptions, StoreActionOptions } from "@voplus/morpho-data";
2
+ import { DeleteDocumentOptions } from "@voplus/morpho-document-core";
3
+ import { IWorkSchedule } from "./interfaces";
4
+ /** Custom load org contact options type */
5
+ export declare type LoadWorkScheduleOptions = {
6
+ /** Comma separated include options e.g. path */
7
+ includes?: string;
8
+ } & LoadOptions<IWorkSchedule>;
9
+ export declare type WorkScheduleCreateOptions = {
10
+ ContactId: string;
11
+ WorkTypeId: string;
12
+ };
13
+ export declare type WorkScheduleEditOptions = {
14
+ WorkTypeId?: string;
15
+ Schedule?: string;
16
+ };
17
+ export declare type CreateWorkScheduleOptions = {
18
+ data: WorkScheduleCreateOptions;
19
+ } & StoreActionOptions;
20
+ export declare type EditWorkScheduleOptions = {
21
+ data: WorkScheduleEditOptions;
22
+ } & StoreActionOptions;
23
+ export declare type DeleteWorkScheduleOptions = {
24
+ data?: DeleteDocumentOptions;
25
+ } & StoreActionOptions;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/data/work-schedule/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from "./useOnNewWorkSchedule";
2
+ export * from "./useOnDeleteWorkSchedule";
3
+ export * from "./useAutoUpdateListData";
@@ -0,0 +1,4 @@
1
+ export * from "./useOnNewWorkSchedule";
2
+ export * from "./useOnDeleteWorkSchedule";
3
+ export * from "./useAutoUpdateListData";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/work-schedule/work-schedule-events/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { IWorkSchedule } from "../interfaces";
2
+ import { ListDataContextState } from "@voplus/morpho-ui/es/data";
3
+ /** React hook to call action when a new WorkSchedule has been created. */
4
+ export declare const useAutoUpdateListData: (list: ListDataContextState<any>, shouldUpdate: (d: IWorkSchedule, event: string) => boolean) => void;
@@ -0,0 +1,15 @@
1
+ import { useOnDeleteWorkSchedule, useOnNewWorkSchedule } from ".";
2
+ /** React hook to call action when a new WorkSchedule has been created. */
3
+ export const useAutoUpdateListData = (list, shouldUpdate) => {
4
+ useOnNewWorkSchedule((s, d) => {
5
+ console.log(s, d);
6
+ console.log(shouldUpdate(d, "new"));
7
+ if (shouldUpdate(d, "new"))
8
+ list.union([d]);
9
+ });
10
+ useOnDeleteWorkSchedule((s, d) => {
11
+ if (shouldUpdate(d, "new"))
12
+ list.remove(d.id);
13
+ });
14
+ };
15
+ //# sourceMappingURL=useAutoUpdateListData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoUpdateListData.js","sourceRoot":"","sources":["../../../../src/data/work-schedule/work-schedule-events/useAutoUpdateListData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AAKlE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,IAA+B,EAC/B,YAA0D,EACzD,EAAE;IACH,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACpC,IAAI,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WorkScheduleStore } from "../WorkScheduleStore";
2
+ import { IWorkSchedule } from "../interfaces";
3
+ /** React hook to call action when a delete WorkSchedule has been created. */
4
+ export declare const useOnDeleteWorkSchedule: (action: (store: WorkScheduleStore, doc: IWorkSchedule) => void) => void;
@@ -0,0 +1,16 @@
1
+ import { useWorkScheduleStore } from "../WorkScheduleStore";
2
+ import { useEffect } from "react";
3
+ /** React hook to call action when a delete WorkSchedule has been created. */
4
+ export const useOnDeleteWorkSchedule = (action) => {
5
+ const store = useWorkScheduleStore();
6
+ const onDeleteWorkSchedule = (store, doc) => {
7
+ action(store, doc);
8
+ };
9
+ useEffect(() => {
10
+ store.WorkScheduleDeletedEvent.subscribe(onDeleteWorkSchedule);
11
+ return () => {
12
+ store.WorkScheduleDeletedEvent.unsubscribe(onDeleteWorkSchedule);
13
+ };
14
+ });
15
+ };
16
+ //# sourceMappingURL=useOnDeleteWorkSchedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnDeleteWorkSchedule.js","sourceRoot":"","sources":["../../../../src/data/work-schedule/work-schedule-events/useOnDeleteWorkSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAA8D,EAAE,EAAE;IACzG,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,oBAAoB,GAAG,CAAC,KAAwB,EAAE,GAAkB,EAAE,EAAE;QAC7E,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE;YACX,KAAK,CAAC,wBAAwB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClE,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WorkScheduleStore } from "../WorkScheduleStore";
2
+ import { IWorkSchedule } from "../interfaces";
3
+ /** React hook to call action when a new WorkSchedule has been created. */
4
+ export declare const useOnNewWorkSchedule: (action: (store: WorkScheduleStore, doc: IWorkSchedule) => void) => void;
@@ -0,0 +1,17 @@
1
+ import { useWorkScheduleStore } from "../WorkScheduleStore";
2
+ import { useEffect } from "react";
3
+ /** React hook to call action when a new WorkSchedule has been created. */
4
+ export const useOnNewWorkSchedule = (action) => {
5
+ const store = useWorkScheduleStore();
6
+ const onNewWorkSchedule = (store, doc) => {
7
+ // console.log(`onNewWorkSchedule - ${doc.id} ${doc.name}`);
8
+ action(store, doc);
9
+ };
10
+ useEffect(() => {
11
+ store.WorkScheduleCreatedEvent.subscribe(onNewWorkSchedule);
12
+ return () => {
13
+ store.WorkScheduleCreatedEvent.unsubscribe(onNewWorkSchedule);
14
+ };
15
+ });
16
+ };
17
+ //# sourceMappingURL=useOnNewWorkSchedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnNewWorkSchedule.js","sourceRoot":"","sources":["../../../../src/data/work-schedule/work-schedule-events/useOnNewWorkSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAA8D,EAAE,EAAE;IACtG,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,CAAC,KAAwB,EAAE,GAAkB,EAAE,EAAE;QAC1E,4DAA4D;QAC5D,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC5D,OAAO,GAAG,EAAE;YACX,KAAK,CAAC,wBAAwB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC/D,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -16,6 +16,12 @@ declare const Routes: {
16
16
  getUrl: (id: string) => string;
17
17
  component: () => JSX.Element;
18
18
  };
19
+ WorkScheduleDefaultView: {
20
+ route: string;
21
+ tabPattern: RegExp;
22
+ getUrl: (id: string) => string;
23
+ component: () => JSX.Element;
24
+ };
19
25
  WorkTypePage: {
20
26
  route: string;
21
27
  tabPattern: RegExp;
@@ -5,12 +5,14 @@ import MySpace from "./space/pages/MySpace";
5
5
  import ProjectDefaultView from "./project/ProjectDefaultView";
6
6
  import React from "react";
7
7
  import WorkTypeDefaultView from "../obsolete/WorkTypeDefaultView";
8
+ import WorkScheduleDefaultView from "../modules/work/work-schedule/pages/WorkScheduleDefaultView";
8
9
  import WorkTypePage from "./work/work-type/pages/WorkTypePage";
9
10
  import WorkspacePage from "../modules/workspace/pages/WorkspacePage";
10
11
  const ProjectRoutes = () => {
11
12
  return (React.createElement(Switch, null,
12
13
  React.createElement(Route, { path: Routes.ProjectDefaultView.route, exact: true, component: Routes.ProjectDefaultView.component }),
13
14
  React.createElement(Route, { path: Routes.WorkTypeDefaultView.route, exact: true, component: Routes.WorkTypeDefaultView.component }),
15
+ React.createElement(Route, { path: Routes.WorkScheduleDefaultView.route, exact: true, component: Routes.WorkScheduleDefaultView.component }),
14
16
  React.createElement(Route, { path: Routes.WorkTypePage.route, component: Routes.WorkTypePage.component }),
15
17
  React.createElement(Route, { path: Routes.MySpace.route, component: Routes.MySpace.component }),
16
18
  React.createElement(Route, { path: Routes.WorkspacePage.route, component: Routes.WorkspacePage.component })));
@@ -31,6 +33,12 @@ const Routes = {
31
33
  getUrl: (id) => `/work-types/${id}`,
32
34
  component: WorkTypeDefaultView,
33
35
  },
36
+ WorkScheduleDefaultView: {
37
+ route: "/work-schedule/:id",
38
+ tabPattern: RegExp("/work-schedule/[^/]+"),
39
+ getUrl: (id) => `/work-schedule/${id}`,
40
+ component: WorkScheduleDefaultView,
41
+ },
34
42
  WorkTypePage: {
35
43
  route: "/work-types-page/:id",
36
44
  tabPattern: RegExp("/work-types-page/[^/]+"),
@@ -60,6 +68,11 @@ const Routes = {
60
68
  tabBasePattern: Routes.WorkTypeDefaultView.tabPattern,
61
69
  component: React.createElement(ProjectRoutes, null),
62
70
  });
71
+ BaseRoutes.routes.push({
72
+ name: "WorkScheduleDefaultView",
73
+ tabBasePattern: Routes.WorkScheduleDefaultView.tabPattern,
74
+ component: React.createElement(ProjectRoutes, null),
75
+ });
63
76
  BaseRoutes.routes.push({
64
77
  name: "WorkTypePage",
65
78
  tabBasePattern: Routes.WorkTypePage.tabPattern,
@@ -1 +1 @@
1
- {"version":3,"file":"Routes.js","sourceRoot":"","sources":["../../src/modules/Routes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Routes.js","sourceRoot":"","sources":["../../src/modules/Routes.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ declare const NewWorkScheduleForm: {
3
+ (props: {
4
+ /** 額外css class. */
5
+ className?: string | undefined;
6
+ /** NewWorkScheduleForm 打开的方式 */
7
+ openMode?: "openAside" | "openBottom" | undefined;
8
+ onSave?: ((params?: any) => void) | undefined;
9
+ onCancel?: (() => void) | undefined;
10
+ }): JSX.Element;
11
+ defaultProps: {
12
+ openMode: string;
13
+ };
14
+ };
15
+ export default NewWorkScheduleForm;
@@ -0,0 +1,59 @@
1
+ import React, { useState } from "react";
2
+ import { Button, Form, Row, Space, message } from "@voplus/antd";
3
+ import { observe } from "@voplus/morpho-ui";
4
+ import { State } from "./state";
5
+ import { useWorkScheduleStore } from "../../../../../data/work-schedule";
6
+ import { runInAction } from "mobx";
7
+ import { useAsideContentContext } from "@voplus/morpho-ui/es/components/layout/AsideContent";
8
+ import WorkTypeSelect from "../../../work-type/components/WorkTypeSelect";
9
+ import MetionList from "@voplus/morpho-org/es/controls/MetionList";
10
+ import AddFormView from "@voplus/morpho-ui/es/controls/AddFormView";
11
+ import classnames from "classnames";
12
+ import styles from "./index.less";
13
+ const NewWorkScheduleForm = (props) => {
14
+ const { openMode } = props;
15
+ const [state] = useState(new State());
16
+ const [form] = Form.useForm();
17
+ const [loading, setLoading] = useState(false);
18
+ const asideContext = useAsideContentContext();
19
+ const store = useWorkScheduleStore();
20
+ const content = observe(() => (React.createElement("div", { className: classnames(styles["new-work-schedule-form"], props.className) },
21
+ React.createElement(Form, { form: form, layout: "vertical" },
22
+ React.createElement(Form.Item, { name: "Contact", label: "Contact" },
23
+ React.createElement(MetionList, { multiple: false, contacts: state.contact ? state.contact : [], defaultSelection: "Everyone", onChange: (list) => {
24
+ state.contact = list;
25
+ state.params.ContactId = list[0].id;
26
+ } })),
27
+ React.createElement(Form.Item, { name: "WokrType", label: "WokrType" },
28
+ React.createElement(WorkTypeSelect, { onChange: (id, data) => (state.params.WorkTypeId = data.id) })),
29
+ openMode === "openBottom" && (React.createElement(Form.Item, { className: "from-footer" },
30
+ React.createElement(Row, { justify: "end" },
31
+ React.createElement(Space, null,
32
+ React.createElement(Button, { onClick: onCancel }, "Cancel"),
33
+ React.createElement(Button, { type: "primary", htmlType: "submit", onClick: onSubmit, loading: loading }, "Submit")))))))));
34
+ return observe(() => (React.createElement(React.Fragment, null, props.openMode === "openBottom" ? (content) : (React.createElement(AddFormView, { title: "Add Work Schedule Form", loading: loading, onCancel: onCancel, onSubmit: onSubmit }, content)))));
35
+ async function onSubmit() {
36
+ var _a;
37
+ // if (!values.Name) return message.warning("Title is required");
38
+ setLoading(true);
39
+ await store.create({
40
+ data: state.params,
41
+ error: (error) => message.error(error.message),
42
+ });
43
+ // .then((res) => layout.history.push(``));
44
+ runInAction(() => (state.contact = []));
45
+ setLoading(false);
46
+ (_a = props.onSave) === null || _a === void 0 ? void 0 : _a.call(props, state.params);
47
+ }
48
+ function onCancel() {
49
+ var _a;
50
+ runInAction(() => (state.contact = []));
51
+ asideContext.closeAside();
52
+ (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);
53
+ }
54
+ };
55
+ NewWorkScheduleForm.defaultProps = {
56
+ openMode: "openAside",
57
+ };
58
+ export default NewWorkScheduleForm;
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/NewWorkScheduleForm/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ .new-work-schedule-form {
2
+ :global {
3
+ .from-footer {
4
+ margin-bottom: 0;
5
+ }
6
+ .ant-tabs-tabpane {
7
+ padding: 24px;
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,13 @@
1
+ import { IUnit } from "@voplus/morpho-org";
2
+ export declare class State {
3
+ constructor();
4
+ Params: {
5
+ ContactId: string;
6
+ WorkTypeId: string;
7
+ };
8
+ params: {
9
+ ContactId: string;
10
+ WorkTypeId: string;
11
+ };
12
+ contact?: IUnit[];
13
+ }
@@ -0,0 +1,35 @@
1
+ import { __decorate } from "tslib";
2
+ import { makeObservable, observable } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ Object.defineProperty(this, "Params", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: {
10
+ ContactId: "",
11
+ WorkTypeId: "",
12
+ }
13
+ });
14
+ Object.defineProperty(this, "params", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: this.Params
19
+ });
20
+ Object.defineProperty(this, "contact", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ makeObservable(this);
27
+ }
28
+ }
29
+ __decorate([
30
+ observable
31
+ ], State.prototype, "params", void 0);
32
+ __decorate([
33
+ observable
34
+ ], State.prototype, "contact", void 0);
35
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/NewWorkScheduleForm/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElD,MAAM,OAAO,KAAK;IACjB;QAGA;;;;mBAAgB;gBACf,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,EAAE;aACd;WAAC;QACU;;;;mBAAgB,IAAI,CAAC,MAAM;WAAC;QAC5B;;;;;WAAyB;QAPpC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CAOD;AAFY;IAAX,UAAU;qCAA6B;AAC5B;IAAX,UAAU;sCAA0B"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import "./index.less";
3
+ declare const WorkScheduleHeader: (props: {
4
+ id: string;
5
+ }) => JSX.Element;
6
+ export default WorkScheduleHeader;
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { Open } from "@voplus/morpho-document/es/controls/ToolBar/buttons";
3
+ import { observe } from "@voplus/morpho-ui";
4
+ import { useWorkSchedule } from "../../../../../data/work-schedule";
5
+ import WorkScheduleMenu from "../../controls/WorkScheduleMenu";
6
+ import ToolBar from "@voplus/morpho-document/es/controls/ToolBar/ToolBar2";
7
+ import "./index.less";
8
+ const WorkScheduleHeader = (props) => {
9
+ const id = props.id;
10
+ const workSchedule = useWorkSchedule(id);
11
+ return observe(() => (React.createElement("div", { className: "work-schedule-header" },
12
+ React.createElement("div", null, workSchedule.workType.name),
13
+ React.createElement(ToolBar, { id: id, showMenu: false },
14
+ React.createElement(Open, { url: `/work-schedule/${id}` }),
15
+ React.createElement(WorkScheduleMenu, { id: id, closeAside: true })))));
16
+ };
17
+ export default WorkScheduleHeader;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,OAAO,MAAM,sDAAsD,CAAC;AAC3E,OAAO,cAAc,CAAC;AAEtB,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACpD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,sBAAsB;QACpC,iCAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAO;QACvC,oBAAC,OAAO,IAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK;YAC/B,oBAAC,IAAI,IAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,GAAI;YACrC,oBAAC,gBAAgB,IAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAI,CACrC,CACL,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,kBAAkB,CAAC"}