Handle child FormWidgets making AJAX requests outside of the repeater's form container. Note that this won't pass on the state of the repeater item as it exists on the webpage because that information won't be sent to the server in an AJAX request sent from outside of the repeater's form container unless the FormWidget sending the orphaned request specifically includes that data in their request, in which case the regular handling will kick in and initialize the widget properly. A discussion should be had whether this fix makes sense to be done in the Repeater FormWidget or if we should force FormWidgets to have the responsibility of initializing their parent repeaters if they're going to be making orphaned AJAX requests.
Should fix#3415, #4672.
Related: octoberrain/test-plugin#78
It makes more sense to use a consistent UI for all modes, the CSS is cleaner as a result. The code editor toolbar has been moved to the bottom across all instances. This is favourable to it bleeding outside of its perimeter.
Refs #3947
Refs #3948
Since repeaters have no value by themselves, a repeater that contains only another repeater was throwing a "widget not bound to controller" exception when adding a new item - the repeater item processing was not creating a form widget for the inner repeater on load, or in an AJAX call. This fix specifically checks if a child repeater has called for a new item, and if so and the current repeater has no value for this particular item, it will add a "stub" form widget to correctly bind the widget.
Fixes#4344.
- Remove $indexCount property, as it is no longer needed
- Determine highest key number in data, and increment when adding item
- Remove some old code and dependencies
Fixes#4402.
Fixes a bug which causes grouped repeaters to lose data when repeater items are re-ordered and saved, due to the data indexes not being correctly mapped to the corresponding form widget.
Credit to @datune.
Run an AJAX handler on uploading and processing a file as opposed to using a post() data check in the widget initialization, as the widget may initialize several times in certain circumstances - eg. inside a relation widget.
Credit to @alxy. Refs: https://github.com/octobercms/october/issues/4300
* register a new bundle
* add the new bundle target asset
* remove the non-proprietary source file from the proprietary bundle definition
* create a new build target for the non-proprietary asset files
* remove the non-proprietary code from the compiled proprietary asset
* add compiled and minified build-ocms file
* add missing line at the end
* use better asset file names
This allows the repeater to retrieve the load value
from the model only on initialisation. Any further
requests to the repeater (ie. AJAX requests) should
use the POST data.