@voplus/morpho-workspace 1.1.0-dev016 → 1.1.0-dev018
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/controls/filters/AssigneeViewFilter/index.js +43 -0
- package/es/controls/filters/AssigneeViewFilter/index.js.map +1 -0
- package/es/controls/filters/AssigneeViewFilter/state.d.ts +14 -0
- package/es/controls/filters/AssigneeViewFilter/state.js +43 -0
- package/es/controls/filters/AssigneeViewFilter/state.js.map +1 -0
- package/es/controls/filters/DueDateFilter/index.d.ts +3 -0
- package/es/controls/filters/DueDateFilter/index.js +22 -0
- package/es/controls/filters/DueDateFilter/index.js.map +1 -0
- package/es/controls/filters/DueDateFilter/state.d.ts +11 -0
- package/es/controls/filters/DueDateFilter/state.js +36 -0
- package/es/controls/filters/DueDateFilter/state.js.map +1 -0
- package/es/controls/filters/StartDateFilter/index.d.ts +3 -0
- package/es/controls/filters/StartDateFilter/index.js +22 -0
- package/es/controls/filters/StartDateFilter/index.js.map +1 -0
- package/es/controls/filters/StartDateFilter/state.d.ts +11 -0
- package/es/controls/filters/StartDateFilter/state.js +36 -0
- package/es/controls/filters/StartDateFilter/state.js.map +1 -0
- package/es/controls/filters/TaskStatusFilter/index.d.ts +3 -0
- package/es/controls/filters/TaskStatusFilter/index.js +21 -0
- package/es/controls/filters/TaskStatusFilter/index.js.map +1 -0
- package/es/controls/filters/TaskStatusFilter/state.d.ts +16 -0
- package/es/controls/filters/TaskStatusFilter/state.js +46 -0
- package/es/controls/filters/TaskStatusFilter/state.js.map +1 -0
- package/es/controls/filters/index.d.ts +4 -0
- package/es/controls/filters/index.js +5 -0
- package/es/controls/filters/index.js.map +1 -0
- package/es/modules/meeting/components/AgendaList/index.js +4 -7
- package/es/modules/meeting/components/AgendaList/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.js +1 -1
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingList/index.js +6 -5
- package/es/modules/meeting/pages/MeetingList/index.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.js +11 -4
- package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js +1 -1
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskList/index.js +10 -7
- package/es/modules/tasks/pages/TaskList/index.js.map +1 -1
- package/package.json +3 -3
- package/es/controls/AssigneeViewFilter/index.js +0 -41
- package/es/controls/AssigneeViewFilter/index.js.map +0 -1
- /package/es/controls/{AssigneeViewFilter → filters/AssigneeViewFilter}/index.d.ts +0 -0
- /package/es/controls/{AssigneeViewFilter → filters/AssigneeViewFilter}/index.less +0 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { useContactListEffect } from "@voplus/morpho-org";
|
3
|
+
import React from "react";
|
4
|
+
import AvatarItem from "@voplus/morpho-document/es/components/AvatarList/AvatarItem";
|
5
|
+
import { CloseOutlined } from "@ant-design/icons";
|
6
|
+
import { Select } from "@voplus/antd";
|
7
|
+
import { State } from "./state";
|
8
|
+
import classnames from "classnames";
|
9
|
+
import { useFilterOptionsContext } from "@voplus/morpho-ui/es/data";
|
10
|
+
import { useObserver } from "mobx-react-lite";
|
11
|
+
const AssigneeView = () => {
|
12
|
+
const context = useFilterOptionsContext();
|
13
|
+
const state = context.getFilterState("Assignee", () => new State());
|
14
|
+
useContactListEffect(list => {
|
15
|
+
state.contactList = list || [];
|
16
|
+
});
|
17
|
+
return useObserver(() => (React.createElement("div", { className: "assignee-view" },
|
18
|
+
React.createElement("div", { className: "menu-item-title" }, "AssigneeView"),
|
19
|
+
React.createElement(Select, { value: Array.from(state.members.keys()), showSearch: true, placeholder: "Input or select contact.", filterOption: filterItems, optionLabelProp: "title", onSelect: onSelectMember, style: { width: 160 } }, state.contactList.map(i => (React.createElement(Select.Option, { key: i.id, value: i.id, title: i.name }, i.name)))),
|
20
|
+
state.memberList.map((item, index) => (React.createElement("div", { key: item.id, className: classnames("assignee-view-item", {
|
21
|
+
bold: state.members.has(item.id)
|
22
|
+
}) },
|
23
|
+
React.createElement(AvatarItem, { id: item.id, index: index, showName: true }),
|
24
|
+
React.createElement(CloseOutlined, { onClick: () => onCancel(item.id) })))))));
|
25
|
+
function filterItems(input, option) {
|
26
|
+
return option.title.toLowerCase().includes(input.toLowerCase());
|
27
|
+
}
|
28
|
+
/** cancel select member */
|
29
|
+
function onCancel(id) {
|
30
|
+
state.memberList = state.memberList.filter(m => m.id !== id);
|
31
|
+
state.members.delete(id);
|
32
|
+
}
|
33
|
+
/** selected member */
|
34
|
+
function onSelectMember(id) {
|
35
|
+
const item = state.contactList.find(x => x.id === id);
|
36
|
+
state.members.has(id)
|
37
|
+
? (state.memberList = state.contactList.filter(c => c.id !== id))
|
38
|
+
: state.memberList.push(item);
|
39
|
+
state.members.has(id) ? state.members.delete(id) : state.members.set(id, true);
|
40
|
+
}
|
41
|
+
};
|
42
|
+
export default AssigneeView;
|
43
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/filters/AssigneeViewFilter/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { FilterOption } from "@voplus/morpho-data";
|
2
|
+
import { IContact } from "@voplus/morpho-org";
|
3
|
+
import { IFilterState } from "@voplus/morpho-ui/es/data/IFilterState";
|
4
|
+
export declare class State implements IFilterState {
|
5
|
+
/** List of contact */
|
6
|
+
contactList: IContact[];
|
7
|
+
/** Members of filter */
|
8
|
+
memberList: IContact[];
|
9
|
+
/** Ids of member of filter */
|
10
|
+
members: Map<string, boolean>;
|
11
|
+
/** 视乎State内容,返回正确的FilterOption[]. 在Filter时,Context 会使用此属性replace Context内FilterOption的资料。 */
|
12
|
+
get filters(): FilterOption[];
|
13
|
+
reset(): void;
|
14
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { observable } from "mobx";
|
3
|
+
let State = /** @class */ (() => {
|
4
|
+
class State {
|
5
|
+
constructor() {
|
6
|
+
/** List of contact */
|
7
|
+
this.contactList = [];
|
8
|
+
/** Members of filter */
|
9
|
+
this.memberList = [];
|
10
|
+
/** Ids of member of filter */
|
11
|
+
this.members = new Map();
|
12
|
+
}
|
13
|
+
/** 视乎State内容,返回正确的FilterOption[]. 在Filter时,Context 会使用此属性replace Context内FilterOption的资料。 */
|
14
|
+
get filters() {
|
15
|
+
if (this.members.size === 0)
|
16
|
+
return [];
|
17
|
+
return [
|
18
|
+
{
|
19
|
+
c: "Members",
|
20
|
+
o: "contains",
|
21
|
+
v1: JSON.stringify(Array.from(this.members.keys())),
|
22
|
+
l: "And"
|
23
|
+
}
|
24
|
+
];
|
25
|
+
}
|
26
|
+
reset() {
|
27
|
+
this.members.clear();
|
28
|
+
this.memberList = [];
|
29
|
+
}
|
30
|
+
}
|
31
|
+
__decorate([
|
32
|
+
observable
|
33
|
+
], State.prototype, "contactList", void 0);
|
34
|
+
__decorate([
|
35
|
+
observable
|
36
|
+
], State.prototype, "memberList", void 0);
|
37
|
+
__decorate([
|
38
|
+
observable
|
39
|
+
], State.prototype, "members", void 0);
|
40
|
+
return State;
|
41
|
+
})();
|
42
|
+
export { State };
|
43
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/controls/filters/AssigneeViewFilter/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAM1C;IAAA,MAAa,KAAK;QAAlB;YACC,sBAAsB;YACH,gBAAW,GAAe,EAAE,CAAC;YAChD,wBAAwB;YACL,eAAU,GAAe,EAAE,CAAC;YAC/C,8BAA8B;YACX,YAAO,GAAyB,IAAI,GAAG,EAAE,CAAC;QAmB9D,CAAC;QAjBA,6FAA6F;QAC7F,IAAW,OAAO;YACjB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACvC,OAAO;gBACN;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,UAAU;oBACb,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnD,CAAC,EAAE,KAAK;iBACQ;aACjB,CAAC;QACH,CAAC;QAEM,KAAK;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACtB,CAAC;KACD;IAvBY;QAAX,UAAU;8CAAqC;IAEpC;QAAX,UAAU;6CAAoC;IAEnC;QAAX,UAAU;0CAAkD;IAmB9D,YAAC;KAAA;SAzBY,KAAK"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { Badge, DatePicker } from "@voplus/antd";
|
2
|
+
import React from "react";
|
3
|
+
import { State } from "./state";
|
4
|
+
import classnames from "classnames";
|
5
|
+
import { dateMenus } from "@voplus/morpho-ui/es/data/FilterViewContext";
|
6
|
+
import { toJS } from "mobx";
|
7
|
+
import { useFilterOptionsContext } from "@voplus/morpho-ui/es/data";
|
8
|
+
import { useObserver } from "mobx-react-lite";
|
9
|
+
const DueDateFilter = () => {
|
10
|
+
const context = useFilterOptionsContext();
|
11
|
+
const state = context.getFilterState("DueDate", () => new State());
|
12
|
+
return useObserver(() => (React.createElement("div", null,
|
13
|
+
React.createElement("div", { className: "menu-item-title" }, "DueDate"),
|
14
|
+
React.createElement(DatePicker.RangePicker, { value: state.dueDate, suffixIcon: null, className: "filter-date-picker", allowEmpty: [true, true], onChange: dates => (state.dueDate = dates) }),
|
15
|
+
dateMenus.map((item, index) => (React.createElement("div", { key: index, className: classnames("filter-menu-item", {
|
16
|
+
bold: JSON.stringify(toJS(state.dueDate)) === JSON.stringify(item.value)
|
17
|
+
}), onClick: () => (state.dueDate = item.value) },
|
18
|
+
React.createElement("div", { className: "filter-name" }, item.name),
|
19
|
+
item.name === "Today" ? (React.createElement(Badge, { style: item.style, count: item.counts, showZero: true })) : (React.createElement("span", null, item.counts))))))));
|
20
|
+
};
|
21
|
+
export default DueDateFilter;
|
22
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/filters/DueDateFilter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,aAAa,GAAG,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAEnE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB;QACC,6BAAK,SAAS,EAAC,iBAAiB,cAAc;QAC9C,oBAAC,UAAU,CAAC,WAAW,IACtB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,UAAU,EAAE,IAAI,EAChB,SAAS,EAAC,oBAAoB,EAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,GACzC;QACD,SAAS,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAC5C,6BACC,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE;gBACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;aACxE,CAAC,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YAE3C,6BAAK,SAAS,EAAC,aAAa,IAAE,IAAI,CAAC,IAAI,CAAO;YAC7C,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,SAAG,CACzD,CAAC,CAAC,CAAC,CACH,kCAAO,IAAI,CAAC,MAAM,CAAQ,CAC1B,CACI,CACN,CAAC,CACG,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Moment } from "moment";
|
2
|
+
import { FilterOption } from "@voplus/morpho-data";
|
3
|
+
import { IFilterState } from "@voplus/morpho-ui/es/data";
|
4
|
+
import { RangeValue } from "rc-picker/es/interface";
|
5
|
+
export declare class State implements IFilterState {
|
6
|
+
dueDate: RangeValue<Moment>;
|
7
|
+
constructor();
|
8
|
+
/** 视乎State内容,返回正确的FilterOption[]. 在Filter时,Context 会使用此属性replace Context内FilterOption的资料。 */
|
9
|
+
get filters(): FilterOption[];
|
10
|
+
reset(): void;
|
11
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import moment from "moment";
|
3
|
+
import { observable } from "mobx";
|
4
|
+
let State = /** @class */ (() => {
|
5
|
+
class State {
|
6
|
+
constructor() {
|
7
|
+
this.reset();
|
8
|
+
}
|
9
|
+
/** 视乎State内容,返回正确的FilterOption[]. 在Filter时,Context 会使用此属性replace Context内FilterOption的资料。 */
|
10
|
+
get filters() {
|
11
|
+
var _a, _b, _c, _d, _e, _f;
|
12
|
+
if (((_a = this.dueDate) === null || _a === void 0 ? void 0 : _a[0]) === null && ((_b = this.dueDate) === null || _b === void 0 ? void 0 : _b[1]) === null)
|
13
|
+
return [];
|
14
|
+
const start = (_d = (_c = this.dueDate) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : moment({ year: 1753, month: 1, day: 1 });
|
15
|
+
const end = (_f = (_e = this.dueDate) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : moment().endOf("year");
|
16
|
+
return [
|
17
|
+
{
|
18
|
+
c: "DueDate",
|
19
|
+
o: "between",
|
20
|
+
l: "And",
|
21
|
+
v1: start.startOf("days").format("YYYY-MM-DD HH:mm:ss"),
|
22
|
+
v2: end.endOf("days").format("YYYY-MM-DD HH:mm:ss")
|
23
|
+
}
|
24
|
+
];
|
25
|
+
}
|
26
|
+
reset() {
|
27
|
+
this.dueDate = [null, null];
|
28
|
+
}
|
29
|
+
}
|
30
|
+
__decorate([
|
31
|
+
observable
|
32
|
+
], State.prototype, "dueDate", void 0);
|
33
|
+
return State;
|
34
|
+
})();
|
35
|
+
export { State };
|
36
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/controls/filters/DueDateFilter/state.ts"],"names":[],"mappings":";AAAA,OAAO,MAAkB,MAAM,QAAQ,CAAC;AAKxC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;IAAA,MAAa,KAAK;QAGjB;YACC,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAED,6FAA6F;QAC7F,IAAW,OAAO;;YACjB,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAG,CAAC,OAAM,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAG,CAAC,OAAM,IAAI;gBAAE,OAAO,EAAE,CAAC;YACxE,MAAM,KAAK,eAAG,IAAI,CAAC,OAAO,0CAAG,CAAC,oCAAK,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5E,MAAM,GAAG,eAAG,IAAI,CAAC,OAAO,0CAAG,CAAC,oCAAK,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO;gBACN;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBACvD,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;iBACnC;aACjB,CAAC;QACH,CAAC;QAEM,KAAK;YACX,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;KACD;IAzBY;QAAX,UAAU;0CAAoC;IAyBhD,YAAC;KAAA;SA1BY,KAAK"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { Badge, DatePicker } from "@voplus/antd";
|
2
|
+
import React from "react";
|
3
|
+
import { State } from "./state";
|
4
|
+
import classnames from "classnames";
|
5
|
+
import { dateMenus } from "@voplus/morpho-ui/es/data/FilterViewContext";
|
6
|
+
import { toJS } from "mobx";
|
7
|
+
import { useFilterOptionsContext } from "@voplus/morpho-ui/es/data";
|
8
|
+
import { useObserver } from "mobx-react-lite";
|
9
|
+
const StartDateFilter = () => {
|
10
|
+
const context = useFilterOptionsContext();
|
11
|
+
const state = context.getFilterState("StartDate", () => new State());
|
12
|
+
return useObserver(() => (React.createElement("div", null,
|
13
|
+
React.createElement("div", { className: "menu-item-title" }, "StartDate"),
|
14
|
+
React.createElement(DatePicker.RangePicker, { value: state.stateDate, suffixIcon: null, className: "filter-date-picker", allowEmpty: [true, true], onChange: dates => (state.stateDate = dates) }),
|
15
|
+
dateMenus.map((item, index) => (React.createElement("div", { key: index, className: classnames("filter-menu-item", {
|
16
|
+
bold: JSON.stringify(toJS(state.stateDate)) === JSON.stringify(item.value)
|
17
|
+
}), onClick: () => (state.stateDate = item.value) },
|
18
|
+
React.createElement("div", { className: "filter-name" }, item.name),
|
19
|
+
item.name === "Today" ? (React.createElement(Badge, { style: item.style, count: item.counts, showZero: true })) : (React.createElement("span", null, item.counts))))))));
|
20
|
+
};
|
21
|
+
export default StartDateFilter;
|
22
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/filters/StartDateFilter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAErE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB;QACC,6BAAK,SAAS,EAAC,iBAAiB,gBAAgB;QAChD,oBAAC,UAAU,CAAC,WAAW,IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,UAAU,EAAE,IAAI,EAChB,SAAS,EAAC,oBAAoB,EAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,GAC3C;QACD,SAAS,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAC5C,6BACC,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE;gBACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1E,CAAC,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YAE7C,6BAAK,SAAS,EAAC,aAAa,IAAE,IAAI,CAAC,IAAI,CAAO;YAC7C,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,SAAG,CACzD,CAAC,CAAC,CAAC,CACH,kCAAO,IAAI,CAAC,MAAM,CAAQ,CAC1B,CACI,CACN,CAAC,CACG,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Moment } from "moment";
|
2
|
+
import { FilterOption } from "@voplus/morpho-data";
|
3
|
+
import { IFilterState } from "@voplus/morpho-ui/es/data";
|
4
|
+
import { RangeValue } from "rc-picker/es/interface";
|
5
|
+
export declare class State implements IFilterState {
|
6
|
+
stateDate: RangeValue<Moment>;
|
7
|
+
constructor();
|
8
|
+
/** 视乎State内容,返回正确的FilterOption[]. 在Filter时,Context 会使用此属性replace Context内FilterOption的资料。 */
|
9
|
+
get filters(): FilterOption[];
|
10
|
+
reset(): void;
|
11
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import moment from "moment";
|
3
|
+
import { observable } from "mobx";
|
4
|
+
let State = /** @class */ (() => {
|
5
|
+
class State {
|
6
|
+
constructor() {
|
7
|
+
this.reset();
|
8
|
+
}
|
9
|
+
/** 视乎State内容,返回正确的FilterOption[]. 在Filter时,Context 会使用此属性replace Context内FilterOption的资料。 */
|
10
|
+
get filters() {
|
11
|
+
var _a, _b, _c, _d, _e, _f;
|
12
|
+
if (((_a = this.stateDate) === null || _a === void 0 ? void 0 : _a[0]) === null && ((_b = this.stateDate) === null || _b === void 0 ? void 0 : _b[1]) === null)
|
13
|
+
return [];
|
14
|
+
const start = (_d = (_c = this.stateDate) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : moment({ year: 1753, month: 1, day: 1 });
|
15
|
+
const end = (_f = (_e = this.stateDate) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : moment().endOf("year");
|
16
|
+
return [
|
17
|
+
{
|
18
|
+
c: "StartDate",
|
19
|
+
o: "between",
|
20
|
+
l: "And",
|
21
|
+
v1: start.startOf("days").format("YYYY-MM-DD HH:mm:ss"),
|
22
|
+
v2: end.endOf("days").format("YYYY-MM-DD HH:mm:ss")
|
23
|
+
}
|
24
|
+
];
|
25
|
+
}
|
26
|
+
reset() {
|
27
|
+
this.stateDate = [null, null];
|
28
|
+
}
|
29
|
+
}
|
30
|
+
__decorate([
|
31
|
+
observable
|
32
|
+
], State.prototype, "stateDate", void 0);
|
33
|
+
return State;
|
34
|
+
})();
|
35
|
+
export { State };
|
36
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/controls/filters/StartDateFilter/state.ts"],"names":[],"mappings":";AAAA,OAAO,MAAkB,MAAM,QAAQ,CAAC;AAKxC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;IAAA,MAAa,KAAK;QAGjB;YACC,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAED,6FAA6F;QAC7F,IAAW,OAAO;;YACjB,IAAI,OAAA,IAAI,CAAC,SAAS,0CAAG,CAAC,OAAM,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,0CAAG,CAAC,OAAM,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC5E,MAAM,KAAK,eAAG,IAAI,CAAC,SAAS,0CAAG,CAAC,oCAAK,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,GAAG,eAAG,IAAI,CAAC,SAAS,0CAAG,CAAC,oCAAK,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO;gBACN;oBACC,CAAC,EAAE,WAAW;oBACd,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBACvD,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;iBACnC;aACjB,CAAC;QACH,CAAC;QAEM,KAAK;YACX,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;KACD;IAzBY;QAAX,UAAU;4CAAsC;IAyBlD,YAAC;KAAA;SA1BY,KAAK"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Badge } from "@voplus/antd";
|
2
|
+
import React from "react";
|
3
|
+
import { State } from "./state";
|
4
|
+
import classnames from "classnames";
|
5
|
+
import { useFilterOptionsContext } from "@voplus/morpho-ui/es/data";
|
6
|
+
import { useObserver } from "mobx-react-lite";
|
7
|
+
const TaskStatusFilter = () => {
|
8
|
+
const context = useFilterOptionsContext();
|
9
|
+
const state = context.getFilterState("Status", () => new State());
|
10
|
+
return useObserver(() => (React.createElement("div", null,
|
11
|
+
React.createElement("div", { className: "menu-item-title" }, "Status"),
|
12
|
+
state.menus.map((item, index) => (React.createElement("div", { key: index, className: classnames("filter-menu-item", {
|
13
|
+
bold: state.status.has(item.value)
|
14
|
+
}), onClick: () => state.onChangeStatus(item.value) },
|
15
|
+
React.createElement("div", { className: "filter-name" },
|
16
|
+
React.createElement(Badge, { color: item.color }),
|
17
|
+
item.name),
|
18
|
+
React.createElement("span", null, item.counts)))))));
|
19
|
+
};
|
20
|
+
export default TaskStatusFilter;
|
21
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/filters/TaskStatusFilter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAElE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB;QACC,6BAAK,SAAS,EAAC,iBAAiB,aAAa;QAC5C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAC9C,6BACC,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE;gBACzC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;aAClC,CAAC,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YAE/C,6BAAK,SAAS,EAAC,aAAa;gBAC3B,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI;gBAC3B,IAAI,CAAC,IAAI,CACL;YACN,kCAAO,IAAI,CAAC,MAAM,CAAQ,CACrB,CACN,CAAC,CACG,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { FilterOption } from "@voplus/morpho-data";
|
2
|
+
import { IFilterState } from "@voplus/morpho-ui/es/data/IFilterState";
|
3
|
+
export declare class State implements IFilterState {
|
4
|
+
/** Status of filter */
|
5
|
+
status: Map<string, boolean>;
|
6
|
+
/** update status */
|
7
|
+
onChangeStatus(value: string): void;
|
8
|
+
get menus(): {
|
9
|
+
name: string;
|
10
|
+
value: string;
|
11
|
+
counts: string;
|
12
|
+
color: string;
|
13
|
+
}[];
|
14
|
+
get filters(): FilterOption[];
|
15
|
+
reset(): void;
|
16
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { action, observable } from "mobx";
|
3
|
+
let State = /** @class */ (() => {
|
4
|
+
class State {
|
5
|
+
constructor() {
|
6
|
+
/** Status of filter */
|
7
|
+
this.status = new Map();
|
8
|
+
}
|
9
|
+
/** update status */
|
10
|
+
onChangeStatus(value) {
|
11
|
+
this.status.has(value) ? this.status.delete(value) : this.status.set(value, true);
|
12
|
+
}
|
13
|
+
get menus() {
|
14
|
+
return [
|
15
|
+
{ name: "Not Assigned", value: "NotAssigned", counts: "n", color: "#e6ad51" },
|
16
|
+
{ name: "Not Started", value: "NotStarted", counts: "n", color: "#ff5c86" },
|
17
|
+
{ name: "Progress", value: "Progress", counts: "n", color: "#4bd8e0" },
|
18
|
+
{ name: "Done", value: "Done", counts: "n", color: "#52c41a" }
|
19
|
+
];
|
20
|
+
}
|
21
|
+
get filters() {
|
22
|
+
if (this.status.size === 0)
|
23
|
+
return [];
|
24
|
+
return [
|
25
|
+
{
|
26
|
+
c: "TaskStatus",
|
27
|
+
o: "contains",
|
28
|
+
v1: JSON.stringify(Array.from(this.status.keys())),
|
29
|
+
l: "And"
|
30
|
+
}
|
31
|
+
];
|
32
|
+
}
|
33
|
+
reset() {
|
34
|
+
this.status.clear();
|
35
|
+
}
|
36
|
+
}
|
37
|
+
__decorate([
|
38
|
+
observable
|
39
|
+
], State.prototype, "status", void 0);
|
40
|
+
__decorate([
|
41
|
+
action
|
42
|
+
], State.prototype, "onChangeStatus", null);
|
43
|
+
return State;
|
44
|
+
})();
|
45
|
+
export { State };
|
46
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/controls/filters/TaskStatusFilter/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAK1C;IAAA,MAAa,KAAK;QAAlB;YACC,uBAAuB;YACJ,WAAM,GAAyB,IAAI,GAAG,EAAE,CAAC;QA8B7D,CAAC;QA5BA,oBAAoB;QAEb,cAAc,CAAC,KAAa;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QAED,IAAW,KAAK;YACf,OAAO;gBACN,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC7E,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3E,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;aAC9D,CAAC;QACH,CAAC;QACD,IAAW,OAAO;YACjB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACtC,OAAO;gBACN;oBACC,CAAC,EAAE,YAAY;oBACf,CAAC,EAAE,UAAU;oBACb,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClD,CAAC,EAAE,KAAK;iBACQ;aACjB,CAAC;QACH,CAAC;QACM,KAAK;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACD;IA9BY;QAAX,UAAU;yCAAiD;IAI5D;QADC,MAAM;+CAGN;IAwBF,YAAC;KAAA;SAhCY,KAAK"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export { default as TaskStatusFilter } from "./TaskStatusFilter";
|
2
|
+
export { default as AssigneeViewFilter } from "./AssigneeViewFilter";
|
3
|
+
export { default as StartDateFilter } from "./StartDateFilter";
|
4
|
+
export { default as DueDateFilter } from "./DueDateFilter";
|
5
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/filters/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
@@ -2,14 +2,13 @@ import "./index.less";
|
|
2
2
|
import { State } from "./state";
|
3
3
|
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
4
4
|
import { BatchHeader, DeleteButton, MoveButton } from "@voplus/morpho-ui/es/components/layout/ListView/headers";
|
5
|
+
import { DueDateFilter, StartDateFilter } from "../../../../controls/filters";
|
5
6
|
import { FilterViewContext, FilterViewContextState } from "@voplus/morpho-ui/es/data/FilterViewContext";
|
6
7
|
import React, { useState } from "react";
|
7
8
|
import { useAutoUpdateListData, useDocumentStore } from "@voplus/morpho-document";
|
8
9
|
import AgendaItem from "./AgendaItem";
|
9
10
|
import AgendaNewForm from "./AgendaNewForm";
|
10
|
-
import
|
11
|
-
import ListView2 from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
12
|
-
import StartDateFilter from "@voplus/morpho-ui/es/controls/FilterView/StartDateFilter";
|
11
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
13
12
|
import classnames from "classnames";
|
14
13
|
import { useAgendaListEffect } from "../../../../data/meeting";
|
15
14
|
import { useDeepMemo } from "@voplus/morpho-data";
|
@@ -32,16 +31,14 @@ const AgendaList = (props) => {
|
|
32
31
|
return useObserver(() => (React.createElement(ListDataContext.Provider, { value: list },
|
33
32
|
React.createElement(FilterViewContext.Provider, { value: filterViewState },
|
34
33
|
React.createElement("div", { className: classnames("agenda-list", props.className) },
|
35
|
-
React.createElement(
|
34
|
+
React.createElement(ListView, { headerProps: {
|
36
35
|
header: (React.createElement(BatchHeader, { viewTitle: "Agenda", buttons: [
|
37
36
|
React.createElement(DeleteButton, { execute: onDelete, key: "DeleteButton" }),
|
38
37
|
React.createElement(MoveButton, { execute: onMove, key: "MoveButton" })
|
39
38
|
] })),
|
40
39
|
addAble: !readonly,
|
41
40
|
filterViewProps: {
|
42
|
-
columns:
|
43
|
-
/* <AssigneeViewFilter key="AssigneeViewFilter" />, */
|
44
|
-
[
|
41
|
+
columns: [
|
45
42
|
React.createElement(StartDateFilter, { key: "StartDateFilter" }),
|
46
43
|
React.createElement(DueDateFilter, { key: "DueDateFilter" })
|
47
44
|
],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/components/AgendaList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAmB,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAEN,eAAe,EACf,sBAAsB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAElF,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,aAAa,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/components/AgendaList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -4,7 +4,7 @@ import QuickViewDialog from "@voplus/morpho-document/es/components/QuickViewDial
|
|
4
4
|
import React from "react";
|
5
5
|
import { useObserver } from "mobx-react-lite";
|
6
6
|
const MeetingQuickViewDialog = (props) => {
|
7
|
-
return useObserver(() => (React.createElement(QuickViewDialog, { id: props.id, exclude: ["Agenda"], visible: props.visible, onCancel: props.onCancel, header: React.createElement(MeetingHeader, { id: props.id, reload: true }) },
|
7
|
+
return useObserver(() => (React.createElement(QuickViewDialog, { id: props.id, exclude: ["Agenda"], visible: props.visible, onCancel: props.onCancel, closeVisible: false, header: React.createElement(MeetingHeader, { id: props.id, reload: true }) },
|
8
8
|
React.createElement(MeetingDescription, { id: props.id }))));
|
9
9
|
};
|
10
10
|
export default MeetingQuickViewDialog;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/components/MeetingQuickViewDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,eAAe,MAAM,uDAAuD,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,sBAAsB,GAAG,CAAC,KAI/B,EAAE,EAAE;IACJ,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,eAAe,IACf,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,CAAC,QAAQ,CAAC,EACnB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,MAAM,EAAE,oBAAC,aAAa,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAI;QAErD,oBAAC,kBAAkB,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAI,CACnB,CAClB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/components/MeetingQuickViewDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,eAAe,MAAM,uDAAuD,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,sBAAsB,GAAG,CAAC,KAI/B,EAAE,EAAE;IACJ,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,eAAe,IACf,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,CAAC,QAAQ,CAAC,EACnB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,YAAY,EAAE,KAAK,EACnB,MAAM,EAAE,oBAAC,aAAa,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAI;QAErD,oBAAC,kBAAkB,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAI,CACnB,CAClB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
@@ -1,7 +1,8 @@
|
|
1
|
+
import { AssigneeViewFilter, DueDateFilter, StartDateFilter } from "../../../../controls/filters";
|
1
2
|
import { FilterViewContext, FilterViewContextState } from "@voplus/morpho-ui/es/data/FilterViewContext";
|
2
3
|
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
3
4
|
import React, { useEffect, useState } from "react";
|
4
|
-
import
|
5
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
5
6
|
import MeetingItem from "../../components/MeetingItem";
|
6
7
|
import MeetingPropertiesView from "../../components/MeetingPropertiesView";
|
7
8
|
import NewMeetingForm from "../../components/NewMeetingForm";
|
@@ -27,12 +28,12 @@ const MeetingList = () => {
|
|
27
28
|
}, []);
|
28
29
|
return useObserver(() => (React.createElement(ListDataContext.Provider, { value: list },
|
29
30
|
React.createElement(FilterViewContext.Provider, { value: filterViewState },
|
30
|
-
React.createElement(
|
31
|
+
React.createElement(ListView, { headerProps: {
|
31
32
|
filterViewProps: {
|
32
33
|
columns: [
|
33
|
-
|
34
|
-
|
35
|
-
|
34
|
+
React.createElement(AssigneeViewFilter, { key: "AssigneeViewFilter" }),
|
35
|
+
React.createElement(StartDateFilter, { key: "StartDateFilter" }),
|
36
|
+
React.createElement(DueDateFilter, { key: "DueDateFilter" })
|
36
37
|
]
|
37
38
|
}
|
38
39
|
}, formViewTitle: "Add Meeting", formView: React.createElement(NewMeetingForm, null), propertiesView: (id) => React.createElement(MeetingPropertiesView, { id: id }), renderItem: ({ item }) => React.createElement(MeetingItem, { id: item.id }) })))));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/pages/MeetingList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/pages/MeetingList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EACN,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,QAAQ,MAAM,2DAA2D,CAAC;AACjF,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,qBAAqB,MAAM,wCAAwC,CAAC;AAC3E,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,WAAW,GAAG,GAAG,EAAE;IACxB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC;IAEvB,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IAEjE,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,0BAA0B;SACpC;KACD,EACD,EAAE,CACF,CAAC;IAEF,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAEvD,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/E,SAAS,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;QACpC,oBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe;YACjD,oBAAC,QAAQ,IACR,WAAW,EAAE;oBACZ,eAAe,EAAE;wBAChB,OAAO,EAAE;4BACR,oBAAC,kBAAkB,IAAC,GAAG,EAAC,oBAAoB,GAAG;4BAC/C,oBAAC,eAAe,IAAC,GAAG,EAAC,iBAAiB,GAAG;4BACzC,oBAAC,aAAa,IAAC,GAAG,EAAC,eAAe,GAAG;yBACrC;qBACD;iBACD,EACD,aAAa,EAAC,aAAa,EAC3B,QAAQ,EAAE,oBAAC,cAAc,OAAG,EAC5B,cAAc,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,oBAAC,qBAAqB,IAAC,EAAE,EAAE,EAAE,GAAI,EACjE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAO,EAAE,EAAE,CAAC,oBAAC,WAAW,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,GAC1D,CAC0B,CACH,CAC3B,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,WAAW,CAAC"}
|
@@ -1,11 +1,13 @@
|
|
1
1
|
import "./index.less";
|
2
|
+
import { AssigneeViewFilter, DueDateFilter, StartDateFilter, TaskStatusFilter } from "../../../../controls/filters";
|
2
3
|
import { BatchHeader, DeleteButton, MoveButton } from "@voplus/morpho-ui/es/components/layout/ListView/headers";
|
3
4
|
import { useTaskListEffect } from "../../../../data/task";
|
4
5
|
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
5
6
|
import React, { useEffect } from "react";
|
6
7
|
import { State } from "./state";
|
7
8
|
import { useAutoUpdateListData, useDocumentStore } from "@voplus/morpho-document";
|
8
|
-
import
|
9
|
+
import { FlagFilter } from "@voplus/morpho-document/es/controls/filters";
|
10
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
9
11
|
import NewTaskForm from "../NewTaskForm";
|
10
12
|
import SubTaskItem from "../TaskItem/SubTaskItem";
|
11
13
|
import classnames from "classnames";
|
@@ -32,19 +34,24 @@ const SubTaskList = (props) => {
|
|
32
34
|
useEffect(() => {
|
33
35
|
state.clearAdd();
|
34
36
|
}, [props.parentId]);
|
35
|
-
console.log(`props.parentId${props.parentId}`);
|
36
37
|
return useObserver(() => (
|
37
38
|
/** 建立新ListView所需Context. */
|
38
39
|
React.createElement(ListDataContext.Provider, { value: list },
|
39
40
|
React.createElement("div", { className: classnames("sub-task-list", props.className) },
|
40
|
-
!state.showMore && (React.createElement(
|
41
|
+
!state.showMore && (React.createElement(ListView, { renderId: props.parentId, headerProps: {
|
41
42
|
header: (React.createElement(BatchHeader, { viewTitle: "Sub-Tasks", buttons: [
|
42
43
|
React.createElement(DeleteButton, { execute: onDelete, key: "DeleteButton" }),
|
43
44
|
React.createElement(MoveButton, { execute: onMove, key: "MoveButton" })
|
44
45
|
] })),
|
45
46
|
addAble: !readonly,
|
46
47
|
filterViewProps: {
|
47
|
-
columns: [
|
48
|
+
columns: [
|
49
|
+
React.createElement(TaskStatusFilter, { key: "TaskStatusFilter" }),
|
50
|
+
React.createElement(FlagFilter, { key: "FlagFilter" }),
|
51
|
+
React.createElement(AssigneeViewFilter, { key: "AssigneeViewFilter" }),
|
52
|
+
React.createElement(StartDateFilter, { key: "StartDateFilter" }),
|
53
|
+
React.createElement(DueDateFilter, { key: "DueDateFilter" })
|
54
|
+
]
|
48
55
|
},
|
49
56
|
onAdd: () => (state.addAble = !state.addAble)
|
50
57
|
}, moveAfter: moveAfter, renderItem: ({ item, connectDragSource, multiple }) => (React.createElement(SubTaskItem, { id: item.id, multiple: multiple, reload: !!readonly, connectDragSource: connectDragSource })) })),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/SubTaskList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAS,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,EAAE,SAAS,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/SubTaskList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -4,7 +4,7 @@ import TaskDescription from "../TaskDescription";
|
|
4
4
|
import TaskHeader from "../TaskHeader";
|
5
5
|
import { useObserver } from "mobx-react-lite";
|
6
6
|
const TaskQuickViewDialog = (props) => {
|
7
|
-
return useObserver(() => (React.createElement(QuickViewDialog, { id: props.id, exclude: ["Task"], visible: props.visible, onCancel: props.onCancel, header: React.createElement(TaskHeader, { id: props.id, reload: true }) },
|
7
|
+
return useObserver(() => (React.createElement(QuickViewDialog, { id: props.id, exclude: ["Task"], visible: props.visible, closeVisible: false, onCancel: props.onCancel, header: React.createElement(TaskHeader, { id: props.id, reload: true }) },
|
8
8
|
React.createElement(TaskDescription, { id: props.id }))));
|
9
9
|
};
|
10
10
|
export default TaskQuickViewDialog;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskQuickViewDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,uDAAuD,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,mBAAmB,GAAG,CAAC,KAA+D,EAAE,EAAE;IAC/F,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,eAAe,IACf,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,CAAC,MAAM,CAAC,EACjB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,MAAM,EAAE,oBAAC,UAAU,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAI;QAElD,oBAAC,eAAe,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAI,CAChB,CAClB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskQuickViewDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,uDAAuD,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,mBAAmB,GAAG,CAAC,KAA+D,EAAE,EAAE;IAC/F,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,eAAe,IACf,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,CAAC,MAAM,CAAC,EACjB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,MAAM,EAAE,oBAAC,UAAU,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAI;QAElD,oBAAC,eAAe,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAI,CAChB,CAClB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
@@ -1,19 +1,20 @@
|
|
1
|
+
import { AssigneeViewFilter, DueDateFilter, StartDateFilter, TaskStatusFilter } from "../../../../controls/filters";
|
1
2
|
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
2
3
|
import { useAutoUpdateListData, useDocumentStore } from "@voplus/morpho-document";
|
3
|
-
import { useTabItem } from "@voplus/morpho-data";
|
4
4
|
import DefaultTaskItem from "../../components/TaskItem/DefaultTaskItem";
|
5
|
-
import
|
5
|
+
import { FlagFilter } from "@voplus/morpho-document/es/controls/filters";
|
6
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
6
7
|
import NewTaskForm from "../../components/NewTaskForm";
|
7
8
|
import React from "react";
|
8
9
|
import TaskPropertiesView from "../../components/TaskPropertiesView";
|
9
10
|
import { useObserver } from "mobx-react-lite";
|
10
11
|
import { useRenderOnChange } from "@voplus/morpho-ui";
|
12
|
+
import { useTabItem } from "@voplus/morpho-data";
|
11
13
|
import { useTaskListEffect } from "../../../../data/task/hooks";
|
12
14
|
const TaskList = () => {
|
13
15
|
const tab = useTabItem();
|
14
16
|
tab.title = "Tasks";
|
15
17
|
const documents = useDocumentStore();
|
16
|
-
// const state = useDeepMemo(() => new State(), []);
|
17
18
|
const list = useCreateListDataState({
|
18
19
|
filterDefaults: {
|
19
20
|
includes: "tags,task-number-reports"
|
@@ -26,12 +27,14 @@ const TaskList = () => {
|
|
26
27
|
/** 把ListDataState传给useTaskListEffect,使之可以自動更新loading, hasmore. */
|
27
28
|
useTaskListEffect(list, result => list.union(result), list.filters.options);
|
28
29
|
return useObserver(() => (React.createElement(ListDataContext.Provider, { value: list },
|
29
|
-
React.createElement(
|
30
|
+
React.createElement(ListView, { headerProps: {
|
30
31
|
filterViewProps: {
|
31
32
|
columns: [
|
32
|
-
|
33
|
-
|
34
|
-
|
33
|
+
React.createElement(TaskStatusFilter, { key: "TaskStatusFilter" }),
|
34
|
+
React.createElement(FlagFilter, { key: "FlagFilter" }),
|
35
|
+
React.createElement(AssigneeViewFilter, { key: "AssigneeViewFilter" }),
|
36
|
+
React.createElement(StartDateFilter, { key: "StartDateFilter" }),
|
37
|
+
React.createElement(DueDateFilter, { key: "DueDateFilter" })
|
35
38
|
]
|
36
39
|
}
|
37
40
|
}, formViewTitle: "Add Task", formView: React.createElement(NewTaskForm, { showView: true }), propertiesView: id => React.createElement(TaskPropertiesView, { id: id }), moveAfter: moveAfter, renderItem: ({ item, connectDragSource }) => (React.createElement(DefaultTaskItem, { id: item.id, connectDragSource: connectDragSource })) }))));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/pages/TaskList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/pages/TaskList/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@voplus/morpho-workspace",
|
3
|
-
"version": "1.1.0-
|
3
|
+
"version": "1.1.0-dev018",
|
4
4
|
"description": "morpho workspace module",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -43,14 +43,14 @@
|
|
43
43
|
"@voplus/morpho-collaboration": "^1.0.0-dev024",
|
44
44
|
"@voplus/morpho-config": "^1.0.0-dev50",
|
45
45
|
"@voplus/morpho-data": "^1.0.0-dev097",
|
46
|
-
"@voplus/morpho-document": "^1.0.0-
|
46
|
+
"@voplus/morpho-document": "^1.0.0-dev238",
|
47
47
|
"@voplus/morpho-org": "^1.0.0-dev032-antd4",
|
48
48
|
"@voplus/morpho-text": "^1.0.0-dev016",
|
49
49
|
"@voplus/morpho-ui": "^1.0.0-dev115",
|
50
50
|
"draft-js": "^0.11.5",
|
51
51
|
"mobx": "^5.15.4",
|
52
52
|
"mobx-react-lite": "^1.5.1",
|
53
|
-
"mobx-utils": "^5.
|
53
|
+
"mobx-utils": "^5.6.0",
|
54
54
|
"mockjs": "^1.1.0",
|
55
55
|
"react": "^16.13.1",
|
56
56
|
"react-dnd": "^9.5.1",
|
@@ -1,41 +0,0 @@
|
|
1
|
-
import "./index.less";
|
2
|
-
import { useContactListEffect } from "@voplus/morpho-org";
|
3
|
-
import React, { useState } from "react";
|
4
|
-
import AvatarItem from "@voplus/morpho-document/es/components/AvatarList/AvatarItem";
|
5
|
-
import { CloseOutlined } from "@ant-design/icons";
|
6
|
-
import { Select } from "@voplus/antd";
|
7
|
-
import classnames from "classnames";
|
8
|
-
import { useFilterViewContext } from "@voplus/morpho-ui/es/data/FilterViewContext";
|
9
|
-
import { useObserver } from "mobx-react-lite";
|
10
|
-
const AssigneeView = () => {
|
11
|
-
const fvContext = useFilterViewContext();
|
12
|
-
const [items, setItems] = useState([]);
|
13
|
-
const [value, setValue] = useState([]);
|
14
|
-
useContactListEffect(list => {
|
15
|
-
setItems(list);
|
16
|
-
});
|
17
|
-
return useObserver(() => (React.createElement("div", { className: "assignee-view" },
|
18
|
-
React.createElement("div", { className: "menu-item-title" }, "AssigneeView"),
|
19
|
-
React.createElement(Select, { value: value, showSearch: true, placeholder: "Input or select contact.", filterOption: filterItems, optionLabelProp: "title", onSelect: selectOnSelect, style: { width: 160 } }, items.map(i => (React.createElement(Select.Option, { key: i.id, value: i.id, title: i.name }, i.name)))),
|
20
|
-
fvContext.customize.members.map((item, index) => (React.createElement("div", { key: item.id, className: classnames("assignee-view-item", {
|
21
|
-
bold: fvContext.customize.members.some(({ id }) => id === item.id)
|
22
|
-
}) },
|
23
|
-
React.createElement(AvatarItem, { id: item.id, index: index, showName: true }),
|
24
|
-
React.createElement(CloseOutlined, { onClick: selectCancelSelect.bind(event, item) })))))));
|
25
|
-
function filterItems(input, option) {
|
26
|
-
return option.title.toLowerCase().includes(input.toLowerCase());
|
27
|
-
}
|
28
|
-
function selectCancelSelect(item) {
|
29
|
-
fvContext.customize.members = fvContext.customize.members.filter((member) => member.id !== item.id);
|
30
|
-
setValue(fvContext.customize.members.map(({ id }) => id));
|
31
|
-
}
|
32
|
-
function selectOnSelect(id) {
|
33
|
-
const item = items.find(x => x.id === id);
|
34
|
-
if (fvContext.customize.members.some(({ id }) => id === item.id))
|
35
|
-
return;
|
36
|
-
fvContext.customize.members.push(item);
|
37
|
-
setValue(fvContext.customize.members.map(({ id }) => id));
|
38
|
-
}
|
39
|
-
};
|
40
|
-
export default AssigneeView;
|
41
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/AssigneeViewFilter/index.tsx"],"names":[],"mappings":"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"}
|
File without changes
|
File without changes
|