Commit 08144f4331477d08a2d814bef7f17f313e21032d
1 parent
a9a23dd3
feat: implement set variable image
Showing
5 changed files
with
303 additions
and
241 deletions
Too many changes to show.
To preserve performance only 5 of 7 files are displayed.
2.35 KB
@@ -126,4 +126,12 @@ class ConfigurationNodeApi { | @@ -126,4 +126,12 @@ class ConfigurationNodeApi { | ||
126 | return defHttp.get(`/plugins/telemetry/DEVICE/${deviceId}/values/attributes?keys=active`) | 126 | return defHttp.get(`/plugins/telemetry/DEVICE/${deviceId}/values/attributes?keys=active`) |
127 | } | 127 | } |
128 | 128 | ||
129 | + /** | ||
130 | + * @description 上传图片 | ||
131 | + * @param data | ||
132 | + * @returns {*} | ||
133 | + */ | ||
134 | + static uploadImg(data){ | ||
135 | + return defHttp.post('/yt/oss/upload', data) | ||
136 | + } | ||
129 | } | 137 | } |
@@ -12,24 +12,24 @@ | @@ -12,24 +12,24 @@ | ||
12 | * copy the output of searchFileData from the browser console to the variable below. | 12 | * copy the output of searchFileData from the browser console to the variable below. |
13 | */ | 13 | */ |
14 | Sidebar.prototype.searchIndexData = '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'; | 14 | Sidebar.prototype.searchIndexData = '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'; |
15 | - | 15 | + |
16 | /** | 16 | /** |
17 | * Overrides gear image URL. | 17 | * Overrides gear image URL. |
18 | */ | 18 | */ |
19 | Sidebar.prototype.gearImage = GRAPH_IMAGE_PATH + '/clipart/Gear_128x128.png'; | 19 | Sidebar.prototype.gearImage = GRAPH_IMAGE_PATH + '/clipart/Gear_128x128.png'; |
20 | - | 20 | + |
21 | /** | 21 | /** |
22 | * Aliases for IDs in the libs parameter. | 22 | * Aliases for IDs in the libs parameter. |
23 | */ | 23 | */ |
24 | Sidebar.prototype.libAliases = {'aws2': 'aws3', 'gcp' : 'gcp2'}; | 24 | Sidebar.prototype.libAliases = {'aws2': 'aws3', 'gcp' : 'gcp2'}; |
25 | - | 25 | + |
26 | /** | 26 | /** |
27 | - * | 27 | + * |
28 | */ | 28 | */ |
29 | Sidebar.prototype.defaultEntries = 'component;fan;engine;valve;controller;light;button;conduit;instrument;sewage'; | 29 | Sidebar.prototype.defaultEntries = 'component;fan;engine;valve;controller;light;button;conduit;instrument;sewage'; |
30 | - | 30 | + |
31 | /** | 31 | /** |
32 | - * Library definitions | 32 | + * Library definitions |
33 | */ | 33 | */ |
34 | Sidebar.prototype.signs = ['Animals', 'Food', 'Healthcare', 'Nature', 'People', 'Safety', 'Science', 'Sports', 'Tech', 'Transportation', 'Travel']; | 34 | Sidebar.prototype.signs = ['Animals', 'Food', 'Healthcare', 'Nature', 'People', 'Safety', 'Science', 'Sports', 'Tech', 'Transportation', 'Travel']; |
35 | 35 | ||
@@ -38,45 +38,45 @@ | @@ -38,45 +38,45 @@ | ||
38 | Sidebar.prototype.allied_telesis = ['Buildings', 'Computer and Terminals', 'Media Converters', 'Security', 'Storage', 'Switch', 'Wireless']; | 38 | Sidebar.prototype.allied_telesis = ['Buildings', 'Computer and Terminals', 'Media Converters', 'Security', 'Storage', 'Switch', 'Wireless']; |
39 | 39 | ||
40 | Sidebar.prototype.gcp = ['Cards', 'Big Data', 'Compute', 'Developer Tools', 'Extras', 'Identity and Security', 'Machine Learning', 'Management Tools', 'Networking', 'Storage Databases']; | 40 | Sidebar.prototype.gcp = ['Cards', 'Big Data', 'Compute', 'Developer Tools', 'Extras', 'Identity and Security', 'Machine Learning', 'Management Tools', 'Networking', 'Storage Databases']; |
41 | - | 41 | + |
42 | Sidebar.prototype.gcp2 = ['Paths', 'Zones', 'Service Cards', 'Compute', 'API Management', 'Security', 'Data Analytics', 'Data Transfer', 'Cloud AI', 'Internet of Things', 'Databases', 'Storage', 'Management Tools', 'Networking', 'Developer Tools', 'Expanded Product Cards', 'User Device Cards', 'Product Cards', 'General Icons', 'Icons AI Machine Learning', 'Icons Compute', 'Icons Data Analytics', 'Icons Management Tools', 'Icons Networking', 'Icons Developer Tools', 'Icons API Management', 'Icons Internet of Things', 'Icons Databases', 'Icons Storage', 'Icons Security', 'Icons Migration', 'Icons Hybrid and Multi Cloud']; | 42 | Sidebar.prototype.gcp2 = ['Paths', 'Zones', 'Service Cards', 'Compute', 'API Management', 'Security', 'Data Analytics', 'Data Transfer', 'Cloud AI', 'Internet of Things', 'Databases', 'Storage', 'Management Tools', 'Networking', 'Developer Tools', 'Expanded Product Cards', 'User Device Cards', 'Product Cards', 'General Icons', 'Icons AI Machine Learning', 'Icons Compute', 'Icons Data Analytics', 'Icons Management Tools', 'Icons Networking', 'Icons Developer Tools', 'Icons API Management', 'Icons Internet of Things', 'Icons Databases', 'Icons Storage', 'Icons Security', 'Icons Migration', 'Icons Hybrid and Multi Cloud']; |
43 | - | 43 | + |
44 | Sidebar.prototype.gcpicons = ['AI and Machine Learning', 'API Management', 'Compute', 'Data Analytics', 'Databases', 'Developer Tools', 'Expanded Product Card Icons', 'Generic', 'Hybrid and Multi Cloud', 'Security', 'Internet of Things', 'Management Tools', 'Migration', 'Networking', 'Open Source Icons', 'Storage']; | 44 | Sidebar.prototype.gcpicons = ['AI and Machine Learning', 'API Management', 'Compute', 'Data Analytics', 'Databases', 'Developer Tools', 'Expanded Product Card Icons', 'Generic', 'Hybrid and Multi Cloud', 'Security', 'Internet of Things', 'Management Tools', 'Migration', 'Networking', 'Open Source Icons', 'Storage']; |
45 | - | 45 | + |
46 | Sidebar.prototype.rack = ['General', 'APC', 'Cisco', 'Dell', 'F5', 'HP', 'HPE Aruba Gateways Controllers', 'HPE Aruba Security', 'HPE Aruba Switches', 'IBM', 'Oracle']; | 46 | Sidebar.prototype.rack = ['General', 'APC', 'Cisco', 'Dell', 'F5', 'HP', 'HPE Aruba Gateways Controllers', 'HPE Aruba Security', 'HPE Aruba Switches', 'IBM', 'Oracle']; |
47 | - | ||
48 | - Sidebar.prototype.pids = ['Agitators', 'Apparatus Elements', 'Centrifuges', 'Compressors', 'Compressors ISO', 'Crushers Grinding', | 47 | + |
48 | + Sidebar.prototype.pids = ['Agitators', 'Apparatus Elements', 'Centrifuges', 'Compressors', 'Compressors ISO', 'Crushers Grinding', | ||
49 | 'Driers', 'Engines', 'Feeders', 'Filters', 'Fittings', 'Flow Sensors', 'Heat Exchangers', 'Instruments', 'Misc', | 49 | 'Driers', 'Engines', 'Feeders', 'Filters', 'Fittings', 'Flow Sensors', 'Heat Exchangers', 'Instruments', 'Misc', |
50 | 'Mixers', 'Piping', 'Pumps', 'Pumps DIN', 'Pumps ISO', 'Separators', 'Shaping Machines', 'Valves', 'Vessels']; | 50 | 'Mixers', 'Piping', 'Pumps', 'Pumps DIN', 'Pumps ISO', 'Separators', 'Shaping Machines', 'Valves', 'Vessels']; |
51 | 51 | ||
52 | Sidebar.prototype.cisco = ['Buildings', 'Computers and Peripherals', 'Controllers and Modules', 'Directors', 'Hubs and Gateways', 'Misc', | 52 | Sidebar.prototype.cisco = ['Buildings', 'Computers and Peripherals', 'Controllers and Modules', 'Directors', 'Hubs and Gateways', 'Misc', |
53 | 'Modems and Phones', 'People', 'Routers', 'Security', 'Servers', 'Storage', 'Switches', 'Wireless']; | 53 | 'Modems and Phones', 'People', 'Routers', 'Security', 'Servers', 'Storage', 'Switches', 'Wireless']; |
54 | - | 54 | + |
55 | Sidebar.prototype.cisco19 = ['LAN Switching', 'Routing WAN', 'Network Management', 'Data Center', 'Wireless LAN', 'Collaboration', 'Security Clouds Connectors', 'Endpoint Client Device Icons', 'DNA SD Access', 'SD WAN Viptela', 'ETA Stealthwatch', 'SAFE']; | 55 | Sidebar.prototype.cisco19 = ['LAN Switching', 'Routing WAN', 'Network Management', 'Data Center', 'Wireless LAN', 'Collaboration', 'Security Clouds Connectors', 'Endpoint Client Device Icons', 'DNA SD Access', 'SD WAN Viptela', 'ETA Stealthwatch', 'SAFE']; |
56 | 56 | ||
57 | Sidebar.prototype.cisco_safe = ['Architecture', 'Business Icons', 'Capability', 'Design', 'IoT Things Icons', 'People Places Things Icons', 'Security Icons', 'Technology Icons', 'Threat']; | 57 | Sidebar.prototype.cisco_safe = ['Architecture', 'Business Icons', 'Capability', 'Design', 'IoT Things Icons', 'People Places Things Icons', 'Security Icons', 'Technology Icons', 'Threat']; |
58 | - | ||
59 | - Sidebar.prototype.sysml = ['Model Elements', 'Blocks', 'Ports and Flows', 'Constraint Blocks', 'Activities', 'Interactions', 'State Machines', | 58 | + |
59 | + Sidebar.prototype.sysml = ['Model Elements', 'Blocks', 'Ports and Flows', 'Constraint Blocks', 'Activities', 'Interactions', 'State Machines', | ||
60 | 'Use Cases', 'Allocations', 'Requirements', 'Profiles', 'Stereotypes']; | 60 | 'Use Cases', 'Allocations', 'Requirements', 'Profiles', 'Stereotypes']; |
61 | 61 | ||
62 | - Sidebar.prototype.eip = ['Message Construction', 'Message Routing', 'Message Transformation', 'Messaging Channels', 'Messaging Endpoints', | 62 | + Sidebar.prototype.eip = ['Message Construction', 'Message Routing', 'Message Transformation', 'Messaging Channels', 'Messaging Endpoints', |
63 | 'Messaging Systems', 'System Management']; | 63 | 'Messaging Systems', 'System Management']; |
64 | 64 | ||
65 | - Sidebar.prototype.gmdl = ['Bottom Navigation', 'Bottom Sheets', 'Buttons', 'Cards', 'Chips', 'Dialogs', 'Dividers', 'Grid Lists', 'Icons', 'Lists', 'Menus', 'Misc', 'Pickers', | 65 | + Sidebar.prototype.gmdl = ['Bottom Navigation', 'Bottom Sheets', 'Buttons', 'Cards', 'Chips', 'Dialogs', 'Dividers', 'Grid Lists', 'Icons', 'Lists', 'Menus', 'Misc', 'Pickers', |
66 | 'Selection Controls', 'Sliders', 'Steppers', 'Tabs', 'Text Fields']; | 66 | 'Selection Controls', 'Sliders', 'Steppers', 'Tabs', 'Text Fields']; |
67 | 67 | ||
68 | - Sidebar.prototype.aws2 = ['Analytics', 'Application Services', 'Compute', 'Database', 'Developer Tools', 'Enterprise Applications', 'Game Development', 'General', 'Internet of Things', | 68 | + Sidebar.prototype.aws2 = ['Analytics', 'Application Services', 'Compute', 'Database', 'Developer Tools', 'Enterprise Applications', 'Game Development', 'General', 'Internet of Things', |
69 | 'Management Tools', 'Mobile Services', 'Networking', 'On-Demand Workforce', 'SDKs', 'Security and Identity', 'Storage and Content Delivery', 'Groups']; | 69 | 'Management Tools', 'Mobile Services', 'Networking', 'On-Demand Workforce', 'SDKs', 'Security and Identity', 'Storage and Content Delivery', 'Groups']; |
70 | 70 | ||
71 | - Sidebar.prototype.aws3 = ['Analytics', 'Application Services', 'Artificial Intelligence', 'Business Productivity', 'Compute', 'Contact Center', 'Database', 'Desktop and App Streaming', 'Developer Tools', | ||
72 | - 'Game Development', 'General', 'Groups', 'Internet of Things', | 71 | + Sidebar.prototype.aws3 = ['Analytics', 'Application Services', 'Artificial Intelligence', 'Business Productivity', 'Compute', 'Contact Center', 'Database', 'Desktop and App Streaming', 'Developer Tools', |
72 | + 'Game Development', 'General', 'Groups', 'Internet of Things', | ||
73 | 'Management Tools', 'Messaging', 'Migration', 'Mobile Services', 'Networking and Content Delivery', 'On Demand Workforce', 'SDKs', 'Security Identity and Compliance', 'Storage']; | 73 | 'Management Tools', 'Messaging', 'Migration', 'Mobile Services', 'Networking and Content Delivery', 'On Demand Workforce', 'SDKs', 'Security Identity and Compliance', 'Storage']; |
74 | - | 74 | + |
75 | Sidebar.prototype.aws4b = ['Arrows', 'General Resources', 'Illustrations', 'Groups Light', 'Groups Dark', 'Analytics', 'Application Integration', 'AR VR', 'Cost Management', 'Business Productivity', 'Compute', 'Customer Engagement', | 75 | Sidebar.prototype.aws4b = ['Arrows', 'General Resources', 'Illustrations', 'Groups Light', 'Groups Dark', 'Analytics', 'Application Integration', 'AR VR', 'Cost Management', 'Business Productivity', 'Compute', 'Customer Engagement', |
76 | 'Database', 'Desktop App Streaming', 'Developer Tools', 'Game Development', 'Internet of Things', 'IoT Things', 'IoT Resources', 'Machine Learning', 'Management Tools', | 76 | 'Database', 'Desktop App Streaming', 'Developer Tools', 'Game Development', 'Internet of Things', 'IoT Things', 'IoT Resources', 'Machine Learning', 'Management Tools', |
77 | 'Media Services', 'Migration', 'Mobile Services', 'Network Content Delivery', 'Security Identity Compliance', 'Storage']; | 77 | 'Media Services', 'Migration', 'Mobile Services', 'Network Content Delivery', 'Security Identity Compliance', 'Storage']; |
78 | - | ||
79 | - Sidebar.prototype.aws4 = ['Arrows', 'General Resources', 'Illustrations', 'Groups', 'Analytics', 'Application Integration', 'AR VR', 'Cost Management', 'Blockchain', | 78 | + |
79 | + Sidebar.prototype.aws4 = ['Arrows', 'General Resources', 'Illustrations', 'Groups', 'Analytics', 'Application Integration', 'AR VR', 'Cost Management', 'Blockchain', | ||
80 | 'Business Applications', 'Compute', 'Containers', 'Customer Enablement', 'Customer Engagement', | 80 | 'Business Applications', 'Compute', 'Containers', 'Customer Enablement', 'Customer Engagement', |
81 | 'Database', 'Developer Tools', 'End User Computing', 'Front End Web Mobile', 'Game Tech', 'Internet of Things', 'IoT Things', 'IoT Resources', 'Machine Learning', 'Management Governance', | 81 | 'Database', 'Developer Tools', 'End User Computing', 'Front End Web Mobile', 'Game Tech', 'Internet of Things', 'IoT Things', 'IoT Resources', 'Machine Learning', 'Management Governance', |
82 | 'Media Services', 'Migration Transfer', 'Network Content Delivery', 'Quantum Technologies', 'Robotics', 'Satellite', 'Serverless', 'Security Identity Compliance', 'Storage']; | 82 | 'Media Services', 'Migration Transfer', 'Network Content Delivery', 'Quantum Technologies', 'Robotics', 'Satellite', 'Serverless', 'Security Identity Compliance', 'Storage']; |
@@ -94,7 +94,7 @@ | @@ -94,7 +94,7 @@ | ||
94 | * Description of custom libraries, see https://www.diagrams.net/doc/faq/configure-diagram-editor | 94 | * Description of custom libraries, see https://www.diagrams.net/doc/faq/configure-diagram-editor |
95 | */ | 95 | */ |
96 | Sidebar.prototype.customEntries = null; | 96 | Sidebar.prototype.customEntries = null; |
97 | - | 97 | + |
98 | /** | 98 | /** |
99 | * Array of strings for the built-in libraries to be enabled in the more shapes dialog. Null means all, | 99 | * Array of strings for the built-in libraries to be enabled in the more shapes dialog. Null means all, |
100 | * empty array means none, possible keys are listed for the libs parameter at | 100 | * empty array means none, possible keys are listed for the libs parameter at |
@@ -105,13 +105,61 @@ | @@ -105,13 +105,61 @@ | ||
105 | * https://www.diagrams.net/doc/faq/supported-url-parameters | 105 | * https://www.diagrams.net/doc/faq/supported-url-parameters |
106 | */ | 106 | */ |
107 | Sidebar.prototype.enabledLibraries = null; | 107 | Sidebar.prototype.enabledLibraries = null; |
108 | - | 108 | + |
109 | /** | 109 | /** |
110 | * Maximum number of custom libraries to preload into the search index. | 110 | * Maximum number of custom libraries to preload into the search index. |
111 | */ | 111 | */ |
112 | Sidebar.prototype.maxPreloadCount = 20; | 112 | Sidebar.prototype.maxPreloadCount = 20; |
113 | 113 | ||
114 | /** | 114 | /** |
115 | + * @description TODO thingsKit 在Sidebar 原型中新增图库信息 | ||
116 | + * @type {Map<any, any>} | ||
117 | + */ | ||
118 | + Sidebar.prototype.variableImageLib = new Map() | ||
119 | + | ||
120 | + /** | ||
121 | + * @description TODO thingsKit 设置图库信息 | ||
122 | + * @param key | ||
123 | + * @param label | ||
124 | + * @param lib | ||
125 | + */ | ||
126 | + Sidebar.prototype.setVariableImageLib = function (key, label, lib) { | ||
127 | + this.variableImageLib.set(key, { label, key, lib }) | ||
128 | + } | ||
129 | + | ||
130 | + /** | ||
131 | + * @description TODO thingsKit 通过key获取图库中某个类别 | ||
132 | + * @param key | ||
133 | + * @returns {{}|*} | ||
134 | + */ | ||
135 | + Sidebar.prototype.getVariableImageLib = function (key) { | ||
136 | + return this.variableImageLib.get(key) | ||
137 | + } | ||
138 | + | ||
139 | + /** | ||
140 | + * @description TODO thingsKit 取所有图库信息 | ||
141 | + * @returns {*[]} | ||
142 | + */ | ||
143 | + Sidebar.prototype.getAllVariableImageLib = function () { | ||
144 | + const arr = [] | ||
145 | + for (const value of this.variableImageLib.values()) { | ||
146 | + arr.push(value) | ||
147 | + } | ||
148 | + return arr | ||
149 | + } | ||
150 | + | ||
151 | + /** | ||
152 | + * @description TODO thingsKit 设置cell attributes | ||
153 | + */ | ||
154 | + Sidebar.prototype.setCellAttributes = function (cell, attribute) { | ||
155 | + if (Object.prototype.toString.call(attribute) === '[object Object]') { | ||
156 | + Object.keys(attribute).forEach(key => { | ||
157 | + this.graph.setAttributeForCell(cell, key, attribute[key]) | ||
158 | + }) | ||
159 | + } | ||
160 | + } | ||
161 | + | ||
162 | + /** | ||
115 | * 各图形库里面要加载的图形 | 163 | * 各图形库里面要加载的图形 |
116 | */ | 164 | */ |
117 | Sidebar.prototype.configuration = [{id: 'general', libs: ['general', 'misc', 'advanced']}, | 165 | Sidebar.prototype.configuration = [{id: 'general', libs: ['general', 'misc', 'advanced']}, |
@@ -161,7 +209,7 @@ | @@ -161,7 +209,7 @@ | ||
161 | {id: 'archimate', libs: ['archimate']}, | 209 | {id: 'archimate', libs: ['archimate']}, |
162 | {id: 'webicons', libs: ['webicons', 'weblogos']}, | 210 | {id: 'webicons', libs: ['webicons', 'weblogos']}, |
163 | {id: 'sysml', prefix: 'sysml', libs: Sidebar.prototype.sysml}]; | 211 | {id: 'sysml', prefix: 'sysml', libs: Sidebar.prototype.sysml}]; |
164 | - | 212 | + |
165 | /** | 213 | /** |
166 | * Removes disabled libraries from search results. | 214 | * Removes disabled libraries from search results. |
167 | */ | 215 | */ |
@@ -177,7 +225,7 @@ | @@ -177,7 +225,7 @@ | ||
177 | else | 225 | else |
178 | { | 226 | { |
179 | return sidebarAddEntry.apply(this, arguments); | 227 | return sidebarAddEntry.apply(this, arguments); |
180 | - } | 228 | + } |
181 | }; | 229 | }; |
182 | 230 | ||
183 | /** | 231 | /** |
@@ -201,13 +249,13 @@ | @@ -201,13 +249,13 @@ | ||
201 | * Adds hint for quick tutorial video for certain search terms. | 249 | * Adds hint for quick tutorial video for certain search terms. |
202 | */ | 250 | */ |
203 | var siderbarInsertSearchHint = Sidebar.prototype.insertSearchHint; | 251 | var siderbarInsertSearchHint = Sidebar.prototype.insertSearchHint; |
204 | - | 252 | + |
205 | Sidebar.prototype.insertSearchHint = function(div, searchTerm, count, page, results, len, more, terms) | 253 | Sidebar.prototype.insertSearchHint = function(div, searchTerm, count, page, results, len, more, terms) |
206 | { | 254 | { |
207 | if (terms != null && page == 1) | 255 | if (terms != null && page == 1) |
208 | { | 256 | { |
209 | var hintText = null; | 257 | var hintText = null; |
210 | - | 258 | + |
211 | // Adds hint for text inserts | 259 | // Adds hint for text inserts |
212 | if (mxUtils.indexOf(terms, 'text') >= 0) | 260 | if (mxUtils.indexOf(terms, 'text') >= 0) |
213 | { | 261 | { |
@@ -219,7 +267,7 @@ | @@ -219,7 +267,7 @@ | ||
219 | var words = ['line', 'lines', 'arrow', 'arrows', 'connect', 'connection', 'connections', | 267 | var words = ['line', 'lines', 'arrow', 'arrows', 'connect', 'connection', 'connections', |
220 | 'connector', 'connectors', 'curve', 'curves', 'link', 'links', 'directed', | 268 | 'connector', 'connectors', 'curve', 'curves', 'link', 'links', 'directed', |
221 | 'directional', 'bidirectional']; | 269 | 'directional', 'bidirectional']; |
222 | - | 270 | + |
223 | for (var i = 0; i < words.length; i++) | 271 | for (var i = 0; i < words.length; i++) |
224 | { | 272 | { |
225 | if (mxUtils.indexOf(terms, words[i]) >= 0) | 273 | if (mxUtils.indexOf(terms, words[i]) >= 0) |
@@ -229,7 +277,7 @@ | @@ -229,7 +277,7 @@ | ||
229 | } | 277 | } |
230 | } | 278 | } |
231 | } | 279 | } |
232 | - | 280 | + |
233 | if (hintText != null && !this.hideSearchHint) | 281 | if (hintText != null && !this.hideSearchHint) |
234 | { | 282 | { |
235 | var link = document.createElement('a'); | 283 | var link = document.createElement('a'); |
@@ -240,7 +288,7 @@ | @@ -240,7 +288,7 @@ | ||
240 | 'border:1px solid black !important;text-align:center;white-space:normal;' + | 288 | 'border:1px solid black !important;text-align:center;white-space:normal;' + |
241 | 'padding:6px 0px 6px 0px !important;margin:4px 4px 8px 2px;font-size:12px;'; | 289 | 'padding:6px 0px 6px 0px !important;margin:4px 4px 8px 2px;font-size:12px;'; |
242 | mxUtils.write(link, hintText); | 290 | mxUtils.write(link, hintText); |
243 | - | 291 | + |
244 | // Adds close button | 292 | // Adds close button |
245 | var img = document.createElement('img'); | 293 | var img = document.createElement('img'); |
246 | img.setAttribute('src', Dialog.prototype.closeImage); | 294 | img.setAttribute('src', Dialog.prototype.closeImage); |
@@ -250,22 +298,22 @@ | @@ -250,22 +298,22 @@ | ||
250 | img.style.cursor = 'default'; | 298 | img.style.cursor = 'default'; |
251 | img.style.top = '1px'; | 299 | img.style.top = '1px'; |
252 | img.style.right = '0px'; | 300 | img.style.right = '0px'; |
253 | - | 301 | + |
254 | mxEvent.addListener(img, 'click', mxUtils.bind(this, function(evt) | 302 | mxEvent.addListener(img, 'click', mxUtils.bind(this, function(evt) |
255 | { | 303 | { |
256 | link.parentNode.removeChild(link); | 304 | link.parentNode.removeChild(link); |
257 | this.hideSearchHint = true; | 305 | this.hideSearchHint = true; |
258 | mxEvent.consume(evt); | 306 | mxEvent.consume(evt); |
259 | })); | 307 | })); |
260 | - | 308 | + |
261 | link.appendChild(img); | 309 | link.appendChild(img); |
262 | div.appendChild(link); | 310 | div.appendChild(link); |
263 | - | 311 | + |
264 | // Shows hint only once | 312 | // Shows hint only once |
265 | this.hideSearchHint = true; | 313 | this.hideSearchHint = true; |
266 | } | 314 | } |
267 | } | 315 | } |
268 | - | 316 | + |
269 | siderbarInsertSearchHint.apply(this, arguments); | 317 | siderbarInsertSearchHint.apply(this, arguments); |
270 | }; | 318 | }; |
271 | 319 | ||
@@ -284,7 +332,7 @@ | @@ -284,7 +332,7 @@ | ||
284 | { | 332 | { |
285 | this.showPalette(id); | 333 | this.showPalette(id); |
286 | }; | 334 | }; |
287 | - | 335 | + |
288 | /** | 336 | /** |
289 | * Shows or hides palettes. | 337 | * Shows or hides palettes. |
290 | */ | 338 | */ |
@@ -302,22 +350,22 @@ | @@ -302,22 +350,22 @@ | ||
302 | Sidebar.prototype.showPalette = function(id, visible) | 350 | Sidebar.prototype.showPalette = function(id, visible) |
303 | { | 351 | { |
304 | var elts = this.palettes[id]; | 352 | var elts = this.palettes[id]; |
305 | - | 353 | + |
306 | if (elts != null) | 354 | if (elts != null) |
307 | { | 355 | { |
308 | var vis = (visible != null) ? ((visible) ? 'block' : 'none') : (elts[0].style.display == 'none') ? 'block' : 'none'; | 356 | var vis = (visible != null) ? ((visible) ? 'block' : 'none') : (elts[0].style.display == 'none') ? 'block' : 'none'; |
309 | - | 357 | + |
310 | for (var i = 0; i < elts.length; i++) | 358 | for (var i = 0; i < elts.length; i++) |
311 | { | 359 | { |
312 | elts[i].style.display = vis; | 360 | elts[i].style.display = vis; |
313 | } | 361 | } |
314 | } | 362 | } |
315 | - | 363 | + |
316 | return elts; | 364 | return elts; |
317 | }; | 365 | }; |
318 | - | 366 | + |
319 | /** | 367 | /** |
320 | - * | 368 | + * |
321 | */ | 369 | */ |
322 | Sidebar.prototype.getConfigurationById = function(id) | 370 | Sidebar.prototype.getConfigurationById = function(id) |
323 | { | 371 | { |
@@ -328,17 +376,17 @@ | @@ -328,17 +376,17 @@ | ||
328 | return this.configuration[i]; | 376 | return this.configuration[i]; |
329 | } | 377 | } |
330 | } | 378 | } |
331 | - | 379 | + |
332 | if (this.customEntries != null) | 380 | if (this.customEntries != null) |
333 | { | 381 | { |
334 | for (var i = 0; i < this.customEntries.length; i++) | 382 | for (var i = 0; i < this.customEntries.length; i++) |
335 | { | 383 | { |
336 | var section = this.customEntries[i]; | 384 | var section = this.customEntries[i]; |
337 | - | 385 | + |
338 | for (var j = 0; j < section.entries.length; j++) | 386 | for (var j = 0; j < section.entries.length; j++) |
339 | { | 387 | { |
340 | var entry = section.entries[j]; | 388 | var entry = section.entries[j]; |
341 | - | 389 | + |
342 | if (entry.id == id) | 390 | if (entry.id == id) |
343 | { | 391 | { |
344 | return {id: entry.id, libs: entry.libs}; | 392 | return {id: entry.id, libs: entry.libs}; |
@@ -346,12 +394,12 @@ | @@ -346,12 +394,12 @@ | ||
346 | } | 394 | } |
347 | } | 395 | } |
348 | } | 396 | } |
349 | - | 397 | + |
350 | return null; | 398 | return null; |
351 | }; | 399 | }; |
352 | - | 400 | + |
353 | /** | 401 | /** |
354 | - * | 402 | + * |
355 | */ | 403 | */ |
356 | Sidebar.prototype.isEntryVisible = function(key) | 404 | Sidebar.prototype.isEntryVisible = function(key) |
357 | { | 405 | { |
@@ -362,7 +410,7 @@ | @@ -362,7 +410,7 @@ | ||
362 | else | 410 | else |
363 | { | 411 | { |
364 | var config = this.getConfigurationById(key); | 412 | var config = this.getConfigurationById(key); |
365 | - | 413 | + |
366 | if (config != null) | 414 | if (config != null) |
367 | { | 415 | { |
368 | var id = (config.libs != null) ? ((config.prefix || '') + config.libs[0]) : key; | 416 | var id = (config.libs != null) ? ((config.prefix || '') + config.libs[0]) : key; |
@@ -373,92 +421,92 @@ | @@ -373,92 +421,92 @@ | ||
373 | return elts[0].style.display != 'none'; | 421 | return elts[0].style.display != 'none'; |
374 | } | 422 | } |
375 | } | 423 | } |
376 | - | 424 | + |
377 | if (this.customEntries != null) | 425 | if (this.customEntries != null) |
378 | { | 426 | { |
379 | for (var i = 0; i < this.customEntries.length; i++) | 427 | for (var i = 0; i < this.customEntries.length; i++) |
380 | { | 428 | { |
381 | var section = this.customEntries[i]; | 429 | var section = this.customEntries[i]; |
382 | - | 430 | + |
383 | for (var j = 0; j < section.entries.length; j++) | 431 | for (var j = 0; j < section.entries.length; j++) |
384 | { | 432 | { |
385 | var entry = section.entries[j]; | 433 | var entry = section.entries[j]; |
386 | - | 434 | + |
387 | if (entry.id == key) | 435 | if (entry.id == key) |
388 | { | 436 | { |
389 | if (entry.libs != null && entry.libs.length > 0) | 437 | if (entry.libs != null && entry.libs.length > 0) |
390 | { | 438 | { |
391 | var elts = this.palettes[entry.id + '.0']; | 439 | var elts = this.palettes[entry.id + '.0']; |
392 | - | 440 | + |
393 | if (elts != null) | 441 | if (elts != null) |
394 | { | 442 | { |
395 | return elts[0].style.display != 'none'; | 443 | return elts[0].style.display != 'none'; |
396 | } | 444 | } |
397 | } | 445 | } |
398 | - | 446 | + |
399 | break; | 447 | break; |
400 | } | 448 | } |
401 | } | 449 | } |
402 | } | 450 | } |
403 | } | 451 | } |
404 | - | 452 | + |
405 | return false; | 453 | return false; |
406 | } | 454 | } |
407 | }; | 455 | }; |
408 | 456 | ||
409 | /** | 457 | /** |
410 | - * | 458 | + * |
411 | */ | 459 | */ |
412 | Sidebar.prototype.showEntries = function(entries, remember, force) | 460 | Sidebar.prototype.showEntries = function(entries, remember, force) |
413 | { | 461 | { |
414 | var all = []; | 462 | var all = []; |
415 | - | 463 | + |
416 | if (remember) | 464 | if (remember) |
417 | { | 465 | { |
418 | mxSettings.setLibraries(entries); | 466 | mxSettings.setLibraries(entries); |
419 | mxSettings.save(); | 467 | mxSettings.save(); |
420 | } | 468 | } |
421 | - | 469 | + |
422 | if (entries != null && (force || entries.length > 0)) | 470 | if (entries != null && (force || entries.length > 0)) |
423 | { | 471 | { |
424 | all.push(entries); | 472 | all.push(entries); |
425 | } | 473 | } |
426 | - else | 474 | + else |
427 | { | 475 | { |
428 | var done = false; | 476 | var done = false; |
429 | - | ||
430 | - if (urlParams['libs'] != null && urlParams['libs'].length > 0) | 477 | + |
478 | + if (urlParams['libs'] != null && urlParams['libs'].length > 0) | ||
431 | { | 479 | { |
432 | all.push(decodeURIComponent(urlParams['libs'])); | 480 | all.push(decodeURIComponent(urlParams['libs'])); |
433 | done = this.editorUi.getServiceName() == 'draw.io'; | 481 | done = this.editorUi.getServiceName() == 'draw.io'; |
434 | } | 482 | } |
435 | - | 483 | + |
436 | // Libs parameter overrides configuration for online app so that | 484 | // Libs parameter overrides configuration for online app so that |
437 | // links can be created to show just the specifies libraries | 485 | // links can be created to show just the specifies libraries |
438 | if (!done) | 486 | if (!done) |
439 | { | 487 | { |
440 | - if (mxSettings != null && mxSettings.settings != null) | 488 | + if (mxSettings != null && mxSettings.settings != null) |
441 | { | 489 | { |
442 | all.push(mxSettings.getLibraries()); | 490 | all.push(mxSettings.getLibraries()); |
443 | } | 491 | } |
444 | - else | 492 | + else |
445 | { | 493 | { |
446 | all.push(this.defaultEntries); | 494 | all.push(this.defaultEntries); |
447 | } | 495 | } |
448 | } | 496 | } |
449 | } | 497 | } |
450 | - | 498 | + |
451 | // Merges array of semicolon separated strings into a single array | 499 | // Merges array of semicolon separated strings into a single array |
452 | var temp = all.join(';').split(';'); | 500 | var temp = all.join(';').split(';'); |
453 | 501 | ||
454 | // Resolves aliases and creates lookup | 502 | // Resolves aliases and creates lookup |
455 | var visible = {}; | 503 | var visible = {}; |
456 | - | 504 | + |
457 | for (var i = 0; i < temp.length; i++) | 505 | for (var i = 0; i < temp.length; i++) |
458 | { | 506 | { |
459 | - visible[this.libAliases[temp[i]] || temp[i]] = true; | 507 | + visible[this.libAliases[temp[i]] || temp[i]] = true; |
460 | } | 508 | } |
461 | - | 509 | + |
462 | for (var i = 0; i < this.configuration.length; i++) | 510 | for (var i = 0; i < this.configuration.length; i++) |
463 | { | 511 | { |
464 | // Search has separate switch in Extras menu | 512 | // Search has separate switch in Extras menu |
@@ -470,26 +518,26 @@ | @@ -470,26 +518,26 @@ | ||
470 | 518 | ||
471 | } | 519 | } |
472 | } | 520 | } |
473 | - | 521 | + |
474 | if (this.customEntries != null) | 522 | if (this.customEntries != null) |
475 | { | 523 | { |
476 | for (var i = 0; i < this.customEntries.length; i++) | 524 | for (var i = 0; i < this.customEntries.length; i++) |
477 | { | 525 | { |
478 | var section = this.customEntries[i]; | 526 | var section = this.customEntries[i]; |
479 | - | 527 | + |
480 | for (var j = 0; j < section.entries.length; j++) | 528 | for (var j = 0; j < section.entries.length; j++) |
481 | { | 529 | { |
482 | var entry = section.entries[j]; | 530 | var entry = section.entries[j]; |
483 | - | 531 | + |
484 | if (entry.libs != null && entry.libs.length > 0) | 532 | if (entry.libs != null && entry.libs.length > 0) |
485 | { | 533 | { |
486 | var libs = []; | 534 | var libs = []; |
487 | - | 535 | + |
488 | for (var k = 0; k < entry.libs.length; k++) | 536 | for (var k = 0; k < entry.libs.length; k++) |
489 | { | 537 | { |
490 | libs.push(entry.id + '.' + k); | 538 | libs.push(entry.id + '.' + k); |
491 | } | 539 | } |
492 | - | 540 | + |
493 | this.showPalettes('', libs, visible[entry.id]); | 541 | this.showPalettes('', libs, visible[entry.id]); |
494 | } | 542 | } |
495 | } | 543 | } |
@@ -592,7 +640,7 @@ | @@ -592,7 +640,7 @@ | ||
592 | 640 | ||
593 | // Uses search.xml index file instead (faster load times) | 641 | // Uses search.xml index file instead (faster load times) |
594 | this.addStencilsToIndex = false; | 642 | this.addStencilsToIndex = false; |
595 | - | 643 | + |
596 | // Contains additional tags for shapes | 644 | // Contains additional tags for shapes |
597 | this.shapetags = {}; | 645 | this.shapetags = {}; |
598 | 646 | ||
@@ -600,12 +648,12 @@ | @@ -600,12 +648,12 @@ | ||
600 | if (this.tagIndex != null) | 648 | if (this.tagIndex != null) |
601 | { | 649 | { |
602 | this.addTagIndex(Graph.decompress(this.tagIndex)); | 650 | this.addTagIndex(Graph.decompress(this.tagIndex)); |
603 | - this.tagIndex = null; | 651 | + this.tagIndex = null; |
604 | } | 652 | } |
605 | - | 653 | + |
606 | this.initPalettes(); | 654 | this.initPalettes(); |
607 | } | 655 | } |
608 | - | 656 | + |
609 | /** | 657 | /** |
610 | * Overridden to add image export via servlet | 658 | * Overridden to add image export via servlet |
611 | */ | 659 | */ |
@@ -614,21 +662,21 @@ | @@ -614,21 +662,21 @@ | ||
614 | Sidebar.prototype.addFoldingHandler = function(title, content, funct) | 662 | Sidebar.prototype.addFoldingHandler = function(title, content, funct) |
615 | { | 663 | { |
616 | var initialized = false; | 664 | var initialized = false; |
617 | - | 665 | + |
618 | // Avoids mixed content warning in IE6-8 | 666 | // Avoids mixed content warning in IE6-8 |
619 | if (!mxClient.IS_IE || document.documentMode >= 8) | 667 | if (!mxClient.IS_IE || document.documentMode >= 8) |
620 | { | 668 | { |
621 | title.style.backgroundImage = (content.style.display == 'none') ? | 669 | title.style.backgroundImage = (content.style.display == 'none') ? |
622 | 'url(\'' + this.collapsedImage + '\')' : 'url(\'' + this.expandedImage + '\')'; | 670 | 'url(\'' + this.collapsedImage + '\')' : 'url(\'' + this.expandedImage + '\')'; |
623 | } | 671 | } |
624 | - | 672 | + |
625 | title.style.backgroundRepeat = 'no-repeat'; | 673 | title.style.backgroundRepeat = 'no-repeat'; |
626 | title.style.backgroundPosition = '0% 50%'; | 674 | title.style.backgroundPosition = '0% 50%'; |
627 | - | 675 | + |
628 | var btn = document.createElement('button'); | 676 | var btn = document.createElement('button'); |
629 | btn.style.marginLeft = '4px'; | 677 | btn.style.marginLeft = '4px'; |
630 | mxUtils.write(btn, 'Save'); | 678 | mxUtils.write(btn, 'Save'); |
631 | - | 679 | + |
632 | mxEvent.addListener(title, 'click', mxUtils.bind(this, function(evt) | 680 | mxEvent.addListener(title, 'click', mxUtils.bind(this, function(evt) |
633 | { | 681 | { |
634 | if (mxEvent.getSource(evt).nodeName == 'BUTTON') | 682 | if (mxEvent.getSource(evt).nodeName == 'BUTTON') |
@@ -642,58 +690,58 @@ | @@ -642,58 +690,58 @@ | ||
642 | title2.style.width = '456px'; | 690 | title2.style.width = '456px'; |
643 | title2.style.backgroundColor = '#ffffff'; | 691 | title2.style.backgroundColor = '#ffffff'; |
644 | title2.style.paddingLeft = '6px'; | 692 | title2.style.paddingLeft = '6px'; |
645 | - | 693 | + |
646 | var btn2 = title2.getElementsByTagName('button')[0]; | 694 | var btn2 = title2.getElementsByTagName('button')[0]; |
647 | btn2.parentNode.removeChild(btn2); | 695 | btn2.parentNode.removeChild(btn2); |
648 | - | 696 | + |
649 | var clone = content.cloneNode(true); | 697 | var clone = content.cloneNode(true); |
650 | clone.style.backgroundColor = '#ffffff'; | 698 | clone.style.backgroundColor = '#ffffff'; |
651 | clone.style.borderColor = 'transparent'; | 699 | clone.style.borderColor = 'transparent'; |
652 | clone.style.width = '456px'; | 700 | clone.style.width = '456px'; |
653 | - | 701 | + |
654 | var parser = new DOMParser(); | 702 | var parser = new DOMParser(); |
655 | var doc = parser.parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">' + | 703 | var doc = parser.parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">' + |
656 | title2.outerHTML + clone.outerHTML + '</body>', 'text/html'); | 704 | title2.outerHTML + clone.outerHTML + '</body>', 'text/html'); |
657 | - | 705 | + |
658 | this.editorUi.editor.convertImages(doc.documentElement, mxUtils.bind(this, function(body) | 706 | this.editorUi.editor.convertImages(doc.documentElement, mxUtils.bind(this, function(body) |
659 | { | 707 | { |
660 | var html = '<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" ' + | 708 | var html = '<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" ' + |
661 | 'href="https://www.draw.io/styles/grapheditor.css"></head>' + | 709 | 'href="https://www.draw.io/styles/grapheditor.css"></head>' + |
662 | mxUtils.getXml(body) + '</html>'; | 710 | mxUtils.getXml(body) + '</html>'; |
663 | - | 711 | + |
664 | clone.style.position = 'absolute'; | 712 | clone.style.position = 'absolute'; |
665 | window.document.body.appendChild(clone); | 713 | window.document.body.appendChild(clone); |
666 | var h = clone.clientHeight + 18; | 714 | var h = clone.clientHeight + 18; |
667 | clone.parentNode.removeChild(clone); | 715 | clone.parentNode.removeChild(clone); |
668 | - | 716 | + |
669 | this.editorUi.confirm('Image data created', mxUtils.bind(this, function() | 717 | this.editorUi.confirm('Image data created', mxUtils.bind(this, function() |
670 | { | 718 | { |
671 | new mxXmlRequest(EXPORT_URL, 'w=456&h=' + h + '&html=' + encodeURIComponent( | 719 | new mxXmlRequest(EXPORT_URL, 'w=456&h=' + h + '&html=' + encodeURIComponent( |
672 | Graph.compress(html))).simulate(document, '_blank'); | 720 | Graph.compress(html))).simulate(document, '_blank'); |
673 | }), null, mxResources.get('save'), mxResources.get('cancel')); | 721 | }), null, mxResources.get('save'), mxResources.get('cancel')); |
674 | })); | 722 | })); |
675 | - | 723 | + |
676 | return; | 724 | return; |
677 | } | 725 | } |
678 | - | 726 | + |
679 | if (content.style.display == 'none') | 727 | if (content.style.display == 'none') |
680 | { | 728 | { |
681 | if (!initialized) | 729 | if (!initialized) |
682 | { | 730 | { |
683 | initialized = true; | 731 | initialized = true; |
684 | - | 732 | + |
685 | if (funct != null) | 733 | if (funct != null) |
686 | { | 734 | { |
687 | if (btn.parentNode != null) | 735 | if (btn.parentNode != null) |
688 | { | 736 | { |
689 | btn.parentNode.removeChild(btn); | 737 | btn.parentNode.removeChild(btn); |
690 | } | 738 | } |
691 | - | 739 | + |
692 | // Wait cursor does not show up on Mac | 740 | // Wait cursor does not show up on Mac |
693 | title.style.cursor = 'wait'; | 741 | title.style.cursor = 'wait'; |
694 | var prev = title.innerHTML; | 742 | var prev = title.innerHTML; |
695 | title.innerHTML = mxResources.get('loading') + '...'; | 743 | title.innerHTML = mxResources.get('loading') + '...'; |
696 | - | 744 | + |
697 | window.setTimeout(function() | 745 | window.setTimeout(function() |
698 | { | 746 | { |
699 | funct(content); | 747 | funct(content); |
@@ -711,7 +759,7 @@ | @@ -711,7 +759,7 @@ | ||
711 | { | 759 | { |
712 | title.appendChild(btn); | 760 | title.appendChild(btn); |
713 | } | 761 | } |
714 | - | 762 | + |
715 | title.style.backgroundImage = 'url(\'' + this.expandedImage + '\')'; | 763 | title.style.backgroundImage = 'url(\'' + this.expandedImage + '\')'; |
716 | content.style.display = 'block'; | 764 | content.style.display = 'block'; |
717 | } | 765 | } |
@@ -719,18 +767,18 @@ | @@ -719,18 +767,18 @@ | ||
719 | { | 767 | { |
720 | title.style.backgroundImage = 'url(\'' + this.collapsedImage + '\')'; | 768 | title.style.backgroundImage = 'url(\'' + this.collapsedImage + '\')'; |
721 | content.style.display = 'none'; | 769 | content.style.display = 'none'; |
722 | - | 770 | + |
723 | if (btn.parentNode != null) | 771 | if (btn.parentNode != null) |
724 | { | 772 | { |
725 | btn.parentNode.removeChild(btn); | 773 | btn.parentNode.removeChild(btn); |
726 | } | 774 | } |
727 | } | 775 | } |
728 | - | 776 | + |
729 | mxEvent.consume(evt); | 777 | mxEvent.consume(evt); |
730 | })); | 778 | })); |
731 | }; | 779 | }; |
732 | }; | 780 | }; |
733 | - | 781 | + |
734 | /** | 782 | /** |
735 | * Overridden to use shapetags to improve search results. | 783 | * Overridden to use shapetags to improve search results. |
736 | */ | 784 | */ |
@@ -739,40 +787,40 @@ | @@ -739,40 +787,40 @@ | ||
739 | if (style != null && style.substring(0, 6) == 'shape=') | 787 | if (style != null && style.substring(0, 6) == 'shape=') |
740 | { | 788 | { |
741 | var semi = style.indexOf(';'); | 789 | var semi = style.indexOf(';'); |
742 | - | 790 | + |
743 | if (semi < 0) | 791 | if (semi < 0) |
744 | { | 792 | { |
745 | semi = style.length; | 793 | semi = style.length; |
746 | } | 794 | } |
747 | - | 795 | + |
748 | return style.substring(6, semi); | 796 | return style.substring(6, semi); |
749 | } | 797 | } |
750 | - | 798 | + |
751 | return null; | 799 | return null; |
752 | }; | 800 | }; |
753 | - | 801 | + |
754 | /** | 802 | /** |
755 | * Overridden to use shapetags to improve search results. | 803 | * Overridden to use shapetags to improve search results. |
756 | */ | 804 | */ |
757 | var sidebarGetTagsForStencil = Sidebar.prototype.getTagsForStencil; | 805 | var sidebarGetTagsForStencil = Sidebar.prototype.getTagsForStencil; |
758 | - | 806 | + |
759 | Sidebar.prototype.getTagsForStencil = function(pkg, stc, moreTags) | 807 | Sidebar.prototype.getTagsForStencil = function(pkg, stc, moreTags) |
760 | { | 808 | { |
761 | var tags = sidebarGetTagsForStencil.apply(this, arguments); | 809 | var tags = sidebarGetTagsForStencil.apply(this, arguments); |
762 | - | 810 | + |
763 | // Adds tags from tags file | 811 | // Adds tags from tags file |
764 | if (this.shapetags != null) | 812 | if (this.shapetags != null) |
765 | { | 813 | { |
766 | pkg = pkg.toLowerCase(); | 814 | pkg = pkg.toLowerCase(); |
767 | stc = stc.toLowerCase(); | 815 | stc = stc.toLowerCase(); |
768 | - | 816 | + |
769 | if (this.shapetags[pkg] != null) | 817 | if (this.shapetags[pkg] != null) |
770 | { | 818 | { |
771 | tags.push(this.shapetags[pkg]); | 819 | tags.push(this.shapetags[pkg]); |
772 | } | 820 | } |
773 | - | 821 | + |
774 | stc = pkg + '.' + stc; | 822 | stc = pkg + '.' + stc; |
775 | - | 823 | + |
776 | if (this.shapetags[stc] != null) | 824 | if (this.shapetags[stc] != null) |
777 | { | 825 | { |
778 | tags.push(this.shapetags[stc]); | 826 | tags.push(this.shapetags[stc]); |
@@ -781,25 +829,25 @@ | @@ -781,25 +829,25 @@ | ||
781 | 829 | ||
782 | return tags; | 830 | return tags; |
783 | }; | 831 | }; |
784 | - | 832 | + |
785 | /** | 833 | /** |
786 | * Overrides the sidebar init. | 834 | * Overrides the sidebar init. |
787 | */ | 835 | */ |
788 | Sidebar.prototype.addTagIndex = function(text) | 836 | Sidebar.prototype.addTagIndex = function(text) |
789 | { | 837 | { |
790 | var lines = text.split('\n'); | 838 | var lines = text.split('\n'); |
791 | - | 839 | + |
792 | for (var i = 0; i < lines.length; i++) | 840 | for (var i = 0; i < lines.length; i++) |
793 | { | 841 | { |
794 | if (lines[i] != null) | 842 | if (lines[i] != null) |
795 | { | 843 | { |
796 | var tags = lines[i].split('\t'); | 844 | var tags = lines[i].split('\t'); |
797 | - | 845 | + |
798 | if (tags.length > 1) | 846 | if (tags.length > 1) |
799 | { | 847 | { |
800 | var key = tags[0].toLowerCase().replace(' ', '_'); | 848 | var key = tags[0].toLowerCase().replace(' ', '_'); |
801 | var value = mxUtils.trim(tags.slice(1, tags.length).join(' ').toLowerCase()); | 849 | var value = mxUtils.trim(tags.slice(1, tags.length).join(' ').toLowerCase()); |
802 | - | 850 | + |
803 | if (value.length > 0) | 851 | if (value.length > 0) |
804 | { | 852 | { |
805 | this.shapetags[key] = value; | 853 | this.shapetags[key] = value; |
@@ -808,7 +856,7 @@ | @@ -808,7 +856,7 @@ | ||
808 | } | 856 | } |
809 | } | 857 | } |
810 | }; | 858 | }; |
811 | - | 859 | + |
812 | /** | 860 | /** |
813 | * Adds shape search UI. | 861 | * Adds shape search UI. |
814 | */ | 862 | */ |
@@ -817,7 +865,7 @@ | @@ -817,7 +865,7 @@ | ||
817 | if (libs != null && libs.length > 0) | 865 | if (libs != null && libs.length > 0) |
818 | { | 866 | { |
819 | var offset = mxUtils.getOffset(elt); | 867 | var offset = mxUtils.getOffset(elt); |
820 | - | 868 | + |
821 | this.editorUi.showPopupMenu(mxUtils.bind(this, function(menu, parent) | 869 | this.editorUi.showPopupMenu(mxUtils.bind(this, function(menu, parent) |
822 | { | 870 | { |
823 | menu.addItem(mxResources.get('openLibrary'), null, mxUtils.bind(this, function() | 871 | menu.addItem(mxResources.get('openLibrary'), null, mxUtils.bind(this, function() |
@@ -827,24 +875,24 @@ | @@ -827,24 +875,24 @@ | ||
827 | (mxUtils.bind(this, function(lib) | 875 | (mxUtils.bind(this, function(lib) |
828 | { | 876 | { |
829 | var config = this.getConfigurationById(lib.id); | 877 | var config = this.getConfigurationById(lib.id); |
830 | - | 878 | + |
831 | if (config != null) | 879 | if (config != null) |
832 | { | 880 | { |
833 | this.showPalettes(config.prefix || '', config.libs || [config.id], true); | 881 | this.showPalettes(config.prefix || '', config.libs || [config.id], true); |
834 | var elts = this.showPalette(libs[i].lib || libs[i].id, true); | 882 | var elts = this.showPalette(libs[i].lib || libs[i].id, true); |
835 | - | 883 | + |
836 | if (elts != null && elts.length > 1 && elts[1].firstChild != null && | 884 | if (elts != null && elts.length > 1 && elts[1].firstChild != null && |
837 | (elts[1].firstChild.firstChild == null || | 885 | (elts[1].firstChild.firstChild == null || |
838 | elts[1].firstChild.style.display == 'none')) | 886 | elts[1].firstChild.style.display == 'none')) |
839 | { | 887 | { |
840 | elts[0].click(); | 888 | elts[0].click(); |
841 | } | 889 | } |
842 | - | 890 | + |
843 | window.setTimeout(function() | 891 | window.setTimeout(function() |
844 | { | 892 | { |
845 | elts[1].scrollIntoView(true); | 893 | elts[1].scrollIntoView(true); |
846 | }, 0); | 894 | }, 0); |
847 | - | 895 | + |
848 | mxEvent.consume(evt); | 896 | mxEvent.consume(evt); |
849 | } | 897 | } |
850 | }))(libs[i]); | 898 | }))(libs[i]); |
@@ -867,17 +915,17 @@ | @@ -867,17 +915,17 @@ | ||
867 | { | 915 | { |
868 | var style = shapes[i].style; | 916 | var style = shapes[i].style; |
869 | var shapeStyle = this.extractShapeStyle(style); | 917 | var shapeStyle = this.extractShapeStyle(style); |
870 | - | 918 | + |
871 | if (shapeStyle != null) | 919 | if (shapeStyle != null) |
872 | { | 920 | { |
873 | var lastDot = shapeStyle.lastIndexOf('.'); | 921 | var lastDot = shapeStyle.lastIndexOf('.'); |
874 | - | 922 | + |
875 | if (lastDot > 0) | 923 | if (lastDot > 0) |
876 | { | 924 | { |
877 | var pkg = shapeStyle.substring(0, lastDot); | 925 | var pkg = shapeStyle.substring(0, lastDot); |
878 | var stc = shapeStyle.substring(lastDot + 1, shapeStyle.length); | 926 | var stc = shapeStyle.substring(lastDot + 1, shapeStyle.length); |
879 | var tags = this.getTagsForStencil(pkg, stc, shapes[i].tags); | 927 | var tags = this.getTagsForStencil(pkg, stc, shapes[i].tags); |
880 | - | 928 | + |
881 | // TODO: Use shapetags for programmatic stencils | 929 | // TODO: Use shapetags for programmatic stencils |
882 | if (tags != null) | 930 | if (tags != null) |
883 | { | 931 | { |
@@ -897,7 +945,7 @@ | @@ -897,7 +945,7 @@ | ||
897 | } | 945 | } |
898 | } | 946 | } |
899 | }; | 947 | }; |
900 | - | 948 | + |
901 | /** | 949 | /** |
902 | * Overrides the sidebar init. | 950 | * Overrides the sidebar init. |
903 | */ | 951 | */ |
@@ -910,27 +958,27 @@ | @@ -910,27 +958,27 @@ | ||
910 | var pids = this.pids; | 958 | var pids = this.pids; |
911 | var cisco = this.cisco; | 959 | var cisco = this.cisco; |
912 | var sysml = this.sysml; | 960 | var sysml = this.sysml; |
913 | - | 961 | + |
914 | if (urlParams['createindex'] == '1') | 962 | if (urlParams['createindex'] == '1') |
915 | { | 963 | { |
916 | this.createdSearchIndex = []; | 964 | this.createdSearchIndex = []; |
917 | } | 965 | } |
918 | 966 | ||
919 | this.addSearchPalette(true); | 967 | this.addSearchPalette(true); |
920 | - | 968 | + |
921 | // Adds custom sections first | 969 | // Adds custom sections first |
922 | if (this.customEntries != null) | 970 | if (this.customEntries != null) |
923 | { | 971 | { |
924 | var preloadCount = 0; | 972 | var preloadCount = 0; |
925 | - | 973 | + |
926 | for (var i = 0; i < this.customEntries.length; i++) | 974 | for (var i = 0; i < this.customEntries.length; i++) |
927 | { | 975 | { |
928 | var section = this.customEntries[i]; | 976 | var section = this.customEntries[i]; |
929 | - | 977 | + |
930 | for (var j = 0; j < section.entries.length; j++) | 978 | for (var j = 0; j < section.entries.length; j++) |
931 | { | 979 | { |
932 | var entry = section.entries[j]; | 980 | var entry = section.entries[j]; |
933 | - | 981 | + |
934 | for (var k = 0; k < entry.libs.length; k++) | 982 | for (var k = 0; k < entry.libs.length; k++) |
935 | { | 983 | { |
936 | (mxUtils.bind(this, function(lib) | 984 | (mxUtils.bind(this, function(lib) |
@@ -939,7 +987,7 @@ | @@ -939,7 +987,7 @@ | ||
939 | var error = null; | 987 | var error = null; |
940 | var content = null; | 988 | var content = null; |
941 | var title = null; | 989 | var title = null; |
942 | - | 990 | + |
943 | var showError = mxUtils.bind(this, function(err, c) | 991 | var showError = mxUtils.bind(this, function(err, c) |
944 | { | 992 | { |
945 | var div = document.createElement('span'); | 993 | var div = document.createElement('span'); |
@@ -950,7 +998,7 @@ | @@ -950,7 +998,7 @@ | ||
950 | c.innerHTML = '<img align="top" src="' + mxGraph.prototype.warningImage.src + '"/> '; | 998 | c.innerHTML = '<img align="top" src="' + mxGraph.prototype.warningImage.src + '"/> '; |
951 | c.appendChild(div); | 999 | c.appendChild(div); |
952 | }); | 1000 | }); |
953 | - | 1001 | + |
954 | var barrier = mxUtils.bind(this, function() | 1002 | var barrier = mxUtils.bind(this, function() |
955 | { | 1003 | { |
956 | if (content != null && title != null) | 1004 | if (content != null && title != null) |
@@ -977,7 +1025,7 @@ | @@ -977,7 +1025,7 @@ | ||
977 | } | 1025 | } |
978 | } | 1026 | } |
979 | }); | 1027 | }); |
980 | - | 1028 | + |
981 | if (lib.data == null && lib.url != null && (!lib.preload && preloadCount >= this.maxPreloadCount)) | 1029 | if (lib.data == null && lib.url != null && (!lib.preload && preloadCount >= this.maxPreloadCount)) |
982 | { | 1030 | { |
983 | this.addPalette(entry.id + '.' + k, this.editorUi.getResource(lib.title), | 1031 | this.addPalette(entry.id + '.' + k, this.editorUi.getResource(lib.title), |
@@ -994,14 +1042,14 @@ | @@ -994,14 +1042,14 @@ | ||
994 | content.style.display = 'none'; | 1042 | content.style.display = 'none'; |
995 | title.innerHTML = ''; | 1043 | title.innerHTML = ''; |
996 | mxUtils.write(title, mxResources.get('loading') + '...'); | 1044 | mxUtils.write(title, mxResources.get('loading') + '...'); |
997 | - | 1045 | + |
998 | var url = lib.url; | 1046 | var url = lib.url; |
999 | - | 1047 | + |
1000 | if (!this.editorUi.editor.isCorsEnabledForUrl(url)) | 1048 | if (!this.editorUi.editor.isCorsEnabledForUrl(url)) |
1001 | { | 1049 | { |
1002 | url = PROXY_URL + '?url=' + encodeURIComponent(url); | 1050 | url = PROXY_URL + '?url=' + encodeURIComponent(url); |
1003 | } | 1051 | } |
1004 | - | 1052 | + |
1005 | this.editorUi.editor.loadUrl(url, mxUtils.bind(this, function(data) | 1053 | this.editorUi.editor.loadUrl(url, mxUtils.bind(this, function(data) |
1006 | { | 1054 | { |
1007 | content.style.display = 'block'; | 1055 | content.style.display = 'block'; |
@@ -1011,7 +1059,7 @@ | @@ -1011,7 +1059,7 @@ | ||
1011 | try | 1059 | try |
1012 | { | 1060 | { |
1013 | var doc = mxUtils.parseXml(data); | 1061 | var doc = mxUtils.parseXml(data); |
1014 | - | 1062 | + |
1015 | if (doc.documentElement.nodeName == 'mxlibrary') | 1063 | if (doc.documentElement.nodeName == 'mxlibrary') |
1016 | { | 1064 | { |
1017 | var images = JSON.parse(mxUtils.getTextContent(doc.documentElement)); | 1065 | var images = JSON.parse(mxUtils.getTextContent(doc.documentElement)); |
@@ -1030,7 +1078,7 @@ | @@ -1030,7 +1078,7 @@ | ||
1030 | })); | 1078 | })); |
1031 | } | 1079 | } |
1032 | else | 1080 | else |
1033 | - { | 1081 | + { |
1034 | this.addPalette(entry.id + '.' + k, this.editorUi.getResource(lib.title), | 1082 | this.addPalette(entry.id + '.' + k, this.editorUi.getResource(lib.title), |
1035 | false, mxUtils.bind(this, function(c, t) | 1083 | false, mxUtils.bind(this, function(c, t) |
1036 | { | 1084 | { |
@@ -1038,7 +1086,7 @@ | @@ -1038,7 +1086,7 @@ | ||
1038 | title = t; | 1086 | title = t; |
1039 | barrier(); | 1087 | barrier(); |
1040 | })); | 1088 | })); |
1041 | - | 1089 | + |
1042 | if (lib.data != null) | 1090 | if (lib.data != null) |
1043 | { | 1091 | { |
1044 | this.setCurrentSearchEntryLibrary(entry.id, entry.id + '.' + k); | 1092 | this.setCurrentSearchEntryLibrary(entry.id, entry.id + '.' + k); |
@@ -1049,20 +1097,20 @@ | @@ -1049,20 +1097,20 @@ | ||
1049 | } | 1097 | } |
1050 | else if (lib.url != null) | 1098 | else if (lib.url != null) |
1051 | { | 1099 | { |
1052 | - preloadCount++; | 1100 | + preloadCount++; |
1053 | var url = lib.url; | 1101 | var url = lib.url; |
1054 | - | 1102 | + |
1055 | if (!this.editorUi.editor.isCorsEnabledForUrl(url)) | 1103 | if (!this.editorUi.editor.isCorsEnabledForUrl(url)) |
1056 | { | 1104 | { |
1057 | url = PROXY_URL + '?url=' + encodeURIComponent(url); | 1105 | url = PROXY_URL + '?url=' + encodeURIComponent(url); |
1058 | } | 1106 | } |
1059 | - | 1107 | + |
1060 | this.editorUi.editor.loadUrl(url, mxUtils.bind(this, function(temp) | 1108 | this.editorUi.editor.loadUrl(url, mxUtils.bind(this, function(temp) |
1061 | { | 1109 | { |
1062 | try | 1110 | try |
1063 | { | 1111 | { |
1064 | var doc = mxUtils.parseXml(temp); | 1112 | var doc = mxUtils.parseXml(temp); |
1065 | - | 1113 | + |
1066 | if (doc.documentElement.nodeName == 'mxlibrary') | 1114 | if (doc.documentElement.nodeName == 'mxlibrary') |
1067 | { | 1115 | { |
1068 | data = JSON.parse(mxUtils.getTextContent(doc.documentElement)); | 1116 | data = JSON.parse(mxUtils.getTextContent(doc.documentElement)); |
@@ -1287,13 +1335,13 @@ | @@ -1287,13 +1335,13 @@ | ||
1287 | this.addSignsPalette(signs, dir); | 1335 | this.addSignsPalette(signs, dir); |
1288 | // LATER: Check if conflicts with restore libs after loading file | 1336 | // LATER: Check if conflicts with restore libs after loading file |
1289 | this.showEntries(); | 1337 | this.showEntries(); |
1290 | - | 1338 | + |
1291 | if (this.createdSearchIndex != null) | 1339 | if (this.createdSearchIndex != null) |
1292 | { | 1340 | { |
1293 | console.log('searchFileData', Graph.compress(JSON.stringify(this.createdSearchIndex))); | 1341 | console.log('searchFileData', Graph.compress(JSON.stringify(this.createdSearchIndex))); |
1294 | } | 1342 | } |
1295 | }; | 1343 | }; |
1296 | - | 1344 | + |
1297 | /** | 1345 | /** |
1298 | * Overridden to manually create search index for stencil files which are not pre-loaded | 1346 | * Overridden to manually create search index for stencil files which are not pre-loaded |
1299 | * and no entries are created programmatically. | 1347 | * and no entries are created programmatically. |
@@ -1301,12 +1349,12 @@ | @@ -1301,12 +1349,12 @@ | ||
1301 | if (urlParams['createindex'] == '1') | 1349 | if (urlParams['createindex'] == '1') |
1302 | { | 1350 | { |
1303 | var sidebarAddStencilPalette = Sidebar.prototype.addStencilPalette; | 1351 | var sidebarAddStencilPalette = Sidebar.prototype.addStencilPalette; |
1304 | - | 1352 | + |
1305 | Sidebar.prototype.addStencilPalette = function(id, title, stencilFile, style, ignore, onInit, scale, tags, customFns, groupId) | 1353 | Sidebar.prototype.addStencilPalette = function(id, title, stencilFile, style, ignore, onInit, scale, tags, customFns, groupId) |
1306 | { | 1354 | { |
1307 | sidebarAddStencilPalette.apply(this, arguments); | 1355 | sidebarAddStencilPalette.apply(this, arguments); |
1308 | scale = (scale != null) ? scale : 1; | 1356 | scale = (scale != null) ? scale : 1; |
1309 | - | 1357 | + |
1310 | // Used for creating index | 1358 | // Used for creating index |
1311 | mxStencilRegistry.loadStencilSet(stencilFile, mxUtils.bind(this, function(packageName, stencilName, displayName, w, h) | 1359 | mxStencilRegistry.loadStencilSet(stencilFile, mxUtils.bind(this, function(packageName, stencilName, displayName, w, h) |
1312 | { | 1360 | { |
@@ -1315,18 +1363,18 @@ | @@ -1315,18 +1363,18 @@ | ||
1315 | var entry = {style: 'shape=' + packageName + stencilName + style, | 1363 | var entry = {style: 'shape=' + packageName + stencilName + style, |
1316 | w: Math.round(w * scale), h: Math.round(h * scale)}; | 1364 | w: Math.round(w * scale), h: Math.round(h * scale)}; |
1317 | var tmpTags = (tags != null) ? tags[stencilName] : null; | 1365 | var tmpTags = (tags != null) ? tags[stencilName] : null; |
1318 | - | 1366 | + |
1319 | if (tmpTags != null) | 1367 | if (tmpTags != null) |
1320 | { | 1368 | { |
1321 | entry.tags = tmpTags; | 1369 | entry.tags = tmpTags; |
1322 | } | 1370 | } |
1323 | - | 1371 | + |
1324 | if (groupId != null) | 1372 | if (groupId != null) |
1325 | { | 1373 | { |
1326 | entry.id = groupId; | 1374 | entry.id = groupId; |
1327 | entry.lib = id; | 1375 | entry.lib = id; |
1328 | } | 1376 | } |
1329 | - | 1377 | + |
1330 | this.createdSearchIndex.push(entry); | 1378 | this.createdSearchIndex.push(entry); |
1331 | } | 1379 | } |
1332 | }), true); | 1380 | }), true); |
@@ -1342,7 +1390,7 @@ | @@ -1342,7 +1390,7 @@ | ||
1342 | { | 1390 | { |
1343 | var sizes = res.icons[i].raster_sizes; | 1391 | var sizes = res.icons[i].raster_sizes; |
1344 | var index = sizes.length - 1; | 1392 | var index = sizes.length - 1; |
1345 | - | 1393 | + |
1346 | while (index > 0 && sizes[index].size > 128) | 1394 | while (index > 0 && sizes[index].size > 128) |
1347 | { | 1395 | { |
1348 | index--; | 1396 | index--; |
@@ -1365,23 +1413,23 @@ | @@ -1365,23 +1413,23 @@ | ||
1365 | } | 1413 | } |
1366 | } | 1414 | } |
1367 | }; | 1415 | }; |
1368 | - | 1416 | + |
1369 | /** | 1417 | /** |
1370 | * Adds server icon results to local search results | 1418 | * Adds server icon results to local search results |
1371 | */ | 1419 | */ |
1372 | var sidebarSearchEntries = Sidebar.prototype.searchEntries; | 1420 | var sidebarSearchEntries = Sidebar.prototype.searchEntries; |
1373 | - | 1421 | + |
1374 | Sidebar.prototype.searchEntries = function(searchTerms, count, page, success, error) | 1422 | Sidebar.prototype.searchEntries = function(searchTerms, count, page, success, error) |
1375 | { | 1423 | { |
1376 | var succ = success; | 1424 | var succ = success; |
1377 | - | 1425 | + |
1378 | // Lazy-load indices | 1426 | // Lazy-load indices |
1379 | if (this.searchIndexData != null) | 1427 | if (this.searchIndexData != null) |
1380 | { | 1428 | { |
1381 | this.addSearchIndex(JSON.parse(Graph.decompress(this.searchIndexData))); | 1429 | this.addSearchIndex(JSON.parse(Graph.decompress(this.searchIndexData))); |
1382 | this.searchIndexData = null; | 1430 | this.searchIndexData = null; |
1383 | } | 1431 | } |
1384 | - | 1432 | + |
1385 | if (ICONSEARCH_PATH != null) | 1433 | if (ICONSEARCH_PATH != null) |
1386 | { | 1434 | { |
1387 | success = mxUtils.bind(this, function(results, len, more, terms) | 1435 | success = mxUtils.bind(this, function(results, len, more, terms) |
@@ -1389,7 +1437,7 @@ | @@ -1389,7 +1437,7 @@ | ||
1389 | if (!this.editorUi.isOffline() && results.length <= count / 4) | 1437 | if (!this.editorUi.isOffline() && results.length <= count / 4) |
1390 | { | 1438 | { |
1391 | var pg = page - Math.ceil((len - count / 4) / count); | 1439 | var pg = page - Math.ceil((len - count / 4) / count); |
1392 | - | 1440 | + |
1393 | mxUtils.get(ICONSEARCH_PATH + '?q=' + encodeURIComponent(searchTerms) + | 1441 | mxUtils.get(ICONSEARCH_PATH + '?q=' + encodeURIComponent(searchTerms) + |
1394 | '&p=' + pg + '&c=' + count, mxUtils.bind(this, function(req) | 1442 | '&p=' + pg + '&c=' + count, mxUtils.bind(this, function(req) |
1395 | { | 1443 | { |
@@ -1402,7 +1450,7 @@ | @@ -1402,7 +1450,7 @@ | ||
1402 | try | 1450 | try |
1403 | { | 1451 | { |
1404 | var res = JSON.parse(req.getText()); | 1452 | var res = JSON.parse(req.getText()); |
1405 | - | 1453 | + |
1406 | if (res == null || res.icons == null) | 1454 | if (res == null || res.icons == null) |
1407 | { | 1455 | { |
1408 | succ(results, len, false, terms); | 1456 | succ(results, len, false, terms); |
@@ -1442,7 +1490,7 @@ | @@ -1442,7 +1490,7 @@ | ||
1442 | } | 1490 | } |
1443 | }); | 1491 | }); |
1444 | } | 1492 | } |
1445 | - | 1493 | + |
1446 | sidebarSearchEntries.apply(this, arguments); | 1494 | sidebarSearchEntries.apply(this, arguments); |
1447 | }; | 1495 | }; |
1448 | 1496 | ||
@@ -1450,16 +1498,16 @@ | @@ -1450,16 +1498,16 @@ | ||
1450 | * Adds a click handler for inserting the cell as target for dangling edge. | 1498 | * Adds a click handler for inserting the cell as target for dangling edge. |
1451 | */ | 1499 | */ |
1452 | var sidebarItemClicked = Sidebar.prototype.itemClicked; | 1500 | var sidebarItemClicked = Sidebar.prototype.itemClicked; |
1453 | - | 1501 | + |
1454 | Sidebar.prototype.itemClicked = function(cells, ds, evt) | 1502 | Sidebar.prototype.itemClicked = function(cells, ds, evt) |
1455 | { | 1503 | { |
1456 | var graph = this.editorUi.editor.graph; | 1504 | var graph = this.editorUi.editor.graph; |
1457 | var handled = false; | 1505 | var handled = false; |
1458 | - | 1506 | + |
1459 | if (cells != null && graph.getSelectionCount() == 1 && graph.getModel().isVertex(cells[0])) | 1507 | if (cells != null && graph.getSelectionCount() == 1 && graph.getModel().isVertex(cells[0])) |
1460 | { | 1508 | { |
1461 | var target = graph.cloneCell(cells[0]); | 1509 | var target = graph.cloneCell(cells[0]); |
1462 | - | 1510 | + |
1463 | // Inserts cell as target of selected edge if not connected | 1511 | // Inserts cell as target of selected edge if not connected |
1464 | if (graph.getModel().isEdge(graph.getSelectionCell()) && graph.getModel().getTerminal(graph.getSelectionCell(), false) == null && | 1512 | if (graph.getModel().isEdge(graph.getSelectionCell()) && graph.getModel().getTerminal(graph.getSelectionCell(), false) == null && |
1465 | graph.getModel().isVertex(target)) | 1513 | graph.getModel().isVertex(target)) |
@@ -1468,7 +1516,7 @@ | @@ -1468,7 +1516,7 @@ | ||
1468 | try | 1516 | try |
1469 | { | 1517 | { |
1470 | var edgeState = graph.view.getState(graph.getSelectionCell()); | 1518 | var edgeState = graph.view.getState(graph.getSelectionCell()); |
1471 | - | 1519 | + |
1472 | if (edgeState != null) | 1520 | if (edgeState != null) |
1473 | { | 1521 | { |
1474 | var tr = graph.view.translate; | 1522 | var tr = graph.view.translate; |
@@ -1478,10 +1526,10 @@ | @@ -1478,10 +1526,10 @@ | ||
1478 | target.geometry.x = pt.x / s - tr.x - target.geometry.width / 2; | 1526 | target.geometry.x = pt.x / s - tr.x - target.geometry.width / 2; |
1479 | target.geometry.y = pt.y / s - tr.y - target.geometry.height / 2; | 1527 | target.geometry.y = pt.y / s - tr.y - target.geometry.height / 2; |
1480 | } | 1528 | } |
1481 | - | 1529 | + |
1482 | graph.addCell(target); | 1530 | graph.addCell(target); |
1483 | graph.getModel().setTerminal(graph.getSelectionCell(), target, false); | 1531 | graph.getModel().setTerminal(graph.getSelectionCell(), target, false); |
1484 | - | 1532 | + |
1485 | if (evt == null || !mxEvent.isShiftDown(evt)) | 1533 | if (evt == null || !mxEvent.isShiftDown(evt)) |
1486 | { | 1534 | { |
1487 | graph.fireEvent(new mxEventObject('cellsInserted', 'cells', [target])); | 1535 | graph.fireEvent(new mxEventObject('cellsInserted', 'cells', [target])); |
@@ -1495,13 +1543,13 @@ | @@ -1495,13 +1543,13 @@ | ||
1495 | { | 1543 | { |
1496 | graph.getModel().endUpdate(); | 1544 | graph.getModel().endUpdate(); |
1497 | } | 1545 | } |
1498 | - | 1546 | + |
1499 | graph.scrollCellToVisible(target); | 1547 | graph.scrollCellToVisible(target); |
1500 | graph.setSelectionCell(target); | 1548 | graph.setSelectionCell(target); |
1501 | handled = true; | 1549 | handled = true; |
1502 | } | 1550 | } |
1503 | } | 1551 | } |
1504 | - | 1552 | + |
1505 | if (!handled) | 1553 | if (!handled) |
1506 | { | 1554 | { |
1507 | sidebarItemClicked.apply(this, arguments); | 1555 | sidebarItemClicked.apply(this, arguments); |
1 | -(function() | ||
2 | -{ | 1 | +(function () { |
3 | // Adds Atlassian shapes | 2 | // Adds Atlassian shapes |
4 | - // 发动机 | ||
5 | - Sidebar.prototype.addEnginePalette = function() | ||
6 | - { | ||
7 | - var gn = 'mxgraph.engine'; | ||
8 | - var dt = 'engine '; | ||
9 | - this.setCurrentSearchEntryLibrary('engine'); | 3 | + // engine 发动机 |
4 | + Sidebar.prototype.addEnginePalette = function () { | ||
5 | + const gn = 'mxgraph.engine'; | ||
6 | + const dt = 'engine'; | ||
7 | + const label = '发动机' | ||
8 | + const width = 66; | ||
9 | + const height = 74; | ||
10 | + const staticPath = '/thingskit-drawio/img/lib/thingskit/' | ||
11 | + const prefix = 'image;image=img/lib/thingskit/' | ||
12 | + const defaultStyle = ';imageAspect=0;' | ||
13 | + this.setCurrentSearchEntryLibrary(dt); | ||
10 | 14 | ||
11 | - var fns = [ | ||
12 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/3-D 发动机.svg;imageAspect=0;', | ||
13 | - 66, 66, '', '3-D 发动机', null, null, this.getTagsForStencil(gn, '3-D 发动机', dt).join(' ')), | ||
14 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/步进电机驱动器.svg;imageAspect=0;', | ||
15 | - 64, 74, '', '步进电机驱动器', null, null, this.getTagsForStencil(gn, '步进电机驱动器', dt).join(' ')), | ||
16 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/伺服电机.svg;imageAspect=0;', | ||
17 | - 64, 74, '', '伺服电机', null, null, this.getTagsForStencil(gn, '伺服电机', dt).join(' ')), | ||
18 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/伺服电机2.svg;imageAspect=0;', | ||
19 | - 64, 74, '', '伺服电机2', null, null, this.getTagsForStencil(gn, '伺服电机2', dt).join(' ')), | ||
20 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/促动器.svg;imageAspect=0;', | ||
21 | - 64, 74, '', '促动机', null, null, this.getTagsForStencil(gn, '促动器', dt).join(' ')), | ||
22 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/发动机 1.svg;imageAspect=0;', | ||
23 | - 64, 74, '', '发动机 1', null, null, this.getTagsForStencil(gn, '发动机 1', dt).join(' ')), | ||
24 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/发动机 2.svg;imageAspect=0;', | ||
25 | - 64, 74, '', '发动机 2', null, null, this.getTagsForStencil(gn, '发动机 2', dt).join(' ')), | ||
26 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/发动机 3.svg;imageAspect=0;', | ||
27 | - 64, 74, '', '发动机 3', null, null, this.getTagsForStencil(gn, '发动机 3', dt).join(' ')), | ||
28 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/发动机 4.svg;imageAspect=0;', | ||
29 | - 64, 74, '', '发动机 4', null, null, this.getTagsForStencil(gn, '发动机 4', dt).join(' ')), | ||
30 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/防爆电动机.svg;imageAspect=0;', | ||
31 | - 64, 74, '', '防爆电动机', null, null, this.getTagsForStencil(gn, '防爆电动机', dt).join(' ')), | ||
32 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/工业标准发动机.svg;imageAspect=0;', | ||
33 | - 64, 74, '', '工业标准发动机', null, null, this.getTagsForStencil(gn, '工业标准发动机', dt).join(' ')), | ||
34 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/减速器.svg;imageAspect=0;', | ||
35 | - 64, 74, '', '减速器', null, null, this.getTagsForStencil(gn, '减速器', dt).join(' ')), | ||
36 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/简单马达.svg;imageAspect=0;', | ||
37 | - 64, 74, '', '简单马达', null, null, this.getTagsForStencil(gn, '简单马达', dt).join(' ')), | ||
38 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/气压制动器.svg;imageAspect=0;', | ||
39 | - 64, 74, '', '气压制动器', null, null, this.getTagsForStencil(gn, '气压制动器', dt).join(' ')), | ||
40 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/无刷电机.svg;imageAspect=0;', | ||
41 | - 64, 74, '', '无刷电机', null, null, this.getTagsForStencil(gn, '无刷电机', dt).join(' ')), | ||
42 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/制动马达.svg;imageAspect=0;', | ||
43 | - 64, 74, '', '制动马达', null, null, this.getTagsForStencil(gn, '制动马达', dt).join(' ')), | ||
44 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/智能马达.svg;imageAspect=0;', | ||
45 | - 64, 74, '', '智能马达', null, null, this.getTagsForStencil(gn, '智能马达', dt).join(' ')), | ||
46 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/engine/轴角编码器.svg;imageAspect=0;', | ||
47 | - 64, 74, '', '轴角编码器', null, null, this.getTagsForStencil(gn, '轴角编码器', dt).join(' ')), | 15 | + // 自定义属性 |
16 | + const cellAttribute = {} | ||
17 | + | ||
18 | + const graphPathLib = [ | ||
19 | + { name: '3-D 发动机.svg', path: 'engine/3-D 发动机.svg' }, | ||
20 | + { name: '伺服电机.svg', path: 'engine/伺服电机.svg' }, | ||
21 | + { name: '伺服电机2.svg', path: 'engine/伺服电机2.svg' }, | ||
22 | + { name: '促动器.svg', path: 'engine/促动器.svg' }, | ||
23 | + { name: '减速器.svg', path: 'engine/减速器.svg' }, | ||
24 | + { name: '制动马达.svg', path: 'engine/制动马达.svg' }, | ||
25 | + { name: '发动机 1.svg', path: 'engine/发动机 1.svg' }, | ||
26 | + { name: '发动机 2.svg', path: 'engine/发动机 2.svg' }, | ||
27 | + { name: '发动机 3.svg', path: 'engine/发动机 3.svg' }, | ||
28 | + { name: '发动机 4.svg', path: 'engine/发动机 4.svg' }, | ||
29 | + { name: '工业标准发动机.svg', path: 'engine/工业标准发动机.svg' }, | ||
30 | + { name: '无刷电机.svg', path: 'engine/无刷电机.svg' }, | ||
31 | + { name: '智能马达.svg', path: 'engine/智能马达.svg' }, | ||
32 | + { name: '步进电机驱动器.svg', path: 'engine/步进电机驱动器.svg' }, | ||
33 | + { name: '气压制动器.svg', path: 'engine/气压制动器.svg' }, | ||
34 | + { name: '简单马达.svg', path: 'engine/简单马达.svg' }, | ||
35 | + { name: '轴角编码器.svg', path: 'engine/轴角编码器.svg' }, | ||
36 | + { name: '防爆电动机.svg', path: 'engine/防爆电动机.svg' }, | ||
37 | + ] | ||
38 | + | ||
39 | + const lib = graphPathLib.map(item => { | ||
40 | + item.staticPath = staticPath + item.path | ||
41 | + return item | ||
42 | + }) | ||
43 | + | ||
44 | + const fns = graphPathLib.map(item => { | ||
45 | + return this.addEntry(this.getTagsForStencil(gn, item.name, dt).join(' '), mxUtils.bind(this, function () { | ||
46 | + const cell = new mxCell('', new mxGeometry(0, 0, width, height), `${ prefix }${ item.path }${ defaultStyle }`); | ||
47 | + cell.setVertex(true) | ||
48 | + this.setCellAttributes(cell, cellAttribute) | ||
49 | + return this.createVertexTemplateFromCells([ cell ], cell.geometry.width, cell.geometry.height, item.name); | ||
50 | + })); | ||
51 | + }) | ||
52 | + | ||
53 | + this.setVariableImageLib(dt, label, lib) | ||
54 | + | ||
55 | + this.addPaletteFunctions(dt, label, false, fns); | ||
48 | 56 | ||
49 | - ]; | ||
50 | - this.addPaletteFunctions('engine', '发动机', false, fns); | ||
51 | this.setCurrentSearchEntryLibrary(); | 57 | this.setCurrentSearchEntryLibrary(); |
52 | }; | 58 | }; |
53 | })(); | 59 | })(); |
1 | -(function() | ||
2 | -{ | 1 | + |
2 | +(function () { | ||
3 | // Adds Atlassian shapes | 3 | // Adds Atlassian shapes |
4 | - // 风机 | ||
5 | - Sidebar.prototype.addFanPalette = function() | ||
6 | - { | ||
7 | - var gn = 'mxgraph.fan'; | ||
8 | - var dt = 'fan'; | ||
9 | - var width = 66; | ||
10 | - var height = 74; | ||
11 | - this.setCurrentSearchEntryLibrary('fan'); | 4 | + // fan |
5 | + Sidebar.prototype.addFanPalette = function () { | ||
6 | + const gn = 'mxgraph.fan'; | ||
7 | + const dt = 'fan'; | ||
8 | + const label = '风机' | ||
9 | + const width = 66; | ||
10 | + const height = 74; | ||
11 | + const staticPath = '/thingskit-drawio/img/lib/thingskit/' | ||
12 | + const prefix = 'image;image=img/lib/thingskit/' | ||
13 | + const defaultStyle = ';imageAspect=0;' | ||
14 | + this.setCurrentSearchEntryLibrary(dt); | ||
15 | + | ||
16 | + const graphPathLib = [ | ||
17 | + { name: '风机1.png', path: 'fan/风机1.png' }, | ||
18 | + { name: '风机2.png', path: 'fan/风机2.png' }, | ||
19 | + { name: '风机3.png', path: 'fan/风机3.png' }, | ||
20 | + { name: '风机4.png', path: 'fan/风机4.png' }, | ||
21 | + { name: '风机5.gif', path: 'fan/风机5.gif' }, | ||
22 | + { name: '风机6.gif', path: 'fan/风机6.gif' }, | ||
23 | + { name: '风机7.gif', path: 'fan/风机7.gif' }, | ||
24 | + { name: '风机8.png', path: 'fan/风机8.png' }, | ||
25 | + ] | ||
26 | + | ||
27 | + const lib = graphPathLib.map(item => { | ||
28 | + item.staticPath = staticPath + item.path | ||
29 | + return item | ||
30 | + }) | ||
31 | + | ||
32 | + const fns = graphPathLib.map(item => { | ||
33 | + return this.createVertexTemplateEntry(`${ prefix }${ item.path }${ defaultStyle }`, width, height, '', item.name, null, null, this.getTagsForStencil(gn, item.name, dt).join(' ')) | ||
34 | + }) | ||
12 | 35 | ||
13 | - var fns = [ | ||
14 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机1.png;imageAspect=0;', | ||
15 | - width, height, '', '风机1', null, null, this.getTagsForStencil(gn, '风机1', dt).join(' ')), | ||
16 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机2.png;imageAspect=0;', | ||
17 | - width, height, '', '风机2', null, null, this.getTagsForStencil(gn, '风机2', dt).join(' ')), | ||
18 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机3.png;imageAspect=0;', | ||
19 | - width, height, '', '风机3', null, null, this.getTagsForStencil(gn, '风机3', dt).join(' ')), | ||
20 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机4.png;imageAspect=0;', | ||
21 | - width, height, '', '风机4', null, null, this.getTagsForStencil(gn, '风机4', dt).join(' ')), | ||
22 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机5.gif;imageAspect=0;', | ||
23 | - width, height, '', '风机5', null, null, this.getTagsForStencil(gn, '风机5', dt).join(' ')), | ||
24 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机6.gif;imageAspect=0;', | ||
25 | - width, height, '', '风机6', null, null, this.getTagsForStencil(gn, '风机6', dt).join(' ')), | ||
26 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机7.gif;imageAspect=0;', | ||
27 | - width, height, '', '风机7', null, null, this.getTagsForStencil(gn, '风机7', dt).join(' ')), | ||
28 | - this.createVertexTemplateEntry('image;image=img/lib/thingskit/fan/风机8.png;imageAspect=0;', | ||
29 | - width, height, '', '风机8', null, null, this.getTagsForStencil(gn, '风机8', dt).join(' ')), | ||
30 | - ]; | 36 | + this.setVariableImageLib(dt, label, lib) |
31 | 37 | ||
32 | - this.addPalette('fan', '风机', false, mxUtils.bind(this, function(content) | ||
33 | - { | ||
34 | - for (var i = 0; i < fns.length; i++) | ||
35 | - { | ||
36 | - content.appendChild(fns[i](content)); | ||
37 | - } | ||
38 | - })); | 38 | + this.addPaletteFunctions(dt, label, false, fns); |
39 | 39 | ||
40 | this.setCurrentSearchEntryLibrary(); | 40 | this.setCurrentSearchEntryLibrary(); |
41 | }; | 41 | }; |