Skip to content

Commit

Permalink
Merge pull request #455 from stevepiercy/2.0-branch
Browse files Browse the repository at this point in the history
Backport #453 and #454
  • Loading branch information
stevepiercy authored Aug 23, 2020
2 parents bf9257a + b5797b4 commit 34e6b11
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 16 deletions.
27 changes: 25 additions & 2 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,29 @@
.. _2.0.12:

2.0.12 (unreleased)
2.0.12 (2020-08-XX)
-------------------

- Update select2 widget to version 4.0.13.
See https://github.com/Pylons/deform/pull/441

- Add the ``structure`` keyword to the autocomplete template's options to stop
its encoding.
See https://github.com/Pylons/deform/pull/445

- Use the local HTML element for change event when removing/adding to DOM.
See https://github.com/Pylons/deform/pull/331

- Fix deprecation warning when importing the module ``field.py`` while testing
with pytest.
See https://github.com/Pylons/deform/pull/419

- Fix a bug that was introduced in 2.0.11 that made it such that the ``focus``
parameter on forms did not honor the ``off`` value for ``checkboxChoice`` and
``radioChoice`` widgets.
See https://github.com/Pylons/deform/pull/453

- Remove the unused variable ``namematch`` from deform.js.
See https://github.com/Pylons/deform/pull/454

.. _2.0.11:

Expand All @@ -14,7 +35,7 @@
- Changed the implementation of input autofocus from JavaScript to an HTML5
input attribute.

Forms now have an optional ``focus`` parameter (``on``|``off``) and fields
Forms now have an optional ``focus`` parameter (``on`` or ``off``) and fields
have an optional ``autofocus`` parameter.

- If ``focus`` is ``on``, and at least one field has an ``autofocus``
Expand All @@ -28,6 +49,8 @@
Default: ``on``.
(This is unchanged from the JavaScript implementation.)

See https://github.com/Pylons/deform/pull/365/

- Replace the flake8-isort plugin with plain old isort.
See https://github.com/Pylons/deform/pull/427

Expand Down
22 changes: 10 additions & 12 deletions deform/static/scripts/deform.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Register a top-level callback to the deform.load() function
/*
* Register a top-level callback to the deform.load() function
* this will be called when the DOM has finished loading. No need
* to include the call at the end of the page.
*/
Expand Down Expand Up @@ -29,7 +29,6 @@ var deform = {
deform_loaded = true;
}});
},


processCallbacks: function () {
$(deform.callbacks).each(function(num, item) {
Expand All @@ -48,13 +47,12 @@ var deform = {
// In order to avoid breaking accessibility:
//
// - Find each tag within the prototype node with an id
// that has the string ``deformField(\d+)`` within it, and modify
// that has the string ``deformField(\d+)`` within it, and modify
// its id to have a random component.
// - For each label referencing an change id, change the label's
// for attribute to the new id.

var fieldmatch = /deformField(\d+)/;
var namematch = /(.+)?-[#]{3}/;
var code = protonode.attr('prototype');
var html = decodeURIComponent(code);
var $htmlnode = $(html);
Expand All @@ -63,7 +61,7 @@ var deform = {
var genid = deform.randomString(6);
var idmap = {};

// replace ids containing ``deformField`` and associated label for=
// replace ids containing ``deformField`` and associated label for=
// items which point at them

$idnodes.each(function(idx, node) {
Expand Down Expand Up @@ -92,7 +90,7 @@ var deform = {
var oid = item[0];
var callback = item[1];
var newid = idmap[oid];
if (newid) {
if (newid) {
callback(newid);
}
});
Expand All @@ -112,10 +110,10 @@ var deform = {
var max_len = parseInt($before_node.attr('max_len')||'9999', 10);
var now_len = parseInt($before_node.attr('now_len')||'0', 10);
var orderable = parseInt($before_node.attr('orderable')||'0', 10);

if (now_len < max_len) {
deform.addSequenceItem($proto_node, $before_node);
deform.processSequenceButtons($oid_node, min_len, max_len,
deform.processSequenceButtons($oid_node, min_len, max_len,
now_len + 1, orderable);
}
return false;
Expand All @@ -134,7 +132,7 @@ var deform = {
$item_node.remove();
// we removed something from the dom, trigger a change event
$oid_node.trigger('change');
deform.processSequenceButtons($oid_node, min_len, max_len,
deform.processSequenceButtons($oid_node, min_len, max_len,
now_len-1, orderable);
}
return false;
Expand All @@ -156,11 +154,11 @@ var deform = {
randomString: function (length) {
var chr='0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
chr = chr.split('');

if (! length) {
length = Math.floor(Math.random() * chr.length);
}

var str = '';
for (var i = 0; i < length; i++) {
str += chr[Math.floor(Math.random() * chr.length)];
Expand Down
2 changes: 1 addition & 1 deletion deform/templates/checkbox_choice.pt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<input tal:attributes="checked value in cstruct;
class css_class;
style style;
autofocus not repeat.choice.index;
autofocus not repeat.choice.index and autofocus;
attributes|field.widget.attributes|{};"
type="checkbox"
name="checkbox"
Expand Down
2 changes: 1 addition & 1 deletion deform/templates/radio_choice.pt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<input tal:attributes="checked value == cstruct;
class css_class;
style style;
autofocus not repeat.choice.index;
autofocus not repeat.choice.index and autofocus;
attributes|field.widget.attributes|{};"
type="radio"
name="${oid}"
Expand Down

0 comments on commit 34e6b11

Please sign in to comment.