para evitar a contatenação de strings (a idéia de evitar é exatamente a possibilidade de erros).
segue uma extenção do Objeto String
String.prototype.supplant = function (o) {
return this.replace(/{([^{}]*)}/g,
function (a, b) {
var r = o[b];
return typeof r === 'string' || typeof r === 'number' ? r : a;
}
);
};
a forma de usar:
var nome = 'lalala';
var index += 1;
"{name}[{index}]".supplant({ name: nome, index: index})
Enjoy
quinta-feira, maio 19, 2011
quarta-feira, maio 18, 2011
REST JQUERY AJAX JSON
não seria ótimo ter os metodos de ajax do jquery padronizados para trabalhar em rest com json?
se vc tb acha.
sinta-se a vontade para o Ctrl+C Ctrl+V :P
function _ajax_request(url, data, callback, type, method) {
if (jQuery.isFunction(data)) {
callback = data;
data = {};
}
return jQuery.ajax({
type: method
, url: url
, data: data
, success: callback
, dataType: type
});
}
jQuery.extend({
put: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'PUT');
}
, delete_: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'DELETE');
}
});
jQuery.extend({
postJSON: function(url, data, callback) {
return jQuery.post(url, data, callback, 'json');
}
, putJSON: function(url, data, callback) {
return jQuery.put(url, data, callback, 'json');
}
, deleteJSON: function(url, data, callback) {
return jQuery.delete_(url, data, callback, 'json');
}
});
Enjoy
se vc tb acha.
sinta-se a vontade para o Ctrl+C Ctrl+V :P
function _ajax_request(url, data, callback, type, method) {
if (jQuery.isFunction(data)) {
callback = data;
data = {};
}
return jQuery.ajax({
type: method
, url: url
, data: data
, success: callback
, dataType: type
});
}
jQuery.extend({
put: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'PUT');
}
, delete_: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'DELETE');
}
});
jQuery.extend({
postJSON: function(url, data, callback) {
return jQuery.post(url, data, callback, 'json');
}
, putJSON: function(url, data, callback) {
return jQuery.put(url, data, callback, 'json');
}
, deleteJSON: function(url, data, callback) {
return jQuery.delete_(url, data, callback, 'json');
}
});
Enjoy
Marcadores:
ajax,
javascript,
jquery,
json
terça-feira, maio 17, 2011
Fila de execução javascript
A nececidade de fila de execução sequencial em javascript
codigo do Objeto que possue a fila
function Obj() {
// fila de execução
this.queue = {
queueAttr: []
, push: function( fn ) {
this.queueAttr.push( fn );
return this;
}
, pop: function() {
return this.queueAttr.splice(0 ,1)[0];
}
,execute: function() {
while (this.queueAttr.length > 0) {
var fn = this.pop();
this.dispatch(fn);
}
}
,dispatch: function( fn ) {
args = [params];
fn = (typeof fn == "function") ? fn : window[fn];
return fn.apply(this, args || []);
}
};
};
forma de utilizar
Obj.queue
.push(function(params) {
//Codigo a ser executado
})
.push(function(params) {
//Codigo a ser executado
})
.push(function(params) {
//Codigo a ser executado
})
.execute();
Enjoy
codigo do Objeto que possue a fila
function Obj() {
// fila de execução
this.queue = {
queueAttr: []
, push: function( fn ) {
this.queueAttr.push( fn );
return this;
}
, pop: function() {
return this.queueAttr.splice(0 ,1)[0];
}
,execute: function() {
while (this.queueAttr.length > 0) {
var fn = this.pop();
this.dispatch(fn);
}
}
,dispatch: function( fn ) {
args = [params];
fn = (typeof fn == "function") ? fn : window[fn];
return fn.apply(this, args || []);
}
};
};
forma de utilizar
Obj.queue
.push(function(params) {
//Codigo a ser executado
})
.push(function(params) {
//Codigo a ser executado
})
.push(function(params) {
//Codigo a ser executado
})
.execute();
Enjoy
Marcadores:
javascript,
queue
Assinar:
Comentários (Atom)