WP
WFPNotification 1.0 (Componente de Notificação estilo Noty)
Olá pessoal gostaria de deixar um componente para vocês (seguindo as diretrizes de extensibilidade do Adianti)
O Componente mostra notificações no estilo Noty ned.im/noty/ > Noty WebPage
O/s Componente/s,pastas,etc tem inicias de acordo com o Autor (Willian Fernando Padilha) > wfp
O Componente permite emitir notificações Simples
Tem configuração para trocar a posição da mensagem, trocar o tipo de mensagem, e o tempo que ela ficara visivel (opcional)
Tambem permite adicionar uma TAction (ação nativa do Adianti Framework) Ver exemplo de uso.
Passos a seguir para implementar o mesmo
1- Descompactar o Componente dentro da pasta lib (na raiz do projeto) vai ser criado uma pasta chamada wfp dentro dela estará outra pasta chamada wfpwidgets e dentro dessa o componente WFPNotification.php > ficando algo como lib/wfp/wfpwidgets/WFPNotification.php
2- Fazer download do Noty usando este link https://github.com/needim/noty/archive/v3.1.0.zip
3- Descompactar o arquivo dentro da pasta app/lib/include apos isso renomear a pasta noty-3.1.0 para noty
4- No arquivo libraries.html do seu Template de uso (theme1,theme2 ou theme3) que fica dentro de app/templates/theme(1,2 ou 3)/libraries.html
Adicionar as seguintes linhas
Limpar Cache (por via das duvidas)
Exemplo do componente em execução (imagens)
https://drive.google.com/open?id=0B4m-6Y4mJcdvT0xHUFM1djhWVmc > Gif Animado
https://drive.google.com/open?id=0B4m-6Y4mJcdvNmVTR2k2dFFEa1E > Imagen
Para usar o componente devem importalo para o uso com use Wfp\Wfpwidgets\WFPNotification;
O Componente esta altamente documentado basta abrir o arquivo e ver os metodos disponiveis (mas podem consultar quando quiser)
Podem tambem copiar o conteudo abaixo para fazer os testes (com alguns exemplos incluidos)
Podem opinar, perguntar, sugerir sem problemas , espero que seja util
Atte.: Willian Fernando Padilha
Tags: Componente, Component, Notificação, Noty, Notification, Alert
O Componente mostra notificações no estilo Noty ned.im/noty/ > Noty WebPage
O/s Componente/s,pastas,etc tem inicias de acordo com o Autor (Willian Fernando Padilha) > wfp
O Componente permite emitir notificações Simples
Tem configuração para trocar a posição da mensagem, trocar o tipo de mensagem, e o tempo que ela ficara visivel (opcional)
Tambem permite adicionar uma TAction (ação nativa do Adianti Framework) Ver exemplo de uso.
Passos a seguir para implementar o mesmo
1- Descompactar o Componente dentro da pasta lib (na raiz do projeto) vai ser criado uma pasta chamada wfp dentro dela estará outra pasta chamada wfpwidgets e dentro dessa o componente WFPNotification.php > ficando algo como lib/wfp/wfpwidgets/WFPNotification.php
2- Fazer download do Noty usando este link https://github.com/needim/noty/archive/v3.1.0.zip
3- Descompactar o arquivo dentro da pasta app/lib/include apos isso renomear a pasta noty-3.1.0 para noty
4- No arquivo libraries.html do seu Template de uso (theme1,theme2 ou theme3) que fica dentro de app/templates/theme(1,2 ou 3)/libraries.html
Adicionar as seguintes linhas
<link href="app/lib/include/noty/lib/noty.css" rel="stylesheet"></script>
<script src="app/lib/include/noty/lib/noty.js" type="text/javascript"></script>
Limpar Cache (por via das duvidas)
Exemplo do componente em execução (imagens)
https://drive.google.com/open?id=0B4m-6Y4mJcdvT0xHUFM1djhWVmc > Gif Animado
https://drive.google.com/open?id=0B4m-6Y4mJcdvNmVTR2k2dFFEa1E > Imagen
Para usar o componente devem importalo para o uso com use Wfp\Wfpwidgets\WFPNotification;
O Componente esta altamente documentado basta abrir o arquivo e ver os metodos disponiveis (mas podem consultar quando quiser)
Podem tambem copiar o conteudo abaixo para fazer os testes (com alguns exemplos incluidos)
- <?php
- use Wfp\\Wfpwidgets\\WFPNotification;
- class PublicView extends TPage
- {
- public function __construct()
- {
- parent::__construct();
- $html = new THtmlRenderer('app/resources/public.html');
- // replace the main section variables
- $html->enableSection('main', array());
- $panel = new TPanelGroup('Public!');
- $panel->add($html);
- $panel->style = 'margin: 100px';
- $action = new TAction(array('PublicView', 'actionNoty1'));
- $boton = new TElement('a');
- $boton->{'class'} = 'btn btn-primary';
- $boton->{'generator'} = 'adianti';
- $boton->{'href'} = $action->serialize();
- $boton->add('Execute Noty With Action');
- $panel->add($boton);
- $action = new TAction(array('PublicView', 'actionNoty2'));
- $boton = new TElement('a');
- $boton->{'class'} = 'btn btn-primary';
- $boton->{'generator'} = 'adianti';
- $boton->{'href'} = $action->serialize();
- $boton->add('Noty Examples');
- $panel->add($boton);
- // add the template to the page
- parent::add( $panel );
- }
- public function actionNoty1($param) {
- $action = new TAction(array('PublicView', 'showActionNoty'));
- $noty = new WFPNotification();
- $noty->setMessage('<big>Noty With TAction</big>');
- $noty->setType('warning');
- $noty->addActionButton('Process Action', $action);
- $noty->show();
- }
- public function actionNoty2($param) {
- new WFPNotification('Hello World Default (Information)');
- //alert,success,warning,error,information
- new WFPNotification('Hello World Alert','alert');
- new WFPNotification('Hello World Success','success');
- new WFPNotification('Hello World Warning','warning');
- new WFPNotification('Hello World Error','error');
- }
- public function showActionNoty($param) {
- $string_parametros = "<i>Parameter of Action</i> \\r\\n".implode("\\r\\n", $param);
- new WFPNotification($string_parametros);
- }
- }
- ?>
Podem opinar, perguntar, sugerir sem problemas , espero que seja util
Atte.: Willian Fernando Padilha
Tags: Componente, Component, Notificação, Noty, Notification, Alert
Oi Willian
Tava passando por aqui e resolvi testar seu componente, me permite mudar um pouco a instalação?
A sua Classe WFPNotification.php pode ser salva em app/lib/widget/WFPNotification.php e não na pasta lib (está não deve ser alterada)
retire o names space e o use StdClass da mesma pronto pode rodar o exemplo sem o ( use WfpWfpwidgetsWFPNotification;)
Vai funcionar e não irá mexer no core do Adianti.
Abraços...
Felipe Cortez
Olá Felipe, agradeço seu comentario porem segue as respostas
A sua Classe WFPNotification.php pode ser salva em app/lib/widget/WFPNotification.php e não na pasta lib (está não deve ser alterada)
* Em nenhum momento é alterada a estrutura natural/original da pasta* Veja o que diz adianti.com.br/framework-extensibility
Meu componente é de uso com NameSpace, e tambem no futuro vou contribuir com mais componentes, sendo assim os mesmo ja estarão organizados e devidamente estruturados
Vai funcionar e não irá mexer no core do Adianti.
* Em nenhum momento é alterado nada no core do Adianti
Abraços
P.D: O que achou do Componente?
Achei muito bacana, a minha sugestão foi na direção de fazer o componente global assim não precisa ficar chamando a classe com use e não ter dificuldade em novas atualizações do framework visto que substituem os a pasta lib inteira.
No demais tá perfeito ótimo trabalho.
Sds
Willian, boa tarde!
achei muito interessante, seu post.
Favor tirar uma dúvida:
Como faria para, através de um onSave, por exemplo, enviar uma notificação ao PC de um determinado usuário?
Obrigado!
Celio , na versão atual do componente apenas é possivel emitir avisos para o usuario atual, ainda não é possivel enviar a outro usuario, mas a ideia é legal vou ver para implementar isso, sobre a regra de negocio do Adianti e seu template
Valeu Willian!
Vou ficar aguardando, pois estou desenvolvendo um controle de portaria que vai precisar enviar notificação na chegada de um caminhão.
Obrigado pela atenção!
Bom dia Willian Padilha, para utilizar este componente na versão 5.0 do adianti, precisa realizar alguns ajustes? já testou na nova versão?
Ola Leandro ainda não testei
Em teoria segue o mesmo procedimento e deveria funcionar normalmente
Olá Wilian, realizei aqui a depuração, e o erro ocorria na linha 158.
theme: 'mint',//default theme
removir o comentário e parou de dar erro.
fica ai a solução caso alguem passe pelo mesmo problema, só não entendir porque isto só ocorre na versão nova.
Vlw Leandro pelo Feedback
Vou anotar aqui e fazer os testes na vr. 5 e liberar a correção 👍
Componente atualizado e corrigido os Bugs mencionados, tambem foi melhorado a geração do Script do mesmo, estou disponibilizando ele no Onedrive (ainda não tenho GitHub)
https://1drv.ms/f/s!AhsroCiTfrMLkTRuFqRUidbvOFRb
foi totalmente atualizado agora esta funcional em todos os Templates (1,2,3,4)
Olá, Wiliam. Testei aqui e ficou show!
Eu vi que tem como colocar um som ou efeitos nessas notificações.
Como é feito isso pelo adianti?
Abraço
Estou utilizando muito legal, parabéns.
Willian, parabéns, funcionando aqui com a versão 5.7, detalhe que eu segui a instalação conforme o Felipe, ficando o arquivo WFPNotification.php na pasta
Fiz mais uma pequena mudança, coloquei opção para alterar o tema, vou colocar o código todo completo abaixo
O tema esta como padrão o mint alterei para relax(achei mais bonito), mais pode ser mudado usando, exemplo:
ou
Classe completa (conforme a original, com as alterações do tema):