@progress/kendo-react-taskboard 6.1.1 → 7.0.0-develop.2

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,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  /**
2
6
  * @hidden
3
7
  */
@@ -0,0 +1,9 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { PackageMetadata } from '@progress/kendo-licensing';
6
+ /**
7
+ * @hidden
8
+ */
9
+ export declare const packageMetadata: PackageMetadata;
package/package.json CHANGED
@@ -1,22 +1,40 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-taskboard",
3
- "version": "6.1.1",
3
+ "version": "7.0.0-develop.2",
4
4
  "description": "KendoReact TaskBoard package",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/telerik/kendo-react.git"
5
+ "author": "Progress",
6
+ "license": "SEE LICENSE IN LICENSE.md",
7
+ "homepage": "https://www.telerik.com/kendo-react-ui",
8
+ "main": "./index.js",
9
+ "types": "./index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./index.mjs",
13
+ "require": "./index.js"
14
+ }
8
15
  },
9
- "main": "dist/npm/main.js",
10
- "types": "dist/npm/main.d.ts",
11
- "module": "dist/es/main.js",
12
- "jsnext:main": "dist/es/main.js",
13
- "scripts": {
14
- "test": "cd ../../ && npm run test -- --testPathPattern=/packages/taskboard/.*",
15
- "e2e": "cd ../../ && npx jest --maxWorkers=4 --config jest.e2e.js packages/taskboard/e2e/",
16
- "start": "gulp start",
17
- "build-package": "gulp build-package"
16
+ "sideEffects": false,
17
+ "peerDependencies": {
18
+ "@progress/kendo-data-query": "^1.0.0",
19
+ "@progress/kendo-licensing": "^1.3.0",
20
+ "@progress/kendo-react-buttons": "7.0.0-develop.2",
21
+ "@progress/kendo-react-common": "7.0.0-develop.2",
22
+ "@progress/kendo-react-dialogs": "7.0.0-develop.2",
23
+ "@progress/kendo-react-dropdowns": "7.0.0-develop.2",
24
+ "@progress/kendo-react-form": "7.0.0-develop.2",
25
+ "@progress/kendo-react-indicators": "7.0.0-develop.2",
26
+ "@progress/kendo-react-inputs": "7.0.0-develop.2",
27
+ "@progress/kendo-react-intl": "7.0.0-develop.2",
28
+ "@progress/kendo-react-labels": "7.0.0-develop.2",
29
+ "@progress/kendo-react-layout": "7.0.0-develop.2",
30
+ "@progress/kendo-react-popup": "7.0.0-develop.2",
31
+ "@progress/kendo-svg-icons": "^2.0.0",
32
+ "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
33
+ "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
34
+ },
35
+ "dependencies": {
36
+ "prop-types": "^15.6.0"
18
37
  },
19
- "homepage": "https://www.telerik.com/kendo-react-ui",
20
38
  "keywords": [
21
39
  "Kendo UI",
22
40
  "React",
@@ -29,51 +47,15 @@
29
47
  "React component",
30
48
  "Telerik"
31
49
  ],
32
- "peerDependencies": {
33
- "@progress/kendo-data-query": "^1.0.0",
34
- "@progress/kendo-licensing": "^1.3.0",
35
- "@progress/kendo-react-buttons": "^6.0.0",
36
- "@progress/kendo-react-dialogs": "^6.0.0",
37
- "@progress/kendo-react-dropdowns": "^6.0.0",
38
- "@progress/kendo-react-form": "^6.0.0",
39
- "@progress/kendo-react-indicators": "^6.0.0",
40
- "@progress/kendo-react-inputs": "^6.0.0",
41
- "@progress/kendo-react-intl": "^6.0.0",
42
- "@progress/kendo-react-labels": "^6.0.0",
43
- "@progress/kendo-react-layout": "^6.0.0",
44
- "@progress/kendo-react-popup": "^6.0.0",
45
- "@progress/kendo-svg-icons": "^2.0.0",
46
- "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
47
- "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
48
- },
49
- "dependencies": {
50
- "@progress/kendo-react-common": "6.1.1",
51
- "prop-types": "^15.6.0"
52
- },
53
- "devDependencies": {
54
- "@progress/kendo-data-query": "^1.0.0",
55
- "@progress/kendo-drawing": "^1.17.2",
56
- "@progress/kendo-licensing": "^1.3.0",
57
- "@progress/kendo-react-buttons": "6.1.1",
58
- "@progress/kendo-react-dialogs": "6.1.1",
59
- "@progress/kendo-react-dropdowns": "6.1.1",
60
- "@progress/kendo-react-form": "6.1.1",
61
- "@progress/kendo-react-indicators": "6.1.1",
62
- "@progress/kendo-react-inputs": "6.1.1",
63
- "@progress/kendo-react-intl": "6.1.1",
64
- "@progress/kendo-react-labels": "6.1.1",
65
- "@progress/kendo-react-layout": "6.1.1",
66
- "@progress/kendo-react-popup": "6.1.1",
67
- "@progress/kendo-svg-icons": "^2.0.0"
68
- },
69
50
  "@progress": {
70
51
  "friendlyName": "TaskBoard",
71
52
  "framework": "KendoReact"
72
53
  },
73
- "author": "Progress",
74
- "license": "SEE LICENSE IN LICENSE.md",
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "git+https://github.com/telerik/kendo-react.git"
57
+ },
75
58
  "publishConfig": {
76
59
  "access": "public"
77
- },
78
- "sideEffects": false
79
- }
60
+ }
61
+ }
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  import { ListItemProps } from '@progress/kendo-react-dropdowns';
2
6
  import * as React from 'react';
3
7
  /**
@@ -22,4 +26,4 @@ export declare const itemRender: (li: React.ReactElement<HTMLLIElement>, itemPro
22
26
  /**
23
27
  * @hidden
24
28
  */
25
- export declare const valueRender: (element: React.ReactElement<HTMLSpanElement>, value: any) => React.ReactElement<HTMLSpanElement, string | React.JSXElementConstructor<any>>;
29
+ export declare const valueRender: (element: any, value: any) => any;
package/about.md DELETED
@@ -1,3 +0,0 @@
1
- <a href="https://www.telerik.com/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-taskboard&utm_content=banner" target="_blank">
2
- <img src="https://www.telerik.com/kendo-react-ui/components/npm-banner.svg" alt="KendoReact NPM Banner">
3
- </a>
@@ -1,270 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
- if (ar || !(i in from)) {
15
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
- ar[i] = from[i];
17
- }
18
- }
19
- return to.concat(ar || Array.prototype.slice.call(from));
20
- };
21
- import * as React from 'react';
22
- import * as PropTypes from 'prop-types';
23
- import { validatePackage } from '@progress/kendo-licensing';
24
- import { packageMetadata } from './package-metadata';
25
- import { classNames, useDraggable, clone, noop } from '@progress/kendo-react-common';
26
- import { TaskBoardColumnBase } from './TaskBoardColumnBase';
27
- import { TaskBoardCardBase } from './TaskBoardCardBase';
28
- import { TASKBOARD_COLUMN, TASKBOARD_PLACEHOLDER, TASKBOARD_TASK } from './constants';
29
- import { closestTaskBoardElement, findIndexes } from './utils';
30
- import { TaskBoardCard } from './card/Card';
31
- import { TaskBoardColumn } from './column/Column';
32
- /**
33
- * Represents the [KendoReact TaskBoard component]({% slug overview_taskboard %}).
34
- *
35
- * Accepts properties of type [TaskBoardProps]({% slug api_taskboard_taskboardprops %}).
36
- */
37
- export var TaskBoard = React.forwardRef(function (props, ref) {
38
- validatePackage(packageMetadata);
39
- 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;
40
- var taskboardRef = React.useRef(null);
41
- var taskboardElementRef = React.useRef(null);
42
- React.useImperativeHandle(taskboardRef, function () {
43
- return { props: props };
44
- });
45
- React.useImperativeHandle(ref, function () { return taskboardRef.current; });
46
- var children = React.Children.toArray(props.children);
47
- var toolbar = children.filter(function (child) { return child && child.type &&
48
- child.type.displayName === 'KendoReactTaskBoardToolbar'; });
49
- var elementRef = React.useRef(null);
50
- var dragTargetRef = React.useRef(null);
51
- var pressOffsetRef = React.useRef(null);
52
- var _c = React.useState(null), taskDataState = _c[0], setTaskDataState = _c[1];
53
- var _d = React.useState(null), columnDataState = _d[0], setColumnDataState = _d[1];
54
- var _e = React.useState({ top: 0, left: 0 }), position = _e[0], setPosition = _e[1];
55
- var dragCardCueRef = React.useRef(null);
56
- var dragColumnCueRef = React.useRef(null);
57
- var tasksMap = React.useMemo(function () {
58
- var map = {};
59
- (taskDataState || taskData).forEach(function (task) {
60
- var currentStatus = task.status;
61
- if (!map[currentStatus]) {
62
- map[currentStatus] = [];
63
- }
64
- map[currentStatus].push(task);
65
- });
66
- return map;
67
- }, [taskData, taskDataState]);
68
- var handlePress = React.useCallback(function (event) {
69
- var target = event.originalEvent.target;
70
- if (target.closest('button,input,.k-link,.k-taskboard-preview-pane')) {
71
- return;
72
- }
73
- var currentDragTarget = closestTaskBoardElement(target);
74
- var taskboardEl = taskboardElementRef.current;
75
- if (currentDragTarget && taskboardEl) {
76
- var isColumn = currentDragTarget.type === TASKBOARD_COLUMN;
77
- if (isColumn && !target.closest('.k-taskboard-column-header')) {
78
- return;
79
- }
80
- var dragElement = currentDragTarget.element;
81
- var rect = dragElement.getBoundingClientRect();
82
- var parentRect = taskboardEl.getBoundingClientRect();
83
- pressOffsetRef.current = {
84
- x: event.clientX - rect.left + parentRect.left,
85
- y: event.clientY - rect.top + parentRect.top
86
- };
87
- var data = isColumn ? columnData : taskData;
88
- var stateSetter = isColumn ? setColumnDataState : setTaskDataState;
89
- var index = data.findIndex(function (dataItem) { return String(dataItem.id) === currentDragTarget.id; });
90
- var item = data[index];
91
- if (index === -1 || item.edit) {
92
- return;
93
- }
94
- var newItem = clone(item);
95
- newItem.isPlaceholder = true;
96
- var newData = __spreadArray([], data, true);
97
- newData[index] = newItem;
98
- dragTargetRef.current = __assign(__assign({}, currentDragTarget), { index: index, item: item, width: rect.width, height: rect.height });
99
- setPosition({
100
- top: event.clientY - pressOffsetRef.current.y,
101
- left: event.clientX - pressOffsetRef.current.x
102
- });
103
- stateSetter(newData);
104
- }
105
- }, [columnData, taskData]);
106
- var handleDrag = React.useCallback(function (event) {
107
- var currentDragTarget = dragTargetRef.current;
108
- var dragCueElement = (dragCardCueRef.current && dragCardCueRef.current.element) || dragColumnCueRef.current;
109
- if (currentDragTarget && dragCueElement) {
110
- setPosition({
111
- top: event.clientY - pressOffsetRef.current.y,
112
- left: event.clientX - pressOffsetRef.current.x
113
- });
114
- dragCueElement.style.visibility = 'hidden';
115
- var targetElement = document.elementFromPoint(event.clientX, event.clientY);
116
- dragCueElement.style.visibility = '';
117
- if (targetElement && targetElement.getAttribute(TASKBOARD_PLACEHOLDER)) {
118
- return;
119
- }
120
- var dropTarget_1 = targetElement && closestTaskBoardElement(targetElement);
121
- if (dropTarget_1) {
122
- var indexes = void 0;
123
- var isSameType = dropTarget_1.type === currentDragTarget.type;
124
- var isDragTargetColumn = currentDragTarget.type === TASKBOARD_COLUMN;
125
- var data = (isDragTargetColumn ? columnDataState : taskDataState) || [];
126
- var stateSetter = isDragTargetColumn ? setColumnDataState : setTaskDataState;
127
- if (isDragTargetColumn || isSameType) {
128
- indexes = findIndexes(currentDragTarget.id, dropTarget_1.id, data);
129
- if (indexes) {
130
- var dragItem = data[indexes.dragIndex];
131
- var dropItem = data[indexes.dropIndex];
132
- var newDragItem = clone(dragItem);
133
- if (!isDragTargetColumn) {
134
- newDragItem.status = dropItem.status;
135
- }
136
- var newData = __spreadArray([], data, true);
137
- newData.splice(indexes.dragIndex, 1);
138
- newData.splice(indexes.dropIndex, 0, newDragItem);
139
- currentDragTarget.index = indexes.dropIndex;
140
- stateSetter(newData);
141
- }
142
- }
143
- else {
144
- var taskIndex = data.findIndex(function (item) { return String(item.id) === currentDragTarget.id; });
145
- var columnIndex = columnData.findIndex(function (item) { return String(item.id) === dropTarget_1.id; });
146
- if (taskIndex !== -1 && columnIndex !== -1) {
147
- var task = data[taskIndex];
148
- var column = columnData[columnIndex];
149
- var columnStatus = column.status;
150
- if (tasksMap[columnStatus]) {
151
- return;
152
- }
153
- task.status = columnStatus;
154
- var newData = __spreadArray([], data, true);
155
- newData.splice(taskIndex, 1);
156
- newData.push(task);
157
- currentDragTarget.index = newData.length - 1;
158
- stateSetter(newData);
159
- }
160
- }
161
- }
162
- }
163
- }, [columnDataState, taskDataState, columnData, tasksMap]);
164
- var handleRelease = React.useCallback(function () {
165
- var currentDragTarget = dragTargetRef.current;
166
- if (onChange && currentDragTarget) {
167
- var isDragTargetColumn = currentDragTarget.type === TASKBOARD_COLUMN;
168
- var data = (isDragTargetColumn ? columnDataState : taskDataState) || [];
169
- var item = data[currentDragTarget.index];
170
- delete item.isPlaceholder;
171
- var event_1 = {
172
- data: data,
173
- type: currentDragTarget.type,
174
- previousItem: currentDragTarget.item,
175
- item: item
176
- };
177
- onChange.call(undefined, event_1);
178
- }
179
- dragTargetRef.current = null;
180
- pressOffsetRef.current = null;
181
- setTaskDataState(null);
182
- setColumnDataState(null);
183
- setPosition({ top: 0, left: 0 });
184
- }, [columnDataState, taskDataState, onChange]);
185
- useDraggable(elementRef, {
186
- onDragStart: handlePress,
187
- onDrag: handleDrag,
188
- onDragEnd: handleRelease
189
- });
190
- var dragTarget = dragTargetRef.current;
191
- var onTaskCreate = React.useCallback(function (newTask) {
192
- var tasks = __spreadArray(__spreadArray([], taskData, true), [newTask], false);
193
- var event = {
194
- data: tasks,
195
- type: TASKBOARD_TASK,
196
- previousItem: null,
197
- item: newTask
198
- };
199
- onChange.call(undefined, event);
200
- }, [onChange, taskData]);
201
- var onTaskEdit = React.useCallback(function (task, prevTask) {
202
- var tasks = taskData.slice();
203
- var index = taskData.indexOf(prevTask);
204
- if (index !== -1) {
205
- tasks.splice(index, 1, task);
206
- }
207
- var event = {
208
- data: tasks,
209
- type: TASKBOARD_TASK,
210
- previousItem: prevTask,
211
- item: task
212
- };
213
- onChange.call(undefined, event);
214
- }, [onChange, taskData]);
215
- var onTaskDelete = React.useCallback(function (task) {
216
- var tasks = taskData.filter(function (t) { return t !== task; });
217
- var event = {
218
- data: tasks,
219
- type: TASKBOARD_TASK,
220
- previousItem: task,
221
- item: null
222
- };
223
- onChange.call(undefined, event);
224
- }, [onChange, taskData]);
225
- var onColumnChange = React.useCallback(function (newColumn, prevColumn) {
226
- var data = columnData.slice();
227
- var index = data.indexOf(prevColumn);
228
- if (index !== -1) {
229
- if (newColumn) {
230
- data.splice(index, 1, newColumn);
231
- }
232
- else {
233
- data.splice(index, 1);
234
- }
235
- }
236
- var event = {
237
- data: data,
238
- type: TASKBOARD_COLUMN,
239
- previousItem: prevColumn,
240
- item: newColumn
241
- };
242
- onChange.call(undefined, event);
243
- }, [onChange, columnData]);
244
- return (React.createElement("div", { id: id, style: style, ref: taskboardElementRef, className: classNames('k-widget k-taskboard', className) },
245
- toolbar,
246
- React.createElement("div", { className: 'k-taskboard-content', style: dragTarget ? { userSelect: 'none' } : undefined },
247
- React.createElement("div", { className: 'k-taskboard-columns-container', ref: elementRef }, (columnDataState || columnData).map(function (column) { return (React.createElement(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 || TaskBoardColumn, cardComponent: props.card || TaskBoardCard, priorities: props.priorities })); }))),
248
- dragTarget && dragTarget.type === TASKBOARD_TASK && (React.createElement(TaskBoardCardBase, { elementRef: dragCardCueRef, style: {
249
- position: 'absolute',
250
- width: dragTarget.width,
251
- height: dragTarget.height,
252
- top: position.top,
253
- left: position.left,
254
- zIndex: 10,
255
- borderLeftColor: dragTarget.item.priority ? dragTarget.item.priority.color : dragTarget.item.color
256
- }, task: dragTarget.item, dragTargetRef: dragTargetRef, cardComponent: props.card || TaskBoardCard, onDeleteTask: noop, showEditPane: noop })),
257
- dragTarget && dragTarget.type === TASKBOARD_COLUMN && (React.createElement(TaskBoardColumnBase, { elementRef: dragColumnCueRef, style: {
258
- position: 'absolute',
259
- width: dragTarget.width,
260
- height: dragTarget.height,
261
- top: position.top,
262
- left: position.left,
263
- zIndex: 10
264
- }, cardComponent: props.card || TaskBoardCard, columnComponent: props.column || TaskBoardColumn, column: dragTarget.item, tasks: tasksMap[dragTarget.item.status], priorities: props.priorities, dragTargetRef: dragTargetRef, onTaskDelete: onTaskDelete, onColumnChange: onColumnChange, onTaskEdit: onTaskEdit, onTaskCreate: onTaskCreate }))));
265
- });
266
- TaskBoard.propTypes = {
267
- columnData: PropTypes.array.isRequired,
268
- taskData: PropTypes.array.isRequired
269
- };
270
- TaskBoard.displayName = 'KendoReactTaskBoard';
@@ -1,28 +0,0 @@
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: (event: React.MouseEvent<HTMLButtonElement>) => void;
16
- /**
17
- * Triggered on `onSave` event of the TaskBoardAddCard.
18
- */
19
- onSave: (task: TaskBoardTaskModel, prevTask: TaskBoardTaskModel) => 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: React.FunctionComponent<TaskBoardAddCardProps>;
@@ -1,14 +0,0 @@
1
- import * as React from 'react';
2
- import { useLocalization } from '@progress/kendo-react-intl';
3
- import { messages, taskBoardAddCardPaneTitle, taskBoardAddCardTitleLabel, taskBoardAddCardDescriptionLabel, taskBoardAddCardCreateButton, taskBoardEditPaneCancelBtn, taskBoardEditPaneTitleLabel, taskBoardEditPaneDescriptionLabel, taskBoardEditPanePriorityLabel, taskBoardAddCardPriorityLabel } from './messages';
4
- import { useTaskEditing } from './hooks/taskEditing';
5
- /**
6
- * Represents the TaskBoardAddCard component.
7
- */
8
- export var TaskBoardAddCard = function (props) {
9
- var _a = useTaskEditing(props), onTitleChange = _a.onTitleChange, title = _a.title, onDescriptionChange = _a.onDescriptionChange, description = _a.description, onPriorityChange = _a.onPriorityChange, priority = _a.priority, onSave = _a.onSave;
10
- var localization = useLocalization();
11
- return (React.createElement(props.editPane, { header: localization.toLanguageString(taskBoardAddCardPaneTitle, messages[taskBoardAddCardPaneTitle]), titleInputTitle: localization.toLanguageString(taskBoardAddCardTitleLabel, messages[taskBoardAddCardTitleLabel]), descriptionInputTitle: localization.toLanguageString(taskBoardAddCardDescriptionLabel, messages[taskBoardAddCardDescriptionLabel]), priorityDropDownTitle: localization.toLanguageString(taskBoardAddCardPriorityLabel, messages[taskBoardAddCardPriorityLabel]), titleLabel: localization.toLanguageString(taskBoardEditPaneTitleLabel, messages[taskBoardEditPaneTitleLabel]), descriptionLabel: localization.toLanguageString(taskBoardEditPaneDescriptionLabel, messages[taskBoardEditPaneDescriptionLabel]), priorityLabel: localization.toLanguageString(taskBoardEditPanePriorityLabel, messages[taskBoardEditPanePriorityLabel]), saveButton: localization.toLanguageString(taskBoardAddCardCreateButton, messages[taskBoardAddCardCreateButton]), cancelButton: localization.toLanguageString(taskBoardEditPaneCancelBtn, messages[taskBoardEditPaneCancelBtn]), priorities: props.priorities, onSave: onSave, onClose: props.onClose, onTitleChange: onTitleChange, title: title, onDescriptionChange: onDescriptionChange, description: description, onPriorityChange: onPriorityChange, priority: priority }));
12
- };
13
- TaskBoardAddCard.propTypes = {};
14
- TaskBoardAddCard.displayName = 'KendoReactTaskBoardAddCard';
@@ -1,60 +0,0 @@
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
- * @hidden
9
- */
10
- export interface TaskBoardCardBaseProps {
11
- /**
12
- * The task of the TaskBoardCardBase.
13
- */
14
- task: TaskBoardTaskModel;
15
- /**
16
- * The styles for the TaskBoardCardBase.
17
- */
18
- style?: React.CSSProperties;
19
- /**
20
- * Determines the disabled mode.
21
- */
22
- disabled?: boolean;
23
- /**
24
- * Specifies the `tabIndex` that will be added to the TaskBoard Column and Card elements.
25
- */
26
- tabIndex?: number;
27
- /**
28
- * Specifies the CardHandle reference.
29
- */
30
- elementRef?: React.RefObject<CardHandle>;
31
- /**
32
- * Specifies the width and height of the drag target reference.
33
- */
34
- dragTargetRef?: React.RefObject<{
35
- width: number;
36
- height: number;
37
- }>;
38
- /**
39
- * Fires when a task is deleted.
40
- */
41
- onDeleteTask: () => void;
42
- /**
43
- * Represents the `showEditPane` event.
44
- */
45
- showEditPane: (task: TaskBoardTaskModel) => void;
46
- /**
47
- * Represents the TaskBoardCard component.
48
- */
49
- cardComponent: React.ComponentType<TaskBoardCardProps>;
50
- }
51
- /**
52
- * Represents the TaskBoardCardBase component.
53
- *
54
- * @hidden
55
- */
56
- export declare const TaskBoardCardBase: {
57
- (props: TaskBoardCardBaseProps): JSX.Element;
58
- defaultProps: {};
59
- displayName: string;
60
- };
@@ -1,95 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import * as React from 'react';
13
- import * as PropTypes from 'prop-types';
14
- import { Card } from '@progress/kendo-react-layout';
15
- import { TASKBOARD_PLACEHOLDER } from './constants';
16
- import { useLocalization } from '@progress/kendo-react-intl';
17
- import { messages, taskBoardDeleteTaskDialogMessage, taskBoardDeleteTaskDialogTitle, taskBoardDeleteTaskConfirmButton, taskBoardDeleteTaskCancelButton, taskBoardEditCardButton, taskBoardDeleteCardButton, taskBoardPreviewPanePriorityLabel, taskBoardPreviewPaneDeleteBtn, taskBoardPreviewPaneEditBtn } from './messages';
18
- import { TaskBoardCardHeader } from './card/CardHeader';
19
- import { TaskBoardCardBody } from './card/CardBody';
20
- import { TaskBoardConfirmDialog } from './TaskBoardConfirmDialog';
21
- import { TaskBoardPreviewDialog } from './card/PreviewDialog';
22
- import { pencilIcon, trashIcon } from '@progress/kendo-svg-icons';
23
- /**
24
- * Represents the TaskBoardCardBase component.
25
- *
26
- * @hidden
27
- */
28
- export var TaskBoardCardBase = function (props) {
29
- var _a;
30
- var onDeleteTask = props.onDeleteTask, showEditPane = props.showEditPane, task = props.task, style = props.style, dragTargetRef = props.dragTargetRef, elementRef = props.elementRef;
31
- var _b = React.useState(false), optionMenuVisible = _b[0], setOptionMenuVisible = _b[1];
32
- var _c = React.useState(false), confirmTaskDeleteVisible = _c[0], setConfirmTaskDeleteVisible = _c[1];
33
- var _d = React.useState(false), showTaskPreviewPane = _d[0], setShowTaskPreviewPane = _d[1];
34
- var popupRef = React.useRef(null);
35
- var localization = useLocalization();
36
- var optionButtons = [
37
- {
38
- text: localization.toLanguageString(taskBoardEditCardButton, messages[taskBoardEditCardButton]),
39
- icon: 'pencil',
40
- svgIcon: pencilIcon,
41
- data: function () {
42
- showEditPane(task);
43
- setOptionMenuVisible(!optionMenuVisible);
44
- }
45
- },
46
- {
47
- text: localization.toLanguageString(taskBoardDeleteCardButton, messages[taskBoardDeleteCardButton]),
48
- icon: 'trash',
49
- svgIcon: trashIcon,
50
- data: function () {
51
- setConfirmTaskDeleteVisible(!confirmTaskDeleteVisible);
52
- setOptionMenuVisible(!optionMenuVisible);
53
- }
54
- }
55
- ];
56
- var handleSelect = function (e) {
57
- e.item.data();
58
- };
59
- var onShowMenu = function () {
60
- setOptionMenuVisible(true);
61
- };
62
- var onHideMenu = function () {
63
- setOptionMenuVisible(false);
64
- };
65
- var onMenuButtonBlur = function (event) {
66
- var popup = popupRef.current && popupRef.current.element;
67
- if (popup && popup.contains(event.relatedTarget)) {
68
- return;
69
- }
70
- setOptionMenuVisible(false);
71
- };
72
- var closeConfirmDialog = function () {
73
- setConfirmTaskDeleteVisible(!confirmTaskDeleteVisible);
74
- };
75
- var onShowTaskPreviewPane = function () {
76
- setShowTaskPreviewPane(true);
77
- };
78
- var onClosePreviewPane = function () {
79
- setShowTaskPreviewPane(false);
80
- };
81
- var onTaskEdit = function () {
82
- showEditPane(task);
83
- onShowTaskPreviewPane();
84
- };
85
- if (task.isPlaceholder && dragTargetRef && dragTargetRef.current) {
86
- return (React.createElement("div", __assign({ style: { width: dragTargetRef.current.width, height: dragTargetRef.current.height }, className: 'k-taskboard-drag-placeholder' }, (_a = {}, _a[TASKBOARD_PLACEHOLDER] = true, _a))));
87
- }
88
- 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(taskBoardDeleteTaskDialogMessage, messages[taskBoardDeleteTaskDialogMessage]), confirmDialogTitle: localization.toLanguageString(taskBoardDeleteTaskDialogTitle, messages[taskBoardDeleteTaskDialogTitle]), confirmDialogConfirmButton: localization.toLanguageString(taskBoardDeleteTaskConfirmButton, messages[taskBoardDeleteTaskConfirmButton]), confirmDialogCancelButton: localization.toLanguageString(taskBoardDeleteTaskCancelButton, messages[taskBoardDeleteTaskCancelButton]), previewDialogPriorityLabel: localization.toLanguageString(taskBoardPreviewPanePriorityLabel, messages[taskBoardPreviewPanePriorityLabel]), previewDialogDelete: localization.toLanguageString(taskBoardPreviewPaneDeleteBtn, messages[taskBoardPreviewPaneDeleteBtn]), previewDialogEdit: localization.toLanguageString(taskBoardPreviewPaneEditBtn, messages[taskBoardPreviewPaneEditBtn]), onShowPreviewPane: onShowTaskPreviewPane, onClosePreviewPane: onClosePreviewPane, onMenuItemSelect: handleSelect, onShowMenu: onShowMenu, onHideMenu: onHideMenu, onMenuButtonBlur: onMenuButtonBlur, onTaskDelete: onDeleteTask, onTaskEdit: onTaskEdit, onCloseConfirmDialog: closeConfirmDialog, card: Card, cardHeader: TaskBoardCardHeader, cardBody: TaskBoardCardBody, confirmDialog: TaskBoardConfirmDialog, previewDialog: TaskBoardPreviewDialog }));
89
- };
90
- var defaultProps = {};
91
- TaskBoardCardBase.propTypes = {
92
- task: PropTypes.object.isRequired
93
- };
94
- TaskBoardCardBase.defaultProps = defaultProps;
95
- TaskBoardCardBase.displayName = 'KendoReactTaskBoardCardBase';