@progress/kendo-react-taskboard 5.3.0-dev.202205041411
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/LICENSE.md +11 -0
- package/NOTICE.txt +111 -0
- package/README.md +41 -0
- package/about.md +3 -0
- package/dist/cdn/js/kendo-react-taskboard.js +1 -0
- package/dist/es/TaskBoard.d.ts +145 -0
- package/dist/es/TaskBoard.js +267 -0
- package/dist/es/TaskBoardAddCard.d.ts +32 -0
- package/dist/es/TaskBoardAddCard.js +16 -0
- package/dist/es/TaskBoardCardBase.d.ts +56 -0
- package/dist/es/TaskBoardCardBase.js +87 -0
- package/dist/es/TaskBoardColumnBase.d.ts +72 -0
- package/dist/es/TaskBoardColumnBase.js +90 -0
- package/dist/es/TaskBoardConfirmDialog.d.ts +37 -0
- package/dist/es/TaskBoardConfirmDialog.js +24 -0
- package/dist/es/TaskBoardEditCard.d.ts +20 -0
- package/dist/es/TaskBoardEditCard.js +16 -0
- package/dist/es/TaskBoardTaskEditPane.d.ts +93 -0
- package/dist/es/TaskBoardTaskEditPane.js +36 -0
- package/dist/es/TaskBoardToolbar.d.ts +26 -0
- package/dist/es/TaskBoardToolbar.js +17 -0
- package/dist/es/card/Card.d.ts +140 -0
- package/dist/es/card/Card.js +33 -0
- package/dist/es/card/CardBody.d.ts +22 -0
- package/dist/es/card/CardBody.js +9 -0
- package/dist/es/card/CardHeader.d.ts +56 -0
- package/dist/es/card/CardHeader.js +18 -0
- package/dist/es/card/PreviewDialog.d.ts +50 -0
- package/dist/es/card/PreviewDialog.js +25 -0
- package/dist/es/column/Column.d.ts +168 -0
- package/dist/es/column/Column.js +34 -0
- package/dist/es/column/ColumnBody.d.ts +46 -0
- package/dist/es/column/ColumnBody.js +9 -0
- package/dist/es/column/ColumnHeader.d.ts +55 -0
- package/dist/es/column/ColumnHeader.js +18 -0
- package/dist/es/constants.d.ts +20 -0
- package/dist/es/constants.js +20 -0
- package/dist/es/hooks/taskEditing.d.ts +18 -0
- package/dist/es/hooks/taskEditing.js +32 -0
- package/dist/es/main.d.ts +14 -0
- package/dist/es/main.js +14 -0
- package/dist/es/messages/index.d.ts +150 -0
- package/dist/es/messages/index.js +151 -0
- package/dist/es/package-metadata.d.ts +5 -0
- package/dist/es/package-metadata.js +11 -0
- package/dist/es/utils.d.ts +25 -0
- package/dist/es/utils.js +80 -0
- package/dist/npm/TaskBoard.d.ts +145 -0
- package/dist/npm/TaskBoard.js +269 -0
- package/dist/npm/TaskBoardAddCard.d.ts +32 -0
- package/dist/npm/TaskBoardAddCard.js +18 -0
- package/dist/npm/TaskBoardCardBase.d.ts +56 -0
- package/dist/npm/TaskBoardCardBase.js +89 -0
- package/dist/npm/TaskBoardColumnBase.d.ts +72 -0
- package/dist/npm/TaskBoardColumnBase.js +92 -0
- package/dist/npm/TaskBoardConfirmDialog.d.ts +37 -0
- package/dist/npm/TaskBoardConfirmDialog.js +26 -0
- package/dist/npm/TaskBoardEditCard.d.ts +20 -0
- package/dist/npm/TaskBoardEditCard.js +18 -0
- package/dist/npm/TaskBoardTaskEditPane.d.ts +93 -0
- package/dist/npm/TaskBoardTaskEditPane.js +38 -0
- package/dist/npm/TaskBoardToolbar.d.ts +26 -0
- package/dist/npm/TaskBoardToolbar.js +19 -0
- package/dist/npm/card/Card.d.ts +140 -0
- package/dist/npm/card/Card.js +35 -0
- package/dist/npm/card/CardBody.d.ts +22 -0
- package/dist/npm/card/CardBody.js +11 -0
- package/dist/npm/card/CardHeader.d.ts +56 -0
- package/dist/npm/card/CardHeader.js +20 -0
- package/dist/npm/card/PreviewDialog.d.ts +50 -0
- package/dist/npm/card/PreviewDialog.js +27 -0
- package/dist/npm/column/Column.d.ts +168 -0
- package/dist/npm/column/Column.js +36 -0
- package/dist/npm/column/ColumnBody.d.ts +46 -0
- package/dist/npm/column/ColumnBody.js +11 -0
- package/dist/npm/column/ColumnHeader.d.ts +55 -0
- package/dist/npm/column/ColumnHeader.js +20 -0
- package/dist/npm/constants.d.ts +20 -0
- package/dist/npm/constants.js +22 -0
- package/dist/npm/hooks/taskEditing.d.ts +18 -0
- package/dist/npm/hooks/taskEditing.js +34 -0
- package/dist/npm/main.d.ts +14 -0
- package/dist/npm/main.js +30 -0
- package/dist/npm/messages/index.d.ts +150 -0
- package/dist/npm/messages/index.js +153 -0
- package/dist/npm/package-metadata.d.ts +5 -0
- package/dist/npm/package-metadata.js +13 -0
- package/dist/npm/utils.d.ts +25 -0
- package/dist/npm/utils.js +82 -0
- package/dist/systemjs/kendo-react-taskboard.js +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var React = require("react");
|
|
15
|
+
var PropTypes = require("prop-types");
|
|
16
|
+
var kendo_licensing_1 = require("@progress/kendo-licensing");
|
|
17
|
+
var package_metadata_1 = require("./package-metadata");
|
|
18
|
+
var kendo_react_common_1 = require("@progress/kendo-react-common");
|
|
19
|
+
var TaskBoardColumnBase_1 = require("./TaskBoardColumnBase");
|
|
20
|
+
var TaskBoardCardBase_1 = require("./TaskBoardCardBase");
|
|
21
|
+
var constants_1 = require("./constants");
|
|
22
|
+
var utils_1 = require("./utils");
|
|
23
|
+
var Card_1 = require("./card/Card");
|
|
24
|
+
var Column_1 = require("./column/Column");
|
|
25
|
+
/**
|
|
26
|
+
* Represents the [KendoReact TaskBoard component]({% slug overview_taskboard %}).
|
|
27
|
+
*
|
|
28
|
+
* Accepts properties of type [TaskBoardProps]({% slug api_taskboard_taskboardprops %}).
|
|
29
|
+
*/
|
|
30
|
+
exports.TaskBoard = React.forwardRef(function (props, ref) {
|
|
31
|
+
kendo_licensing_1.validatePackage(package_metadata_1.packageMetadata);
|
|
32
|
+
var columnData = props.columnData, className = props.className, style = props.style, id = props.id, taskData = props.taskData, onChange = props.onChange;
|
|
33
|
+
var taskboardRef = React.useRef(null);
|
|
34
|
+
var taskboardElementRef = React.useRef(null);
|
|
35
|
+
React.useImperativeHandle(taskboardRef, function () {
|
|
36
|
+
return { props: props };
|
|
37
|
+
});
|
|
38
|
+
React.useImperativeHandle(ref, function () { return taskboardRef.current; });
|
|
39
|
+
var children = React.Children.toArray(props.children);
|
|
40
|
+
var toolbar = children.filter(function (child) { return child &&
|
|
41
|
+
child.type.displayName === 'KendoReactTaskBoardToolbar'; });
|
|
42
|
+
var elementRef = React.useRef(null);
|
|
43
|
+
var dragTargetRef = React.useRef(null);
|
|
44
|
+
var pressOffsetRef = React.useRef(null);
|
|
45
|
+
var _a = React.useState(null), taskDataState = _a[0], setTaskDataState = _a[1];
|
|
46
|
+
var _b = React.useState(null), columnDataState = _b[0], setColumnDataState = _b[1];
|
|
47
|
+
var _c = React.useState({ top: 0, left: 0 }), position = _c[0], setPosition = _c[1];
|
|
48
|
+
var dragCardCueRef = React.useRef(null);
|
|
49
|
+
var dragColumnCueRef = React.useRef(null);
|
|
50
|
+
var tasksMap = React.useMemo(function () {
|
|
51
|
+
var map = {};
|
|
52
|
+
(taskDataState || taskData).forEach(function (task) {
|
|
53
|
+
var currentStatus = task.status;
|
|
54
|
+
if (!map[currentStatus]) {
|
|
55
|
+
map[currentStatus] = [];
|
|
56
|
+
}
|
|
57
|
+
map[currentStatus].push(task);
|
|
58
|
+
});
|
|
59
|
+
return map;
|
|
60
|
+
}, [taskData, taskDataState]);
|
|
61
|
+
var handlePress = React.useCallback(function (event) {
|
|
62
|
+
var target = event.originalEvent.target;
|
|
63
|
+
if (target.closest('button,input,.k-link,.k-taskboard-preview-pane')) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
var currentDragTarget = utils_1.closestTaskBoardElement(target);
|
|
67
|
+
var taskboardEl = taskboardElementRef.current;
|
|
68
|
+
if (currentDragTarget && taskboardEl) {
|
|
69
|
+
var isColumn = currentDragTarget.type === constants_1.TASKBOARD_COLUMN;
|
|
70
|
+
if (isColumn && !target.closest('.k-taskboard-column-header')) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
var dragElement = currentDragTarget.element;
|
|
74
|
+
var rect = dragElement.getBoundingClientRect();
|
|
75
|
+
var parentRect = taskboardEl.getBoundingClientRect();
|
|
76
|
+
pressOffsetRef.current = {
|
|
77
|
+
x: event.clientX - rect.left + parentRect.left,
|
|
78
|
+
y: event.clientY - rect.top + parentRect.top
|
|
79
|
+
};
|
|
80
|
+
var data = isColumn ? columnData : taskData;
|
|
81
|
+
var stateSetter = isColumn ? setColumnDataState : setTaskDataState;
|
|
82
|
+
var index = data.findIndex(function (dataItem) { return String(dataItem.id) === currentDragTarget.id; });
|
|
83
|
+
var item = data[index];
|
|
84
|
+
if (index === -1 || item.edit) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
var newItem = kendo_react_common_1.clone(item);
|
|
88
|
+
newItem.isPlaceholder = true;
|
|
89
|
+
var newData = data.slice();
|
|
90
|
+
newData[index] = newItem;
|
|
91
|
+
dragTargetRef.current = __assign({}, currentDragTarget, { index: index,
|
|
92
|
+
item: item, width: rect.width, height: rect.height });
|
|
93
|
+
setPosition({
|
|
94
|
+
top: event.clientY - pressOffsetRef.current.y,
|
|
95
|
+
left: event.clientX - pressOffsetRef.current.x
|
|
96
|
+
});
|
|
97
|
+
stateSetter(newData);
|
|
98
|
+
}
|
|
99
|
+
}, [columnData, taskData]);
|
|
100
|
+
var handleDrag = React.useCallback(function (event) {
|
|
101
|
+
var currentDragTarget = dragTargetRef.current;
|
|
102
|
+
var dragCueElement = (dragCardCueRef.current && dragCardCueRef.current.element) || dragColumnCueRef.current;
|
|
103
|
+
if (currentDragTarget && dragCueElement) {
|
|
104
|
+
setPosition({
|
|
105
|
+
top: event.clientY - pressOffsetRef.current.y,
|
|
106
|
+
left: event.clientX - pressOffsetRef.current.x
|
|
107
|
+
});
|
|
108
|
+
dragCueElement.style.visibility = 'hidden';
|
|
109
|
+
var targetElement = document.elementFromPoint(event.clientX, event.clientY);
|
|
110
|
+
dragCueElement.style.visibility = '';
|
|
111
|
+
if (targetElement && targetElement.getAttribute(constants_1.TASKBOARD_PLACEHOLDER)) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
var dropTarget_1 = targetElement && utils_1.closestTaskBoardElement(targetElement);
|
|
115
|
+
if (dropTarget_1) {
|
|
116
|
+
var indexes = void 0;
|
|
117
|
+
var isSameType = dropTarget_1.type === currentDragTarget.type;
|
|
118
|
+
var isDragTargetColumn = currentDragTarget.type === constants_1.TASKBOARD_COLUMN;
|
|
119
|
+
var data = (isDragTargetColumn ? columnDataState : taskDataState) || [];
|
|
120
|
+
var stateSetter = isDragTargetColumn ? setColumnDataState : setTaskDataState;
|
|
121
|
+
if (isDragTargetColumn || isSameType) {
|
|
122
|
+
indexes = utils_1.findIndexes(currentDragTarget.id, dropTarget_1.id, data);
|
|
123
|
+
if (indexes) {
|
|
124
|
+
var dragItem = data[indexes.dragIndex];
|
|
125
|
+
var dropItem = data[indexes.dropIndex];
|
|
126
|
+
var newDragItem = kendo_react_common_1.clone(dragItem);
|
|
127
|
+
if (!isDragTargetColumn) {
|
|
128
|
+
newDragItem.status = dropItem.status;
|
|
129
|
+
}
|
|
130
|
+
var newData = data.slice();
|
|
131
|
+
newData.splice(indexes.dragIndex, 1);
|
|
132
|
+
newData.splice(indexes.dropIndex, 0, newDragItem);
|
|
133
|
+
currentDragTarget.index = indexes.dropIndex;
|
|
134
|
+
stateSetter(newData);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
var taskIndex = data.findIndex(function (item) { return String(item.id) === currentDragTarget.id; });
|
|
139
|
+
var columnIndex = columnData.findIndex(function (item) { return String(item.id) === dropTarget_1.id; });
|
|
140
|
+
if (taskIndex !== -1 && columnIndex !== -1) {
|
|
141
|
+
var task = data[taskIndex];
|
|
142
|
+
var column = columnData[columnIndex];
|
|
143
|
+
var columnStatus = column.status;
|
|
144
|
+
if (tasksMap[columnStatus]) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
task.status = columnStatus;
|
|
148
|
+
var newData = data.slice();
|
|
149
|
+
newData.splice(taskIndex, 1);
|
|
150
|
+
newData.push(task);
|
|
151
|
+
currentDragTarget.index = newData.length - 1;
|
|
152
|
+
stateSetter(newData);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}, [columnDataState, taskDataState, columnData, tasksMap]);
|
|
158
|
+
var handleRelease = React.useCallback(function () {
|
|
159
|
+
var currentDragTarget = dragTargetRef.current;
|
|
160
|
+
if (onChange && currentDragTarget) {
|
|
161
|
+
var isDragTargetColumn = currentDragTarget.type === constants_1.TASKBOARD_COLUMN;
|
|
162
|
+
var data = (isDragTargetColumn ? columnDataState : taskDataState) || [];
|
|
163
|
+
var item = data[currentDragTarget.index];
|
|
164
|
+
delete item.isPlaceholder;
|
|
165
|
+
var event_1 = {
|
|
166
|
+
data: data,
|
|
167
|
+
type: currentDragTarget.type,
|
|
168
|
+
previousItem: currentDragTarget.item,
|
|
169
|
+
item: item
|
|
170
|
+
};
|
|
171
|
+
onChange.call(undefined, event_1);
|
|
172
|
+
}
|
|
173
|
+
dragTargetRef.current = null;
|
|
174
|
+
pressOffsetRef.current = null;
|
|
175
|
+
setTaskDataState(null);
|
|
176
|
+
setColumnDataState(null);
|
|
177
|
+
setPosition({ top: 0, left: 0 });
|
|
178
|
+
}, [columnDataState, taskDataState, onChange]);
|
|
179
|
+
kendo_react_common_1.useDraggable(elementRef, {
|
|
180
|
+
onDragStart: handlePress,
|
|
181
|
+
onDrag: handleDrag,
|
|
182
|
+
onDragEnd: handleRelease
|
|
183
|
+
});
|
|
184
|
+
var dragTarget = dragTargetRef.current;
|
|
185
|
+
var onTaskCreate = React.useCallback(function (newTask) {
|
|
186
|
+
var tasks = taskData.concat([newTask]);
|
|
187
|
+
var event = {
|
|
188
|
+
data: tasks,
|
|
189
|
+
type: constants_1.TASKBOARD_TASK,
|
|
190
|
+
previousItem: null,
|
|
191
|
+
item: newTask
|
|
192
|
+
};
|
|
193
|
+
onChange.call(undefined, event);
|
|
194
|
+
}, [onChange, taskData]);
|
|
195
|
+
var onTaskEdit = React.useCallback(function (task, prevTask) {
|
|
196
|
+
var tasks = taskData.slice();
|
|
197
|
+
var index = taskData.indexOf(prevTask);
|
|
198
|
+
if (index !== -1) {
|
|
199
|
+
tasks.splice(index, 1, task);
|
|
200
|
+
}
|
|
201
|
+
var event = {
|
|
202
|
+
data: tasks,
|
|
203
|
+
type: constants_1.TASKBOARD_TASK,
|
|
204
|
+
previousItem: prevTask,
|
|
205
|
+
item: task
|
|
206
|
+
};
|
|
207
|
+
onChange.call(undefined, event);
|
|
208
|
+
}, [onChange, taskData]);
|
|
209
|
+
var onTaskDelete = React.useCallback(function (task) {
|
|
210
|
+
var tasks = taskData.filter(function (t) { return t !== task; });
|
|
211
|
+
var event = {
|
|
212
|
+
data: tasks,
|
|
213
|
+
type: constants_1.TASKBOARD_TASK,
|
|
214
|
+
previousItem: task,
|
|
215
|
+
item: null
|
|
216
|
+
};
|
|
217
|
+
onChange.call(undefined, event);
|
|
218
|
+
}, [onChange, taskData]);
|
|
219
|
+
var onColumnChange = React.useCallback(function (newColumn, prevColumn) {
|
|
220
|
+
var data = columnData.slice();
|
|
221
|
+
var index = data.indexOf(prevColumn);
|
|
222
|
+
if (index !== -1) {
|
|
223
|
+
if (newColumn) {
|
|
224
|
+
data.splice(index, 1, newColumn);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
data.splice(index, 1);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
var event = {
|
|
231
|
+
data: data,
|
|
232
|
+
type: constants_1.TASKBOARD_COLUMN,
|
|
233
|
+
previousItem: prevColumn,
|
|
234
|
+
item: newColumn
|
|
235
|
+
};
|
|
236
|
+
onChange.call(undefined, event);
|
|
237
|
+
}, [onChange, columnData]);
|
|
238
|
+
return (React.createElement("div", { id: id, style: style, ref: taskboardElementRef, className: kendo_react_common_1.classNames('k-widget k-taskboard', className) },
|
|
239
|
+
toolbar,
|
|
240
|
+
React.createElement("div", { className: 'k-taskboard-content', style: dragTarget ? { userSelect: 'none' } : undefined },
|
|
241
|
+
React.createElement("div", { className: 'k-taskboard-columns-container', ref: elementRef }, (columnDataState || columnData).map(function (column) { return (React.createElement(TaskBoardColumnBase_1.TaskBoardColumnBase, { key: column.id, tabIndex: props.tabIndex, column: column, tasks: tasksMap[column.status] || [], dragTargetRef: dragTargetRef, onTaskCreate: onTaskCreate, onTaskEdit: onTaskEdit, onTaskDelete: onTaskDelete, onColumnChange: onColumnChange, columnComponent: props.column || Column_1.TaskBoardColumn, cardComponent: props.card || Card_1.TaskBoardCard, priorities: props.priorities })); }))),
|
|
242
|
+
dragTarget && dragTarget.type === constants_1.TASKBOARD_TASK && (React.createElement(TaskBoardCardBase_1.TaskBoardCardBase, { elementRef: dragCardCueRef, style: {
|
|
243
|
+
position: 'absolute',
|
|
244
|
+
width: dragTarget.width,
|
|
245
|
+
height: dragTarget.height,
|
|
246
|
+
top: position.top,
|
|
247
|
+
left: position.left,
|
|
248
|
+
zIndex: 10,
|
|
249
|
+
borderLeftColor: dragTarget.item.priority ? dragTarget.item.priority.color : dragTarget.item.color
|
|
250
|
+
}, task: dragTarget.item, dragTargetRef: dragTargetRef, cardComponent: props.card || Card_1.TaskBoardCard, onDeleteTask: kendo_react_common_1.noop, showEditPane: kendo_react_common_1.noop })),
|
|
251
|
+
dragTarget && dragTarget.type === constants_1.TASKBOARD_COLUMN && (React.createElement(TaskBoardColumnBase_1.TaskBoardColumnBase, { elementRef: dragColumnCueRef, style: {
|
|
252
|
+
position: 'absolute',
|
|
253
|
+
width: dragTarget.width,
|
|
254
|
+
height: dragTarget.height,
|
|
255
|
+
top: position.top,
|
|
256
|
+
left: position.left,
|
|
257
|
+
zIndex: 10
|
|
258
|
+
}, cardComponent: props.card || Card_1.TaskBoardCard, columnComponent: props.column || Column_1.TaskBoardColumn, column: dragTarget.item, tasks: tasksMap[dragTarget.item.status], priorities: props.priorities, dragTargetRef: dragTargetRef, onTaskDelete: onTaskDelete, onColumnChange: onColumnChange, onTaskEdit: onTaskEdit, onTaskCreate: onTaskCreate }))));
|
|
259
|
+
});
|
|
260
|
+
var defaultProps = {
|
|
261
|
+
columnData: [],
|
|
262
|
+
taskData: []
|
|
263
|
+
};
|
|
264
|
+
exports.TaskBoard.propTypes = {
|
|
265
|
+
columnData: PropTypes.array.isRequired,
|
|
266
|
+
taskData: PropTypes.array.isRequired
|
|
267
|
+
};
|
|
268
|
+
exports.TaskBoard.defaultProps = defaultProps;
|
|
269
|
+
exports.TaskBoard.displayName = 'KendoReactTaskBoard';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TaskBoardTaskEditPaneProps } from './TaskBoardTaskEditPane';
|
|
3
|
+
import { TaskBoardPriority, TaskBoardTaskModel } from './TaskBoard';
|
|
4
|
+
/**
|
|
5
|
+
* Represents the props of the TaskBoardAddCard component
|
|
6
|
+
*/
|
|
7
|
+
export interface TaskBoardAddCardProps {
|
|
8
|
+
/**
|
|
9
|
+
* Represent the priorities of the task board card.
|
|
10
|
+
*/
|
|
11
|
+
priorities: TaskBoardPriority[];
|
|
12
|
+
/**
|
|
13
|
+
* Triggered on `onClose` event of the TaskBoardAddCard.
|
|
14
|
+
*/
|
|
15
|
+
onClose: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Triggered on `onSave` event of the TaskBoardAddCard.
|
|
18
|
+
*/
|
|
19
|
+
onSave: (task: TaskBoardTaskModel, prevTask: TaskBoardTaskModel | undefined) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Specifies the TaskBoardTaskEditPane component.
|
|
22
|
+
*/
|
|
23
|
+
editPane: React.ComponentType<TaskBoardTaskEditPaneProps>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Represents the TaskBoardAddCard component.
|
|
27
|
+
*/
|
|
28
|
+
export declare const TaskBoardAddCard: {
|
|
29
|
+
(props: TaskBoardAddCardProps): JSX.Element;
|
|
30
|
+
defaultProps: {};
|
|
31
|
+
displayName: string;
|
|
32
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var React = require("react");
|
|
4
|
+
var kendo_react_intl_1 = require("@progress/kendo-react-intl");
|
|
5
|
+
var messages_1 = require("./messages");
|
|
6
|
+
var taskEditing_1 = require("./hooks/taskEditing");
|
|
7
|
+
/**
|
|
8
|
+
* Represents the TaskBoardAddCard component.
|
|
9
|
+
*/
|
|
10
|
+
exports.TaskBoardAddCard = function (props) {
|
|
11
|
+
var _a = taskEditing_1.useTaskEditing(props), onTitleChange = _a.onTitleChange, title = _a.title, onDescriptionChange = _a.onDescriptionChange, description = _a.description, onPriorityChange = _a.onPriorityChange, priority = _a.priority, onSave = _a.onSave;
|
|
12
|
+
var localization = kendo_react_intl_1.useLocalization();
|
|
13
|
+
return (React.createElement(props.editPane, { header: localization.toLanguageString(messages_1.taskBoardAddCardPaneTitle, messages_1.messages[messages_1.taskBoardAddCardPaneTitle]), titleInputTitle: localization.toLanguageString(messages_1.taskBoardAddCardTitleLabel, messages_1.messages[messages_1.taskBoardAddCardTitleLabel]), descriptionInputTitle: localization.toLanguageString(messages_1.taskBoardAddCardDescriptionLabel, messages_1.messages[messages_1.taskBoardAddCardDescriptionLabel]), priorityDropDownTitle: localization.toLanguageString(messages_1.taskBoardAddCardPriorityLabel, messages_1.messages[messages_1.taskBoardAddCardPriorityLabel]), titleLabel: localization.toLanguageString(messages_1.taskBoardEditPaneTitleLabel, messages_1.messages[messages_1.taskBoardEditPaneTitleLabel]), descriptionLabel: localization.toLanguageString(messages_1.taskBoardEditPaneDescriptionLabel, messages_1.messages[messages_1.taskBoardEditPaneDescriptionLabel]), priorityLabel: localization.toLanguageString(messages_1.taskBoardEditPanePriorityLabel, messages_1.messages[messages_1.taskBoardEditPanePriorityLabel]), saveButton: localization.toLanguageString(messages_1.taskBoardAddCardCreateButton, messages_1.messages[messages_1.taskBoardAddCardCreateButton]), cancelButton: localization.toLanguageString(messages_1.taskBoardEditPaneCancelBtn, messages_1.messages[messages_1.taskBoardEditPaneCancelBtn]), priorities: props.priorities, onSave: onSave, onClose: props.onClose, onTitleChange: onTitleChange, title: title, onDescriptionChange: onDescriptionChange, description: description, onPriorityChange: onPriorityChange, priority: priority }));
|
|
14
|
+
};
|
|
15
|
+
var defaultProps = {};
|
|
16
|
+
exports.TaskBoardAddCard.propTypes = {};
|
|
17
|
+
exports.TaskBoardAddCard.defaultProps = defaultProps;
|
|
18
|
+
exports.TaskBoardAddCard.displayName = 'KendoReactTaskBoardAddCard';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { CardHandle } from '@progress/kendo-react-layout';
|
|
3
|
+
import { TaskBoardCardProps } from './card/Card';
|
|
4
|
+
import { TaskBoardTaskModel } from './TaskBoard';
|
|
5
|
+
/**
|
|
6
|
+
* Represents the props of the TaskBoardCardBase component
|
|
7
|
+
*/
|
|
8
|
+
export interface TaskBoardCardBaseProps {
|
|
9
|
+
/**
|
|
10
|
+
* The task of the TaskBoardCardBase.
|
|
11
|
+
*/
|
|
12
|
+
task: TaskBoardTaskModel;
|
|
13
|
+
/**
|
|
14
|
+
* The styles for the TaskBoardCardBase.
|
|
15
|
+
*/
|
|
16
|
+
style?: React.CSSProperties;
|
|
17
|
+
/**
|
|
18
|
+
* Determines the disabled mode.
|
|
19
|
+
*/
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Specifies the `tabIndex` that will be added to the TaskBoard Column and Card elements.
|
|
23
|
+
*/
|
|
24
|
+
tabIndex?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Specifies the CardHandle reference.
|
|
27
|
+
*/
|
|
28
|
+
elementRef?: React.RefObject<CardHandle>;
|
|
29
|
+
/**
|
|
30
|
+
* Specifies the width and height of the drag target reference.
|
|
31
|
+
*/
|
|
32
|
+
dragTargetRef?: React.RefObject<{
|
|
33
|
+
width: number;
|
|
34
|
+
height: number;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Fires when a task is deleted.
|
|
38
|
+
*/
|
|
39
|
+
onDeleteTask: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* Represents the `showEditPane` event.
|
|
42
|
+
*/
|
|
43
|
+
showEditPane: (task: TaskBoardTaskModel) => void;
|
|
44
|
+
/**
|
|
45
|
+
* Represents the TaskBoardCard component.
|
|
46
|
+
*/
|
|
47
|
+
cardComponent: React.ComponentType<TaskBoardCardProps>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Represents the TaskBoardCardBase component.
|
|
51
|
+
*/
|
|
52
|
+
export declare const TaskBoardCardBase: {
|
|
53
|
+
(props: TaskBoardCardBaseProps): JSX.Element;
|
|
54
|
+
defaultProps: {};
|
|
55
|
+
displayName: string;
|
|
56
|
+
};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var React = require("react");
|
|
15
|
+
var PropTypes = require("prop-types");
|
|
16
|
+
var kendo_react_layout_1 = require("@progress/kendo-react-layout");
|
|
17
|
+
var constants_1 = require("./constants");
|
|
18
|
+
var kendo_react_intl_1 = require("@progress/kendo-react-intl");
|
|
19
|
+
var messages_1 = require("./messages");
|
|
20
|
+
var CardHeader_1 = require("./card/CardHeader");
|
|
21
|
+
var CardBody_1 = require("./card/CardBody");
|
|
22
|
+
var TaskBoardConfirmDialog_1 = require("./TaskBoardConfirmDialog");
|
|
23
|
+
var PreviewDialog_1 = require("./card/PreviewDialog");
|
|
24
|
+
/**
|
|
25
|
+
* Represents the TaskBoardCardBase component.
|
|
26
|
+
*/
|
|
27
|
+
exports.TaskBoardCardBase = function (props) {
|
|
28
|
+
var _a;
|
|
29
|
+
var onDeleteTask = props.onDeleteTask, showEditPane = props.showEditPane, task = props.task, style = props.style, dragTargetRef = props.dragTargetRef, elementRef = props.elementRef;
|
|
30
|
+
var _b = React.useState(false), optionMenuVisible = _b[0], setOptionMenuVisible = _b[1];
|
|
31
|
+
var _c = React.useState(false), confirmTaskDeleteVisible = _c[0], setConfirmTaskDeleteVisible = _c[1];
|
|
32
|
+
var _d = React.useState(false), showTaskPreviewPane = _d[0], setShowTaskPreviewPane = _d[1];
|
|
33
|
+
var popupRef = React.useRef(null);
|
|
34
|
+
var localization = kendo_react_intl_1.useLocalization();
|
|
35
|
+
var optionButtons = [
|
|
36
|
+
{
|
|
37
|
+
text: localization.toLanguageString(messages_1.taskBoardEditCardButton, messages_1.messages[messages_1.taskBoardEditCardButton]),
|
|
38
|
+
icon: 'edit',
|
|
39
|
+
data: function () {
|
|
40
|
+
showEditPane(task);
|
|
41
|
+
setOptionMenuVisible(!optionMenuVisible);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
text: localization.toLanguageString(messages_1.taskBoardDeleteCardButton, messages_1.messages[messages_1.taskBoardDeleteCardButton]),
|
|
46
|
+
icon: 'delete',
|
|
47
|
+
data: function () {
|
|
48
|
+
setConfirmTaskDeleteVisible(!confirmTaskDeleteVisible);
|
|
49
|
+
setOptionMenuVisible(!optionMenuVisible);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
var handleSelect = function (e) {
|
|
54
|
+
e.item.data();
|
|
55
|
+
};
|
|
56
|
+
var onShowMenu = function () {
|
|
57
|
+
setOptionMenuVisible(true);
|
|
58
|
+
};
|
|
59
|
+
var onHideMenu = function () {
|
|
60
|
+
setOptionMenuVisible(false);
|
|
61
|
+
};
|
|
62
|
+
var onMenuButtonBlur = function (event) {
|
|
63
|
+
var popup = popupRef.current && popupRef.current.element;
|
|
64
|
+
if (popup && popup.contains(event.relatedTarget)) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
setOptionMenuVisible(false);
|
|
68
|
+
};
|
|
69
|
+
var closeConfirmDialog = function () {
|
|
70
|
+
setConfirmTaskDeleteVisible(!confirmTaskDeleteVisible);
|
|
71
|
+
};
|
|
72
|
+
var onShowTaskPreviewPane = function () {
|
|
73
|
+
setShowTaskPreviewPane(!showTaskPreviewPane);
|
|
74
|
+
};
|
|
75
|
+
var onTaskEdit = function () {
|
|
76
|
+
showEditPane(task);
|
|
77
|
+
onShowTaskPreviewPane();
|
|
78
|
+
};
|
|
79
|
+
if (task.isPlaceholder && dragTargetRef && dragTargetRef.current) {
|
|
80
|
+
return (React.createElement("div", __assign({ style: { width: dragTargetRef.current.width, height: dragTargetRef.current.height }, className: 'k-taskboard-drag-placeholder' }, (_a = {}, _a[constants_1.TASKBOARD_PLACEHOLDER] = true, _a))));
|
|
81
|
+
}
|
|
82
|
+
return (React.createElement(props.cardComponent, { task: task, style: style, tabIndex: props.tabIndex, disabled: props.disabled, elementRef: elementRef, showMenu: optionMenuVisible, showDeleteConfirm: confirmTaskDeleteVisible, showTaskPreviewPane: showTaskPreviewPane, menuItems: optionButtons, popupRef: popupRef, confirmDialogMessage: localization.toLanguageString(messages_1.taskBoardDeleteTaskDialogMessage, messages_1.messages[messages_1.taskBoardDeleteTaskDialogMessage]), confirmDialogTitle: localization.toLanguageString(messages_1.taskBoardDeleteTaskDialogTitle, messages_1.messages[messages_1.taskBoardDeleteTaskDialogTitle]), confirmDialogConfirmButton: localization.toLanguageString(messages_1.taskBoardDeleteTaskConfirmButton, messages_1.messages[messages_1.taskBoardDeleteTaskConfirmButton]), confirmDialogCancelButton: localization.toLanguageString(messages_1.taskBoardDeleteTaskCancelButton, messages_1.messages[messages_1.taskBoardDeleteTaskCancelButton]), previewDialogPriorityLabel: localization.toLanguageString(messages_1.taskBoardPreviewPanePriorityLabel, messages_1.messages[messages_1.taskBoardPreviewPanePriorityLabel]), previewDialogDelete: localization.toLanguageString(messages_1.taskBoardPreviewPaneDeleteBtn, messages_1.messages[messages_1.taskBoardPreviewPaneDeleteBtn]), previewDialogEdit: localization.toLanguageString(messages_1.taskBoardPreviewPaneEditBtn, messages_1.messages[messages_1.taskBoardPreviewPaneEditBtn]), onShowPreviewPane: onShowTaskPreviewPane, onMenuItemSelect: handleSelect, onShowMenu: onShowMenu, onHideMenu: onHideMenu, onMenuButtonBlur: onMenuButtonBlur, onTaskDelete: onDeleteTask, onTaskEdit: onTaskEdit, onCloseConfirmDialog: closeConfirmDialog, card: kendo_react_layout_1.Card, cardHeader: CardHeader_1.TaskBoardCardHeader, cardBody: CardBody_1.TaskBoardCardBody, confirmDialog: TaskBoardConfirmDialog_1.TaskBoardConfirmDialog, previewDialog: PreviewDialog_1.TaskBoardPreviewDialog }));
|
|
83
|
+
};
|
|
84
|
+
var defaultProps = {};
|
|
85
|
+
exports.TaskBoardCardBase.propTypes = {
|
|
86
|
+
task: PropTypes.object.isRequired
|
|
87
|
+
};
|
|
88
|
+
exports.TaskBoardCardBase.defaultProps = defaultProps;
|
|
89
|
+
exports.TaskBoardCardBase.displayName = 'KendoReactTaskBoardCardBase';
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TaskBoardCardProps } from './card/Card';
|
|
3
|
+
import { TaskBoardColumnProps } from './column/Column';
|
|
4
|
+
import { TaskBoardColumnModel, TaskBoardPriority, TaskBoardTaskModel } from './TaskBoard';
|
|
5
|
+
/**
|
|
6
|
+
* Represents the props of the TaskBoardColumnBase component
|
|
7
|
+
*/
|
|
8
|
+
export interface TaskBoardColumnBaseProps {
|
|
9
|
+
/**
|
|
10
|
+
* The rendered column.
|
|
11
|
+
*/
|
|
12
|
+
column: TaskBoardColumnModel;
|
|
13
|
+
/**
|
|
14
|
+
* The rendered tasks.
|
|
15
|
+
*/
|
|
16
|
+
tasks: TaskBoardTaskModel[];
|
|
17
|
+
/**
|
|
18
|
+
* The rendered priorities.
|
|
19
|
+
*/
|
|
20
|
+
priorities: TaskBoardPriority[];
|
|
21
|
+
/**
|
|
22
|
+
* The applied styles.
|
|
23
|
+
*/
|
|
24
|
+
style?: React.CSSProperties;
|
|
25
|
+
/**
|
|
26
|
+
* Specifies the `tabIndex` that will be added to the TaskBoard Column and Card elements.
|
|
27
|
+
*/
|
|
28
|
+
tabIndex?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Specifies the element reference.
|
|
31
|
+
*/
|
|
32
|
+
elementRef?: React.RefObject<HTMLDivElement>;
|
|
33
|
+
/**
|
|
34
|
+
* Specifies the width and height of the drag target reference.
|
|
35
|
+
*/
|
|
36
|
+
dragTargetRef?: React.RefObject<{
|
|
37
|
+
width: number;
|
|
38
|
+
height: number;
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Fires when a task is created.
|
|
42
|
+
*/
|
|
43
|
+
onTaskCreate: (task: TaskBoardTaskModel) => void;
|
|
44
|
+
/**
|
|
45
|
+
* Fires when a task is edited.
|
|
46
|
+
*/
|
|
47
|
+
onTaskEdit: (task: TaskBoardTaskModel, prevTask: TaskBoardTaskModel) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Fires when a task is deleted.
|
|
50
|
+
*/
|
|
51
|
+
onTaskDelete: (task: TaskBoardTaskModel) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Fires when a column is changed.
|
|
54
|
+
*/
|
|
55
|
+
onColumnChange: (column: TaskBoardColumnModel, prevColumn: TaskBoardColumnModel) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Determines the TaskBoardCard component.
|
|
58
|
+
*/
|
|
59
|
+
cardComponent: React.ComponentType<TaskBoardCardProps>;
|
|
60
|
+
/**
|
|
61
|
+
* Determines the TaskBoardColumn component.
|
|
62
|
+
*/
|
|
63
|
+
columnComponent: React.ComponentType<TaskBoardColumnProps>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Represents the TaskBoardColumnBase component.
|
|
67
|
+
*/
|
|
68
|
+
export declare const TaskBoardColumnBase: {
|
|
69
|
+
(props: TaskBoardColumnBaseProps): JSX.Element;
|
|
70
|
+
defaultProps: {};
|
|
71
|
+
displayName: string;
|
|
72
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var React = require("react");
|
|
15
|
+
var PropTypes = require("prop-types");
|
|
16
|
+
var kendo_react_intl_1 = require("@progress/kendo-react-intl");
|
|
17
|
+
var messages_1 = require("./messages");
|
|
18
|
+
var constants_1 = require("./constants");
|
|
19
|
+
var ColumnHeader_1 = require("./column/ColumnHeader");
|
|
20
|
+
var ColumnBody_1 = require("./column/ColumnBody");
|
|
21
|
+
var TaskBoardConfirmDialog_1 = require("./TaskBoardConfirmDialog");
|
|
22
|
+
var TaskBoardEditCard_1 = require("./TaskBoardEditCard");
|
|
23
|
+
var TaskBoardAddCard_1 = require("./TaskBoardAddCard");
|
|
24
|
+
var TaskBoardCardBase_1 = require("./TaskBoardCardBase");
|
|
25
|
+
/**
|
|
26
|
+
* Represents the TaskBoardColumnBase component.
|
|
27
|
+
*/
|
|
28
|
+
exports.TaskBoardColumnBase = function (props) {
|
|
29
|
+
var _a;
|
|
30
|
+
var _b = React.useState(false), addCard = _b[0], setAddCard = _b[1];
|
|
31
|
+
var _c = React.useState(false), editCardPane = _c[0], setEditCardPane = _c[1];
|
|
32
|
+
var _d = React.useState(false), confirmColumnDeleteVisible = _d[0], setConfirmColumnDeleteVisible = _d[1];
|
|
33
|
+
var _e = React.useState(), taskToEdit = _e[0], setTaskToEdit = _e[1];
|
|
34
|
+
var dragTargetRef = props.dragTargetRef, column = props.column, onColumnChange = props.onColumnChange, tasks = props.tasks, elementRef = props.elementRef, style = props.style, onTaskCreate = props.onTaskCreate, onTaskEdit = props.onTaskEdit, onTaskDelete = props.onTaskDelete;
|
|
35
|
+
var localization = kendo_react_intl_1.useLocalization();
|
|
36
|
+
var onTitleChange = React.useCallback(function (e) {
|
|
37
|
+
var newColumn = __assign({}, column, { title: e.value });
|
|
38
|
+
onColumnChange.call(undefined, newColumn, column);
|
|
39
|
+
}, [column, onColumnChange]);
|
|
40
|
+
var onColumnEnterEdit = React.useCallback(function () {
|
|
41
|
+
var newColumn = __assign({}, column, { edit: true });
|
|
42
|
+
onColumnChange.call(undefined, newColumn, column);
|
|
43
|
+
}, [column, onColumnChange]);
|
|
44
|
+
var onColumnExitEdit = React.useCallback(function () {
|
|
45
|
+
var newColumn = __assign({}, column, { edit: false });
|
|
46
|
+
onColumnChange.call(undefined, newColumn, column);
|
|
47
|
+
}, [column, onColumnChange]);
|
|
48
|
+
var onConfirmColumnDelete = React.useCallback(function () {
|
|
49
|
+
var newColumn = null;
|
|
50
|
+
onColumnChange.call(undefined, newColumn, column);
|
|
51
|
+
}, [column, onColumnChange]);
|
|
52
|
+
var onColumnDelete = function () {
|
|
53
|
+
setConfirmColumnDeleteVisible(!confirmColumnDeleteVisible);
|
|
54
|
+
};
|
|
55
|
+
var showAddCardDialog = function () {
|
|
56
|
+
setAddCard(true);
|
|
57
|
+
};
|
|
58
|
+
var showEditCardPane = function (task) {
|
|
59
|
+
setEditCardPane(true);
|
|
60
|
+
setTaskToEdit(task);
|
|
61
|
+
};
|
|
62
|
+
var hideCloseModal = function () {
|
|
63
|
+
setAddCard(false);
|
|
64
|
+
setEditCardPane(false);
|
|
65
|
+
};
|
|
66
|
+
var onNewTask = React.useCallback(function (task) {
|
|
67
|
+
setAddCard(false);
|
|
68
|
+
onTaskCreate.call(undefined, __assign({}, task, { status: column.status }));
|
|
69
|
+
}, [onTaskCreate, column]);
|
|
70
|
+
var editTask = React.useCallback(function (edited, prevTask) {
|
|
71
|
+
setEditCardPane(false);
|
|
72
|
+
onTaskEdit.call(undefined, edited, prevTask);
|
|
73
|
+
}, [onTaskEdit]);
|
|
74
|
+
var deleteTask = React.useCallback(function (task) {
|
|
75
|
+
onTaskDelete.call(undefined, task);
|
|
76
|
+
}, [onTaskDelete]);
|
|
77
|
+
if (column.isPlaceholder && dragTargetRef && dragTargetRef.current) {
|
|
78
|
+
var width = dragTargetRef.current ? dragTargetRef.current.width : 0;
|
|
79
|
+
var height = dragTargetRef.current ? dragTargetRef.current.height : 0;
|
|
80
|
+
return (React.createElement("div", __assign({ style: { width: width, height: height }, className: 'k-taskboard-column k-taskboard-drag-placeholder' }, (_a = {}, _a[constants_1.TASKBOARD_PLACEHOLDER] = true, _a))));
|
|
81
|
+
}
|
|
82
|
+
return (React.createElement(props.columnComponent, { column: props.column, tasks: tasks, priorities: props.priorities, style: Boolean(dragTargetRef) ? __assign({ overflow: 'visible' }, style) : style, tabIndex: props.tabIndex, elementRef: elementRef, dragTargetRef: dragTargetRef, onTaskCreate: onNewTask, onTaskEdit: editTask, onTaskDelete: deleteTask, card: props.cardComponent, header: ColumnHeader_1.TaskBoardColumnHeader, body: ColumnBody_1.TaskBoardColumnBody, confirmDialog: TaskBoardConfirmDialog_1.TaskBoardConfirmDialog, editCardDialog: TaskBoardEditCard_1.TaskBoardEditCard, addCardDialog: TaskBoardAddCard_1.TaskBoardAddCard, onTitleChange: onTitleChange, onColumnEnterEdit: onColumnEnterEdit, onColumnExitEdit: onColumnExitEdit, onColumnConfirmDelete: onConfirmColumnDelete, onShowAddCardDialog: showAddCardDialog, onShowEditCardPane: showEditCardPane, onColumnDelete: onColumnDelete, onCloseDialog: hideCloseModal, showAddCard: addCard, showEditCard: editCardPane, showColumnConfirmDelete: confirmColumnDeleteVisible, editedTask: taskToEdit, confirmDialogMessage: localization.toLanguageString(messages_1.taskBoardDelColumnDialogMsg, messages_1.messages[messages_1.taskBoardDelColumnDialogMsg]), confirmDialogTitle: localization.toLanguageString(messages_1.taskBoardDelColumnDialogTitle, messages_1.messages[messages_1.taskBoardDelColumnDialogTitle]), confirmDialogConfirmButton: localization.toLanguageString(messages_1.taskBoardDelColumnConfirmBtn, messages_1.messages[messages_1.taskBoardDelColumnConfirmBtn]), confirmDialogCancelButton: localization.toLanguageString(messages_1.taskBoardDelColumnCancelBtn, messages_1.messages[messages_1.taskBoardDelColumnCancelBtn]), editButtonTitle: localization.toLanguageString(messages_1.taskBoardEditColumnButton, messages_1.messages[messages_1.taskBoardEditColumnButton]), addButtonTitle: localization.toLanguageString(messages_1.taskBoardAddCardButton, messages_1.messages[messages_1.taskBoardAddCardButton]), closeButtonTitle: localization.toLanguageString(messages_1.taskBoardDeleteColumnButton, messages_1.messages[messages_1.taskBoardDeleteColumnButton]) }, tasks && tasks.map(function (task) {
|
|
83
|
+
return (React.createElement(TaskBoardCardBase_1.TaskBoardCardBase, { key: task.id, tabIndex: props.tabIndex, task: task, disabled: Boolean(props.column.edit), onDeleteTask: function () { return deleteTask(task); }, showEditPane: function () { return showEditCardPane(task); }, dragTargetRef: props.dragTargetRef, style: { borderLeftColor: task.priority.color }, cardComponent: props.cardComponent }));
|
|
84
|
+
})));
|
|
85
|
+
};
|
|
86
|
+
var defaultProps = {};
|
|
87
|
+
exports.TaskBoardColumnBase.propTypes = {
|
|
88
|
+
column: PropTypes.object.isRequired,
|
|
89
|
+
taskMap: PropTypes.object
|
|
90
|
+
};
|
|
91
|
+
exports.TaskBoardColumnBase.defaultProps = defaultProps;
|
|
92
|
+
exports.TaskBoardColumnBase.displayName = 'KendoReactTaskBoardColumn';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Represents the props of the TaskBoardConfirmDialog component
|
|
4
|
+
*/
|
|
5
|
+
export interface TaskBoardConfirmDialogProps {
|
|
6
|
+
/**
|
|
7
|
+
* The dialog message.
|
|
8
|
+
*/
|
|
9
|
+
dialogMessage: React.ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* The dialog title.
|
|
12
|
+
*/
|
|
13
|
+
dialogTitle: string;
|
|
14
|
+
/**
|
|
15
|
+
* The dialog confirm button.
|
|
16
|
+
*/
|
|
17
|
+
dialogConfirmButton: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* The dialog cancel button.
|
|
20
|
+
*/
|
|
21
|
+
dialogCancelButton: React.ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Fires when the dialog is closed.
|
|
24
|
+
*/
|
|
25
|
+
onClose: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Fires when the dialog is confirmed.
|
|
28
|
+
*/
|
|
29
|
+
onConfirm: () => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Represents the TaskBoardConfirmDialog component.
|
|
33
|
+
*/
|
|
34
|
+
export declare const TaskBoardConfirmDialog: {
|
|
35
|
+
(props: TaskBoardConfirmDialogProps): JSX.Element;
|
|
36
|
+
displayName: string;
|
|
37
|
+
};
|