diff options
author | Marvin Borner | 2018-07-13 19:06:45 +0200 |
---|---|---|
committer | Marvin Borner | 2018-07-13 19:06:45 +0200 |
commit | 6fcfb7c04d32e1c8b26a312295bf7ac3ec2d2ad7 (patch) | |
tree | dbc87ef16fa01d5d99116de283592b8fe5e02944 /public/bower_components/jvectormap/src/svg-shape-element.js | |
parent | dfd839f27146df0ad0494e11734fc7d310c70ebf (diff) |
Fixed many permissions and began admin interface
Diffstat (limited to 'public/bower_components/jvectormap/src/svg-shape-element.js')
-rw-r--r-- | public/bower_components/jvectormap/src/svg-shape-element.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/public/bower_components/jvectormap/src/svg-shape-element.js b/public/bower_components/jvectormap/src/svg-shape-element.js new file mode 100644 index 0000000..74a90d1 --- /dev/null +++ b/public/bower_components/jvectormap/src/svg-shape-element.js @@ -0,0 +1,49 @@ +jvm.SVGShapeElement = function(name, config, style){ + jvm.SVGShapeElement.parentClass.call(this, name, config); + jvm.AbstractShapeElement.apply(this, arguments); +}; + +jvm.inherits(jvm.SVGShapeElement, jvm.SVGElement); +jvm.mixin(jvm.SVGShapeElement, jvm.AbstractShapeElement); + +jvm.SVGShapeElement.prototype.applyAttr = function(attr, value){ + var patternEl, + imageEl, + that = this; + + if (attr === 'fill' && jvm.isImageUrl(value)) { + if (!jvm.SVGShapeElement.images[value]) { + jvm.whenImageLoaded(value).then(function(img){ + imageEl = new jvm.SVGElement('image'); + imageEl.node.setAttributeNS('http://www.w3.org/1999/xlink', 'href', value); + imageEl.applyAttr('x', '0'); + imageEl.applyAttr('y', '0'); + imageEl.applyAttr('width', img[0].width); + imageEl.applyAttr('height', img[0].height); + + patternEl = new jvm.SVGElement('pattern'); + patternEl.applyAttr('id', 'image'+jvm.SVGShapeElement.imageCounter); + patternEl.applyAttr('x', 0); + patternEl.applyAttr('y', 0); + patternEl.applyAttr('width', img[0].width / 2); + patternEl.applyAttr('height', img[0].height / 2); + patternEl.applyAttr('viewBox', '0 0 '+img[0].width+' '+img[0].height); + patternEl.applyAttr('patternUnits', 'userSpaceOnUse'); + patternEl.node.appendChild( imageEl.node ); + + that.canvas.defsElement.node.appendChild( patternEl.node ); + + jvm.SVGShapeElement.images[value] = jvm.SVGShapeElement.imageCounter++; + + that.applyAttr('fill', 'url(#image'+jvm.SVGShapeElement.images[value]+')'); + }); + } else { + this.applyAttr('fill', 'url(#image'+jvm.SVGShapeElement.images[value]+')'); + } + } else { + jvm.SVGShapeElement.parentClass.prototype.applyAttr.apply(this, arguments); + } +}; + +jvm.SVGShapeElement.imageCounter = 1; +jvm.SVGShapeElement.images = {};
\ No newline at end of file |