PiMpAs JavaScript Framework

0 respostas
casmeiron

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 :slight_smile:

Criado 9 de fevereiro de 2007
Respostas 0
Participantes 1