%PDF- %PDF-
| Direktori : /home1/lightco1/www/ilfanale.com.au/plugins/system/easyslider/assets/js/lib/ |
| Current File : //home1/lightco1/www/ilfanale.com.au/plugins/system/easyslider/assets/js/lib/utils.js |
void function( exports, $, _, Backbone ) {
//exports.log = log.bind( console );
exports.log = _.noop;
_.mixin( {
prefixCSSRules: function( css, prefix ) {
css = css.replace(/\n|\r|\t/g, '');
css = css.replace(/\/\*[^*]+\*\//g, '');
return _( css.match(/[^{]+{[^}]+}/g) || [] ).map(function ( rule ) {
var split = rule.match(/^(.*)({.*})/)
return _.map(split[1].split(','), function(name) {
return prefix + ' ' + name.trim();
}, this).join(",\n") + split[2];
}, this).join("\n");
},
loadImage: function( src, callback, context ) {
var img = new Image;
img.onerror = function ( e ) {
console.warn('Could not load image from source: ' + src)
}
img.onload = function() {
_.isFunction(callback) && callback.call(context||this, this)
}
img.src = src;
},
isPrototypeOf: function( child, parent ) {
if ( !child || !parent )
return false;
var result = false;
var proto = child.prototype;
while ( proto ) {
if ( proto == parent.prototype ) {
result = true;
break;
}
proto = proto.__proto__;
}
return result;
},
setPrototypeOf: function( child, prototype ) {
if (_.isFunction(Object.setPrototypeOf))
Object.setPrototypeOf(child.prototype || child, prototype);
else
(child.prototype || child).__proto__ = prototype;
return child
},
extendPrototype: function( child, prototype ) {
_.extend(child.prototype, prototype)
return child
},
joinPath: function() {
return _( arguments ).join( '/' ).replace(/([^:])\/+/g,'$1\/');
},
deepExtend: function deepExtend( obj ) {
return $.extend.apply( $, _( arguments ).splice( 0, 0, true ) );
},
parseNumberUnit: function( str ) {
str += '';
var match = str.replace( /\s+/, ' ' ).match( /([-0-9.]+)\s?([^\s]*)?/ );
return {
value: match && parseFloat( match[ 1 ] ) || 0,
unit: match && match[ 2 ] || ''
}
},
stripTags: function( str ) {
return str
.replace( /</g, '<' )
.replace( />/g, '>' );
},
encodeHtmlEntities: function( str ) {
return String( str )
.replace( /&/g, '&' )
.replace( /</g, '<' )
.replace( />/g, '>' )
.replace( /"/g, '"' );
},
decodeHtmlEntities: function( str ) {
return String( str )
.replace( /&/g, '&' )
.replace( /</g, '<' )
.replace( />/g, '>' )
.replace( /"/g, '"' );
},
parseBackgroundPos: function(str, container) {
str = (str == 'cover' || str == 'contain') ? '100%' : str;
str = str.replace(/center/g, '50%');
//str:50% 50%
var list = str.split(' ');
var newValue = [];
_.each(list, function( val, i ) {
//console.log(val)
if ( val.indexOf('%') >= 0 ){
newValue.push(parseInt(val.replace(/%/, '')));
/*val = parseFloat(val.replace(/%/g, ''));
if ( i == 0 ) {
newValue.push( val * container.width() / 100);
}
else if ( i == 1 ) {
newValue.push( val * container.height() / 100);
}*/
}
else if ( val.indexOf('px') >= 0 ){
//newValue.push(parseFloat(val.replace(/px/, '')));
val = parseInt(val.replace(/px/g, ''));
if ( i == 0 ) {
newValue.push( parseInt(val / container.width() * 100) );
}
else if ( i == 1 ) {
newValue.push( parseInt(val / container.height() * 100) );
}
}
})
return newValue;
}
} );
function deepExtend(obj) {
_(arguments).chain().slice(1).each(function(props) {
_(props).each(function( value, key ) {
if (_.isObject(value)) {
if (!_.isObject(obj[key]))
obj[key] = {};
return deepExtend(obj[key], value)
}
obj[key] = value;
})
})
return obj;
}
}( this, jQuery, _, Backbone );