vendor/assets/javascripts/uikit/core/utility.js in uikit2-rails-0.1.1 vs vendor/assets/javascripts/uikit/core/utility.js in uikit2-rails-0.1.2
- old
+ new
@@ -1,6 +1,6 @@
-/*! UIkit 2.22.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/*! UIkit 2.23.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
(function(UI) {
"use strict";
var stacks = [];
@@ -233,7 +233,57 @@
} else {
matchHeights(elements);
}
};
+
+ (function(cacheSvgs){
+
+ UI.Utils.inlineSvg = function(selector, root) {
+
+ var images = UI.$(selector || 'img[src$=".svg"]', root || document).each(function(){
+
+ var img = UI.$(this),
+ src = img.attr('src');
+
+ if (!cacheSvgs[src]) {
+
+ var d = UI.$.Deferred();
+
+ UI.$.get(src, {nc: Math.random()}, function(data){
+ d.resolve(UI.$(data).find('svg'));
+ });
+
+ cacheSvgs[src] = d.promise();
+ }
+
+ cacheSvgs[src].then(function(svg) {
+
+ var $svg = UI.$(svg).clone();
+
+ if (img.attr('id')) $svg.attr('id', img.attr('id'));
+ if (img.attr('class')) $svg.attr('class', img.attr('class'));
+ if (img.attr('style')) $svg.attr('style', img.attr('style'));
+
+ if (img.attr('width')) {
+ $svg.attr('width', img.attr('width'));
+ if (!img.attr('height')) $svg.removeAttr('height');
+ }
+
+ if (img.attr('height')){
+ $svg.attr('height', img.attr('height'));
+ if (!img.attr('width')) $svg.removeAttr('width');
+ }
+
+ img.replaceWith($svg);
+ });
+ });
+ };
+
+ // init code
+ UI.ready(function(context) {
+ UI.Utils.inlineSvg('[data-uk-svg]', context);
+ });
+
+ })({});
})(UIkit);