E ae galera, tudo bem?!
Bom, estou aqui para divulgar a primeira versão do meu framework em javascript, que eu apelidei de PiMpAs.
Bom, a primeira pergunta é, o que esse framework faz?!
Ele possui muita coisa que é sempre útil para todo desenvolvedor js.
O Framework é composto por 25 módulos, não vou citar todos mas os mais interessantes.
Testado em IE 6.0 & FF 2x.
** Edited
** Próximo módulo que vou documentar aqui será o AjaxPopulate, funcionalidade que atualiza automaticamente um objeto por ajax, você não precisa tratar o xml de resposta, o framework faz isso pra você.
Por exemplo:
Setando o valor de um Objeto:
pimpas.DOM.setObjectValue( 'id_objeto', value); // id_objeto pode ser a referencia do objeto tb, tipo ...setObjectValue(meuObj, value); isso serve pra todas as funcoes do PiMpAs.
// para html, voce pode chamar também pimpas.DOM.update(obj, value) que ele vai executar todos os scripts que contém no html.
Utilizando o código acima, você abstrai do tipo do objeto, o framework sabe tratar como setar valor pra combo, checkbox, input, html e etc…
Pegando o valor de um Objeto:
pimpas.DOM.getObjectValue( 'id_objeto');
Adicionar um option a um combo:
pimpas.DOM.addOption( id, text, value);
Remover um option a um combo:
pimpas.DOM.removeOption( id, value);
Serializar um form inteiro:
pimpas.DOM.serializeForm(frm);
Serializar um objeto:
pimpas.DOM.serialize(obj);
Pegar todos os elementos pela classe:
pimpas.DOM.getElementsByClassName(clazz, tag, ref);
Pegar referência do objeto:
pimpas.DOM.getElement(id);
Verificação do tipo do elemento:
pimpas.DOM.isInput(id);
pimpas.DOM.isSelect(id);
pimpas.DOM.isMultipleSelect(id);
pimpas.DOM.isTextArea(id);
pimpas.DOM.isButton(id);
pimpas.DOM.isSubmit(id);
pimpas.DOM.isCheckBox(id);
pimpas.DOM.isInputHidden(id);
pimpas.DOM.isForm(id);
// etc...
Modificadores de propriedades do Elemento:
pimpas.DOM.isVisible(id);
pimpas.DOM.toVisible(id);
pimpas.DOM.toHidden(id);
pimpas.DOM.toggleVisiblity(id);
pimpas.DOM.toEnable(id);
pimpas.DOM.toDisabled(id);
pimpas.DOM.toReadOnly(id);
pimpas.DOM.toReadWrite(id);
pimpas.DOM.addClassName(id, clazz);
pimpas.DOM.removeClassName(id, clazz);
pimpas.DOM.resetClassName(id);
pimpas.DOM.setClassName(id, clazz);
pimpas.DOM.getStyle(id, style);
pimpas.DOM.setStyle(id, style);
pimpas.DOM.scrollTo(id);
Foco no objeto:
pimpas.DOM.focus(id);
Drag-Drop:
pimpas.DOM.enableDrag(id);
pimpas.DOM.disableDrag(id);
Entre outras funcionalidades do módulo DOM.
Algumas funções úteis:
pimpas.DOM.Event.getKeyPressed(event);
pimpas.DOM.Event.isLeftClick(event);
pimpas.DOM.Event.pointerX(event);
pimpas.DOM.Event.pointerY(event);
pimpas.DOM.Event.stop(event); // stop propagation
pimpas.DOM.Event.addListener(element, eventName, observer, useCapture);
pimpas.DOM.Event.removeListener(element, eventName, observer);
Se você sempre teve vontade de mexer com AJAX mais é muito complicado na parte do javascript, seus problemas se acabaram-se (lol), veja o módulo HttpRequest.
MODULE HTTPREQUEST
** Depende de alguns módulos como filter, log, interval, timer e listener.
Implementações:
. Pool
. Queue
Criando um simples request com AJAX e processando resposta:
var listener = new pimpas.HTTPRequest.Listener();
pimpas.Extends(listener, {
toString: function() {
return "my personal listener";
},
callBack: function(obj, evt, text, xml) {
switch(evt) {
case pimpas.HTTPRequest.events.onInitialize:
alert('init!');
break;
case pimpas.HTTPRequest.events.onError:
alert('ERROR WHILE EXECUTING HTTPREQUEST => ' + text );
break;
case pimpas.HTTPRequest.events.onComplete:
alert('finished request!');
break;
}
}
}
);
HTTPRequestPool.init( ); // default = 10
// criando request
var req = pimpas.HTTPRequest.getInstance();
req.create( );
req.setUrl('info.xml');
req.addParameter('user', 1);
req.addParameter('type', 2);
req.addListener(listener);
req.setRequestMethod(pimpas.HTTPRequest.methods.GET);
HTTPRequestQueue.add(req); // foi pra fila
// executar sem esperar outros requests, immediate execute
// req.request();
O meu framework JS não tem muita documentação ainda, estou trabalhando nisso, eu criei ele pois possuo um framework pra desenvolvimento WEB e desktop, utilizando JSF, mais pra frente talvez o framework JAVA vai ficar maduro o suficiente para disponibilizá-lo para vocês.
O PiMpAs JavaScript FrameWork está disponível como anexo, qualquer dúvida e/ou reclamação, postem ai, espero que gostem, ele me ajuda muito no dia a dia 