A vantagem de usar uma plataforma unificada para suas requisi\u00e7\u00f5es XMLHttpRequest e RESTful \u00e9 que voc\u00ea acaba podendo unificar tamb\u00e9m sua interface com o usu\u00e1rio.<\/p>\n
Muitas vezes seu servidor demora para responder e um belo \u00edcone de de espera suaviza as coisas com o usu\u00e1rio. Todavia, fazer isso em cada requisi\u00e7\u00e3o pode se tornar uma dor de cabe\u00e7a<\/p>\n
YeAPF (mais especificamente o ycomm<\/em>)\u00a0pode ser configurado para indicar toda vez que ele est\u00e1 ocupado com uma requisi\u00e7\u00e3o ou quando ela se esgotou ou retornou do servidor.<\/p>\n Obvio que se quer adicionar alguma anima\u00e7\u00e3o e tal, pode utilizar, por exemplo, y$(‘waitIcon’).deleteClass(‘hidden’) e y$(‘waitIcon’).addClass(‘hidden’); mas com o dito j\u00e1 \u00e9 suficiente para o come\u00e7o<\/p>\n <\/p>\n <\/p>\n","protected":false},"excerpt":{"rendered":" A vantagem de usar uma plataforma unificada para suas requisi\u00e7\u00f5es XMLHttpRequest e RESTful \u00e9 que voc\u00ea acaba podendo unificar tamb\u00e9m sua interface com o usu\u00e1rio. Muitas vezes seu servidor demora para responder e um belo \u00edcone de de espera suaviza as coisas com o usu\u00e1rio. Todavia, fazer isso em cada requisi\u00e7\u00e3o pode se tornar uma […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[49,8],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5O6UV-4o","jetpack-related-posts":[{"id":315,"url":"http:\/\/www.yeapf.com\/wp\/?p=315","url_meta":{"origin":272,"position":0},"title":"Usando o yLexObj() para filtrar dados em um vetor","date":"agosto 22, 2016","format":false,"excerpt":"Digamos que tem uma lista de valores em um vetor grande em JS. N\u00e3o seria bom poder filtrar os dados de forma gen\u00e9rica escrevendo a condicional em uma string e sem ter que usar o eval()\u00a0do javascript? O c\u00f3digo abaixo \u00e9 um exemplo do que pode fazer usando o yloader.js\u2026","rel":"","context":"Em "Yet Another PHP Framework"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":321,"url":"http:\/\/www.yeapf.com\/wp\/?p=321","url_meta":{"origin":272,"position":1},"title":"Server Side Events com YeAPF","date":"janeiro 19, 2017","format":false,"excerpt":"Manter uma tela com dados din\u00e2micos atualizados n\u00e3o \u00e9 f\u00e1cil. Uma solu\u00e7\u00e3o \u00e9 empregar XMLHttpRequest e ficar fazendo polling sobre uma base de tempo regular. Assim perguntar\u00edamos ao servidor se h\u00e1 modifica\u00e7\u00f5es sobre o escopo desejado. O problema desta aproxima\u00e7\u00e3o \u00e9 que ficamos fazendo um monte de requisi\u00e7\u00f5es ao servidor\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":78,"url":"http:\/\/www.yeapf.com\/wp\/?p=78","url_meta":{"origin":272,"position":2},"title":"Drag and drop sobre um calend\u00e1rio YeAPF","date":"mar\u00e7o 30, 2014","format":false,"excerpt":"Espero que tenha em mente o post anterior sobre como construir um calend\u00e1rio b\u00e1sico com YeAPF. Este exemplo visa habilitar a fun\u00e7\u00e3o arrastar e soltar de uma lista ul para um calend\u00e1rio e precisa de dois arquivos: testarCalendario.css e testarCalendario.html. Partimos do suposto que o YeAPF est\u00e1 em \/var\/www\/YeAPF e\u2026","rel":"","context":"Post similar","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":91,"url":"http:\/\/www.yeapf.com\/wp\/?p=91","url_meta":{"origin":272,"position":3},"title":"Aplicativos mono p\u00e1gina","date":"mar\u00e7o 14, 2014","format":false,"excerpt":"Aplicativos que usam s\u00f3 uma p\u00e1gina t\u00eam um lugar assegurado no desenvolvimento de software atual e futuro. Bem feitos s\u00e3o elegantes e f\u00e1ceis de manter. Tamb\u00e9m s\u00e3o uma m\u00e3o na roda na hora de fazer um aplicativo que funcione tanto em desktop como em mobile. Para construirmos um aplicativo com\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":264,"url":"http:\/\/www.yeapf.com\/wp\/?p=264","url_meta":{"origin":272,"position":4},"title":"Versionamento de produ\u00e7\u00e3o","date":"janeiro 21, 2016","format":false,"excerpt":"Fala-se muito em versionamento de c\u00f3digo fonte. Isso est\u00e1 bom e tem muitas ferramentas que fazem isso. O YeAPF inclui certas ferramentas dentre as quais est\u00e1 o ydistbuilder. O prop\u00f3sito desta ferramenta \u00e9 produzir vers\u00f5es de distribui\u00e7\u00e3o. Ou seja, a vers\u00e3o que vai finalmente para o cliente. Em outras palavras,\u2026","rel":"","context":"Em "Desenvolvimento"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":39,"url":"http:\/\/www.yeapf.com\/wp\/?p=39","url_meta":{"origin":272,"position":5},"title":"Ajax com YeAPF","date":"mar\u00e7o 3, 2014","format":false,"excerpt":"Pretendo deixar cada uma das postagens o mais simples poss\u00edvel.\u00a0 Mas, n\u00e3o \u00e9 poss\u00edvel proceder com este se antes voc\u00ea n\u00e3o instalou e configurou seu ambiente de desenvolvimento e o YeAPF.\u00a0 Este post (http:\/\/inovacaosistemas.com.br\/wp\/?p=25) lhe pode ajudar a fazer isso, caso n\u00e3o o tenha feito ainda. Introdu\u00e7\u00e3o Nos prim\u00f3rdios da\u2026","rel":"","context":"Post similar","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/272"}],"collection":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=272"}],"version-history":[{"count":2,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/272\/revisions"}],"predecessor-version":[{"id":274,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/272\/revisions\/274"}],"wp:attachment":[{"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=272"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.yeapf.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}Seu HTML<\/h2>\n
<script src='js\/yloader.min.js'><\/script>\r\n...\r\n<div id=\"waitIcon\"><img src=\"img\/icone-de-espera.gif\"><\/div><\/pre>\n
Seu CSS<\/h2>\n
#waitIcon {\r\n display: none;\r\n position: fixed;\r\n right: 10px;\r\n top: 10px;\r\n}<\/pre>\nSeu JS<\/h2>\n
var myWaitIconControl = function(display) {\r\n if (display)\r\n y$('waitIcon').style.display='';\r\n else\r\n y$('waitIcon').style.display='none';\r\n}\r\n\r\n....\r\n\r\naddOnLoadManager(\r\n function() {\r\n ycomm.setWaitIconControl(myWaitControl);\r\n }\r\n);<\/pre>\n