@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.
- package/LICENSE.md +11 -0
- package/NOTICE.txt +117 -0
- package/README.md +50 -0
- package/about.md +3 -0
- package/dist/cdn/js/kendo-react-orgchart.js +1 -0
- package/dist/es/OrgChart.d.ts +6 -0
- package/dist/es/OrgChart.js +67 -0
- package/dist/es/OrgChartOperationDescriptors.d.ts +76 -0
- package/dist/es/OrgChartOperationDescriptors.js +2 -0
- package/dist/es/client/ClientOrgChart.d.ts +94 -0
- package/dist/es/client/ClientOrgChart.js +287 -0
- package/dist/es/client/ExpandButton.d.ts +13 -0
- package/dist/es/client/ExpandButton.js +23 -0
- package/dist/es/client/OrgChartCard.d.ts +19 -0
- package/dist/es/client/OrgChartCard.js +68 -0
- package/dist/es/client/OrgChartCardBody.d.ts +12 -0
- package/dist/es/client/OrgChartCardBody.js +13 -0
- package/dist/es/client/OrgChartGroupContainer.d.ts +19 -0
- package/dist/es/client/OrgChartGroupContainer.js +71 -0
- package/dist/es/interfaces/ChildGroup.d.ts +16 -0
- package/dist/es/interfaces/ChildGroup.js +1 -0
- package/dist/es/interfaces/OrgChartActionEvent.d.ts +22 -0
- package/dist/es/interfaces/OrgChartActionEvent.js +1 -0
- package/dist/es/interfaces/OrgChartExpandChangeEvent.d.ts +22 -0
- package/dist/es/interfaces/OrgChartExpandChangeEvent.js +1 -0
- package/dist/es/interfaces/SeverOrgChartProps.d.ts +106 -0
- package/dist/es/interfaces/SeverOrgChartProps.js +1 -0
- package/dist/es/main.d.ts +6 -0
- package/dist/es/main.js +3 -0
- package/dist/es/package-metadata.d.ts +5 -0
- package/dist/es/package-metadata.js +11 -0
- package/dist/es/processOrgChartItems.d.ts +51 -0
- package/dist/es/processOrgChartItems.js +163 -0
- package/dist/es/server/ServerGroupedOrgChart.d.ts +9 -0
- package/dist/es/server/ServerGroupedOrgChart.js +235 -0
- package/dist/es/server/ServerOrgChart.d.ts +9 -0
- package/dist/es/server/ServerOrgChart.js +192 -0
- package/dist/es/server/ServerOrgChartGroup.d.ts +96 -0
- package/dist/es/server/ServerOrgChartGroup.js +59 -0
- package/dist/es/server/ServerOrgChartNode.d.ts +75 -0
- package/dist/es/server/ServerOrgChartNode.js +57 -0
- package/dist/es/theming/theme-service.d.ts +5 -0
- package/dist/es/theming/theme-service.js +62 -0
- package/dist/es/utils/consts.d.ts +72 -0
- package/dist/es/utils/consts.js +72 -0
- package/dist/npm/OrgChart.d.ts +6 -0
- package/dist/npm/OrgChart.js +71 -0
- package/dist/npm/OrgChartOperationDescriptors.d.ts +76 -0
- package/dist/npm/OrgChartOperationDescriptors.js +3 -0
- package/dist/npm/client/ClientOrgChart.d.ts +94 -0
- package/dist/npm/client/ClientOrgChart.js +291 -0
- package/dist/npm/client/ExpandButton.d.ts +13 -0
- package/dist/npm/client/ExpandButton.js +27 -0
- package/dist/npm/client/OrgChartCard.d.ts +19 -0
- package/dist/npm/client/OrgChartCard.js +72 -0
- package/dist/npm/client/OrgChartCardBody.d.ts +12 -0
- package/dist/npm/client/OrgChartCardBody.js +17 -0
- package/dist/npm/client/OrgChartGroupContainer.d.ts +19 -0
- package/dist/npm/client/OrgChartGroupContainer.js +75 -0
- package/dist/npm/interfaces/ChildGroup.d.ts +16 -0
- package/dist/npm/interfaces/ChildGroup.js +2 -0
- package/dist/npm/interfaces/OrgChartActionEvent.d.ts +22 -0
- package/dist/npm/interfaces/OrgChartActionEvent.js +2 -0
- package/dist/npm/interfaces/OrgChartExpandChangeEvent.d.ts +22 -0
- package/dist/npm/interfaces/OrgChartExpandChangeEvent.js +2 -0
- package/dist/npm/interfaces/SeverOrgChartProps.d.ts +106 -0
- package/dist/npm/interfaces/SeverOrgChartProps.js +2 -0
- package/dist/npm/main.d.ts +6 -0
- package/dist/npm/main.js +21 -0
- package/dist/npm/package-metadata.d.ts +5 -0
- package/dist/npm/package-metadata.js +14 -0
- package/dist/npm/processOrgChartItems.d.ts +51 -0
- package/dist/npm/processOrgChartItems.js +167 -0
- package/dist/npm/server/ServerGroupedOrgChart.d.ts +9 -0
- package/dist/npm/server/ServerGroupedOrgChart.js +239 -0
- package/dist/npm/server/ServerOrgChart.d.ts +9 -0
- package/dist/npm/server/ServerOrgChart.js +196 -0
- package/dist/npm/server/ServerOrgChartGroup.d.ts +96 -0
- package/dist/npm/server/ServerOrgChartGroup.js +63 -0
- package/dist/npm/server/ServerOrgChartNode.d.ts +75 -0
- package/dist/npm/server/ServerOrgChartNode.js +61 -0
- package/dist/npm/theming/theme-service.d.ts +5 -0
- package/dist/npm/theming/theme-service.js +65 -0
- package/dist/npm/utils/consts.d.ts +72 -0
- package/dist/npm/utils/consts.js +75 -0
- package/dist/systemjs/kendo-react-orgchart.js +1 -0
- 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,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;
|