Browse Source

added optional insertBefore in utl.getDOMElement

v3_develop
Alex de Mulder 10 years ago
parent
commit
baf863859a
2 changed files with 23288 additions and 23268 deletions
  1. +23275
    -23265
      dist/vis.js
  2. +13
    -3
      lib/DOMutil.js

+ 23275
- 23265
dist/vis.js
File diff suppressed because it is too large
View File


+ 13
- 3
lib/DOMutil.js View File

@ -82,7 +82,7 @@ exports.getSVGElement = function (elementType, JSONcontainer, svgContainer) {
* @returns {*}
* @private
*/
exports.getDOMElement = function (elementType, JSONcontainer, DOMContainer) {
exports.getDOMElement = function (elementType, JSONcontainer, DOMContainer, insertBefore) {
var element;
// allocate DOM element, if it doesnt yet exist, create one.
if (JSONcontainer.hasOwnProperty(elementType)) { // this element has been created before
@ -94,14 +94,24 @@ exports.getDOMElement = function (elementType, JSONcontainer, DOMContainer) {
else {
// create a new element and add it to the SVG
element = document.createElement(elementType);
DOMContainer.appendChild(element);
if (insertBefore !== undefined) {
DOMContainer.insertBefore(element, insertBefore);
}
else {
DOMContainer.appendChild(element);
}
}
}
else {
// create a new element and add it to the SVG, also create a new object in the svgElements to keep track of it.
element = document.createElement(elementType);
JSONcontainer[elementType] = {used: [], redundant: []};
DOMContainer.appendChild(element);
if (insertBefore !== undefined) {
DOMContainer.insertBefore(element, insertBefore);
}
else {
DOMContainer.appendChild(element);
}
}
JSONcontainer[elementType].used.push(element);
return element;

Loading…
Cancel
Save