Package: j01.jsonrpc
This package provides some JQuery based JSON-RPC form handling using the
z3c.jsonrpc and z3c.form libraries for Zope3.CHANGES2.2.5 (2024-01-26)bugfix: remove bad unicode char from j01.loading.js javascript file2.2.4 (2023-02-21)bugfix: get attribute values based on attrNames from Button instance and not
from ButtonAction.2.2.3 (2022-02-17)feature: added stopPropagation option to on click handler. This allows to
use j01.jsonrpc click handler in nested structure without to propagate the
click event to a parent element. E.g. an a href as child in a div where the
a href element and the div provide a click handler.2.2.2 (2019-09-02)feature: support cssHTMLId and cssBodyId in j01FormProcessor jsonrpc response
and apply this ids to html and body tag if they get used in response. For more
information see cssHTMLClass and cssBodyClass below.2.2.1 (2019-05-14)bugfix: fix issues with latest z3c.form py3 changes. Ensure that the ordered
dict used in buttons get initialized.2.2.0 (2018-02-25)bugifx: remove jquery browser.msie usage in form serialisation because
$.browser.msie is not supported in jquery version 1.9.feature: added jquery migrate 1.4.1 plugins, use this for migration nad
backwards compatibility2.1.3 (2018-02-09)bugfix: call j01RenderHTMLAndBodyMarkers before we render the content.
Otherwise the dom doesn’t provide the right classes and ids. And more
important, if we use the cssHTMLId, cssHTMLClass, cssBodyId or cssBodyClass
for display parts of the site, the new part of the site is not visible and
doesn’t provide the correct width and height and size caculation will fail.
This happend by loading an j01.pager and the pager width didn’t get
calculated because we rendered the pager into an invisable site part.2.1.2 (2017-12-27)feature: support cssHTMLId and cssBodyId in jsonrpc response and apply
this ids to html and body tag if they get used in response. For more
information see cssHTMLClass and cssBodyClass below.feature: support cssHTMLClass and cssBodyClass in jsonrpc response and apply
this classes to html and body tag if they get used in response. This is a
smart concept for enable and disable parts of a mobile page and can control
single application pages. This can get used for hide the detail content if
you load an item listing and disable the listing if you load the detail page
by just apply the relevant css class to the body element.2.1.1 (2017-09-18)bugfix: fix input enter javascript. Added missing event function argumentbugfix: removed __call__ method from button Handlers class. This method was
never used and the implementation was never working2.1.0 (2017-06-29)feature: added contentRenderMethodName for rendering the response content
based on additional javascript methodsbugfix: removed double ;; in j01.jsonrpc.js2.0.3 (2017-01-11)bugfix: fix adapter configuration signature for JSONErrorViewSnippet and
JSONValueErrorViewSnippet.feature: new layout mixin helper class offering html and body element id and
css class mixins in page and forms.2.0.2 (2015-06-15)bugfix: fix button value translation. Added explicit translation to value
based on given button schema field (i18nmessageid) title2.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.lessbugfix: 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 missing2.0.0 (2015-01-20)feature: support old j01.proxy.js javascript as j01.proxy.deprecated.jsfeature: 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 thej01.proxy.errorevent
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: triggerj01.jsonrpc.errorif 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.jsfeature: 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 Buttonbugfix: skip widget update call for buttons. They don’t need to update the
valuefeature: 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() too1.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 javascriptsjavascript: implemented low level unauthorized nextURL error response
handling in j01.proxy.js javascript.implemented handleError methodchanged 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 ajmarker 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 requestsfeature: implemented JSONRPCClickButton using a simple click event handlerfeature: 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 views0.5.0 (2012-11-16)initial release