wagtail/docs
Andy Chosak 349fca66f3 Fix: Properly save ordering of nested InlinePanels
The order of nested InlinePanels (recently formally added in 5566)
doesn't get saved properly due to some now-invalid assumptions in the JS
selector code.

Currently, Wagtail users can use the editor up/down arrows to order
InlinePanel elements that contain child InlinePanels, but these may not
be properly saved.

Before InlinePanel nesting was supported, it was a safer bet that a
child panel would only contain one hidden input named "-ORDER". With
nesting, however, a parent panel will also contain hidden inputs named
like this for its child panels. This breaks the logic used in the
ordering code.

This change modifies the logic to use the jQuery `.children()` selector
instead of `.next()`, ensuring that we reference the correct adjacent
panel item.

An easy way to test this against current master is to use the Wagtail
testapp test models that exercise this behavior:

1. `wagtail start testwagtail` to create a new project.
2. `cd testwagtail`
3. Edit testwagtail/settings/base.py to add the Wagtail test
application `'wagtail.tests.testapp'` to the list of `INSTALLED_APPS`.
For the admin to work properly with this app, you also need to add
`'wagtail.contrib.settings'` to that list and copy the definition of
`WAGTAILADMIN_RICH_TEXT_EDITORS` from wagtail/tests/settings.py.
4. `./manage.py migrate` to create your local database.
5. `./manage.py createsuperuser` to create an admin user.
6. Create a new Event Page
(http://localhost:8000/admin/pages/add/tests/eventpage/3/).
7. Fill in all required items, and then add multiple speakers under
"Speaker Lineup". For each speaker, add at least one Award. Save the
page.
8. Try using the up/down arrows to reorder the speakers (the parent
InlinePanel), and save the page.
9. Note that when the page reloads, the ordering hasn't been saved. If
you debug using the developer tools, you'll notice that this is because
the code being modified here selects the child panel items instead of
the adjacent parent panel item.
2020-01-15 16:43:32 +00:00
..
_static Admin documents listing - rename 'uploaded' to 'created 2019-10-24 07:40:59 +10:00
advanced_topics Update links in docs to point at stable Django version 2019-12-01 13:19:40 +10:00
contributing Update links in documentation. (#5689) 2019-11-08 09:15:01 +00:00
editor_manual Update links in documentation. (#5689) 2019-11-08 09:15:01 +00:00
getting_started Make Django 3.0 support official 2019-12-17 14:24:31 +00:00
reference Merge branch 'author-specific-locking' of https://github.com/jacobtoppm/wagtail into kaedroho-author-specific-locking 2020-01-08 15:05:59 +00:00
releases Fix: Properly save ordering of nested InlinePanels 2020-01-15 16:43:32 +00:00
topics Update links in documentation. (#5689) 2019-11-08 09:15:01 +00:00
autobuild.sh [skip ci] added commment about autobuild inside vms (#3379) 2017-02-16 21:29:10 +00:00
conf.py Add Wagtail Space Arnhem banner to documentation 2019-01-24 11:28:56 +00:00
favicon.ico add favicon to documentation 2018-03-08 12:24:13 +00:00
index.rst Fix broken link to bakerydemo (#4834) 2018-10-21 11:38:28 +02:00
logo.png reduced size of logo 2015-07-07 14:41:41 +01:00
Makefile Update links in documentation. (#5689) 2019-11-08 09:15:01 +00:00
README.md Update links in documentation. (#5689) 2019-11-08 09:15:01 +00:00
requirements.txt readthedocs needs a requirements.txt, apparently 2017-10-09 19:45:07 +01:00
spelling_wordlist.txt Added more words to the spelling wordlist 2018-04-05 12:13:05 +01:00
support.rst Update links in documentation. (#5689) 2019-11-08 09:15:01 +00:00

Wagtail docs

These are Sphinx docs, automatically built at https://docs.wagtail.io when the master branch is committed to Github. To build them locally, install Wagtail's development requirements (in the root Wagtail directory):

pip install -e .[testing,docs]

To build the documentation for browsing, from this directory run:

make html 

then open _build/html/index.html in a browser.

To rebuild automatically while editing the documentation, from this directory run:

sphinx-autobuild . _build

The online editor at http://rst.ninjs.org/ is a helpful tool for checking reStructuredText syntax.