=======
CHANGES
=======

2.0.1 (2015-03-17)
------------------

- feature: added different testing hooks for p01.testbrowser suport.
  The new p01.testbrowsre package implicit support any j01.jsonrpc
  button and link click call. This is a big imrpovement and makes testing
  a lot simpler.

- feature: added j01.loading.css file based on j01.loading.less

- bugfix: fix error handling in javacsript for jsonrpc error response
  support onError and onException. onError handles known status 200
  json-rpc error response and onException handles non staus 200 errors.
  Also make sure that a JQuery event get triggered if no error handling
  concept is used e.g. if onError is missing


2.0.0 (2015-01-20)
------------------

- feature: support old j01.proxy.js javascript as j01.proxy.deprecated.js

- feature: reimplement JSONRPC proxy javascript library. Improved error
  handling and timeout callbacks. NOTE: the new library is not backward
  compatible. The most important part is the addMethod signature which changed
  from:
  addMethod(name, onSuccess, onError, onTimeout, isPushState, id)
  to:
  addMethod(name, callback, requestId, onError, onTimeout)
  The addMethod will also return the method itself. This method can get used
  for apply optional event handler for onLoading and onLoaded.
  The JSONRPC proxy will trigger a JQuery event on errors by default.
  You can simply register an event handler for the ``j01.proxy.error`` event
  or you can define your own onError handler. Since we initialize a jsonrpc
  call from the client, we also support an isPushState marker for trigger
  push state. This allows us to supress a push state given from a server
  response if needed. Of corse the isPushState is only relevant if the optional
  j01.history.js library is used.

- feature: trigger ``j01.jsonrpc.error`` if error content target is missing
  in j01RenderContentError error handler. This allows to apply a custom error
  handler.

- feature: move history concept to a separate file called j01.history.js. This
  makes it possible to apply a different history concept. This means you need
  to include this file too or you will loose the defautl jsonrpc history
  conecpt.

- bugfix: use id instead of requestId as jsonrpc response id in j01.proxy.js

- feature: support explicit disable button call in j01ButtonDisabler. This
  allows us to disable a button asap in a rendered page for the given duration.
  This is usefull for re-submit buttons e.g. send this again etc.


1.0.1 (2014-08-25)
------------------

- remove history javascript implementation and integrate native browser history
  api support in jsonrpc page, form, jsonrpc method and javascript. Now the
  browser history api is implicit supported. There are several attributes for
  enable or manipulate the browser history state handling in the jsonrpc form
  and page classes. See the comments in the form class for more information.

- bugfix: fix missing getJavaScript and getInputEnterJavaScript method in
  simple Button

- bugfix: skip widget update call for buttons. They don't need to update the
  value

- feature: added new j01.loading.js javascript which shows a progress line at
  the top of the page or anywhere you need it. Moved the existing spinner
  loading javascript to j01.spinner.js.

- feature: added JQuery events called j01.jsonrpc.loading and
  j01.jsonrpc.loaded before and after loading content.

- feature: provide new CloseButton which is able to remove content from the
  html page using jquery.empty and an animation. As default animation the
  jquery slideUp method is used.

- feature: implemented jsonrpc testing helper methods for button submit etc.

- fix: ``jsform.JSONRPCFormMixin``: checking for REDIRECT_STATUS_CODES after
  update() too


1.0.0 (2014-04-04)
------------------

- implemented a compatible z3c.form button and handler concept. This
  new button and handler concept supports the z3c.form button and handler
  concept and can get used as a replacement for any form. This implementation
  will lookup the button handler by it's name form a simple dict and does not
  use a built in adapter registry. This makes it compatible with any kind of
  button and handler implementation. The existing jsbutton module isn't
  available anymore. Import the new buttons from j01.jsonrpc.btn.


0.7.0 (2014-03-25)
------------------

- feature: implemented button disable concept based on button property and
  JQuery event. Take alook at the new j01.button.js javascript. Note, this
  implementation keeps event handler intact. Other concepts like the one
  used in the twitter bootstrap framework will destroy applied event handler
  during reset a button state which will not work for our implementation.

- feature: implemented JQuery click event trigger. This could get used for
  different concepts like apply a loading icon etc. We also use this event
  handler for the new button disable concept.


0.6.0 (2014-03-04)
------------------

- javascript: use JSON2 as default instead of eval for load json repsonse.
  Fallback to custom implementation if no JSON2 is available.

- javascript: update to newest history.js javascripts

- javascript: implemented low level unauthorized nextURL error response
  handling in j01.proxy.js javascript.

- implemented handleError method

- changed unauthorized error page redirect from loginForm.html to
  j01Login.html for better customization. Note, you will need at least to
  register your existing loginForm.html as an additional j01Login.html page.
  Or the new nextURL redirect to j01Login.html will point ot a missing page.
  This changes makes it possible to show an explicit comment (session expires
  for jsonrpc call).

- feature: improve history state handling. Remember initial url and support
  go back to the initial url too whcih doesn't provide a ``j`` marker argument.

- feature: implemented improved json-rpc client including custom error handling
  and removed the dependency to z3c.jsonrpcproxy. This means you need to
  define the z3c.jsonrpcproxy dependency if you use the z3c.jsonrpcproxy
  javascript client in your package.


0.5.1 (2013-03-19)
------------------

- feature: support button action handling based on default z3c.form concept.
  This let us allow to use urls like <page-url>?form.buttons.foobar=1 for non
  jsonrpc requests

- feature: implemented JSONRPCClickButton using a simple click event handler

- feature: support prefixWidgets and prefixButtons property for separate
  different forms loaded into one single page.

- feature: improve javascript callback handler and support scrollToExpression
  with scroll to animation after loading jsonrpc content.

- support response.data.i18nMessage as additional error response given from
  z3c.jsonrpc error views


0.5.0 (2012-11-16)
------------------

- initial release
