@progress/kendo-react-taskboard 9.0.0-develop.2 → 9.0.0-develop.20
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/README.md +20 -18
- package/TaskBoard.mjs +124 -125
- package/TaskBoardAddCard.mjs +32 -8
- package/TaskBoardCardBase.mjs +28 -7
- package/TaskBoardColumnBase.mjs +47 -27
- package/TaskBoardEditCard.mjs +32 -8
- package/TaskBoardTaskEditPane.mjs +28 -46
- package/card/CardHeader.mjs +18 -9
- package/hooks/taskEditing.mjs +14 -4
- package/index.d.mts +3 -3
- package/index.d.ts +3 -3
- package/package-metadata.mjs +1 -1
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -5,14 +5,16 @@
|
|
|
5
5
|
# KendoReact TaskBoard Library for React
|
|
6
6
|
|
|
7
7
|
> **Important**
|
|
8
|
-
>
|
|
9
|
-
>
|
|
10
|
-
>
|
|
11
|
-
>
|
|
8
|
+
>
|
|
9
|
+
> - This package is а part of [KendoReact](https://www.telerik.com/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)—a commercial UI library.
|
|
10
|
+
> - You will need to install a license key when adding the package to your project. For more information, please refer to the [KendoReact My License page](https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard).
|
|
11
|
+
> - To receive a license key, you need to either [purchase a license](https://www.telerik.com/kendo-react-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard) or register for a [free trial](https://www.telerik.com/try/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard). Doing so indicates that you [accept the KendoReact License Agreement](https://www.telerik.com/purchase/license-agreement/progress-kendoreact?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard).
|
|
12
|
+
> - The 30-day free trial gives you access to all the KendoReact components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the KendoReact dev team!
|
|
12
13
|
>
|
|
13
14
|
> [Start using KendoReact](https://www.telerik.com/try/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard) and speed up your development process!
|
|
14
15
|
|
|
15
16
|
The [React TaskBoard library](https://www.telerik.com/kendo-react-ui/taskboard), part of KendoReact, represents popups with information that is related to a UI element. They get displayed when the user clicks or hovers over this UI element.
|
|
17
|
+
|
|
16
18
|
## React TaskBoard
|
|
17
19
|
|
|
18
20
|
Among the features which the KendoReact TaskBoard component delivers are:
|
|
@@ -21,25 +23,25 @@ Among the features which the KendoReact TaskBoard component delivers are:
|
|
|
21
23
|
|
|
22
24
|
For any issues you might encounter while working with the KendoReact TaskBoard, use any of the available support channels:
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
- Industry-leading technical support—KendoReact paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use [the dedicated KendoReact support system](https://www.telerik.com/account/support-tickets?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-listview).
|
|
27
|
+
- Product forums—The [KendoReact forums](https://www.telerik.com/forums/kendo-ui-react?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-listview) are part of the free support you can get from the community and from the KendoReact team.
|
|
28
|
+
- Feedback portal—The [KendoReact feedback portal](https://feedback.telerik.com/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard) is where you can request and vote for new features to be added.
|
|
27
29
|
|
|
28
30
|
## Resources
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
- [Getting Started with KendoReact](https://www.telerik.com/kendo-react-ui/components/getting-started/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
33
|
+
- [Get Started with the KendoReact TaskBoard](https://www.telerik.com/kendo-react-ui/components/taskboard/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
34
|
+
- [API Reference of the KendoReact TaskBoard](https://www.telerik.com/kendo-react-ui/components/taskboard/api/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
35
|
+
- [KendoReact Roadmap](https://www.telerik.com/support/whats-new/kendo-react-ui/roadmap?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
36
|
+
- [Blogs](https://www.telerik.com/blogs/tag/kendoreact?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
37
|
+
- [Demos, documentation, and component reference](https://www.telerik.com/kendo-react-ui/components/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
38
|
+
- [KendoReact pricing and licensing](https://www.telerik.com/kendo-react-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
39
|
+
- [Changelog](https://www.telerik.com/kendo-react-ui/components/changelogs/ui-for-react/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard)
|
|
38
40
|
|
|
39
41
|
High-level component overview pages
|
|
40
42
|
|
|
41
|
-
|
|
43
|
+
- [React TaskBoard Component](https://www.telerik.com/kendo-react-ui/taskboard)
|
|
42
44
|
|
|
43
|
-
|
|
45
|
+
_Copyright © 2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved._
|
|
44
46
|
|
|
45
|
-
|
|
47
|
+
_Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries._
|
package/TaskBoard.mjs
CHANGED
|
@@ -20,7 +20,9 @@ const V = e.forwardRef((c, W) => {
|
|
|
20
20
|
it(rt);
|
|
21
21
|
const { columnData: f = [], className: Z, style: $, id: tt, taskData: l = [], onChange: d } = c, K = e.useRef(null), L = e.useRef(null);
|
|
22
22
|
e.useImperativeHandle(K, () => ({ props: c })), e.useImperativeHandle(W, () => K.current);
|
|
23
|
-
const et = e.Children.toArray(c.children).filter(
|
|
23
|
+
const et = e.Children.toArray(c.children).filter(
|
|
24
|
+
(t) => t && t.type && t.type.displayName === "KendoReactTaskBoardToolbar"
|
|
25
|
+
), M = e.useRef(null), p = e.useRef(null), x = e.useRef(null), [C, w] = e.useState(null), [D, A] = e.useState(null), [T, P] = e.useState({ top: 0, left: 0 }), [nt, X] = e.useState(), N = e.useRef(null), Y = e.useRef(null), b = e.useMemo(() => {
|
|
24
26
|
const t = {};
|
|
25
27
|
return (C || l).forEach((a) => {
|
|
26
28
|
const n = a.status;
|
|
@@ -97,137 +99,134 @@ const V = e.forwardRef((c, W) => {
|
|
|
97
99
|
}
|
|
98
100
|
},
|
|
99
101
|
[D, C, f, b]
|
|
100
|
-
), ot = e.useCallback(
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
[D, C, d]
|
|
117
|
-
);
|
|
102
|
+
), ot = e.useCallback(() => {
|
|
103
|
+
const t = p.current;
|
|
104
|
+
if (d && t) {
|
|
105
|
+
const n = (t.type === I ? D : C) || [], s = n[t.index];
|
|
106
|
+
delete s.isPlaceholder;
|
|
107
|
+
const r = {
|
|
108
|
+
data: n,
|
|
109
|
+
type: t.type,
|
|
110
|
+
previousItem: { ...t.item, index: nt },
|
|
111
|
+
item: { ...s, index: t.index }
|
|
112
|
+
};
|
|
113
|
+
d.call(void 0, r);
|
|
114
|
+
}
|
|
115
|
+
p.current = null, x.current = null, w(null), A(null), P({ top: 0, left: 0 }), X(void 0);
|
|
116
|
+
}, [D, C, d]);
|
|
118
117
|
ct(M, {
|
|
119
118
|
onDragStart: at,
|
|
120
119
|
onDrag: st,
|
|
121
120
|
onDragEnd: ot
|
|
122
121
|
});
|
|
123
|
-
const o = p.current, H = e.useCallback(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const n = l.slice(), s = l.indexOf(a);
|
|
133
|
-
s !== -1 && n.splice(s, 1, t);
|
|
134
|
-
const r = {
|
|
135
|
-
data: n,
|
|
136
|
-
type: B,
|
|
137
|
-
previousItem: a,
|
|
138
|
-
item: t
|
|
139
|
-
};
|
|
140
|
-
d.call(void 0, r);
|
|
141
|
-
}, [d, l]), q = e.useCallback((t) => {
|
|
142
|
-
const n = {
|
|
143
|
-
data: l.filter((s) => s !== t),
|
|
144
|
-
type: B,
|
|
145
|
-
previousItem: t,
|
|
146
|
-
item: null
|
|
147
|
-
};
|
|
148
|
-
d.call(void 0, n);
|
|
149
|
-
}, [d, l]), z = e.useCallback((t, a) => {
|
|
150
|
-
const n = f.slice(), s = n.indexOf(a);
|
|
151
|
-
s !== -1 && (t ? n.splice(s, 1, t) : n.splice(s, 1));
|
|
152
|
-
const r = {
|
|
153
|
-
data: n,
|
|
154
|
-
type: I,
|
|
155
|
-
previousItem: a,
|
|
156
|
-
item: t
|
|
157
|
-
};
|
|
158
|
-
d.call(void 0, r);
|
|
159
|
-
}, [d, f]);
|
|
160
|
-
return /* @__PURE__ */ e.createElement(
|
|
161
|
-
"div",
|
|
162
|
-
{
|
|
163
|
-
id: tt,
|
|
164
|
-
style: $,
|
|
165
|
-
ref: L,
|
|
166
|
-
className: lt("k-taskboard", Z)
|
|
122
|
+
const o = p.current, H = e.useCallback(
|
|
123
|
+
(t) => {
|
|
124
|
+
const n = {
|
|
125
|
+
data: [...l, t],
|
|
126
|
+
type: B,
|
|
127
|
+
previousItem: null,
|
|
128
|
+
item: t
|
|
129
|
+
};
|
|
130
|
+
d.call(void 0, n);
|
|
167
131
|
},
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
o && o.type === I && /* @__PURE__ */ e.createElement(
|
|
207
|
-
G,
|
|
208
|
-
{
|
|
209
|
-
elementRef: Y,
|
|
210
|
-
style: {
|
|
211
|
-
position: "absolute",
|
|
212
|
-
width: o.width,
|
|
213
|
-
height: o.height,
|
|
214
|
-
top: T.top,
|
|
215
|
-
left: T.left,
|
|
216
|
-
zIndex: 10
|
|
217
|
-
},
|
|
218
|
-
cardComponent: c.card || O,
|
|
219
|
-
columnComponent: c.column || Q,
|
|
220
|
-
column: o.item,
|
|
221
|
-
tasks: b[o.item.status],
|
|
222
|
-
priorities: c.priorities,
|
|
223
|
-
dragTargetRef: p,
|
|
224
|
-
onTaskDelete: q,
|
|
225
|
-
onColumnChange: z,
|
|
226
|
-
onTaskEdit: _,
|
|
227
|
-
onTaskCreate: H
|
|
228
|
-
}
|
|
229
|
-
)
|
|
132
|
+
[d, l]
|
|
133
|
+
), _ = e.useCallback(
|
|
134
|
+
(t, a) => {
|
|
135
|
+
const n = l.slice(), s = l.indexOf(a);
|
|
136
|
+
s !== -1 && n.splice(s, 1, t);
|
|
137
|
+
const r = {
|
|
138
|
+
data: n,
|
|
139
|
+
type: B,
|
|
140
|
+
previousItem: a,
|
|
141
|
+
item: t
|
|
142
|
+
};
|
|
143
|
+
d.call(void 0, r);
|
|
144
|
+
},
|
|
145
|
+
[d, l]
|
|
146
|
+
), q = e.useCallback(
|
|
147
|
+
(t) => {
|
|
148
|
+
const n = {
|
|
149
|
+
data: l.filter((s) => s !== t),
|
|
150
|
+
type: B,
|
|
151
|
+
previousItem: t,
|
|
152
|
+
item: null
|
|
153
|
+
};
|
|
154
|
+
d.call(void 0, n);
|
|
155
|
+
},
|
|
156
|
+
[d, l]
|
|
157
|
+
), z = e.useCallback(
|
|
158
|
+
(t, a) => {
|
|
159
|
+
const n = f.slice(), s = n.indexOf(a);
|
|
160
|
+
s !== -1 && (t ? n.splice(s, 1, t) : n.splice(s, 1));
|
|
161
|
+
const r = {
|
|
162
|
+
data: n,
|
|
163
|
+
type: I,
|
|
164
|
+
previousItem: a,
|
|
165
|
+
item: t
|
|
166
|
+
};
|
|
167
|
+
d.call(void 0, r);
|
|
168
|
+
},
|
|
169
|
+
[d, f]
|
|
230
170
|
);
|
|
171
|
+
return /* @__PURE__ */ e.createElement("div", { id: tt, style: $, ref: L, className: lt("k-taskboard", Z) }, et, /* @__PURE__ */ e.createElement("div", { className: "k-taskboard-content", style: o ? { userSelect: "none" } : void 0 }, /* @__PURE__ */ e.createElement("div", { className: "k-taskboard-columns-container", ref: M }, (D || f).map((t) => /* @__PURE__ */ e.createElement(
|
|
172
|
+
G,
|
|
173
|
+
{
|
|
174
|
+
key: t.id,
|
|
175
|
+
tabIndex: c.tabIndex,
|
|
176
|
+
column: t,
|
|
177
|
+
tasks: b[t.status] || [],
|
|
178
|
+
dragTargetRef: p,
|
|
179
|
+
onTaskCreate: H,
|
|
180
|
+
onTaskEdit: _,
|
|
181
|
+
onTaskDelete: q,
|
|
182
|
+
onColumnChange: z,
|
|
183
|
+
columnComponent: c.column || Q,
|
|
184
|
+
cardComponent: c.card || O,
|
|
185
|
+
priorities: c.priorities
|
|
186
|
+
}
|
|
187
|
+
)))), o && o.type === B && /* @__PURE__ */ e.createElement(
|
|
188
|
+
dt,
|
|
189
|
+
{
|
|
190
|
+
elementRef: N,
|
|
191
|
+
style: {
|
|
192
|
+
position: "absolute",
|
|
193
|
+
width: o.width,
|
|
194
|
+
height: o.height,
|
|
195
|
+
top: T.top,
|
|
196
|
+
left: T.left,
|
|
197
|
+
zIndex: 10,
|
|
198
|
+
borderLeftColor: o.item.priority ? o.item.priority.color : o.item.color
|
|
199
|
+
},
|
|
200
|
+
task: o.item,
|
|
201
|
+
dragTargetRef: p,
|
|
202
|
+
cardComponent: c.card || O,
|
|
203
|
+
onDeleteTask: j,
|
|
204
|
+
showEditPane: j
|
|
205
|
+
}
|
|
206
|
+
), o && o.type === I && /* @__PURE__ */ e.createElement(
|
|
207
|
+
G,
|
|
208
|
+
{
|
|
209
|
+
elementRef: Y,
|
|
210
|
+
style: {
|
|
211
|
+
position: "absolute",
|
|
212
|
+
width: o.width,
|
|
213
|
+
height: o.height,
|
|
214
|
+
top: T.top,
|
|
215
|
+
left: T.left,
|
|
216
|
+
zIndex: 10
|
|
217
|
+
},
|
|
218
|
+
cardComponent: c.card || O,
|
|
219
|
+
columnComponent: c.column || Q,
|
|
220
|
+
column: o.item,
|
|
221
|
+
tasks: b[o.item.status],
|
|
222
|
+
priorities: c.priorities,
|
|
223
|
+
dragTargetRef: p,
|
|
224
|
+
onTaskDelete: q,
|
|
225
|
+
onColumnChange: z,
|
|
226
|
+
onTaskEdit: _,
|
|
227
|
+
onTaskCreate: H
|
|
228
|
+
}
|
|
229
|
+
));
|
|
231
230
|
});
|
|
232
231
|
V.propTypes = {
|
|
233
232
|
columnData: F.array.isRequired,
|
package/TaskBoardAddCard.mjs
CHANGED
|
@@ -16,14 +16,38 @@ const c = (e) => {
|
|
|
16
16
|
e.editPane,
|
|
17
17
|
{
|
|
18
18
|
header: t.toLanguageString(i, a[i]),
|
|
19
|
-
titleInputTitle: t.toLanguageString(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
titleInputTitle: t.toLanguageString(
|
|
20
|
+
o,
|
|
21
|
+
a[o]
|
|
22
|
+
),
|
|
23
|
+
descriptionInputTitle: t.toLanguageString(
|
|
24
|
+
r,
|
|
25
|
+
a[r]
|
|
26
|
+
),
|
|
27
|
+
priorityDropDownTitle: t.toLanguageString(
|
|
28
|
+
n,
|
|
29
|
+
a[n]
|
|
30
|
+
),
|
|
31
|
+
titleLabel: t.toLanguageString(
|
|
32
|
+
d,
|
|
33
|
+
a[d]
|
|
34
|
+
),
|
|
35
|
+
descriptionLabel: t.toLanguageString(
|
|
36
|
+
g,
|
|
37
|
+
a[g]
|
|
38
|
+
),
|
|
39
|
+
priorityLabel: t.toLanguageString(
|
|
40
|
+
s,
|
|
41
|
+
a[s]
|
|
42
|
+
),
|
|
43
|
+
saveButton: t.toLanguageString(
|
|
44
|
+
l,
|
|
45
|
+
a[l]
|
|
46
|
+
),
|
|
47
|
+
cancelButton: t.toLanguageString(
|
|
48
|
+
L,
|
|
49
|
+
a[L]
|
|
50
|
+
),
|
|
27
51
|
priorities: e.priorities,
|
|
28
52
|
onSave: T,
|
|
29
53
|
onClose: e.onClose,
|
package/TaskBoardCardBase.mjs
CHANGED
|
@@ -73,13 +73,34 @@ const v = (n) => {
|
|
|
73
73
|
showTaskPreviewPane: E,
|
|
74
74
|
menuItems: M,
|
|
75
75
|
popupRef: d,
|
|
76
|
-
confirmDialogMessage: e.toLanguageString(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
76
|
+
confirmDialogMessage: e.toLanguageString(
|
|
77
|
+
D,
|
|
78
|
+
t[D]
|
|
79
|
+
),
|
|
80
|
+
confirmDialogTitle: e.toLanguageString(
|
|
81
|
+
T,
|
|
82
|
+
t[T]
|
|
83
|
+
),
|
|
84
|
+
confirmDialogConfirmButton: e.toLanguageString(
|
|
85
|
+
w,
|
|
86
|
+
t[w]
|
|
87
|
+
),
|
|
88
|
+
confirmDialogCancelButton: e.toLanguageString(
|
|
89
|
+
P,
|
|
90
|
+
t[P]
|
|
91
|
+
),
|
|
92
|
+
previewDialogPriorityLabel: e.toLanguageString(
|
|
93
|
+
C,
|
|
94
|
+
t[C]
|
|
95
|
+
),
|
|
96
|
+
previewDialogDelete: e.toLanguageString(
|
|
97
|
+
h,
|
|
98
|
+
t[h]
|
|
99
|
+
),
|
|
100
|
+
previewDialogEdit: e.toLanguageString(
|
|
101
|
+
S,
|
|
102
|
+
t[S]
|
|
103
|
+
),
|
|
83
104
|
onShowPreviewPane: f,
|
|
84
105
|
onClosePreviewPane: A,
|
|
85
106
|
onMenuItemSelect: R,
|
package/TaskBoardColumnBase.mjs
CHANGED
|
@@ -18,20 +18,13 @@ import { TaskBoardEditCard as U } from "./TaskBoardEditCard.mjs";
|
|
|
18
18
|
import { TaskBoardAddCard as W } from "./TaskBoardAddCard.mjs";
|
|
19
19
|
import { TaskBoardCardBase as X } from "./TaskBoardCardBase.mjs";
|
|
20
20
|
const L = (a) => {
|
|
21
|
-
const [p, s] = t.useState(!1), [A, m] = t.useState(!1), [u, R] = t.useState(!1), [P, x] = t.useState(), {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
onTaskCreate: g,
|
|
29
|
-
onTaskEdit: f,
|
|
30
|
-
onTaskDelete: k
|
|
31
|
-
} = a, r = _(), M = t.useCallback((e) => {
|
|
32
|
-
const d = { ...o, title: e.value };
|
|
33
|
-
n.call(void 0, d, o);
|
|
34
|
-
}, [o, n]), N = t.useCallback(() => {
|
|
21
|
+
const [p, s] = t.useState(!1), [A, m] = t.useState(!1), [u, R] = t.useState(!1), [P, x] = t.useState(), { dragTargetRef: l, column: o, onColumnChange: n, tasks: c, elementRef: I, style: C, onTaskCreate: g, onTaskEdit: f, onTaskDelete: k } = a, r = _(), M = t.useCallback(
|
|
22
|
+
(e) => {
|
|
23
|
+
const d = { ...o, title: e.value };
|
|
24
|
+
n.call(void 0, d, o);
|
|
25
|
+
},
|
|
26
|
+
[o, n]
|
|
27
|
+
), N = t.useCallback(() => {
|
|
35
28
|
const e = { ...o, edit: !0 };
|
|
36
29
|
n.call(void 0, e, o);
|
|
37
30
|
}, [o, n]), j = t.useCallback(() => {
|
|
@@ -47,13 +40,22 @@ const L = (a) => {
|
|
|
47
40
|
m(!0), x(e);
|
|
48
41
|
}, O = () => {
|
|
49
42
|
s(!1), m(!1);
|
|
50
|
-
}, V = t.useCallback(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
43
|
+
}, V = t.useCallback(
|
|
44
|
+
(e) => {
|
|
45
|
+
s(!1), g.call(void 0, { ...e, status: o.status });
|
|
46
|
+
},
|
|
47
|
+
[g, o]
|
|
48
|
+
), q = t.useCallback(
|
|
49
|
+
(e, d) => {
|
|
50
|
+
m(!1), f.call(void 0, e, d);
|
|
51
|
+
},
|
|
52
|
+
[f]
|
|
53
|
+
), B = t.useCallback(
|
|
54
|
+
(e) => {
|
|
55
|
+
k.call(void 0, e);
|
|
56
|
+
},
|
|
57
|
+
[k]
|
|
58
|
+
);
|
|
57
59
|
if (o.isPlaceholder && l && l.current) {
|
|
58
60
|
const e = l.current ? l.current.width : 0, d = l.current ? l.current.height : 0;
|
|
59
61
|
return /* @__PURE__ */ t.createElement(
|
|
@@ -95,13 +97,31 @@ const L = (a) => {
|
|
|
95
97
|
showEditCard: A,
|
|
96
98
|
showColumnConfirmDelete: u,
|
|
97
99
|
editedTask: P,
|
|
98
|
-
confirmDialogMessage: r.toLanguageString(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
confirmDialogMessage: r.toLanguageString(
|
|
101
|
+
b,
|
|
102
|
+
i[b]
|
|
103
|
+
),
|
|
104
|
+
confirmDialogTitle: r.toLanguageString(
|
|
105
|
+
h,
|
|
106
|
+
i[h]
|
|
107
|
+
),
|
|
108
|
+
confirmDialogConfirmButton: r.toLanguageString(
|
|
109
|
+
E,
|
|
110
|
+
i[E]
|
|
111
|
+
),
|
|
112
|
+
confirmDialogCancelButton: r.toLanguageString(
|
|
113
|
+
w,
|
|
114
|
+
i[w]
|
|
115
|
+
),
|
|
116
|
+
editButtonTitle: r.toLanguageString(
|
|
117
|
+
S,
|
|
118
|
+
i[S]
|
|
119
|
+
),
|
|
103
120
|
addButtonTitle: r.toLanguageString(v, i[v]),
|
|
104
|
-
closeButtonTitle: r.toLanguageString(
|
|
121
|
+
closeButtonTitle: r.toLanguageString(
|
|
122
|
+
y,
|
|
123
|
+
i[y]
|
|
124
|
+
)
|
|
105
125
|
},
|
|
106
126
|
c && c.map((e) => /* @__PURE__ */ t.createElement(
|
|
107
127
|
X,
|
package/TaskBoardEditCard.mjs
CHANGED
|
@@ -16,16 +16,40 @@ const c = (e) => {
|
|
|
16
16
|
e.editPane,
|
|
17
17
|
{
|
|
18
18
|
header: t.toLanguageString(i, a[i]) + e.task.title,
|
|
19
|
-
titleInputTitle: t.toLanguageString(
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
titleInputTitle: t.toLanguageString(
|
|
20
|
+
n,
|
|
21
|
+
a[n]
|
|
22
|
+
),
|
|
23
|
+
descriptionInputTitle: t.toLanguageString(
|
|
24
|
+
o,
|
|
25
|
+
a[o]
|
|
26
|
+
),
|
|
27
|
+
priorityDropDownTitle: t.toLanguageString(
|
|
28
|
+
r,
|
|
29
|
+
a[r]
|
|
30
|
+
),
|
|
22
31
|
task: e.task,
|
|
23
|
-
saveButton: t.toLanguageString(
|
|
24
|
-
|
|
32
|
+
saveButton: t.toLanguageString(
|
|
33
|
+
d,
|
|
34
|
+
a[d]
|
|
35
|
+
),
|
|
36
|
+
cancelButton: t.toLanguageString(
|
|
37
|
+
s,
|
|
38
|
+
a[s]
|
|
39
|
+
),
|
|
25
40
|
priorities: e.priorities,
|
|
26
|
-
titleLabel: t.toLanguageString(
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
titleLabel: t.toLanguageString(
|
|
42
|
+
g,
|
|
43
|
+
a[g]
|
|
44
|
+
),
|
|
45
|
+
descriptionLabel: t.toLanguageString(
|
|
46
|
+
l,
|
|
47
|
+
a[l]
|
|
48
|
+
),
|
|
49
|
+
priorityLabel: t.toLanguageString(
|
|
50
|
+
L,
|
|
51
|
+
a[L]
|
|
52
|
+
),
|
|
29
53
|
onSave: S,
|
|
30
54
|
onClose: e.onClose,
|
|
31
55
|
onTitleChange: u,
|
|
@@ -14,54 +14,36 @@ import { Label as i } from "@progress/kendo-react-labels";
|
|
|
14
14
|
import { FieldWrapper as n } from "@progress/kendo-react-form";
|
|
15
15
|
import { itemRender as c, valueRender as m } from "./utils.mjs";
|
|
16
16
|
import { xIcon as d } from "@progress/kendo-svg-icons";
|
|
17
|
-
const l = (e) => /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane k-taskboard-edit-pane" }, /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-header" }, /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-header-text" }, e.header), /* @__PURE__ */ t.createElement("span", { className: "k-spacer" }), /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-header-actions" }, /* @__PURE__ */ t.createElement(a, { icon: "x", svgIcon: d, fillMode: "flat", onClick: e.onClose }))), /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-content" }, /* @__PURE__ */ t.createElement(
|
|
18
|
-
|
|
17
|
+
const l = (e) => /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane k-taskboard-edit-pane" }, /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-header" }, /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-header-text" }, e.header), /* @__PURE__ */ t.createElement("span", { className: "k-spacer" }), /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-header-actions" }, /* @__PURE__ */ t.createElement(a, { icon: "x", svgIcon: d, fillMode: "flat", onClick: e.onClose }))), /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-content" }, /* @__PURE__ */ t.createElement("div", { role: "form", "data-role": "form", className: "k-form" }, /* @__PURE__ */ t.createElement(n, null, /* @__PURE__ */ t.createElement(i, { editorId: "title" }, e.titleLabel), /* @__PURE__ */ t.createElement(
|
|
18
|
+
r,
|
|
19
19
|
{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
id: "title",
|
|
28
|
-
onChange: e.onTitleChange,
|
|
29
|
-
value: e.title,
|
|
30
|
-
title: e.titleInputTitle
|
|
31
|
-
}
|
|
32
|
-
)),
|
|
33
|
-
/* @__PURE__ */ t.createElement(n, null, /* @__PURE__ */ t.createElement(i, { editorId: "description" }, e.descriptionLabel), /* @__PURE__ */ t.createElement(
|
|
34
|
-
r,
|
|
35
|
-
{
|
|
36
|
-
id: "description",
|
|
37
|
-
onChange: e.onDescriptionChange,
|
|
38
|
-
value: e.description,
|
|
39
|
-
title: e.descriptionInputTitle
|
|
40
|
-
}
|
|
41
|
-
)),
|
|
42
|
-
/* @__PURE__ */ t.createElement(n, null, /* @__PURE__ */ t.createElement(i, { editorId: "priority" }, e.priorityLabel), /* @__PURE__ */ t.createElement(
|
|
43
|
-
o,
|
|
44
|
-
{
|
|
45
|
-
id: "priority",
|
|
46
|
-
data: e.priorities,
|
|
47
|
-
value: e.priority,
|
|
48
|
-
onChange: e.onPriorityChange,
|
|
49
|
-
itemRender: c,
|
|
50
|
-
valueRender: m,
|
|
51
|
-
textField: "priority",
|
|
52
|
-
dataItemKey: "priority",
|
|
53
|
-
title: e.priorityDropDownTitle
|
|
54
|
-
}
|
|
55
|
-
))
|
|
56
|
-
)), /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-actions k-actions k-hstack k-justify-content-end" }, /* @__PURE__ */ t.createElement(a, { onClick: e.onClose }, e.cancelButton), /* @__PURE__ */ t.createElement(
|
|
57
|
-
a,
|
|
20
|
+
id: "title",
|
|
21
|
+
onChange: e.onTitleChange,
|
|
22
|
+
value: e.title,
|
|
23
|
+
title: e.titleInputTitle
|
|
24
|
+
}
|
|
25
|
+
)), /* @__PURE__ */ t.createElement(n, null, /* @__PURE__ */ t.createElement(i, { editorId: "description" }, e.descriptionLabel), /* @__PURE__ */ t.createElement(
|
|
26
|
+
r,
|
|
58
27
|
{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
)))
|
|
28
|
+
id: "description",
|
|
29
|
+
onChange: e.onDescriptionChange,
|
|
30
|
+
value: e.description,
|
|
31
|
+
title: e.descriptionInputTitle
|
|
32
|
+
}
|
|
33
|
+
)), /* @__PURE__ */ t.createElement(n, null, /* @__PURE__ */ t.createElement(i, { editorId: "priority" }, e.priorityLabel), /* @__PURE__ */ t.createElement(
|
|
34
|
+
o,
|
|
35
|
+
{
|
|
36
|
+
id: "priority",
|
|
37
|
+
data: e.priorities,
|
|
38
|
+
value: e.priority,
|
|
39
|
+
onChange: e.onPriorityChange,
|
|
40
|
+
itemRender: c,
|
|
41
|
+
valueRender: m,
|
|
42
|
+
textField: "priority",
|
|
43
|
+
dataItemKey: "priority",
|
|
44
|
+
title: e.priorityDropDownTitle
|
|
45
|
+
}
|
|
46
|
+
)))), /* @__PURE__ */ t.createElement("div", { className: "k-taskboard-pane-actions k-actions k-hstack k-justify-content-end" }, /* @__PURE__ */ t.createElement(a, { onClick: e.onClose }, e.cancelButton), /* @__PURE__ */ t.createElement(a, { themeColor: "primary", onClick: e.onSave, disabled: !e.title || !e.description }, e.saveButton)));
|
|
65
47
|
l.propTypes = {};
|
|
66
48
|
l.displayName = "KendoReactTaskBoardEditPane";
|
|
67
49
|
export {
|
package/card/CardHeader.mjs
CHANGED
|
@@ -13,14 +13,7 @@ import { Popup as c } from "@progress/kendo-react-popup";
|
|
|
13
13
|
import { moreVerticalIcon as l } from "@progress/kendo-svg-icons";
|
|
14
14
|
const m = (e) => {
|
|
15
15
|
const a = t.useRef();
|
|
16
|
-
return /* @__PURE__ */ t.createElement(r, { className: "k-hbox" }, /* @__PURE__ */ t.createElement(
|
|
17
|
-
"span",
|
|
18
|
-
{
|
|
19
|
-
className: "k-card-title k-link",
|
|
20
|
-
onClick: e.onShowPreviewPane
|
|
21
|
-
},
|
|
22
|
-
e.title
|
|
23
|
-
), /* @__PURE__ */ t.createElement("span", { className: "k-spacer" }), /* @__PURE__ */ t.createElement("div", { className: "k-card-header-actions" }, /* @__PURE__ */ t.createElement(
|
|
16
|
+
return /* @__PURE__ */ t.createElement(r, { className: "k-hbox" }, /* @__PURE__ */ t.createElement("span", { className: "k-card-title k-link", onClick: e.onShowPreviewPane }, e.title), /* @__PURE__ */ t.createElement("span", { className: "k-spacer" }), /* @__PURE__ */ t.createElement("div", { className: "k-card-header-actions" }, /* @__PURE__ */ t.createElement(
|
|
24
17
|
n,
|
|
25
18
|
{
|
|
26
19
|
className: "k-card-details",
|
|
@@ -32,7 +25,23 @@ const m = (e) => {
|
|
|
32
25
|
onClick: e.showMenu ? e.onHideMenu : e.onShowMenu,
|
|
33
26
|
onBlur: e.onMenuButtonBlur
|
|
34
27
|
}
|
|
35
|
-
), /* @__PURE__ */ t.createElement(
|
|
28
|
+
), /* @__PURE__ */ t.createElement(
|
|
29
|
+
c,
|
|
30
|
+
{
|
|
31
|
+
anchor: a.current && a.current.element,
|
|
32
|
+
show: e.showMenu,
|
|
33
|
+
ref: e.popupRef
|
|
34
|
+
},
|
|
35
|
+
/* @__PURE__ */ t.createElement(
|
|
36
|
+
o,
|
|
37
|
+
{
|
|
38
|
+
vertical: !0,
|
|
39
|
+
onSelect: e.onMenuItemSelect,
|
|
40
|
+
items: e.menuItems,
|
|
41
|
+
className: "k-context-menu"
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
)));
|
|
36
45
|
};
|
|
37
46
|
m.displayName = "KendoReactTaskBoardCardHeader";
|
|
38
47
|
export {
|
package/hooks/taskEditing.mjs
CHANGED
|
@@ -14,10 +14,20 @@ const b = ({ onSave: c, task: e, priorities: l }) => {
|
|
|
14
14
|
a(i.value);
|
|
15
15
|
}, []), C = t.useCallback((i) => {
|
|
16
16
|
u(i.target.value);
|
|
17
|
-
}, []), d = t.useCallback(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
}, []), d = t.useCallback(
|
|
18
|
+
(i) => {
|
|
19
|
+
const g = {
|
|
20
|
+
id: void 0,
|
|
21
|
+
status: "",
|
|
22
|
+
...e || {},
|
|
23
|
+
title: n,
|
|
24
|
+
description: o,
|
|
25
|
+
priority: s
|
|
26
|
+
};
|
|
27
|
+
c.call(void 0, g, e);
|
|
28
|
+
},
|
|
29
|
+
[c, e, n, o, s]
|
|
30
|
+
);
|
|
21
31
|
return { onTitleChange: p, title: n, onDescriptionChange: v, description: o, onPriorityChange: C, priority: s, onSave: d };
|
|
22
32
|
};
|
|
23
33
|
export {
|
package/index.d.mts
CHANGED
|
@@ -10,7 +10,7 @@ import { CardProps } from '@progress/kendo-react-layout';
|
|
|
10
10
|
import { DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
|
|
11
11
|
import { InputChangeEvent } from '@progress/kendo-react-inputs';
|
|
12
12
|
import { MenuSelectEvent } from '@progress/kendo-react-layout';
|
|
13
|
-
import {
|
|
13
|
+
import { PopupHandle } from '@progress/kendo-react-popup';
|
|
14
14
|
import * as React_2 from 'react';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -117,7 +117,7 @@ export declare interface TaskBoardCardHeaderProps {
|
|
|
117
117
|
/**
|
|
118
118
|
* Specifies the popup reference.
|
|
119
119
|
*/
|
|
120
|
-
popupRef: React_2.RefObject<
|
|
120
|
+
popupRef: React_2.RefObject<PopupHandle>;
|
|
121
121
|
/**
|
|
122
122
|
* The rendered title.
|
|
123
123
|
*/
|
|
@@ -191,7 +191,7 @@ export declare interface TaskBoardCardProps {
|
|
|
191
191
|
/**
|
|
192
192
|
* Represents the popup reference.
|
|
193
193
|
*/
|
|
194
|
-
popupRef: React_2.RefObject<
|
|
194
|
+
popupRef: React_2.RefObject<PopupHandle>;
|
|
195
195
|
/**
|
|
196
196
|
* Represents the content of the TaskBoardConfirmDialog component.
|
|
197
197
|
*/
|
package/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { CardProps } from '@progress/kendo-react-layout';
|
|
|
10
10
|
import { DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
|
|
11
11
|
import { InputChangeEvent } from '@progress/kendo-react-inputs';
|
|
12
12
|
import { MenuSelectEvent } from '@progress/kendo-react-layout';
|
|
13
|
-
import {
|
|
13
|
+
import { PopupHandle } from '@progress/kendo-react-popup';
|
|
14
14
|
import * as React_2 from 'react';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -117,7 +117,7 @@ export declare interface TaskBoardCardHeaderProps {
|
|
|
117
117
|
/**
|
|
118
118
|
* Specifies the popup reference.
|
|
119
119
|
*/
|
|
120
|
-
popupRef: React_2.RefObject<
|
|
120
|
+
popupRef: React_2.RefObject<PopupHandle>;
|
|
121
121
|
/**
|
|
122
122
|
* The rendered title.
|
|
123
123
|
*/
|
|
@@ -191,7 +191,7 @@ export declare interface TaskBoardCardProps {
|
|
|
191
191
|
/**
|
|
192
192
|
* Represents the popup reference.
|
|
193
193
|
*/
|
|
194
|
-
popupRef: React_2.RefObject<
|
|
194
|
+
popupRef: React_2.RefObject<PopupHandle>;
|
|
195
195
|
/**
|
|
196
196
|
* Represents the content of the TaskBoardConfirmDialog component.
|
|
197
197
|
*/
|
package/package-metadata.mjs
CHANGED
|
@@ -10,7 +10,7 @@ const e = {
|
|
|
10
10
|
name: "@progress/kendo-react-taskboard",
|
|
11
11
|
productName: "KendoReact",
|
|
12
12
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
13
|
-
publishDate:
|
|
13
|
+
publishDate: 1731057213,
|
|
14
14
|
version: "",
|
|
15
15
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
16
16
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-taskboard",
|
|
3
|
-
"version": "9.0.0-develop.
|
|
3
|
+
"version": "9.0.0-develop.20",
|
|
4
4
|
"description": "KendoReact TaskBoard package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@progress/kendo-data-query": "^1.0.0",
|
|
26
26
|
"@progress/kendo-licensing": "^1.3.4",
|
|
27
|
-
"@progress/kendo-react-buttons": "9.0.0-develop.
|
|
28
|
-
"@progress/kendo-react-common": "9.0.0-develop.
|
|
29
|
-
"@progress/kendo-react-dialogs": "9.0.0-develop.
|
|
30
|
-
"@progress/kendo-react-dropdowns": "9.0.0-develop.
|
|
31
|
-
"@progress/kendo-react-form": "9.0.0-develop.
|
|
32
|
-
"@progress/kendo-react-indicators": "9.0.0-develop.
|
|
33
|
-
"@progress/kendo-react-inputs": "9.0.0-develop.
|
|
34
|
-
"@progress/kendo-react-intl": "9.0.0-develop.
|
|
35
|
-
"@progress/kendo-react-labels": "9.0.0-develop.
|
|
36
|
-
"@progress/kendo-react-layout": "9.0.0-develop.
|
|
37
|
-
"@progress/kendo-react-popup": "9.0.0-develop.
|
|
27
|
+
"@progress/kendo-react-buttons": "9.0.0-develop.20",
|
|
28
|
+
"@progress/kendo-react-common": "9.0.0-develop.20",
|
|
29
|
+
"@progress/kendo-react-dialogs": "9.0.0-develop.20",
|
|
30
|
+
"@progress/kendo-react-dropdowns": "9.0.0-develop.20",
|
|
31
|
+
"@progress/kendo-react-form": "9.0.0-develop.20",
|
|
32
|
+
"@progress/kendo-react-indicators": "9.0.0-develop.20",
|
|
33
|
+
"@progress/kendo-react-inputs": "9.0.0-develop.20",
|
|
34
|
+
"@progress/kendo-react-intl": "9.0.0-develop.20",
|
|
35
|
+
"@progress/kendo-react-labels": "9.0.0-develop.20",
|
|
36
|
+
"@progress/kendo-react-layout": "9.0.0-develop.20",
|
|
37
|
+
"@progress/kendo-react-popup": "9.0.0-develop.20",
|
|
38
38
|
"@progress/kendo-svg-icons": "^3.0.0",
|
|
39
39
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
40
40
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|