-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
359 lines (209 loc) · 9.65 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
=========
Changelog
=========
4.0.2 (unreleased)
==================
- Pin npm versions to make dev deployments more stable.
- Fix failing codecov upload due to an imcompatability with old node version.
- Fix failing tests.
Two tests did not have any expectations, five had some async problems that
were now fixed, one was not fixed and is skipped for now.
- Fix disabled flag for radio list widget.
- Reintegrate features from other projects.
4.0.1 (2016-03-17)
==================
- Fix wrong dependency url in `bower.json`.
4.0.0 (2016-03-17)
==================
- `gocept.jsform` has a new name: `ajja`
- There are also some API renamings that are incompatible to older versions:
- The base CSS class name for ajja forms is now `ajja` and not `jsform`.
- The jQuery function to initialize a submit button was renamed from
`jsform_submit_button()` to `form_submit_button`.
- If you include `ajja`s sources manually (which is not recommended), make
sure to now include `form.js` instead of `jsform.js`.
3.0.1 (2016-03-17)
==================
- Introduce new API for template handling.
- `get_template(id)` returns the compiled version of the template.
- `register_template(id, template, description)`
- allows you to register a template under the given id
- can handle precompiled templates, plain html or an id selector to a dom
node containing html
- `list_templates()` returns a list of templates with id and description
- Massively improved documentation.
- Start measuring code coverage.
3.0.0 (2016-02-03)
==================
- Serve handlebars templates precompiled in src/templates.js to complete bower
integration. (#23)
Rename template source files. They are now accessible via
`gocept.jsform.templates` variable in the application. This is an backwards
incompatible change.
- Update version pinnings.
Depending on concrete pinnings for jquery(-ui) is not necessary as
gocept.jsform supports jquery 1.x and 2.x. Also add explicit version pinnings
for knockout and knockout-mapping as updating there by accident may break
gocept.jsforms model behaviour.
2.8.0 (2015-12-09)
==================
- Add group widget and table widget which use list widget to render items in
groups / as table. (#38)
- Add new template to render numbers. (#15)
- Throw an error during __init__ if selector for form node did not match. (#32)
- Throw error when ListWidget.add_item receives malformed AJAX response. (#33)
- Add `form-control` CSS class to textarea template.
2.7.2 (2015-12-04)
==================
- Refactor radio button template to use the same source API as object templates.
2.7.1 (2015-12-04)
==================
- Fixed syntax error.
2.7.0 (2015-12-04)
==================
- Suppress success messages in UI when saving all remaining fields.
- Add new template than renders a list of radio buttons.
2.6.3 (2015-11-18)
==================
- Add some more translations.
- Disable placeholder for select fields which are required.
2.6.2 (2015-11-17)
==================
- Unify node where form data is saved to.
2.6.1 (2015-11-16)
==================
- Fix initialization of sources if form data is provided directly instead of
retrieving it via load url.
- Make sure that `after-load` always fires asynchonously.
2.6.0 (2015-11-12)
==================
- Add option to switch one field or the whole form to readonly mode.
2.5.1 (2015-11-11)
==================
- Use `bower-knockout-mapping` in bower package instead of serving mapping
plugin directly. (only effects bower package of `gocept.jsform`)
2.5.0 (2015-11-06)
==================
- Add list widget which uses jsform to display edit form of list items.
- Remove version pin of Handlebars, since error related to Handlebars 4 is
specific to the application that uses gocept.jsform.
2.4.0 (2015-09-08)
==================
- Pin version of Handlebars to 3.0.3, since switching to a new major version
should be done on purpose, rather by chance.
2.3.0 (2015-07-31)
==================
- Display status messages 3 seconds instead of 1 second. This hopefully will
fix test failures in Jenkins.
- Introduced, that a save call to a widget can manipulate the source values of
another widget. This is usefull for dropdowns, where the list of available
values is dependend from the selected value of another dropdown.
2.2.0 (2015-06-17)
==================
- Fix display of validation error messages.
- Make it possible to display custom HTTP error messages when `message` was
provided in the JSON response.
2.1.0 (2015-04-09)
==================
- If ajax result is HTML instead of JSON data, display HTML (which is in most
cases a 500 error or login page). (#11838)
2.0.0 (2015-03-26)
==================
- Render the token as the ``<option value>`` attribute, so we get the best of
both worlds: internally we deal with objects, but the DOM looks "normal" (and
other DOM-based libraries like select2 can interface with it).
- Package the browser resources as a bower package.
- Switch from json-template.js to Handlebars.js for templating. (#13804)
- Fixed a bug where using select fields with dynamic options (sources) triggered
a save request with empty value upon creation in the UI.
1.2.0 (2014-10-22)
==================
- Improved handling of object and multiselect fields such that the values
loaded are actually just the values, with select options being passed as the
``source`` field option. This is an important backwards-incompatible change.
- Added a field option ``multiple`` that, when truthy and the selected type is
object, makes the field be considered a list of objects. When using the
default templates, this turns a select widget into multi-select.
- When loading values into a form via the JS API rather than via HTTP as JSON,
assume full objects, not tokens to be contained.
- Add textarea template.
- Added the concept of required fields which cannot be saved when blank.
- More Bootstrap 3 compatibility.
- Simplified HTML mark-up of form elements.
- Removed the package metadata's implicit dependency on the test extra.
- Use `classy <https://github.com/mitsuhiko/classy>`_ classes.
- Consider HTTP error responses unrecoverable errors. This distinguishes them
from time-outs and connection errors.
- Add ``loaded`` property on Form, a Deferred so clients can check whether
loading has finished. This is mainly helpful for tests, e.g.::
selenium.waitForEval(
'$("#jsform").data("form") && '
'$("#jsform").data("form").loaded.state()', '"resolved"')
- Expose the ``get_template`` function for reuse outside the Form class.
- If an empty string is specified as ``form_template``, just use the existing
form DOM node without applying any template.
- Add jQuery plugin ``$().jsform_submit_button(callback)`` that sets up a
button that saves the jsform and calls a function after the successful save.
1.1 (2014-04-07)
================
- Propagate save message of server using ``after-save`` trigger.
- Added infrastructure for displaying and clearing status messages, use it for
announcing HTTP faults during AJAX calls.
- Display and clear field-related errors both at the widget and via status
messages.
- When saving data, count anything but a JSON response with a status value of
"success" as an error. Give up completely after an incomprehensible
response, retry on connection errors either after the next successful server
access for any other field, or when requested by a call to ``retry()``.
- Added an API method ``save_remaining()`` that causes any fields to be saved
that have not been modified so far. While this should only save the initial
values loaded from the server, it is useful to apply the same validation and
error handling to all fields.
- Added an API method ``when_saved(retry)`` that returns a promise that
aggregates any pending and completed save calls, either propagating the
retry behaviour of single fields (the default) or failing on server errors.
- Provide a visual clue and status message while saving a field.
- Some refactoring to improve code readability.
- Made code pass jshint check.
- Made default and currently not overrideable status message behaviour
compatible to bootstrap 3
- Properly unsubscribe change handlers when updating fields.
- Added simple localization.
1.0 (2013-12-13)
================
- Remove console calls as they are not understood by all browsers.
0.8 (2013-12-10)
================
- Fixed: jsform did not render in IE8 if form template started with line break.
0.7 (2013-12-03)
================
- Add ability to send a CSRF token with every request. This token must be
available via the id `csrf_token` (can be customized) in the DOM.
- Added minified versions of javascript resources.
0.6 (2013-09-06)
================
- Bugfix: Use ``indexOf`` instead of ``startsWith``, which is not available on
all browsers.
0.5 (2013-09-06)
================
- Declare ``for`` attribute on form labels.
- Store "save on change" subscriptions so they can be cancelled.
- Ignore ``null`` values for data fields. (#1)
0.4 (2013-08-27)
================
- Made it possible to define templates as template files on file system.
0.3 (2013-08-27)
================
- Add events ``after-load`` and ``after-save``.
- Fix ``JSON`` serialization to be able to handle Knockout observables.
- Added ``reload`` functionality to the form class.
0.2 (2013-08-26)
================
- Made it possible to preselect values in arrays when the form is rendered.
- Changed form submit behaviour:
- Default submit type is not ``POST`` instead of ``GET``. (Change it with the
``save_type`` option)
- Data is now submitted as ``JSON`` type.
0.1 (2013-08-17)
================
initial release