@voplus/morpho-workspace 1.0.0-dev50 → 1.0.0-dev52
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/es/components/AvatarList/index.d.ts +1 -0
- package/es/components/AvatarList/index.js +5 -2
- package/es/components/AvatarList/index.js.map +1 -1
- package/es/components/Reference/Item.d.ts +8 -0
- package/es/components/Reference/Item.js +62 -0
- package/es/components/Reference/Item.js.map +1 -0
- package/es/components/Reference/index.d.ts +6 -0
- package/es/components/Reference/index.js +88 -0
- package/es/components/Reference/index.js.map +1 -0
- package/es/components/Reference/index.less +110 -0
- package/es/components/Reference/state.d.ts +9 -0
- package/es/components/Reference/state.js +31 -0
- package/es/components/Reference/state.js.map +1 -0
- package/es/components/ToolBar/index.d.ts +2 -0
- package/es/components/ToolBar/index.js +3 -3
- package/es/components/ToolBar/index.js.map +1 -1
- package/es/data/board/BoardColumnStore.d.ts +13 -3
- package/es/data/board/BoardColumnStore.js +22 -0
- package/es/data/board/BoardColumnStore.js.map +1 -1
- package/es/data/board/BoardStore.d.ts +10 -0
- package/es/data/board/BoardStore.js +22 -0
- package/es/data/board/BoardStore.js.map +1 -1
- package/es/data/board/hooks.d.ts +6 -1
- package/es/data/board/hooks.js +10 -0
- package/es/data/board/hooks.js.map +1 -1
- package/es/data/board/index.d.ts +1 -0
- package/es/data/board/index.js +1 -0
- package/es/data/board/index.js.map +1 -1
- package/es/data/board/interfaces.d.ts +19 -0
- package/es/data/board/types.d.ts +13 -0
- package/es/data/meeting/AgendaStore.js +3 -0
- package/es/data/meeting/AgendaStore.js.map +1 -1
- package/es/data/meeting/MeetingStore.d.ts +3 -0
- package/es/data/meeting/MeetingStore.js +5 -0
- package/es/data/meeting/MeetingStore.js.map +1 -1
- package/es/modules/BoardView/components/BoardColumn/index.d.ts +2 -0
- package/es/modules/BoardView/components/BoardColumn/index.js +54 -16
- package/es/modules/BoardView/components/BoardColumn/index.js.map +1 -1
- package/es/modules/BoardView/components/BoardColumn/index.less +4 -4
- package/es/modules/BoardView/components/BoardColumn/state.d.ts +7 -3
- package/es/modules/BoardView/components/BoardColumn/state.js +19 -3
- package/es/modules/BoardView/components/BoardColumn/state.js.map +1 -1
- package/es/modules/BoardView/components/BoardList/index.js +63 -15
- package/es/modules/BoardView/components/BoardList/index.js.map +1 -1
- package/es/modules/BoardView/components/BoardList/index.less +22 -4
- package/es/modules/BoardView/components/BoardList/state.d.ts +9 -3
- package/es/modules/BoardView/components/BoardList/state.js +36 -4
- package/es/modules/BoardView/components/BoardList/state.js.map +1 -1
- package/es/modules/BoardView/components/DocumentCard/index.d.ts +10 -0
- package/es/modules/BoardView/components/DocumentCard/index.js +101 -0
- package/es/modules/BoardView/components/DocumentCard/index.js.map +1 -0
- package/es/modules/BoardView/components/DocumentCard/index.less +116 -0
- package/es/modules/BoardView/components/DocumentCard/state.d.ts +15 -0
- package/es/modules/BoardView/components/DocumentCard/state.js +54 -0
- package/es/modules/BoardView/components/DocumentCard/state.js.map +1 -0
- package/es/modules/BoardView/components/{TaskList → LinkList}/index.d.ts +5 -4
- package/es/modules/BoardView/components/LinkList/index.js +60 -0
- package/es/modules/BoardView/components/LinkList/index.js.map +1 -0
- package/es/modules/BoardView/components/LinkList/state.d.ts +7 -0
- package/es/modules/BoardView/components/{TaskList → LinkList}/state.js +8 -4
- package/es/modules/BoardView/components/LinkList/state.js.map +1 -0
- package/es/modules/BoardView/components/NewTaskForm/index.js +32 -15
- package/es/modules/BoardView/components/NewTaskForm/index.js.map +1 -1
- package/es/modules/BoardView/components/NewTaskForm/index.less +23 -12
- package/es/modules/BoardView/components/NewTaskForm/state.d.ts +1 -0
- package/es/modules/BoardView/components/NewTaskForm/state.js +4 -0
- package/es/modules/BoardView/components/NewTaskForm/state.js.map +1 -1
- package/es/modules/BoardView/components/TaskCard/index.d.ts +2 -0
- package/es/modules/BoardView/components/TaskCard/index.js +20 -21
- package/es/modules/BoardView/components/TaskCard/index.js.map +1 -1
- package/es/modules/BoardView/pages/BoardViewList/index.js +4 -5
- package/es/modules/BoardView/pages/BoardViewList/index.js.map +1 -1
- package/es/modules/BoardView/pages/BoardViewList/index.less +1 -1
- package/es/modules/meeting/components/MeetingDescription/index.js +2 -2
- package/es/modules/meeting/components/MeetingDescription/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingHeader/index.js +4 -3
- package/es/modules/meeting/components/MeetingHeader/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingList/state.d.ts +1 -0
- package/es/modules/meeting/pages/MeetingList/state.js +6 -0
- package/es/modules/meeting/pages/MeetingList/state.js.map +1 -1
- package/es/modules/meeting/pages/MeetingPrintView/index.d.ts +1 -1
- package/es/modules/meeting/pages/MeetingPrintView/index.js +1 -1
- package/es/modules/meeting/pages/MeetingPrintView/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingPrintView/index.less +1 -0
- package/es/modules/tasks/components/NewTaskForm/index.d.ts +1 -0
- package/es/modules/tasks/components/NewTaskForm/index.js +2 -0
- package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.js +2 -19
- package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.less +3 -0
- package/es/modules/tasks/components/TaskDescription/index.less +6 -0
- package/es/modules/tasks/components/TaskDetail/index.js +8 -1
- package/es/modules/tasks/components/TaskDetail/index.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/TaskItem.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.js +2 -5
- package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.less +6 -0
- package/package.json +7 -6
- package/es/modules/BoardView/components/Add/index.d.ts +0 -7
- package/es/modules/BoardView/components/Add/index.js +0 -80
- package/es/modules/BoardView/components/Add/index.js.map +0 -1
- package/es/modules/BoardView/components/Add/index.less +0 -26
- package/es/modules/BoardView/components/TaskList/index.js +0 -45
- package/es/modules/BoardView/components/TaskList/index.js.map +0 -1
- package/es/modules/BoardView/components/TaskList/state.d.ts +0 -7
- package/es/modules/BoardView/components/TaskList/state.js.map +0 -1
- package/es/modules/tasks/components/TaskDetail/index.less +0 -28
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/data/board/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAGN,2BAA2B,EAC3B,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAU,aAAa,
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/data/board/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAGN,2BAA2B,EAC3B,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAU,aAAa,EAAgB,MAAM,GAAG,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAA6B,EAAE,EAAE;IACrE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA0B,CAAC;IAC1D,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,OAAO,qBAAqB,CAC3B,EAAE,EACF,SAAS,CAAC,KAAK,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAQ,CAAC,EAC9B,OAAO,CACG,CAAC;AACb,CAAC,CAAC;AAGF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAA6B,EAAE,EAAE;IAC3E,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA0B,CAAC;IAC1D,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,OAAO,qBAAqB,CAC3B,EAAE,EACF,SAAS,CAAC,KAAK,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAQ,CAAC,EAC9B,OAAO,CACS,CAAC;AACnB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,MAAgC,EAChC,OAAiC,EAChC,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA8B,CAAC;IACjE,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,mFAAmF;IACnF,OAAO,2BAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,MAAgC,EAChC,OAAiC,EAChC,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA8B,CAAC;IACjE,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,mFAAmF;IACnF,OAAO,2BAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC"}
|
package/es/data/board/index.d.ts
CHANGED
package/es/data/board/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/board/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/board/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
|
@@ -8,6 +8,25 @@ export interface IContactAvatar {
|
|
8
8
|
avatarUrl: string;
|
9
9
|
}
|
10
10
|
export interface IBoard extends IDocument {
|
11
|
+
/** Start date of the task */
|
12
|
+
startDate?: Date;
|
13
|
+
/** Due date of the task */
|
14
|
+
dueDate?: Date;
|
15
|
+
/** Id of the parent. */
|
16
|
+
parentId: string;
|
17
|
+
taskStatus: "NotAssigned" | "NotStarted" | "InProgress" | "Done";
|
18
|
+
/** Number of Subtasks of the task */
|
19
|
+
tasks?: number;
|
20
|
+
/** Number of comments */
|
21
|
+
comments?: number;
|
22
|
+
/** Members of the task inherited from parents */
|
23
|
+
inheritedMembers: IContactAvatar[];
|
24
|
+
/** Members of the task */
|
25
|
+
members: IContactAvatar[];
|
26
|
+
/** important of the task */
|
27
|
+
important?: boolean;
|
28
|
+
channelId: string;
|
29
|
+
label?: any[];
|
11
30
|
}
|
12
31
|
export interface IBoardColumn extends IDocument {
|
13
32
|
}
|
package/es/data/board/types.d.ts
CHANGED
@@ -5,10 +5,23 @@ export declare type CreateBoardOptions = {
|
|
5
5
|
Description?: string;
|
6
6
|
StartDate?: Date;
|
7
7
|
DueDate?: Date;
|
8
|
+
/** Indicate whether if inherit members from parent */
|
9
|
+
InheritMembers?: boolean;
|
10
|
+
/** List of manager ids */
|
11
|
+
ManagerIds?: string[];
|
12
|
+
/** List of id of members */
|
13
|
+
MemberIds?: string[];
|
8
14
|
};
|
9
15
|
/**
|
10
16
|
* Custom edit board options type. Use TitleCase to fit server need.
|
11
17
|
*/
|
12
18
|
export declare type EditBoardOptions = {
|
13
19
|
Name?: string;
|
20
|
+
Description?: string;
|
21
|
+
StartDate?: Date;
|
22
|
+
DueDate?: Date;
|
23
|
+
TaskStatus?: string;
|
24
|
+
Sequence?: number;
|
25
|
+
Important?: boolean;
|
26
|
+
MemberIds?: string[];
|
14
27
|
};
|
@@ -19,6 +19,9 @@ export class AgendaStore extends DocumentTypeStore {
|
|
19
19
|
let r = await this._documents.move(ids, targetId);
|
20
20
|
const list = r.filter(({ type }) => type === "Agenda");
|
21
21
|
this._agendaMoved.dispatch(targetId, list);
|
22
|
+
// const meetings = r.filter(({ type }: IMeeting) => type === "Meeting");
|
23
|
+
// MeetingStore.prototype._meetingMoved.dispatch(MeetingStore, meetings);
|
24
|
+
// console.log(88888);
|
22
25
|
}
|
23
26
|
}
|
24
27
|
/** 响应钩子检索 MeetingStore */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AgendaStore.js","sourceRoot":"","sources":["../../../src/data/meeting/AgendaStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAEN,iBAAiB,EAGjB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"AgendaStore.js","sourceRoot":"","sources":["../../../src/data/meeting/AgendaStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAEN,iBAAiB,EAGjB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,oBAAoB;AACpB,MAAM,OAAO,WAAY,SAAQ,iBAOhC;IASA,YAAmB,QAAqB,EAAE,UAAyB;QAClE,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAT3B,iBAAY,GAAG,IAAI,eAAe,EAAqB,CAAC;QAKzE,wBAAwB;QACR,SAAI,GAAW,SAAS,CAAC;IAIzC,CAAC;IARD,IAAW,gBAAgB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAOM,KAAK,CAAC,IAAI,CAAC,GAAa,EAAE,QAAgB;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAW,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,yEAAyE;QACzE,yEAAyE;QACzE,sBAAsB;IACvB,CAAC;CACD;AAED,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAClC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,OAAO,QAAQ,CACd,SAAS,EACT,OAAO,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAClE,CAAC;AACH,CAAC,CAAC"}
|
@@ -2,10 +2,13 @@ import { ApiEndPoint } from "@voplus/api";
|
|
2
2
|
import { DocumentStore, DocumentTypeStore, LoadDocumentListOptions, LoadDocumentOptions } from "@voplus/morpho-document";
|
3
3
|
import { IMeeting } from "./interfaces";
|
4
4
|
import { CreateMeetingOptions, EditMeetingOptions } from "./types";
|
5
|
+
import { EventDispatcher } from "strongly-typed-events";
|
5
6
|
/** 会议存储为会议操作提供服务 */
|
6
7
|
export declare class MeetingStore extends DocumentTypeStore<IMeeting, LoadDocumentOptions, LoadDocumentListOptions, CreateMeetingOptions, EditMeetingOptions, any> {
|
7
8
|
/** Name of the store */
|
8
9
|
readonly name: string;
|
10
|
+
readonly _meetingMoved: EventDispatcher<any, IMeeting[]>;
|
11
|
+
get MeetingMoveEvent(): import("strongly-typed-events").IEvent<any, IMeeting[]>;
|
9
12
|
constructor(endpoint: ApiEndPoint, documents: DocumentStore);
|
10
13
|
}
|
11
14
|
/** 响应钩子检索 MeetingStore */
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { useStore } from "@voplus/morpho-data";
|
2
2
|
import { DocumentTypeStore, useDocumentStore } from "@voplus/morpho-document";
|
3
|
+
import { EventDispatcher } from "strongly-typed-events";
|
3
4
|
const StoreName = "MeetingStore";
|
4
5
|
/** 会议存储为会议操作提供服务 */
|
5
6
|
export class MeetingStore extends DocumentTypeStore {
|
@@ -7,6 +8,10 @@ export class MeetingStore extends DocumentTypeStore {
|
|
7
8
|
super(endpoint, "/api/meetings", documents);
|
8
9
|
/** Name of the store */
|
9
10
|
this.name = StoreName;
|
11
|
+
this._meetingMoved = new EventDispatcher();
|
12
|
+
}
|
13
|
+
get MeetingMoveEvent() {
|
14
|
+
return this._meetingMoved.asEvent();
|
10
15
|
}
|
11
16
|
}
|
12
17
|
/** 响应钩子检索 MeetingStore */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MeetingStore.js","sourceRoot":"","sources":["../../../src/data/meeting/MeetingStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAEN,iBAAiB,EAGjB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"MeetingStore.js","sourceRoot":"","sources":["../../../src/data/meeting/MeetingStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAEN,iBAAiB,EAGjB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,oBAAoB;AACpB,MAAM,OAAO,YAAa,SAAQ,iBAOjC;IAUA,YAAmB,QAAqB,EAAE,SAAwB;QACjE,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAV7C,wBAAwB;QACR,SAAI,GAAW,SAAS,CAAC;QAEzB,kBAAa,GAAG,IAAI,eAAe,EAAmB,CAAC;IAQvE,CAAC;IAND,IAAW,gBAAgB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;CAKD;AAED,0BAA0B;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IACnC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,OAAO,QAAQ,CACd,SAAS,EACT,OAAO,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CACnE,CAAC;AACH,CAAC,CAAC"}
|
@@ -1,57 +1,95 @@
|
|
1
1
|
import { faEllipsisH, faPlus } from "@fortawesome/pro-light-svg-icons";
|
2
2
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
3
|
-
import { Checkbox, Input, Spin } from "@voplus/antd";
|
3
|
+
import { Checkbox, Input, Spin, message } from "@voplus/antd";
|
4
4
|
import DocumentMenu from "@voplus/morpho-document/es/components/DocumentMenu";
|
5
5
|
import Card from "@voplus/morpho-ui/es/controls/Card";
|
6
6
|
import { useObserver } from "mobx-react-lite";
|
7
7
|
import React, { useState } from "react";
|
8
|
-
import
|
9
|
-
import
|
8
|
+
import classnames from "classnames";
|
9
|
+
import { FileStore } from "@voplus/morpho-document/es/data/FileStore/FileContext";
|
10
|
+
import DocumentSelectDialog from "@voplus/morpho-document/es/components/DocumentSelectDialog";
|
11
|
+
import { useBoardColumnStore, useBoardColumn } from "../../../../data/board";
|
12
|
+
import { useDocumentStore } from "@voplus/morpho-document";
|
13
|
+
import LinkList from "../LinkList";
|
10
14
|
import styles from "./index.less";
|
11
15
|
import { State } from "./state";
|
12
16
|
const BoardColumn = (props) => {
|
13
|
-
const
|
17
|
+
const documentStore = useDocumentStore();
|
18
|
+
const boardStore = useBoardColumnStore();
|
19
|
+
const [store] = useState(new FileStore());
|
14
20
|
const [state] = useState(new State());
|
15
|
-
state.
|
21
|
+
state.reload = !!props.reload;
|
22
|
+
state.boardcolumn = useBoardColumn(props.id, { reload: state.reload });
|
16
23
|
const onAddTaskAble = (addAble) => {
|
17
|
-
state.
|
24
|
+
state.AddBoardAble = addAble;
|
25
|
+
};
|
26
|
+
const onBlur = async () => {
|
27
|
+
console.log("标题失去焦点时", props.id);
|
28
|
+
if (!state.name) {
|
29
|
+
return message.warn("Title is required");
|
30
|
+
}
|
31
|
+
if (state.name.trim() === state.boardcolumn.name) {
|
32
|
+
// 没有变动无需请求
|
33
|
+
return (state.editable = false);
|
34
|
+
}
|
35
|
+
boardStore.edit(props.id, { Name: state.name });
|
36
|
+
state.boardcolumn.name = state.name;
|
37
|
+
state.editable = !state.editable;
|
18
38
|
};
|
19
39
|
const onEdit = () => {
|
20
|
-
state.name = state.
|
40
|
+
state.name = state.boardcolumn.name;
|
21
41
|
state.editable = !state.editable;
|
22
42
|
};
|
23
43
|
const onDelete = async () => {
|
24
|
-
await boardStore.delete([state.
|
44
|
+
await boardStore.delete([state.boardcolumn.id], { DeleteChilds: true });
|
45
|
+
};
|
46
|
+
const onMove = () => {
|
47
|
+
store.onMove([props.id]);
|
48
|
+
};
|
49
|
+
const onPaste = async () => {
|
50
|
+
console.log("paste", store.moveIds, props.id);
|
51
|
+
if (store.moveIds.some((id) => id === props.id))
|
52
|
+
return message.warn("Cannot move to itself");
|
53
|
+
await store.onPaste(() => boardStore.move(store.moveIds, props.id));
|
54
|
+
state.reload = true;
|
25
55
|
};
|
26
56
|
const onSave = async () => {
|
27
57
|
if (!state.name)
|
28
58
|
return;
|
29
|
-
const noChange = state.name.trim() === state.
|
59
|
+
const noChange = state.name.trim() === state.boardcolumn.name;
|
30
60
|
// 有变更才保存
|
31
61
|
if (!noChange) {
|
32
|
-
await boardStore.edit(state.
|
62
|
+
await boardStore.edit(state.boardcolumn.id, { Name: state.name });
|
33
63
|
}
|
34
64
|
state.editable = false;
|
35
65
|
};
|
66
|
+
const onSelect = async (ids) => {
|
67
|
+
await documentStore.editLinks(props.id, {
|
68
|
+
AddLinks: [{ Type: "Association", RightId: ids[0] }]
|
69
|
+
});
|
70
|
+
state.AddLinks = false;
|
71
|
+
};
|
36
72
|
const onCheckAllChange = (e) => {
|
37
73
|
state.checkAll = e.target.checked;
|
38
74
|
state.multiple = e.target.checked;
|
39
75
|
};
|
40
76
|
const onCheck = (checkAll) => {
|
41
77
|
state.checkAll = checkAll;
|
78
|
+
// state.checkAll = checkedValues.length === state.boardcolumn.length;
|
42
79
|
};
|
43
|
-
return useObserver(() => (React.createElement("div", { className: styles["board-column"] },
|
80
|
+
return useObserver(() => (React.createElement("div", { className: classnames(styles["board-column"]) },
|
44
81
|
React.createElement(Card, { className: "content-top", padding: "0 15px", style: { borderTop: ` solid 2px ${props.colorStyle}` } },
|
45
82
|
React.createElement("div", { className: "board-name" },
|
46
83
|
state.checked && React.createElement(Checkbox, { onChange: onCheckAllChange, checked: state.checkAll }),
|
47
84
|
state.editable ? (React.createElement(Spin, { spinning: state.loading },
|
48
|
-
React.createElement(Input.TextArea, { autosize: true, autoFocus: true, value: state.name, onChange: e => (state.name = e.target.value) }))) : (React.createElement("div", { className: "task-card-title" }, state.
|
49
|
-
!state.editable && React.createElement("span", { className: "board-length" },
|
85
|
+
React.createElement(Input.TextArea, { autosize: true, autoFocus: true, value: state.name, onBlur: onBlur, onChange: e => (state.name = e.target.value) }))) : (React.createElement("div", { className: "task-card-title" }, state.boardcolumn.name)),
|
86
|
+
!state.editable && React.createElement("span", { className: "board-length" }, state.links)),
|
50
87
|
React.createElement("div", { className: "board-control" },
|
51
|
-
React.createElement(DocumentMenu, { icon: faEllipsisH, onEdit: onEdit, onDelete: onDelete }),
|
52
|
-
React.createElement("span", { onClick: () => (state.
|
88
|
+
React.createElement(DocumentMenu, { icon: faEllipsisH, onEdit: onEdit, onDelete: onDelete, onPaste: onPaste }),
|
89
|
+
React.createElement("span", { onClick: () => (state.AddLinks = !state.AddLinks) },
|
53
90
|
React.createElement(FAIcon, { style: { marginLeft: "15px", color: props.colorStyle }, icon: faPlus })))),
|
54
|
-
React.createElement(
|
91
|
+
React.createElement(LinkList, { id: state.boardcolumn.id, checked: state.checked, checkAll: state.multiple, onCheck: onCheck, addAble: state.AddBoardAble, onAddAble: onAddTaskAble, onLinkNum: (links) => (state.links = links) }),
|
92
|
+
state.AddLinks && (React.createElement(DocumentSelectDialog, { parentId: "9ab4bee4-d7b5-40ee-8a28-ab5800787473", onSelect: onSelect })))));
|
55
93
|
};
|
56
94
|
export default BoardColumn;
|
57
95
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardColumn/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardColumn/index.tsx"],"names":[],"mappings":"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"}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
flex-direction: column;
|
5
5
|
height: 100%;
|
6
6
|
margin-right: 20px;
|
7
|
-
|
7
|
+
min-width: 220px;
|
8
8
|
overflow: hidden;
|
9
9
|
:global {
|
10
10
|
.content-top {
|
@@ -21,13 +21,13 @@
|
|
21
21
|
align-items: center;
|
22
22
|
font-size: 16px;
|
23
23
|
color: #000000;
|
24
|
-
.task-card-title{
|
24
|
+
.task-card-title {
|
25
25
|
display: inline-block;
|
26
26
|
}
|
27
|
-
.ant-spin-container{
|
27
|
+
.ant-spin-container {
|
28
28
|
display: flex;
|
29
29
|
}
|
30
|
-
.ant-checkbox-wrapper{
|
30
|
+
.ant-checkbox-wrapper {
|
31
31
|
margin-right: 8px;
|
32
32
|
}
|
33
33
|
}
|
@@ -1,11 +1,15 @@
|
|
1
|
-
import {
|
1
|
+
import { IBoardColumn } from "../../../../data/board";
|
2
2
|
export declare class State {
|
3
|
-
|
3
|
+
boardcolumn: IBoardColumn;
|
4
4
|
name: string;
|
5
|
+
links: number;
|
6
|
+
reload: boolean;
|
5
7
|
editable: boolean;
|
6
8
|
loading: boolean;
|
7
9
|
checked: boolean;
|
10
|
+
checkIds: string[];
|
8
11
|
checkAll: boolean;
|
9
12
|
multiple: boolean;
|
10
|
-
|
13
|
+
AddLinks: boolean;
|
14
|
+
AddBoardAble: boolean;
|
11
15
|
}
|
@@ -3,20 +3,30 @@ import { observable } from "mobx";
|
|
3
3
|
export class State {
|
4
4
|
constructor() {
|
5
5
|
this.name = "";
|
6
|
+
this.links = 0; //link 数量
|
7
|
+
this.reload = false;
|
6
8
|
this.editable = false;
|
7
9
|
this.loading = false;
|
8
10
|
this.checked = false;
|
11
|
+
this.checkIds = [];
|
9
12
|
this.checkAll = false;
|
10
13
|
this.multiple = false;
|
11
|
-
this.
|
14
|
+
this.AddLinks = false;
|
15
|
+
this.AddBoardAble = false;
|
12
16
|
}
|
13
17
|
}
|
14
18
|
__decorate([
|
15
19
|
observable
|
16
|
-
], State.prototype, "
|
20
|
+
], State.prototype, "boardcolumn", void 0);
|
17
21
|
__decorate([
|
18
22
|
observable
|
19
23
|
], State.prototype, "name", void 0);
|
24
|
+
__decorate([
|
25
|
+
observable
|
26
|
+
], State.prototype, "links", void 0);
|
27
|
+
__decorate([
|
28
|
+
observable
|
29
|
+
], State.prototype, "reload", void 0);
|
20
30
|
__decorate([
|
21
31
|
observable
|
22
32
|
], State.prototype, "editable", void 0);
|
@@ -26,6 +36,9 @@ __decorate([
|
|
26
36
|
__decorate([
|
27
37
|
observable
|
28
38
|
], State.prototype, "checked", void 0);
|
39
|
+
__decorate([
|
40
|
+
observable
|
41
|
+
], State.prototype, "checkIds", void 0);
|
29
42
|
__decorate([
|
30
43
|
observable
|
31
44
|
], State.prototype, "checkAll", void 0);
|
@@ -34,5 +47,8 @@ __decorate([
|
|
34
47
|
], State.prototype, "multiple", void 0);
|
35
48
|
__decorate([
|
36
49
|
observable
|
37
|
-
], State.prototype, "
|
50
|
+
], State.prototype, "AddLinks", void 0);
|
51
|
+
__decorate([
|
52
|
+
observable
|
53
|
+
], State.prototype, "AddBoardAble", void 0);
|
38
54
|
//# sourceMappingURL=state.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardColumn/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,MAAM,OAAO,KAAK;IAAlB;QAEoB,SAAI,GAAW,EAAE,CAAC;QAClB,aAAQ,GAAY,KAAK,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QACzB,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardColumn/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,MAAM,OAAO,KAAK;IAAlB;QAEoB,SAAI,GAAW,EAAE,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC,CAAC,SAAS;QAC5B,WAAM,GAAY,KAAK,CAAC;QACxB,aAAQ,GAAY,KAAK,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QACzB,aAAQ,GAAa,EAAE,CAAC;QACxB,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,iBAAY,GAAY,KAAK,CAAC;IAClD,CAAC;CAAA;AAZY;IAAX,UAAU;0CAAkC;AACjC;IAAX,UAAU;mCAA0B;AACzB;IAAX,UAAU;oCAA0B;AACzB;IAAX,UAAU;qCAAgC;AAC/B;IAAX,UAAU;uCAAkC;AACjC;IAAX,UAAU;sCAAiC;AAChC;IAAX,UAAU;sCAAiC;AAChC;IAAX,UAAU;uCAAgC;AAC/B;IAAX,UAAU;uCAAkC;AACjC;IAAX,UAAU;uCAAkC;AACjC;IAAX,UAAU;uCAAkC;AACjC;IAAX,UAAU;2CAAsC"}
|
@@ -3,33 +3,81 @@ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
|
3
3
|
import { Input, message } from "@voplus/antd";
|
4
4
|
import Card from "@voplus/morpho-ui/es/controls/Card";
|
5
5
|
import { useObserver } from "mobx-react-lite";
|
6
|
-
import React, { useState } from "react";
|
7
|
-
import
|
8
|
-
import
|
6
|
+
import React, { useState, useEffect } from "react";
|
7
|
+
import SearchHeader from "@voplus/morpho-ui/es/components/layout/ListView/components/SearchHeader";
|
8
|
+
import SortViewDropdown from "@voplus/morpho-ui/es/components/layout/ListView/controls/SortViewDropdown";
|
9
|
+
import FilterListDropdown from "@voplus/morpho-ui/es/components/layout/ListView/controls/FilterListDropdown";
|
10
|
+
import { useBoardColumnListEffect, useBoardColumnStore } from "../../../../data/board";
|
11
|
+
import { toJS } from "mobx";
|
12
|
+
import { ListOptionsContextState, ListOptionsContext } from "@voplus/morpho-ui";
|
13
|
+
import SortDnD from "@voplus/morpho-ui/es/controls/SortDnD";
|
9
14
|
import BoardColumn from "../BoardColumn";
|
10
15
|
import styles from "./index.less";
|
11
16
|
import { State } from "./state";
|
12
17
|
const BoardList = (props) => {
|
13
18
|
const colorList = ["#765FEE", "#fe4066", "#FFC832", "#FF8F5E", "#16ecec", "#FFC832"];
|
14
|
-
const boards =
|
19
|
+
const boards = useBoardColumnStore();
|
15
20
|
const [state] = useState(new State());
|
16
|
-
|
17
|
-
|
21
|
+
const [listoptions] = useState(new ListOptionsContextState());
|
22
|
+
useBoardColumnListEffect(list => {
|
23
|
+
state.boardcolumns = list;
|
24
|
+
state.loading = false;
|
18
25
|
});
|
26
|
+
const onSort = async (value) => {
|
27
|
+
listoptions.sort = value;
|
28
|
+
};
|
29
|
+
const onFilter = async (value) => {
|
30
|
+
const { status, assignee, created, labels, dueDate } = value;
|
31
|
+
listoptions.filters = [
|
32
|
+
{ c: "LinkStatus", o: "contains", l: "And", v1: toJS(JSON.stringify(status)) }
|
33
|
+
];
|
34
|
+
};
|
35
|
+
const onSearch = (value) => {
|
36
|
+
listoptions.filters = [{ c: "Name", o: "contains", l: "And", v1: toJS(JSON.stringify(value)) }];
|
37
|
+
};
|
38
|
+
const moveAfter = async (id, afterId, list) => {
|
39
|
+
console.log("moveAfter", id, afterId, list);
|
40
|
+
await boards.moveAfter(id, afterId);
|
41
|
+
state.boardcolumns = list;
|
42
|
+
};
|
19
43
|
const onSave = async () => {
|
20
44
|
if (!state.name)
|
21
45
|
return message.warning("Title is required");
|
22
46
|
await boards.create({ Name: state.name, ParentId: props.parentId });
|
23
47
|
};
|
24
|
-
|
25
|
-
state.
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
48
|
+
const onBoardColumnCreated = (s, t) => {
|
49
|
+
state.boardcolumns = !t.parentId ? [...state.boardcolumns, t] : state.boardcolumns;
|
50
|
+
state.reload = true;
|
51
|
+
};
|
52
|
+
const onBoardColumnDeleted = (s, t) => {
|
53
|
+
state.boardcolumns =
|
54
|
+
t instanceof Array
|
55
|
+
? state.boardcolumns.filter(board => !t.some(({ id }) => board.id === id))
|
56
|
+
: state.boardcolumns.filter(board => board.id !== t.id);
|
57
|
+
state.reload = true;
|
58
|
+
};
|
59
|
+
useEffect(() => {
|
60
|
+
boards.ItemCreatedEvent.subscribe(onBoardColumnCreated);
|
61
|
+
boards.ItemDeletedEvent.subscribe(onBoardColumnDeleted);
|
62
|
+
return () => {
|
63
|
+
boards.ItemCreatedEvent.unsubscribe(onBoardColumnCreated);
|
64
|
+
boards.ItemDeletedEvent.unsubscribe(onBoardColumnDeleted);
|
65
|
+
};
|
66
|
+
}, []);
|
67
|
+
return useObserver(() => (React.createElement(ListOptionsContext.Provider, { value: listoptions },
|
68
|
+
React.createElement("div", { className: styles["board_header"] },
|
69
|
+
React.createElement(SearchHeader, { onChange: onSearch }),
|
70
|
+
React.createElement("div", null,
|
71
|
+
React.createElement(SortViewDropdown, { onSort: onSort }),
|
72
|
+
React.createElement(FilterListDropdown, { className: "margin-left-10", onFilter: onFilter }))),
|
73
|
+
React.createElement("div", { className: styles["board-list"] },
|
74
|
+
React.createElement(SortDnD, { className: "board-sortDnD", list: state.boardcolumns, moveAfter: moveAfter, text: (item, index, connectDragSource) => (React.createElement(BoardColumn, { key: item.id, id: item.id, reload: state.reload, colorStyle: colorList[index % 6], connectDragSource: connectDragSource })) }),
|
75
|
+
state.AddBoardColumnAble && (React.createElement(Card, { className: "add-board-able", padding: "0 15px", style: { borderTop: ` solid 2px #3AC43A` } },
|
76
|
+
React.createElement(Input, { placeholder: "STATUS NAME", value: state.name, onChange: e => (state.name = e.target.value) }),
|
77
|
+
React.createElement(FAIcon, { icon: faCheck, onClick: onSave }),
|
78
|
+
React.createElement(FAIcon, { icon: faTimes, onClick: () => (state.AddBoardColumnAble = false) }))),
|
79
|
+
React.createElement("div", { className: "add-board" },
|
80
|
+
React.createElement("div", { onClick: () => (state.AddBoardColumnAble = true) }, "+ ADD"))))));
|
33
81
|
};
|
34
82
|
export default BoardList;
|
35
83
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -5,15 +5,24 @@
|
|
5
5
|
margin: 10px;
|
6
6
|
padding: 0 10px;
|
7
7
|
:global {
|
8
|
+
.board-sortDnD {
|
9
|
+
flex: 1;
|
10
|
+
display: flex;
|
11
|
+
> div {
|
12
|
+
flex: 1;
|
13
|
+
}
|
14
|
+
}
|
8
15
|
.add-board {
|
9
16
|
width: 100px;
|
17
|
+
min-width: 100px;
|
10
18
|
font-size: 16px;
|
11
19
|
text-align: center;
|
12
20
|
line-height: 50px;
|
13
|
-
|
21
|
+
> div {
|
22
|
+
cursor: pointer;
|
23
|
+
}
|
14
24
|
}
|
15
25
|
.add-board-able {
|
16
|
-
flex: 0.6;
|
17
26
|
display: flex;
|
18
27
|
justify-content: center;
|
19
28
|
align-items: center;
|
@@ -23,17 +32,26 @@
|
|
23
32
|
padding: 0 10px;
|
24
33
|
background: #ffffff;
|
25
34
|
margin-bottom: 15px;
|
26
|
-
|
35
|
+
min-width: 150px;
|
36
|
+
.ant-input {
|
27
37
|
padding: 0;
|
28
38
|
border: none;
|
29
39
|
}
|
30
40
|
.ant-input:focus {
|
31
41
|
box-shadow: none;
|
32
42
|
}
|
33
|
-
.svg-inline--fa{
|
43
|
+
.svg-inline--fa {
|
34
44
|
cursor: pointer;
|
35
45
|
margin-left: 8px;
|
36
46
|
}
|
37
47
|
}
|
38
48
|
}
|
39
49
|
}
|
50
|
+
.board_header {
|
51
|
+
display: flex;
|
52
|
+
justify-content: space-between;
|
53
|
+
align-items: center;
|
54
|
+
padding: 10px 20px;
|
55
|
+
border-bottom: 1px solid #f2f2f2;
|
56
|
+
background-color: #ffffff;
|
57
|
+
}
|
@@ -1,7 +1,13 @@
|
|
1
|
-
import {
|
1
|
+
import { IBoardColumn } from "../../../../data/board";
|
2
|
+
import { SortParameters } from "@voplus/morpho-data/es/types";
|
2
3
|
export declare class State {
|
3
|
-
|
4
|
+
boardcolumns: IBoardColumn[];
|
4
5
|
id: string;
|
5
6
|
name: string;
|
6
|
-
|
7
|
+
reload: boolean;
|
8
|
+
loading: boolean;
|
9
|
+
filterName: string;
|
10
|
+
sort: SortParameters;
|
11
|
+
filters: any[];
|
12
|
+
AddBoardColumnAble: boolean;
|
7
13
|
}
|