@progress/kendo-react-orgchart 5.20.0-dev.202310061256

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 (87) hide show
  1. package/LICENSE.md +11 -0
  2. package/NOTICE.txt +117 -0
  3. package/README.md +50 -0
  4. package/about.md +3 -0
  5. package/dist/cdn/js/kendo-react-orgchart.js +1 -0
  6. package/dist/es/OrgChart.d.ts +6 -0
  7. package/dist/es/OrgChart.js +67 -0
  8. package/dist/es/OrgChartOperationDescriptors.d.ts +76 -0
  9. package/dist/es/OrgChartOperationDescriptors.js +2 -0
  10. package/dist/es/client/ClientOrgChart.d.ts +94 -0
  11. package/dist/es/client/ClientOrgChart.js +287 -0
  12. package/dist/es/client/ExpandButton.d.ts +13 -0
  13. package/dist/es/client/ExpandButton.js +23 -0
  14. package/dist/es/client/OrgChartCard.d.ts +19 -0
  15. package/dist/es/client/OrgChartCard.js +68 -0
  16. package/dist/es/client/OrgChartCardBody.d.ts +12 -0
  17. package/dist/es/client/OrgChartCardBody.js +13 -0
  18. package/dist/es/client/OrgChartGroupContainer.d.ts +19 -0
  19. package/dist/es/client/OrgChartGroupContainer.js +71 -0
  20. package/dist/es/interfaces/ChildGroup.d.ts +16 -0
  21. package/dist/es/interfaces/ChildGroup.js +1 -0
  22. package/dist/es/interfaces/OrgChartActionEvent.d.ts +22 -0
  23. package/dist/es/interfaces/OrgChartActionEvent.js +1 -0
  24. package/dist/es/interfaces/OrgChartExpandChangeEvent.d.ts +22 -0
  25. package/dist/es/interfaces/OrgChartExpandChangeEvent.js +1 -0
  26. package/dist/es/interfaces/SeverOrgChartProps.d.ts +106 -0
  27. package/dist/es/interfaces/SeverOrgChartProps.js +1 -0
  28. package/dist/es/main.d.ts +6 -0
  29. package/dist/es/main.js +3 -0
  30. package/dist/es/package-metadata.d.ts +5 -0
  31. package/dist/es/package-metadata.js +11 -0
  32. package/dist/es/processOrgChartItems.d.ts +51 -0
  33. package/dist/es/processOrgChartItems.js +163 -0
  34. package/dist/es/server/ServerGroupedOrgChart.d.ts +9 -0
  35. package/dist/es/server/ServerGroupedOrgChart.js +235 -0
  36. package/dist/es/server/ServerOrgChart.d.ts +9 -0
  37. package/dist/es/server/ServerOrgChart.js +192 -0
  38. package/dist/es/server/ServerOrgChartGroup.d.ts +96 -0
  39. package/dist/es/server/ServerOrgChartGroup.js +59 -0
  40. package/dist/es/server/ServerOrgChartNode.d.ts +75 -0
  41. package/dist/es/server/ServerOrgChartNode.js +57 -0
  42. package/dist/es/theming/theme-service.d.ts +5 -0
  43. package/dist/es/theming/theme-service.js +62 -0
  44. package/dist/es/utils/consts.d.ts +72 -0
  45. package/dist/es/utils/consts.js +72 -0
  46. package/dist/npm/OrgChart.d.ts +6 -0
  47. package/dist/npm/OrgChart.js +71 -0
  48. package/dist/npm/OrgChartOperationDescriptors.d.ts +76 -0
  49. package/dist/npm/OrgChartOperationDescriptors.js +3 -0
  50. package/dist/npm/client/ClientOrgChart.d.ts +94 -0
  51. package/dist/npm/client/ClientOrgChart.js +291 -0
  52. package/dist/npm/client/ExpandButton.d.ts +13 -0
  53. package/dist/npm/client/ExpandButton.js +27 -0
  54. package/dist/npm/client/OrgChartCard.d.ts +19 -0
  55. package/dist/npm/client/OrgChartCard.js +72 -0
  56. package/dist/npm/client/OrgChartCardBody.d.ts +12 -0
  57. package/dist/npm/client/OrgChartCardBody.js +17 -0
  58. package/dist/npm/client/OrgChartGroupContainer.d.ts +19 -0
  59. package/dist/npm/client/OrgChartGroupContainer.js +75 -0
  60. package/dist/npm/interfaces/ChildGroup.d.ts +16 -0
  61. package/dist/npm/interfaces/ChildGroup.js +2 -0
  62. package/dist/npm/interfaces/OrgChartActionEvent.d.ts +22 -0
  63. package/dist/npm/interfaces/OrgChartActionEvent.js +2 -0
  64. package/dist/npm/interfaces/OrgChartExpandChangeEvent.d.ts +22 -0
  65. package/dist/npm/interfaces/OrgChartExpandChangeEvent.js +2 -0
  66. package/dist/npm/interfaces/SeverOrgChartProps.d.ts +106 -0
  67. package/dist/npm/interfaces/SeverOrgChartProps.js +2 -0
  68. package/dist/npm/main.d.ts +6 -0
  69. package/dist/npm/main.js +21 -0
  70. package/dist/npm/package-metadata.d.ts +5 -0
  71. package/dist/npm/package-metadata.js +14 -0
  72. package/dist/npm/processOrgChartItems.d.ts +51 -0
  73. package/dist/npm/processOrgChartItems.js +167 -0
  74. package/dist/npm/server/ServerGroupedOrgChart.d.ts +9 -0
  75. package/dist/npm/server/ServerGroupedOrgChart.js +239 -0
  76. package/dist/npm/server/ServerOrgChart.d.ts +9 -0
  77. package/dist/npm/server/ServerOrgChart.js +196 -0
  78. package/dist/npm/server/ServerOrgChartGroup.d.ts +96 -0
  79. package/dist/npm/server/ServerOrgChartGroup.js +63 -0
  80. package/dist/npm/server/ServerOrgChartNode.d.ts +75 -0
  81. package/dist/npm/server/ServerOrgChartNode.js +61 -0
  82. package/dist/npm/theming/theme-service.d.ts +5 -0
  83. package/dist/npm/theming/theme-service.js +65 -0
  84. package/dist/npm/utils/consts.d.ts +72 -0
  85. package/dist/npm/utils/consts.js +75 -0
  86. package/dist/systemjs/kendo-react-orgchart.js +1 -0
  87. package/package.json +62 -0
@@ -0,0 +1,196 @@
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.ServerOrgChart = void 0;
15
+ var React = require("react");
16
+ var kendo_react_common_1 = require("@progress/kendo-react-common");
17
+ var ServerOrgChartNode_1 = require("./ServerOrgChartNode");
18
+ var consts_1 = require("../utils/consts");
19
+ var setDataByGroups = function (_a) {
20
+ var dataByGroups = _a.dataByGroups, _b = _a.data, data = _b === void 0 ? [] : _b, cardWidth = _a.cardWidth, childrenField = _a.childrenField, idField = _a.idField, expandField = _a.expandField, hasChildrenField = _a.hasChildrenField, groupField = _a.groupField, _c = _a.level, level = _c === void 0 ? 1 : _c, _d = _a.parentId, parentId = _d === void 0 ? 0 : _d;
21
+ data.forEach(function (element) {
22
+ var items = element[childrenField];
23
+ var expanded = element[expandField];
24
+ if (expanded && items && items.length) {
25
+ var hasChildren = items.some(function (it) { return it[childrenField] && it[childrenField].length
26
+ || (hasChildrenField && it[hasChildrenField]); });
27
+ var orientation_1 = hasChildren ? 'horizontal' : 'vertical';
28
+ var width = hasChildren ? null : cardWidth;
29
+ dataByGroups.push({
30
+ ids: [element[idField]],
31
+ items: items,
32
+ level: level,
33
+ parentId: parentId,
34
+ hasChildren: hasChildren,
35
+ orientation: orientation_1,
36
+ width: width
37
+ });
38
+ setDataByGroups({
39
+ dataByGroups: dataByGroups,
40
+ data: element[childrenField],
41
+ childrenField: childrenField,
42
+ cardWidth: cardWidth,
43
+ idField: idField,
44
+ expandField: expandField,
45
+ hasChildrenField: hasChildrenField,
46
+ groupField: groupField,
47
+ level: level + 1,
48
+ parentId: element[idField]
49
+ });
50
+ }
51
+ });
52
+ };
53
+ var setGroupsWidths = function (dataByGroups, cardWidth) {
54
+ var nodeWidth = cardWidth || consts_1.NODE_WIDTH;
55
+ var groupsFromLeavesToRoot = dataByGroups.sort(function (a, b) { return b.level - a.level; });
56
+ groupsFromLeavesToRoot.forEach(function (group) {
57
+ if (!group.width) {
58
+ var childGroups = groupsFromLeavesToRoot.filter(function (gr) { return group.ids.includes(gr.parentId); });
59
+ var maxChildGroupWidth = childGroups.length
60
+ ? Math.max.apply(Math, childGroups.map(function (chg) { return chg.width || 0; })) : nodeWidth;
61
+ var subItemsLength = group.orientation === 'horizontal' ? group.items.length : 1;
62
+ var newGroupWidth = maxChildGroupWidth * subItemsLength + consts_1.HORIZONTAL_GAP * (subItemsLength - 1);
63
+ group.width = newGroupWidth;
64
+ }
65
+ });
66
+ };
67
+ var setGroupsLeft = function (dataByGroups, childrenField, idField) {
68
+ var groupsFromRootToLeaves = dataByGroups.sort(function (a, b) { return a.level - b.level; });
69
+ groupsFromRootToLeaves.forEach(function (group) {
70
+ if (group.level === 0) {
71
+ return;
72
+ }
73
+ var parentGroup = groupsFromRootToLeaves.find(function (gr) { return gr.ids.includes(group.parentId); });
74
+ var groupIndex = (parentGroup === null || parentGroup === void 0 ? void 0 : parentGroup.items.findIndex(function (g) { return group.ids.includes(g[idField]); })) || 0;
75
+ var subLinks = (parentGroup === null || parentGroup === void 0 ? void 0 : parentGroup.items) || [];
76
+ var subLinkWidth = parentGroup.width
77
+ ? (parentGroup.width - ((subLinks.length - 1) * consts_1.HORIZONTAL_GAP)) / subLinks.length
78
+ : 0;
79
+ if (!group.left) {
80
+ var newLeft_1 = (parentGroup === null || parentGroup === void 0 ? void 0 : parentGroup.left) || 0;
81
+ subLinks.forEach(function (_subG, index) {
82
+ if (index < groupIndex) {
83
+ newLeft_1 += subLinkWidth + consts_1.HORIZONTAL_GAP;
84
+ }
85
+ });
86
+ group.left = newLeft_1;
87
+ }
88
+ var parentWidth = (parentGroup === null || parentGroup === void 0 ? void 0 : parentGroup.width) || 0;
89
+ var parentGroupItems = (parentGroup === null || parentGroup === void 0 ? void 0 : parentGroup.items.length) || 1;
90
+ var newWidth = ((parentWidth) - ((parentGroupItems - 1) * consts_1.HORIZONTAL_GAP)) / parentGroupItems;
91
+ group.width = newWidth;
92
+ var childLineWidths = parentGroup === null || parentGroup === void 0 ? void 0 : parentGroup.items.map(function (subitem) {
93
+ var groupNodesCount = subitem[childrenField] ? subitem[childrenField].length : 0;
94
+ var subItem = groupsFromRootToLeaves.find(function (gr) { return gr.ids.includes(subitem[idField]); });
95
+ var subItemWidth = (subItem === null || subItem === void 0 ? void 0 : subItem.width) || 0;
96
+ if ((subItem === null || subItem === void 0 ? void 0 : subItem.orientation) === 'vertical' || groupNodesCount === 0 || !subitem.expanded) {
97
+ return 0;
98
+ }
99
+ return subItemWidth - ((subItemWidth - (groupNodesCount - 1) * consts_1.HORIZONTAL_GAP)) / (groupNodesCount);
100
+ });
101
+ if (parentGroup) {
102
+ parentGroup.childLineWidths = childLineWidths;
103
+ }
104
+ });
105
+ };
106
+ var setGroupsTop = function (dataByGroups, cardHeight, verticalLine) {
107
+ var nodeHeight = cardHeight || consts_1.NODE_HEIGHT;
108
+ var vLineHeight = verticalLine || consts_1.VERTICAL_LINE;
109
+ dataByGroups.forEach(function (group) {
110
+ var level = group.level;
111
+ var newTop = ((nodeHeight + vLineHeight) * level) + (consts_1.VERTICAL_LINE * (level ? level - 1 : 0)) -
112
+ ((vLineHeight - consts_1.VERTICAL_LINE) * (level ? 1 : 0));
113
+ group.top = newTop;
114
+ });
115
+ };
116
+ var getHeight = function (dataByGroups, cardHeight, verticalLine) {
117
+ var nodeHeight = cardHeight || consts_1.NODE_HEIGHT;
118
+ var vLineHeight = verticalLine || consts_1.VERTICAL_LINE;
119
+ var newHeight = Math.max.apply(Math, dataByGroups.map(function (group) {
120
+ var top = group.top || 0;
121
+ var itemsLength = group.items.length;
122
+ var height = group.orientation === 'horizontal'
123
+ ? nodeHeight + vLineHeight + vLineHeight
124
+ : itemsLength * (nodeHeight + vLineHeight);
125
+ return top + height;
126
+ }));
127
+ return newHeight;
128
+ };
129
+ /**
130
+ * @hidden
131
+ */
132
+ var ServerOrgChart = function (props) {
133
+ var defaultProps = {
134
+ width: '100%',
135
+ data: [],
136
+ ariaLabel: 'Org Chart',
137
+ idField: 'id',
138
+ childrenField: 'items',
139
+ avatarField: 'avatar',
140
+ titleField: 'title',
141
+ subTitleField: 'subtitle',
142
+ expandField: 'expanded'
143
+ };
144
+ var _a = __assign(__assign({}, defaultProps), props), id = _a.id, width = _a.width, data = _a.data, groupField = _a.groupField, cardWidth = _a.cardWidth, cardHeight = _a.cardHeight, verticalLine = _a.verticalLine, idField = _a.idField, childrenField = _a.childrenField, hasChildrenField = _a.hasChildrenField, expandField = _a.expandField, avatarField = _a.avatarField, titleField = _a.titleField, subTitleField = _a.subTitleField, ariaLabel = _a.ariaLabel, itemRender = _a.itemRender, height = _a.height;
145
+ var dataByGroups = [{
146
+ items: data,
147
+ level: 0,
148
+ hasChildren: true,
149
+ orientation: 'horizontal',
150
+ ids: [0],
151
+ parentId: null,
152
+ width: null
153
+ }];
154
+ setDataByGroups({
155
+ dataByGroups: dataByGroups,
156
+ data: data,
157
+ cardWidth: cardWidth,
158
+ expandField: expandField,
159
+ hasChildrenField: hasChildrenField,
160
+ childrenField: childrenField,
161
+ idField: idField,
162
+ groupField: groupField
163
+ });
164
+ setGroupsWidths(dataByGroups, cardWidth);
165
+ setGroupsLeft(dataByGroups, childrenField, idField);
166
+ setGroupsTop(dataByGroups, cardHeight, verticalLine);
167
+ var calculatedHeight = getHeight(dataByGroups, cardHeight, verticalLine);
168
+ return (React.createElement("div", { className: "k-orgchart-container", style: { width: width, height: height || calculatedHeight } }, dataByGroups.map(function (group) {
169
+ var _a, _b;
170
+ var level = group.level;
171
+ var groupInnerItems = group.items;
172
+ var justifyContent = level === 0 ? 'center' : 'around';
173
+ var groupOrientation = group.orientation;
174
+ return (React.createElement("div", { role: level === 0 ? 'tree' : 'group', id: id + '-' + level + '-' + group.ids[0], "aria-label": level === 0 ? ariaLabel : undefined, "aria-orientation": level === 0 ? groupOrientation : undefined, key: group.ids[0] + '_' + level, className: (0, kendo_react_common_1.classNames)('k-orgchart-group', "k-orgchart-level-".concat(level), 'k-pos-absolute', (_a = {},
175
+ _a["k-".concat(kendo_react_common_1.kendoThemeMaps.orientationMap[groupOrientation])] = groupOrientation,
176
+ _a["k-justify-content-".concat(justifyContent)] = justifyContent,
177
+ _a)), style: {
178
+ width: group.width || '100%',
179
+ left: group.left,
180
+ top: group.top
181
+ } }, groupInnerItems.length > 0 &&
182
+ React.createElement("div", { role: "group", style: { width: '100%' }, className: (0, kendo_react_common_1.classNames)('k-orgchart-node-container', 'k-justify-content-around', (_b = {},
183
+ _b["k-".concat(kendo_react_common_1.kendoThemeMaps.orientationMap[group.orientation])] = group.orientation,
184
+ _b)) }, groupInnerItems.map(function (node, index) {
185
+ var hasChildren = node[childrenField] && node[childrenField].length
186
+ || (hasChildrenField && node[hasChildrenField]);
187
+ var hasDownLine = hasChildren || (group.orientation === 'vertical' && index !== groupInnerItems.length - 1);
188
+ var hasVertLine = group.orientation === 'vertical' && index !== 0 ? 0 : verticalLine || consts_1.VERTICAL_LINE;
189
+ var maxSubGroupWidth = group.childLineWidths ? Math.max.apply(Math, group.childLineWidths) : undefined;
190
+ var expandedNode = node[expandField];
191
+ return (React.createElement(ServerOrgChartNode_1.ServerOrgChartNode, { id: id + '-' + (level + 1) + '-' + node[idField], style: { width: maxSubGroupWidth }, itemRender: itemRender, cardHeight: cardHeight, cardWidth: cardWidth, verticalLine: hasVertLine, key: index, level: level, avatar: node[avatarField], title: node[titleField], subtitle: node[subTitleField], line: hasDownLine, expanded: expandedNode, node: node, childLineWidth: (hasChildren && expandedNode && group.orientation === 'horizontal') ? group.childLineWidths[index] : 0, plus: hasChildren }, node.text));
192
+ }))));
193
+ })));
194
+ };
195
+ exports.ServerOrgChart = ServerOrgChart;
196
+ exports.ServerOrgChart.displayName = 'KendoServerOrgChart';
@@ -0,0 +1,96 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export interface OrgChartGroupTitleProps {
6
+ /**
7
+ * The styles that are applied to the OrgChart group title.
8
+ */
9
+ style?: React.CSSProperties;
10
+ /**
11
+ * The default class that is applied to the OrgChart group title.
12
+ */
13
+ className?: string;
14
+ /**
15
+ * The default title that are passed to the OrgChart group.
16
+ */
17
+ title?: string;
18
+ /**
19
+ * The collection of inner items of the group.
20
+ */
21
+ items?: any[];
22
+ /**
23
+ * The level of the group.
24
+ */
25
+ level?: number;
26
+ /**
27
+ * The expanded state of the group.
28
+ */
29
+ expanded?: boolean;
30
+ }
31
+ /**
32
+ * @hidden
33
+ */
34
+ export interface OrgChartGroupSubtitleProps {
35
+ /**
36
+ * The styles that are applied to the OrgChart.
37
+ */
38
+ style?: React.CSSProperties;
39
+ /**
40
+ * The default class that is applied to the OrgChart group title.
41
+ */
42
+ className?: string;
43
+ /**
44
+ * The default subtitle that are passed to the OrgChart group.
45
+ */
46
+ subtitle?: string;
47
+ /**
48
+ * The collection of inner items of the group.
49
+ */
50
+ items?: any[];
51
+ /**
52
+ * The level of the group.
53
+ */
54
+ level?: number;
55
+ /**
56
+ * The expanded state of the group.
57
+ */
58
+ expanded?: boolean;
59
+ }
60
+ /**
61
+ * @hidden
62
+ */
63
+ export interface ServerOrgChartGroupProps {
64
+ /**
65
+ * @hidden
66
+ */
67
+ children?: React.ReactNode;
68
+ /**
69
+ * Sets additional classes to the OrgChart.
70
+ */
71
+ className?: string;
72
+ id?: string;
73
+ /**
74
+ * The styles that are applied to the OrgChart.
75
+ */
76
+ style?: React.CSSProperties;
77
+ title?: string;
78
+ subtitle?: string;
79
+ line?: boolean;
80
+ plus?: boolean;
81
+ focus?: boolean;
82
+ expanded?: boolean;
83
+ nodes?: any[];
84
+ level: number;
85
+ groupTitleHeight?: number;
86
+ groupSubtitleHeight?: number;
87
+ childLineWidth?: number;
88
+ verticalLine?: number;
89
+ orientation?: 'horizontal' | 'vertical';
90
+ groupTitleRender?: React.ComponentType<OrgChartGroupTitleProps>;
91
+ groupSubtitleRender?: React.ComponentType<OrgChartGroupSubtitleProps>;
92
+ }
93
+ /**
94
+ * @hidden
95
+ */
96
+ export declare const ServerOrgChartGroup: React.FunctionComponent<ServerOrgChartGroupProps>;
@@ -0,0 +1,63 @@
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 __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.ServerOrgChartGroup = void 0;
26
+ var React = require("react");
27
+ var kendo_react_common_1 = require("@progress/kendo-react-common");
28
+ var ExpandButton_1 = require("../client/ExpandButton");
29
+ var OrgChartGroupContainer_1 = require("../client/OrgChartGroupContainer");
30
+ var consts_1 = require("../utils/consts");
31
+ var ORGCHARTGROUP_CLASSNAME = 'k-orgchart-node-group';
32
+ var ORGCHART_NODE_GROUP_TITLE_CLASSNAME = 'k-orgchart-node-group-title';
33
+ var ORGCHART_NODE_GROUP_SUBTITLE_CLASSNAME = 'k-orgchart-node-group-subtitle';
34
+ /**
35
+ * @hidden
36
+ */
37
+ var ServerOrgChartGroup = function (props) {
38
+ var _a;
39
+ var defaultProps = {
40
+ orientation: 'horizontal'
41
+ };
42
+ var _b = __assign(__assign({}, defaultProps), props), id = _b.id, title = _b.title, subtitle = _b.subtitle, line = _b.line, plus = _b.plus, focus = _b.focus, level = _b.level, verticalLine = _b.verticalLine, childLineWidth = _b.childLineWidth, orientation = _b.orientation, expanded = _b.expanded, nodes = _b.nodes, groupTitleHeight = _b.groupTitleHeight, groupSubtitleHeight = _b.groupSubtitleHeight, groupTitleRender = _b.groupTitleRender, groupSubtitleRender = _b.groupSubtitleRender, other = __rest(_b, ["id", "title", "subtitle", "line", "plus", "focus", "level", "verticalLine", "childLineWidth", "orientation", "expanded", "nodes", "groupTitleHeight", "groupSubtitleHeight", "groupTitleRender", "groupSubtitleRender"]);
43
+ var TitleRender = groupTitleRender;
44
+ var SubtitleRender = groupSubtitleRender;
45
+ var titleStyle = { height: groupTitleHeight || consts_1.GROUP_TITLE_HEIGHT };
46
+ var subtitleStyle = { height: groupSubtitleHeight || consts_1.GROUP_SUBTITLE_HEIGHT };
47
+ return (React.createElement("div", __assign({}, other, { className: (0, kendo_react_common_1.classNames)(props.className, ORGCHARTGROUP_CLASSNAME, 'k-vstack', 'k-align-items-center') }),
48
+ level !== 0 && React.createElement("div", { className: "k-orgchart-line k-orgchart-line-v k-orgchart-line-v-top", style: { height: verticalLine } }),
49
+ React.createElement(OrgChartGroupContainer_1.OrgChartGroupContainer, { nodes: nodes, "aria-expanded": !!expanded, "aria-keyshortcuts": "Enter", "aria-level": level + 1, "aria-owns": id },
50
+ TitleRender
51
+ ? React.createElement(TitleRender, { style: titleStyle, className: ORGCHART_NODE_GROUP_TITLE_CLASSNAME, title: title, items: nodes, level: level, expanded: expanded })
52
+ : React.createElement("div", { className: ORGCHART_NODE_GROUP_TITLE_CLASSNAME, style: titleStyle }, title),
53
+ SubtitleRender
54
+ ? React.createElement(SubtitleRender, { style: subtitleStyle, className: ORGCHART_NODE_GROUP_SUBTITLE_CLASSNAME, subtitle: subtitle, items: nodes, level: level, expanded: expanded })
55
+ : React.createElement("div", { className: ORGCHART_NODE_GROUP_SUBTITLE_CLASSNAME, style: subtitleStyle }, subtitle),
56
+ React.createElement("div", { role: "group", style: { width: '100%' }, className: (0, kendo_react_common_1.classNames)('k-orgchart-node-container', 'k-justify-content-around', (_a = {},
57
+ _a["k-".concat(kendo_react_common_1.kendoThemeMaps.orientationMap[orientation] || orientation)] = orientation,
58
+ _a)) }, props.children)),
59
+ line && React.createElement("div", { className: "k-orgchart-line k-orgchart-line-v" }),
60
+ plus && React.createElement(ExpandButton_1.ExpandButton, { expanded: expanded, nodes: nodes }),
61
+ plus && !!childLineWidth && React.createElement("div", { className: "k-orgchart-line k-orgchart-line-h", style: { width: childLineWidth, marginTop: -15 } })));
62
+ };
63
+ exports.ServerOrgChartGroup = ServerOrgChartGroup;
@@ -0,0 +1,75 @@
1
+ import * as React from 'react';
2
+ import { OrgChartActionEvent, OrgChartExpandChangeEvent } from '../main';
3
+ /**
4
+ * The props that are passed to the itemRender component.
5
+ */
6
+ export interface OrgChartItemRenderProps {
7
+ /**
8
+ * The item passed to the ItemRender.
9
+ */
10
+ item?: any;
11
+ /**
12
+ * The title of the item.
13
+ */
14
+ title?: string;
15
+ /**
16
+ * The subtitle of the item.
17
+ */
18
+ subtitle?: string;
19
+ /**
20
+ * The level of the item.
21
+ */
22
+ level?: number;
23
+ /**
24
+ * The expanded state of the item.
25
+ */
26
+ expanded?: boolean;
27
+ /**
28
+ * The color of the item.
29
+ */
30
+ color?: string;
31
+ }
32
+ /**
33
+ * @hidden
34
+ */
35
+ export interface ServerOrgChartNodeProps {
36
+ /**
37
+ * @hidden
38
+ */
39
+ children?: React.ReactNode;
40
+ /**
41
+ * Sets additional classes to the OrgChart.
42
+ */
43
+ className?: string;
44
+ /**
45
+ * Passes the OrgChart id to the node.
46
+ */
47
+ id?: string;
48
+ /**
49
+ * The styles that are applied to the OrgChart.
50
+ */
51
+ style?: React.CSSProperties;
52
+ level: number;
53
+ childLineWidth?: number;
54
+ title?: string;
55
+ subtitle?: string;
56
+ details?: boolean;
57
+ color?: string;
58
+ line?: boolean;
59
+ plus?: boolean;
60
+ expanded?: boolean;
61
+ avatar?: string;
62
+ avatarType?: string;
63
+ cardHeight?: number;
64
+ cardWidth?: number;
65
+ verticalLine?: number;
66
+ itemRender?: React.ComponentType<OrgChartItemRenderProps>;
67
+ onExpandChange?: (ev: OrgChartExpandChangeEvent) => void;
68
+ onItemAction?: (ev: OrgChartActionEvent) => void;
69
+ onItemKeyDown?: (ev: OrgChartActionEvent) => void;
70
+ node?: any;
71
+ }
72
+ /**
73
+ * @hidden
74
+ */
75
+ export declare const ServerOrgChartNode: React.FunctionComponent<ServerOrgChartNodeProps>;
@@ -0,0 +1,61 @@
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 __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.ServerOrgChartNode = void 0;
26
+ var React = require("react");
27
+ var kendo_react_common_1 = require("@progress/kendo-react-common");
28
+ var kendo_react_layout_1 = require("@progress/kendo-react-layout");
29
+ var ExpandButton_1 = require("../client/ExpandButton");
30
+ var OrgChartCard_1 = require("../client/OrgChartCard");
31
+ var OrgChartCardBody_1 = require("../client/OrgChartCardBody");
32
+ var ORGCHARTNODE_CLASSNAME = 'k-orgchart-node';
33
+ ;
34
+ /**
35
+ * @hidden
36
+ */
37
+ var ServerOrgChartNode = function (props) {
38
+ var defaultProps = {
39
+ avatarType: 'image'
40
+ };
41
+ var _a = __assign(__assign({}, props), defaultProps), id = _a.id, title = _a.title, subtitle = _a.subtitle, level = _a.level, childLineWidth = _a.childLineWidth, cardWidth = _a.cardWidth, cardHeight = _a.cardHeight, verticalLine = _a.verticalLine, color = _a.color, line = _a.line, plus = _a.plus, expanded = _a.expanded, node = _a.node, avatar = _a.avatar, avatarType = _a.avatarType, itemRender = _a.itemRender, other = __rest(_a, ["id", "title", "subtitle", "level", "childLineWidth", "cardWidth", "cardHeight", "verticalLine", "color", "line", "plus", "expanded", "node", "avatar", "avatarType", "itemRender"]);
42
+ var ItemRender = itemRender;
43
+ return (React.createElement("div", __assign({}, other, { className: (0, kendo_react_common_1.classNames)(props.className, ORGCHARTNODE_CLASSNAME, 'k-vstack', 'k-align-items-center') }),
44
+ level !== 0 && React.createElement("div", { className: "k-orgchart-line k-orgchart-line-v k-orgchart-line-v-top", style: { height: verticalLine } }),
45
+ React.createElement(OrgChartCard_1.OrgChartCard, { node: node, style: { width: cardWidth, height: cardHeight }, "aria-level": level + 1, "aria-expanded": !!expanded, "aria-owns": id },
46
+ React.createElement(OrgChartCardBody_1.OrgChartCardBody, { level: level }, ItemRender
47
+ ? React.createElement(ItemRender, { item: node, title: title, subtitle: subtitle, level: level, expanded: expanded, color: color })
48
+ : React.createElement(React.Fragment, null,
49
+ React.createElement(kendo_react_layout_1.Avatar, { type: avatarType, themeColor: "secondary" }, avatarType === 'image'
50
+ ? React.createElement("img", { src: avatar, alt: "KendoReact Avatar Customer Image" })
51
+ : avatar),
52
+ React.createElement("div", { className: "k-card-title-wrap k-vstack" },
53
+ React.createElement(kendo_react_layout_1.CardTitle, { className: "k-text-ellipsis" }, title),
54
+ React.createElement("span", { className: "k-spacer" }),
55
+ React.createElement(kendo_react_layout_1.CardSubtitle, { className: "k-text-ellipsis" }, subtitle)),
56
+ React.createElement("span", { className: "k-spacer" })))),
57
+ line && React.createElement("div", { className: "k-orgchart-line k-orgchart-line-v" }),
58
+ plus && React.createElement(ExpandButton_1.ExpandButton, { expanded: expanded, node: node }),
59
+ plus && !!childLineWidth && React.createElement("div", { className: "k-orgchart-line k-orgchart-line-h", style: { width: childLineWidth, marginTop: -15 } })));
60
+ };
61
+ exports.ServerOrgChartNode = ServerOrgChartNode;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ declare const loadTheme: (done: any, doc: Document) => void;
5
+ export { loadTheme };
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadTheme = void 0;
4
+ var computedBackgroundColor = function (element) { return window.getComputedStyle(element).backgroundColor; };
5
+ var letterPos = function (letter) { return letter.toLowerCase().charCodeAt(0) - 'a'.charCodeAt(0); };
6
+ var seriesPos = function (name) {
7
+ var alpha = name.match(/series-([a-z])$/);
8
+ if (alpha !== null) {
9
+ return letterPos(alpha[1]);
10
+ }
11
+ var num = name.split('--series-')[1];
12
+ return parseInt(num, 10) - 1;
13
+ };
14
+ var SERIES_COLORS = 30;
15
+ var seriesTemplate = function () {
16
+ var result = "\n <div class=\"k-var--series-a\"></div>\n <div class=\"k-var--series-b\"></div>\n <div class=\"k-var--series-c\"></div>\n <div class=\"k-var--series-d\"></div>\n <div class=\"k-var--series-e\"></div>\n <div class=\"k-var--series-f\"></div>\n";
17
+ for (var i = 0; i < SERIES_COLORS; i++) {
18
+ result += "\n <div class=\"k-var--series-".concat(i + 1, "\"></div>");
19
+ }
20
+ return result;
21
+ };
22
+ var template = "\n <div class=\"k-var--series-unset\"></div>\n <div class=\"k-var--series\">\n ".concat(seriesTemplate(), "\n </div>\n");
23
+ /**
24
+ * @hidden
25
+ */
26
+ var ThemeService = /** @class */ (function () {
27
+ function ThemeService() {
28
+ }
29
+ ThemeService.prototype.getSeriesColors = function () {
30
+ var element = this.element;
31
+ var series = [].slice.call(element.querySelectorAll('.k-var--series div'));
32
+ var unsetColor = computedBackgroundColor(element.querySelector('.k-var--series-unset'));
33
+ var seriesColors = series.reduce(function (arr, el) {
34
+ var pos = seriesPos(el.className);
35
+ var color = computedBackgroundColor(el);
36
+ if (color !== unsetColor) {
37
+ arr[pos] = color;
38
+ }
39
+ return arr;
40
+ }, [] // Will populate the series colors in this array
41
+ );
42
+ return seriesColors;
43
+ };
44
+ return ThemeService;
45
+ }());
46
+ /**
47
+ * @hidden
48
+ */
49
+ var loadTheme = function (done, doc) {
50
+ var service = new ThemeService();
51
+ var container = service.element = doc.createElement('div');
52
+ container.style.display = 'none';
53
+ container.innerHTML = template;
54
+ doc.body.appendChild(container);
55
+ var seriesColors;
56
+ try {
57
+ seriesColors = service.getSeriesColors();
58
+ }
59
+ finally {
60
+ doc.body.removeChild(service.element);
61
+ delete service.element;
62
+ done(seriesColors);
63
+ }
64
+ };
65
+ exports.loadTheme = loadTheme;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const EXPAND_FIELD = "expanded";
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare const TEXT_FIELD = "text";
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const DISABLED_FIELD = "disabled";
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const CHILDREN_FIELD = "items";
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const HAS_CHILDREN_FIELD = "hasChildren";
21
+ /**
22
+ * @hidden
23
+ */
24
+ export declare const SELECT_FIELD = "selected";
25
+ /**
26
+ * @hidden
27
+ */
28
+ export declare const CHECK_FIELD = "checked";
29
+ /**
30
+ * @hidden
31
+ */
32
+ export declare const CHECK_INDETERMINATE_FIELD = "checkIndeterminate";
33
+ /**
34
+ * @hidden
35
+ */
36
+ export declare const DOM_KENDO_ITEM_ID_FIELD = "_kendoItemId";
37
+ /**
38
+ * @hidden
39
+ */
40
+ export declare const DOM_KENDO_TREEVIEW_GUID_FIELD = "_kendoOrgChartGuid";
41
+ /**
42
+ * @hidden
43
+ */
44
+ export declare const ORGCHART_CLASSNAME = "k-orgchart";
45
+ /**
46
+ * @hidden
47
+ */
48
+ export declare const NODE_HEIGHT = 80;
49
+ /**
50
+ * @hidden
51
+ */
52
+ export declare const NODE_WIDTH = 300;
53
+ /**
54
+ * @hidden
55
+ */
56
+ export declare const HORIZONTAL_GAP = 25;
57
+ /**
58
+ * @hidden
59
+ */
60
+ export declare const VERTICAL_LINE = 40;
61
+ /**
62
+ * @hidden
63
+ */
64
+ export declare const GROUP_TITLE_HEIGHT = 20;
65
+ /**
66
+ * @hidden
67
+ */
68
+ export declare const GROUP_SUBTITLE_HEIGHT = 20;
69
+ /**
70
+ * @hidden
71
+ */
72
+ export declare const GROUP_PADDINGS = 82;