Skip to content

Commit d86bf12

Browse files
Add showFrame, fameInnerPadding, frameOuterPadding properties to primitives.orgdiagram.Config & primitives.famdiagram.Config
Modified callout annotation palacement for minimized nodes placed outside view port. Fixed exception when `selectedItems` collection contains non existing items.
1 parent 87d9222 commit d86bf12

File tree

64 files changed

+2475
-206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+2475
-206
lines changed

changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#### Version 5.9.0
2+
* Add `showFrame`, `fameInnerPadding`, `frameOuterPadding` properties to `primitives.orgdiagram.Config` & `primitives.famdiagram.Config`
3+
* Modified callout annotation palacement for minimized nodes placed outside view port.
4+
* Fixed exception when `selectedItems` collection contains non existing items.
15
#### Version 5.8.2
26
* Fixed `selectionPathMode` in Family Diagram.
37
#### Version 5.8.1

index.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,13 @@
265265
jquery: "samples/jquery.widgets/CaseSelectedItems.html"
266266
}
267267
},
268+
{
269+
label: "Selected Items Frame",
270+
frameworks: {
271+
javascript: "samples/javascript.controls/CaseShowFrame.html",
272+
jquery: "samples/jquery.widgets/CaseShowFrame.html"
273+
}
274+
},
268275
{
269276
label: "Buttons panel",
270277
frameworks: {

min/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "basicprimitives",
3-
"version": "5.8.2",
3+
"version": "5.9.0",
44
"description": "Basic Primitives Diagrams for JavaScript - data visualization components library that implements organizational chart and multi-parent dependency diagrams, contains implementations of JavaScript Controls and PDF rendering plugins.",
55
"main": "primitives.latest.js",
66
"scripts": {

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
"license": "SEE LICENSE IN license.pdf",
55
"scripts": {
66
"src.primitives.merge": "node merge.js src.primitives\\src.primitives.json",
7-
"src.primitives.compile": "npx google-closure-compiler --js=min\\primitives.latest.js --js_output_file=min\\primitives.min.js",
7+
"src.primitives.compile": "npx google-closure-compiler --platform=windows --js=min\\primitives.latest.js --js_output_file=min\\primitives.min.js",
88
"src.primitives.jquery.merge": "node merge.js src.primitives.jquery\\src.primitives.jquery.json",
9-
"src.primitives.jquery.compile": "npx google-closure-compiler --js=min\\primitives.jquery.latest.js --js_output_file=min\\primitives.jquery.min.js",
9+
"src.primitives.jquery.compile": "npx google-closure-compiler --platform=windows --js=min\\primitives.jquery.latest.js --js_output_file=min\\primitives.jquery.min.js",
1010
"src.tests.merge": "node merge.js src.tests\\src.tests.json",
1111
"merge": "yarn src.primitives.merge && yarn src.primitives.compile && yarn src.primitives.jquery.merge && yarn src.primitives.jquery.compile && yarn src.tests.merge",
1212
"apireference": "node apireference.js apireference.json",

samples/javascript.controls/CaseAutoSize.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"640*480": new primitives.common.Size(640, 480),
1515
"800*600": new primitives.common.Size(800, 600),
1616
"1024*768": new primitives.common.Size(1024, 768),
17-
"1280*1024": new primitives.common.Size(1280, 1024)
17+
"1280*1024": new primitives.common.Size(1280, 1024),
18+
"Unlimited": new primitives.common.Size(100000, 100000)
1819
}
1920

2021
document.addEventListener('DOMContentLoaded', function () {
@@ -91,6 +92,7 @@
9192
<label><input onclick="Update()" name="autoSizeMaximum" type="radio" value="800*600" checked="">800*600</label>
9293
<label><input onclick="Update()" name="autoSizeMaximum" type="radio" value="1024*768">1024*768</label>
9394
<label><input onclick="Update()" name="autoSizeMaximum" type="radio" value="1280*1024">1280*1024</label>
95+
<label><input onclick="Update()" name="autoSizeMaximum" type="radio" value="Unlimited">Unlimited</label>
9496
</p>
9597
<div id="diagram" style="border-style: dotted; border-width: 1px;"></div>
9698
</body>

samples/javascript.controls/CaseSelectedItems.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747

4848
options.items = items;
4949
options.cursorItem = 0;
50-
options.hasSelectorCheckbox = primitives.common.Enabled.True
50+
options.hasSelectorCheckbox = primitives.common.Enabled.True;
5151
options.onSelectionChanged = onSelectionChanged;
5252

5353
control = primitives.orgdiagram.Control(document.getElementById("basicdiagram"), options);
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5+
<title>Selected Items Frame</title>
6+
7+
<!-- # include file="../../src.primitives/src.primitives.html"-->
8+
<script type="text/javascript" src="../../min/primitives.min.js?5100"></script>
9+
<link href="../../min/primitives.latest.css?2106" media="screen" rel="stylesheet" type="text/css" />
10+
11+
<script type="text/javascript">
12+
var control;
13+
14+
document.addEventListener('DOMContentLoaded', function () {
15+
var options = new primitives.orgdiagram.Config();
16+
17+
var rootItem = new primitives.orgdiagram.ItemConfig({
18+
id: 0,
19+
parent: null,
20+
title: "Title 0",
21+
description: "Description",
22+
image: "../images/photos/a.png"
23+
});
24+
var levelItems = [rootItem];
25+
var items = [rootItem];
26+
var id = 1;
27+
for(var levelIndex = 0; levelIndex < 4; levelIndex+=1) {
28+
var newLevelItems = [];
29+
for(var index = 0; index < levelItems.length; index+=1) {
30+
var parent = levelItems[index];
31+
for (var index2 = 0; index2 < 2; index2++) {
32+
var newItem = new primitives.orgdiagram.ItemConfig({
33+
id: ++id,
34+
parent: parent.id,
35+
title: id.toString() + " Title",
36+
description: id.toString() + " Description",
37+
image: "../images/photos/b.png"
38+
});
39+
items.push(newItem);
40+
newLevelItems.push(newItem);
41+
}
42+
}
43+
levelItems = newLevelItems;
44+
}
45+
46+
/* collect all ids */
47+
var selectedItems = [];
48+
for(var index = 0; index < items.length; index+=1) {
49+
selectedItems.push(items[index].id);
50+
}
51+
52+
options.items = items;
53+
options.cursorItem = 0;
54+
options.showFrame = true;
55+
options.hasSelectorCheckbox = primitives.common.Enabled.True;
56+
options.pageFitMode = primitives.common.PageFitMode.None;
57+
options.selectedItems = selectedItems;
58+
control = primitives.orgdiagram.Control(document.getElementById("diagram"), options);
59+
});
60+
</script>
61+
</head>
62+
<body>
63+
<div id="diagram" style="width: 640px; height: 480px; border-style: dotted; border-width: 1px;"></div>
64+
</body>
65+
</html>

samples/javascript.controls/DemoCrossTeamGroup.html

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,12 @@
115115

116116
/* Graphics */
117117
graphicsType: primitives.common.GraphicsType.SVG,
118+
scale: 1.0,
118119

119-
scale: 1.0
120+
/* Frame */
121+
showFrame: true,
122+
frameInnerPadding: 4,
123+
frameOuterPadding: 4
120124
},
121125
/* On property change event handler */
122126
function () {
@@ -455,9 +459,10 @@
455459
<div id="westpanel" style="padding: 5px; margin: 5px; font: normal 12px verdana, areal;">
456460
<h2>Cross Functional Team</h2>
457461
<p>This Organization Chart shows members of cross functional team "General Audit" and their mutual positions in
458-
organization over general view of hierarchy.</p>
462+
the organization over general view of hierarchy.</p>
459463
<p>Organization Chart provides options to show or hide items between root and cross team group members.</p>
460464
<p>Chart demonstrates rotation of chart to the left side and labels options for minimized items as well.</p>
465+
<p>At the bottom you should see markers of selected nodes placed outside view area visible to end user.</p>
461466
</div>
462467
</div>
463468
<div id="centerpanel"

samples/javascript.controls/DemoDependencies.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,12 @@
132132

133133
/* Graphics */
134134
graphicsType: primitives.common.GraphicsType.SVG,
135+
scale: 1.0,
135136

136-
scale: 1.0
137+
/* Frame */
138+
showFrame: false,
139+
frameInnerPadding: 2,
140+
frameOuterPadding: 2
137141
},
138142
/* On property change event handler */
139143
function () {

samples/javascript.controls/DemoDynamicLoading.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,12 @@
153153

154154
/* Graphics */
155155
graphicsType: primitives.common.GraphicsType.SVG,
156-
157-
scale: 1.0
156+
scale: 1.0,
157+
158+
/* Frame */
159+
showFrame: false,
160+
frameInnerPadding: 2,
161+
frameOuterPadding: 2
158162
},
159163
/* On property change event handler */
160164
function () {

0 commit comments

Comments
 (0)