@progress/kendo-react-taskboard 6.1.1-dev.202311151536 → 7.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/LICENSE.md +1 -1
  2. package/{dist/es/TaskBoard.d.ts → TaskBoard.d.ts} +4 -0
  3. package/{dist/npm/TaskBoardAddCard.d.ts → TaskBoardAddCard.d.ts} +4 -0
  4. package/{dist/npm/TaskBoardCardBase.d.ts → TaskBoardCardBase.d.ts} +5 -1
  5. package/{dist/npm/TaskBoardColumnBase.d.ts → TaskBoardColumnBase.d.ts} +5 -1
  6. package/{dist/es/TaskBoardConfirmDialog.d.ts → TaskBoardConfirmDialog.d.ts} +4 -0
  7. package/{dist/npm/TaskBoardEditCard.d.ts → TaskBoardEditCard.d.ts} +4 -0
  8. package/{dist/es/TaskBoardTaskEditPane.d.ts → TaskBoardTaskEditPane.d.ts} +4 -0
  9. package/{dist/npm/TaskBoardToolbar.d.ts → TaskBoardToolbar.d.ts} +4 -0
  10. package/{dist/es/card → card}/Card.d.ts +4 -0
  11. package/{dist/es/card → card}/CardBody.d.ts +4 -0
  12. package/{dist/npm/card → card}/CardHeader.d.ts +4 -0
  13. package/{dist/es/card → card}/PreviewDialog.d.ts +4 -0
  14. package/{dist/es/column → column}/Column.d.ts +4 -0
  15. package/{dist/npm/column → column}/ColumnBody.d.ts +4 -0
  16. package/{dist/npm/column → column}/ColumnHeader.d.ts +4 -0
  17. package/{dist/es/constants.d.ts → constants.d.ts} +4 -0
  18. package/dist/cdn/js/kendo-react-taskboard.js +5 -1
  19. package/{dist/npm/hooks → hooks}/taskEditing.d.ts +4 -0
  20. package/index.d.ts +18 -0
  21. package/index.js +5 -0
  22. package/index.mjs +834 -0
  23. package/{dist/es/messages → messages}/index.d.ts +4 -0
  24. package/package-metadata.d.ts +9 -0
  25. package/package.json +38 -56
  26. package/{dist/npm/utils.d.ts → utils.d.ts} +5 -1
  27. package/about.md +0 -3
  28. package/dist/es/TaskBoard.js +0 -270
  29. package/dist/es/TaskBoardAddCard.d.ts +0 -28
  30. package/dist/es/TaskBoardAddCard.js +0 -14
  31. package/dist/es/TaskBoardCardBase.d.ts +0 -60
  32. package/dist/es/TaskBoardCardBase.js +0 -95
  33. package/dist/es/TaskBoardColumnBase.d.ts +0 -76
  34. package/dist/es/TaskBoardColumnBase.js +0 -92
  35. package/dist/es/TaskBoardConfirmDialog.js +0 -24
  36. package/dist/es/TaskBoardEditCard.d.ts +0 -16
  37. package/dist/es/TaskBoardEditCard.js +0 -14
  38. package/dist/es/TaskBoardTaskEditPane.js +0 -35
  39. package/dist/es/TaskBoardToolbar.d.ts +0 -22
  40. package/dist/es/TaskBoardToolbar.js +0 -15
  41. package/dist/es/card/Card.js +0 -33
  42. package/dist/es/card/CardBody.js +0 -9
  43. package/dist/es/card/CardHeader.d.ts +0 -53
  44. package/dist/es/card/CardHeader.js +0 -19
  45. package/dist/es/card/PreviewDialog.js +0 -26
  46. package/dist/es/column/Column.js +0 -34
  47. package/dist/es/column/ColumnBody.d.ts +0 -14
  48. package/dist/es/column/ColumnBody.js +0 -9
  49. package/dist/es/column/ColumnHeader.d.ts +0 -52
  50. package/dist/es/column/ColumnHeader.js +0 -19
  51. package/dist/es/constants.js +0 -20
  52. package/dist/es/hooks/taskEditing.d.ts +0 -19
  53. package/dist/es/hooks/taskEditing.js +0 -32
  54. package/dist/es/main.d.ts +0 -14
  55. package/dist/es/main.js +0 -14
  56. package/dist/es/messages/index.js +0 -151
  57. package/dist/es/package-metadata.d.ts +0 -5
  58. package/dist/es/package-metadata.js +0 -11
  59. package/dist/es/utils.d.ts +0 -25
  60. package/dist/es/utils.js +0 -81
  61. package/dist/npm/TaskBoard.d.ts +0 -145
  62. package/dist/npm/TaskBoard.js +0 -273
  63. package/dist/npm/TaskBoardAddCard.js +0 -18
  64. package/dist/npm/TaskBoardCardBase.js +0 -99
  65. package/dist/npm/TaskBoardColumnBase.js +0 -96
  66. package/dist/npm/TaskBoardConfirmDialog.d.ts +0 -34
  67. package/dist/npm/TaskBoardConfirmDialog.js +0 -28
  68. package/dist/npm/TaskBoardEditCard.js +0 -18
  69. package/dist/npm/TaskBoardTaskEditPane.d.ts +0 -89
  70. package/dist/npm/TaskBoardTaskEditPane.js +0 -39
  71. package/dist/npm/TaskBoardToolbar.js +0 -19
  72. package/dist/npm/card/Card.d.ts +0 -141
  73. package/dist/npm/card/Card.js +0 -37
  74. package/dist/npm/card/CardBody.d.ts +0 -19
  75. package/dist/npm/card/CardBody.js +0 -13
  76. package/dist/npm/card/CardHeader.js +0 -23
  77. package/dist/npm/card/PreviewDialog.d.ts +0 -47
  78. package/dist/npm/card/PreviewDialog.js +0 -30
  79. package/dist/npm/column/Column.d.ts +0 -158
  80. package/dist/npm/column/Column.js +0 -38
  81. package/dist/npm/column/ColumnBody.js +0 -13
  82. package/dist/npm/column/ColumnHeader.js +0 -23
  83. package/dist/npm/constants.d.ts +0 -20
  84. package/dist/npm/constants.js +0 -23
  85. package/dist/npm/hooks/taskEditing.js +0 -36
  86. package/dist/npm/main.d.ts +0 -14
  87. package/dist/npm/main.js +0 -31
  88. package/dist/npm/messages/index.d.ts +0 -150
  89. package/dist/npm/messages/index.js +0 -154
  90. package/dist/npm/package-metadata.d.ts +0 -5
  91. package/dist/npm/package-metadata.js +0 -14
  92. package/dist/npm/utils.js +0 -88
  93. package/dist/systemjs/kendo-react-taskboard.js +0 -1
  94. package/e2e-next/basic.tests.ts +0 -24
@@ -1,273 +0,0 @@
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
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
- if (ar || !(i in from)) {
16
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
- ar[i] = from[i];
18
- }
19
- }
20
- return to.concat(ar || Array.prototype.slice.call(from));
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.TaskBoard = void 0;
24
- var React = require("react");
25
- var PropTypes = require("prop-types");
26
- var kendo_licensing_1 = require("@progress/kendo-licensing");
27
- var package_metadata_1 = require("./package-metadata");
28
- var kendo_react_common_1 = require("@progress/kendo-react-common");
29
- var TaskBoardColumnBase_1 = require("./TaskBoardColumnBase");
30
- var TaskBoardCardBase_1 = require("./TaskBoardCardBase");
31
- var constants_1 = require("./constants");
32
- var utils_1 = require("./utils");
33
- var Card_1 = require("./card/Card");
34
- var Column_1 = require("./column/Column");
35
- /**
36
- * Represents the [KendoReact TaskBoard component]({% slug overview_taskboard %}).
37
- *
38
- * Accepts properties of type [TaskBoardProps]({% slug api_taskboard_taskboardprops %}).
39
- */
40
- exports.TaskBoard = React.forwardRef(function (props, ref) {
41
- (0, kendo_licensing_1.validatePackage)(package_metadata_1.packageMetadata);
42
- var _a = props.columnData, columnData = _a === void 0 ? [] : _a, className = props.className, style = props.style, id = props.id, _b = props.taskData, taskData = _b === void 0 ? [] : _b, onChange = props.onChange;
43
- var taskboardRef = React.useRef(null);
44
- var taskboardElementRef = React.useRef(null);
45
- React.useImperativeHandle(taskboardRef, function () {
46
- return { props: props };
47
- });
48
- React.useImperativeHandle(ref, function () { return taskboardRef.current; });
49
- var children = React.Children.toArray(props.children);
50
- var toolbar = children.filter(function (child) { return child && child.type &&
51
- child.type.displayName === 'KendoReactTaskBoardToolbar'; });
52
- var elementRef = React.useRef(null);
53
- var dragTargetRef = React.useRef(null);
54
- var pressOffsetRef = React.useRef(null);
55
- var _c = React.useState(null), taskDataState = _c[0], setTaskDataState = _c[1];
56
- var _d = React.useState(null), columnDataState = _d[0], setColumnDataState = _d[1];
57
- var _e = React.useState({ top: 0, left: 0 }), position = _e[0], setPosition = _e[1];
58
- var dragCardCueRef = React.useRef(null);
59
- var dragColumnCueRef = React.useRef(null);
60
- var tasksMap = React.useMemo(function () {
61
- var map = {};
62
- (taskDataState || taskData).forEach(function (task) {
63
- var currentStatus = task.status;
64
- if (!map[currentStatus]) {
65
- map[currentStatus] = [];
66
- }
67
- map[currentStatus].push(task);
68
- });
69
- return map;
70
- }, [taskData, taskDataState]);
71
- var handlePress = React.useCallback(function (event) {
72
- var target = event.originalEvent.target;
73
- if (target.closest('button,input,.k-link,.k-taskboard-preview-pane')) {
74
- return;
75
- }
76
- var currentDragTarget = (0, utils_1.closestTaskBoardElement)(target);
77
- var taskboardEl = taskboardElementRef.current;
78
- if (currentDragTarget && taskboardEl) {
79
- var isColumn = currentDragTarget.type === constants_1.TASKBOARD_COLUMN;
80
- if (isColumn && !target.closest('.k-taskboard-column-header')) {
81
- return;
82
- }
83
- var dragElement = currentDragTarget.element;
84
- var rect = dragElement.getBoundingClientRect();
85
- var parentRect = taskboardEl.getBoundingClientRect();
86
- pressOffsetRef.current = {
87
- x: event.clientX - rect.left + parentRect.left,
88
- y: event.clientY - rect.top + parentRect.top
89
- };
90
- var data = isColumn ? columnData : taskData;
91
- var stateSetter = isColumn ? setColumnDataState : setTaskDataState;
92
- var index = data.findIndex(function (dataItem) { return String(dataItem.id) === currentDragTarget.id; });
93
- var item = data[index];
94
- if (index === -1 || item.edit) {
95
- return;
96
- }
97
- var newItem = (0, kendo_react_common_1.clone)(item);
98
- newItem.isPlaceholder = true;
99
- var newData = __spreadArray([], data, true);
100
- newData[index] = newItem;
101
- dragTargetRef.current = __assign(__assign({}, currentDragTarget), { index: index, item: item, width: rect.width, height: rect.height });
102
- setPosition({
103
- top: event.clientY - pressOffsetRef.current.y,
104
- left: event.clientX - pressOffsetRef.current.x
105
- });
106
- stateSetter(newData);
107
- }
108
- }, [columnData, taskData]);
109
- var handleDrag = React.useCallback(function (event) {
110
- var currentDragTarget = dragTargetRef.current;
111
- var dragCueElement = (dragCardCueRef.current && dragCardCueRef.current.element) || dragColumnCueRef.current;
112
- if (currentDragTarget && dragCueElement) {
113
- setPosition({
114
- top: event.clientY - pressOffsetRef.current.y,
115
- left: event.clientX - pressOffsetRef.current.x
116
- });
117
- dragCueElement.style.visibility = 'hidden';
118
- var targetElement = document.elementFromPoint(event.clientX, event.clientY);
119
- dragCueElement.style.visibility = '';
120
- if (targetElement && targetElement.getAttribute(constants_1.TASKBOARD_PLACEHOLDER)) {
121
- return;
122
- }
123
- var dropTarget_1 = targetElement && (0, utils_1.closestTaskBoardElement)(targetElement);
124
- if (dropTarget_1) {
125
- var indexes = void 0;
126
- var isSameType = dropTarget_1.type === currentDragTarget.type;
127
- var isDragTargetColumn = currentDragTarget.type === constants_1.TASKBOARD_COLUMN;
128
- var data = (isDragTargetColumn ? columnDataState : taskDataState) || [];
129
- var stateSetter = isDragTargetColumn ? setColumnDataState : setTaskDataState;
130
- if (isDragTargetColumn || isSameType) {
131
- indexes = (0, utils_1.findIndexes)(currentDragTarget.id, dropTarget_1.id, data);
132
- if (indexes) {
133
- var dragItem = data[indexes.dragIndex];
134
- var dropItem = data[indexes.dropIndex];
135
- var newDragItem = (0, kendo_react_common_1.clone)(dragItem);
136
- if (!isDragTargetColumn) {
137
- newDragItem.status = dropItem.status;
138
- }
139
- var newData = __spreadArray([], data, true);
140
- newData.splice(indexes.dragIndex, 1);
141
- newData.splice(indexes.dropIndex, 0, newDragItem);
142
- currentDragTarget.index = indexes.dropIndex;
143
- stateSetter(newData);
144
- }
145
- }
146
- else {
147
- var taskIndex = data.findIndex(function (item) { return String(item.id) === currentDragTarget.id; });
148
- var columnIndex = columnData.findIndex(function (item) { return String(item.id) === dropTarget_1.id; });
149
- if (taskIndex !== -1 && columnIndex !== -1) {
150
- var task = data[taskIndex];
151
- var column = columnData[columnIndex];
152
- var columnStatus = column.status;
153
- if (tasksMap[columnStatus]) {
154
- return;
155
- }
156
- task.status = columnStatus;
157
- var newData = __spreadArray([], data, true);
158
- newData.splice(taskIndex, 1);
159
- newData.push(task);
160
- currentDragTarget.index = newData.length - 1;
161
- stateSetter(newData);
162
- }
163
- }
164
- }
165
- }
166
- }, [columnDataState, taskDataState, columnData, tasksMap]);
167
- var handleRelease = React.useCallback(function () {
168
- var currentDragTarget = dragTargetRef.current;
169
- if (onChange && currentDragTarget) {
170
- var isDragTargetColumn = currentDragTarget.type === constants_1.TASKBOARD_COLUMN;
171
- var data = (isDragTargetColumn ? columnDataState : taskDataState) || [];
172
- var item = data[currentDragTarget.index];
173
- delete item.isPlaceholder;
174
- var event_1 = {
175
- data: data,
176
- type: currentDragTarget.type,
177
- previousItem: currentDragTarget.item,
178
- item: item
179
- };
180
- onChange.call(undefined, event_1);
181
- }
182
- dragTargetRef.current = null;
183
- pressOffsetRef.current = null;
184
- setTaskDataState(null);
185
- setColumnDataState(null);
186
- setPosition({ top: 0, left: 0 });
187
- }, [columnDataState, taskDataState, onChange]);
188
- (0, kendo_react_common_1.useDraggable)(elementRef, {
189
- onDragStart: handlePress,
190
- onDrag: handleDrag,
191
- onDragEnd: handleRelease
192
- });
193
- var dragTarget = dragTargetRef.current;
194
- var onTaskCreate = React.useCallback(function (newTask) {
195
- var tasks = __spreadArray(__spreadArray([], taskData, true), [newTask], false);
196
- var event = {
197
- data: tasks,
198
- type: constants_1.TASKBOARD_TASK,
199
- previousItem: null,
200
- item: newTask
201
- };
202
- onChange.call(undefined, event);
203
- }, [onChange, taskData]);
204
- var onTaskEdit = React.useCallback(function (task, prevTask) {
205
- var tasks = taskData.slice();
206
- var index = taskData.indexOf(prevTask);
207
- if (index !== -1) {
208
- tasks.splice(index, 1, task);
209
- }
210
- var event = {
211
- data: tasks,
212
- type: constants_1.TASKBOARD_TASK,
213
- previousItem: prevTask,
214
- item: task
215
- };
216
- onChange.call(undefined, event);
217
- }, [onChange, taskData]);
218
- var onTaskDelete = React.useCallback(function (task) {
219
- var tasks = taskData.filter(function (t) { return t !== task; });
220
- var event = {
221
- data: tasks,
222
- type: constants_1.TASKBOARD_TASK,
223
- previousItem: task,
224
- item: null
225
- };
226
- onChange.call(undefined, event);
227
- }, [onChange, taskData]);
228
- var onColumnChange = React.useCallback(function (newColumn, prevColumn) {
229
- var data = columnData.slice();
230
- var index = data.indexOf(prevColumn);
231
- if (index !== -1) {
232
- if (newColumn) {
233
- data.splice(index, 1, newColumn);
234
- }
235
- else {
236
- data.splice(index, 1);
237
- }
238
- }
239
- var event = {
240
- data: data,
241
- type: constants_1.TASKBOARD_COLUMN,
242
- previousItem: prevColumn,
243
- item: newColumn
244
- };
245
- onChange.call(undefined, event);
246
- }, [onChange, columnData]);
247
- return (React.createElement("div", { id: id, style: style, ref: taskboardElementRef, className: (0, kendo_react_common_1.classNames)('k-widget k-taskboard', className) },
248
- toolbar,
249
- React.createElement("div", { className: 'k-taskboard-content', style: dragTarget ? { userSelect: 'none' } : undefined },
250
- 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 })); }))),
251
- dragTarget && dragTarget.type === constants_1.TASKBOARD_TASK && (React.createElement(TaskBoardCardBase_1.TaskBoardCardBase, { elementRef: dragCardCueRef, style: {
252
- position: 'absolute',
253
- width: dragTarget.width,
254
- height: dragTarget.height,
255
- top: position.top,
256
- left: position.left,
257
- zIndex: 10,
258
- borderLeftColor: dragTarget.item.priority ? dragTarget.item.priority.color : dragTarget.item.color
259
- }, task: dragTarget.item, dragTargetRef: dragTargetRef, cardComponent: props.card || Card_1.TaskBoardCard, onDeleteTask: kendo_react_common_1.noop, showEditPane: kendo_react_common_1.noop })),
260
- dragTarget && dragTarget.type === constants_1.TASKBOARD_COLUMN && (React.createElement(TaskBoardColumnBase_1.TaskBoardColumnBase, { elementRef: dragColumnCueRef, style: {
261
- position: 'absolute',
262
- width: dragTarget.width,
263
- height: dragTarget.height,
264
- top: position.top,
265
- left: position.left,
266
- zIndex: 10
267
- }, 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 }))));
268
- });
269
- exports.TaskBoard.propTypes = {
270
- columnData: PropTypes.array.isRequired,
271
- taskData: PropTypes.array.isRequired
272
- };
273
- exports.TaskBoard.displayName = 'KendoReactTaskBoard';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskBoardAddCard = void 0;
4
- var React = require("react");
5
- var kendo_react_intl_1 = require("@progress/kendo-react-intl");
6
- var messages_1 = require("./messages");
7
- var taskEditing_1 = require("./hooks/taskEditing");
8
- /**
9
- * Represents the TaskBoardAddCard component.
10
- */
11
- var TaskBoardAddCard = function (props) {
12
- var _a = (0, 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;
13
- var localization = (0, kendo_react_intl_1.useLocalization)();
14
- 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 }));
15
- };
16
- exports.TaskBoardAddCard = TaskBoardAddCard;
17
- exports.TaskBoardAddCard.propTypes = {};
18
- exports.TaskBoardAddCard.displayName = 'KendoReactTaskBoardAddCard';
@@ -1,99 +0,0 @@
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
- exports.TaskBoardCardBase = void 0;
15
- var React = require("react");
16
- var PropTypes = require("prop-types");
17
- var kendo_react_layout_1 = require("@progress/kendo-react-layout");
18
- var constants_1 = require("./constants");
19
- var kendo_react_intl_1 = require("@progress/kendo-react-intl");
20
- var messages_1 = require("./messages");
21
- var CardHeader_1 = require("./card/CardHeader");
22
- var CardBody_1 = require("./card/CardBody");
23
- var TaskBoardConfirmDialog_1 = require("./TaskBoardConfirmDialog");
24
- var PreviewDialog_1 = require("./card/PreviewDialog");
25
- var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
26
- /**
27
- * Represents the TaskBoardCardBase component.
28
- *
29
- * @hidden
30
- */
31
- var TaskBoardCardBase = function (props) {
32
- var _a;
33
- var onDeleteTask = props.onDeleteTask, showEditPane = props.showEditPane, task = props.task, style = props.style, dragTargetRef = props.dragTargetRef, elementRef = props.elementRef;
34
- var _b = React.useState(false), optionMenuVisible = _b[0], setOptionMenuVisible = _b[1];
35
- var _c = React.useState(false), confirmTaskDeleteVisible = _c[0], setConfirmTaskDeleteVisible = _c[1];
36
- var _d = React.useState(false), showTaskPreviewPane = _d[0], setShowTaskPreviewPane = _d[1];
37
- var popupRef = React.useRef(null);
38
- var localization = (0, kendo_react_intl_1.useLocalization)();
39
- var optionButtons = [
40
- {
41
- text: localization.toLanguageString(messages_1.taskBoardEditCardButton, messages_1.messages[messages_1.taskBoardEditCardButton]),
42
- icon: 'pencil',
43
- svgIcon: kendo_svg_icons_1.pencilIcon,
44
- data: function () {
45
- showEditPane(task);
46
- setOptionMenuVisible(!optionMenuVisible);
47
- }
48
- },
49
- {
50
- text: localization.toLanguageString(messages_1.taskBoardDeleteCardButton, messages_1.messages[messages_1.taskBoardDeleteCardButton]),
51
- icon: 'trash',
52
- svgIcon: kendo_svg_icons_1.trashIcon,
53
- data: function () {
54
- setConfirmTaskDeleteVisible(!confirmTaskDeleteVisible);
55
- setOptionMenuVisible(!optionMenuVisible);
56
- }
57
- }
58
- ];
59
- var handleSelect = function (e) {
60
- e.item.data();
61
- };
62
- var onShowMenu = function () {
63
- setOptionMenuVisible(true);
64
- };
65
- var onHideMenu = function () {
66
- setOptionMenuVisible(false);
67
- };
68
- var onMenuButtonBlur = function (event) {
69
- var popup = popupRef.current && popupRef.current.element;
70
- if (popup && popup.contains(event.relatedTarget)) {
71
- return;
72
- }
73
- setOptionMenuVisible(false);
74
- };
75
- var closeConfirmDialog = function () {
76
- setConfirmTaskDeleteVisible(!confirmTaskDeleteVisible);
77
- };
78
- var onShowTaskPreviewPane = function () {
79
- setShowTaskPreviewPane(true);
80
- };
81
- var onClosePreviewPane = function () {
82
- setShowTaskPreviewPane(false);
83
- };
84
- var onTaskEdit = function () {
85
- showEditPane(task);
86
- onShowTaskPreviewPane();
87
- };
88
- if (task.isPlaceholder && dragTargetRef && dragTargetRef.current) {
89
- 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))));
90
- }
91
- 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, onClosePreviewPane: onClosePreviewPane, 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 }));
92
- };
93
- exports.TaskBoardCardBase = TaskBoardCardBase;
94
- var defaultProps = {};
95
- exports.TaskBoardCardBase.propTypes = {
96
- task: PropTypes.object.isRequired
97
- };
98
- exports.TaskBoardCardBase.defaultProps = defaultProps;
99
- exports.TaskBoardCardBase.displayName = 'KendoReactTaskBoardCardBase';
@@ -1,96 +0,0 @@
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
- exports.TaskBoardColumnBase = void 0;
15
- var React = require("react");
16
- var PropTypes = require("prop-types");
17
- var kendo_react_intl_1 = require("@progress/kendo-react-intl");
18
- var messages_1 = require("./messages");
19
- var constants_1 = require("./constants");
20
- var ColumnHeader_1 = require("./column/ColumnHeader");
21
- var ColumnBody_1 = require("./column/ColumnBody");
22
- var TaskBoardConfirmDialog_1 = require("./TaskBoardConfirmDialog");
23
- var TaskBoardEditCard_1 = require("./TaskBoardEditCard");
24
- var TaskBoardAddCard_1 = require("./TaskBoardAddCard");
25
- var TaskBoardCardBase_1 = require("./TaskBoardCardBase");
26
- /**
27
- * Represents the TaskBoardColumnBase component.
28
- *
29
- * @hidden
30
- */
31
- var TaskBoardColumnBase = function (props) {
32
- var _a;
33
- var _b = React.useState(false), addCard = _b[0], setAddCard = _b[1];
34
- var _c = React.useState(false), editCardPane = _c[0], setEditCardPane = _c[1];
35
- var _d = React.useState(false), confirmColumnDeleteVisible = _d[0], setConfirmColumnDeleteVisible = _d[1];
36
- var _e = React.useState(), taskToEdit = _e[0], setTaskToEdit = _e[1];
37
- 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;
38
- var localization = (0, kendo_react_intl_1.useLocalization)();
39
- var onTitleChange = React.useCallback(function (e) {
40
- var newColumn = __assign(__assign({}, column), { title: e.value });
41
- onColumnChange.call(undefined, newColumn, column);
42
- }, [column, onColumnChange]);
43
- var onColumnEnterEdit = React.useCallback(function () {
44
- var newColumn = __assign(__assign({}, column), { edit: true });
45
- onColumnChange.call(undefined, newColumn, column);
46
- }, [column, onColumnChange]);
47
- var onColumnExitEdit = React.useCallback(function () {
48
- var newColumn = __assign(__assign({}, column), { edit: false });
49
- onColumnChange.call(undefined, newColumn, column);
50
- }, [column, onColumnChange]);
51
- var onConfirmColumnDelete = React.useCallback(function () {
52
- var newColumn = null;
53
- onColumnChange.call(undefined, newColumn, column);
54
- }, [column, onColumnChange]);
55
- var onColumnDelete = function () {
56
- setConfirmColumnDeleteVisible(!confirmColumnDeleteVisible);
57
- };
58
- var showAddCardDialog = function () {
59
- setAddCard(true);
60
- };
61
- var showEditCardPane = function (task) {
62
- setEditCardPane(true);
63
- setTaskToEdit(task);
64
- };
65
- var hideCloseModal = function () {
66
- setAddCard(false);
67
- setEditCardPane(false);
68
- };
69
- var onNewTask = React.useCallback(function (task) {
70
- setAddCard(false);
71
- onTaskCreate.call(undefined, __assign(__assign({}, task), { status: column.status }));
72
- }, [onTaskCreate, column]);
73
- var editTask = React.useCallback(function (edited, prevTask) {
74
- setEditCardPane(false);
75
- onTaskEdit.call(undefined, edited, prevTask);
76
- }, [onTaskEdit]);
77
- var deleteTask = React.useCallback(function (task) {
78
- onTaskDelete.call(undefined, task);
79
- }, [onTaskDelete]);
80
- if (column.isPlaceholder && dragTargetRef && dragTargetRef.current) {
81
- var width = dragTargetRef.current ? dragTargetRef.current.width : 0;
82
- var height = dragTargetRef.current ? dragTargetRef.current.height : 0;
83
- 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))));
84
- }
85
- 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, 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) {
86
- 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 }));
87
- })));
88
- };
89
- exports.TaskBoardColumnBase = TaskBoardColumnBase;
90
- var defaultProps = {};
91
- exports.TaskBoardColumnBase.propTypes = {
92
- column: PropTypes.object.isRequired,
93
- taskMap: PropTypes.object
94
- };
95
- exports.TaskBoardColumnBase.defaultProps = defaultProps;
96
- exports.TaskBoardColumnBase.displayName = 'KendoReactTaskBoardColumn';
@@ -1,34 +0,0 @@
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
- * The Close Button click event handler of the TaskBoardConfirmDialog component.
24
- */
25
- onClose: (event: React.MouseEvent<HTMLButtonElement>) => void;
26
- /**
27
- * The Confirm Button click event handler of the TaskBoardConfirmDialog component.
28
- */
29
- onConfirm: (event: React.MouseEvent<HTMLButtonElement>) => void;
30
- }
31
- /**
32
- * Represents the TaskBoardConfirmDialog component.
33
- */
34
- export declare const TaskBoardConfirmDialog: React.FunctionComponent<TaskBoardConfirmDialogProps>;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskBoardConfirmDialog = void 0;
4
- var React = require("react");
5
- var PropTypes = require("prop-types");
6
- var kendo_react_dialogs_1 = require("@progress/kendo-react-dialogs");
7
- var kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
8
- /**
9
- * Represents the TaskBoardConfirmDialog component.
10
- */
11
- var TaskBoardConfirmDialog = function (props) {
12
- var onClose = props.onClose, onConfirm = props.onConfirm, dialogMessage = props.dialogMessage, dialogTitle = props.dialogTitle, dialogConfirmButton = props.dialogConfirmButton, dialogCancelButton = props.dialogCancelButton;
13
- return (React.createElement(kendo_react_dialogs_1.Dialog, { title: dialogTitle, closeIcon: false },
14
- dialogMessage,
15
- React.createElement(kendo_react_dialogs_1.DialogActionsBar, { layout: 'end' },
16
- React.createElement(kendo_react_buttons_1.Button, { themeColor: 'primary', onClick: onConfirm }, dialogConfirmButton),
17
- React.createElement(kendo_react_buttons_1.Button, { onClick: onClose }, dialogCancelButton))));
18
- };
19
- exports.TaskBoardConfirmDialog = TaskBoardConfirmDialog;
20
- exports.TaskBoardConfirmDialog.propTypes = {
21
- onClose: PropTypes.func.isRequired,
22
- onConfirm: PropTypes.func.isRequired,
23
- dialogMessage: PropTypes.string.isRequired,
24
- dialogTitle: PropTypes.string.isRequired,
25
- dialogConfirmButton: PropTypes.string.isRequired,
26
- dialogCancelButton: PropTypes.string.isRequired
27
- };
28
- exports.TaskBoardConfirmDialog.displayName = 'KendoReactTaskBoardConfirmDialog';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskBoardEditCard = void 0;
4
- var React = require("react");
5
- var kendo_react_intl_1 = require("@progress/kendo-react-intl");
6
- var messages_1 = require("./messages");
7
- var taskEditing_1 = require("./hooks/taskEditing");
8
- /**
9
- * Represents the TaskBoardEditCard component.
10
- */
11
- var TaskBoardEditCard = function (props) {
12
- var _a = (0, 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;
13
- var localization = (0, kendo_react_intl_1.useLocalization)();
14
- return (React.createElement(props.editPane, { header: localization.toLanguageString(messages_1.taskBoardEditCardPaneTitle, messages_1.messages[messages_1.taskBoardEditCardPaneTitle]) + props.task.title, 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]), task: props.task, saveButton: localization.toLanguageString(messages_1.taskBoardEditCardPaneSaveBtn, messages_1.messages[messages_1.taskBoardEditCardPaneSaveBtn]), cancelButton: localization.toLanguageString(messages_1.taskBoardEditPaneCancelBtn, messages_1.messages[messages_1.taskBoardEditPaneCancelBtn]), priorities: props.priorities, 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]), onSave: onSave, onClose: props.onClose, onTitleChange: onTitleChange, title: title, onDescriptionChange: onDescriptionChange, description: description, onPriorityChange: onPriorityChange, priority: priority }));
15
- };
16
- exports.TaskBoardEditCard = TaskBoardEditCard;
17
- exports.TaskBoardEditCard.propTypes = {};
18
- exports.TaskBoardEditCard.displayName = 'KendoReactTaskBoardEditCard';