150 Commits

Author SHA1 Message Date
Jim Cottrell
bfee483805 Adds support for minifying framework assets (#3240)
Fixes #2753. Credit to @jimcottrell
2018-07-05 17:57:17 -04:00
Luke Towers
c46dc38ed1 Compiled assets 2018-06-07 00:09:12 -06:00
Viamage
667b82e6ce Replace keyup listener with input listener (#3567)
Fixes #1270. Credit to @viamage
2018-05-30 20:26:38 -06:00
QuangTrọngOnline
3ef571da3c Added Vietnamese translation (#3514)
Credit to @quangtrongonline.
2018-04-24 11:41:01 -06:00
Luke Towers
ed760d892b Compiled client side language files 2018-04-19 10:23:38 -06:00
Samuel Georges
736188e26f Recompile assets 2017-12-02 17:43:14 +11:00
SeriousKen
965d91e51c Trailing & in requestData if data is empty (#3262)
This fixes a small issue where the form is submitted an extra unnamed null field is present in the request due to a trailing & symbol in `requestData` when `data` is empty.
2017-11-23 09:54:17 -06:00
Samuel Georges
2092454343 Clean up from #3255
This logic could have been placed in the ValidationException class or the framework.js file. It seems more fitting for it to be in the framework.js file.
2017-11-22 13:47:34 +11:00
Jan
c165fc02d7 Fix ajax validation for array syntax (#3255) 2017-11-21 17:05:04 -06:00
Alexander Guth
93a2898379 Do not change behavior: pass request data back to the options object (#3012)
Current changes to the ``framework.js`` led to a breaking change due to the fact, that ``options.data`` was no longer populated with the request data. The ``options`` object is part of the ``context`` object, which is later beeing passed to ``ajaxBeforeSend``
The two relevant versions of the file show the change of behavior:
b6fedfb688/modules/system/assets/js/framework.js (L56) => https://github.com/octobercms/october/blob/develop/modules/system/assets/js/framework.js#L88
The change is required to remain consistent with the old behavior. This code is tested and appears to be working as it did formerly.
2017-09-19 15:34:48 -06:00
Luke Towers
7c3d4705fc Support firstDay in date & date range filters
Ref: 962aa32a60 (commitcomment-23597564)
2017-08-11 08:59:06 -06:00
Sang Min Oh
969eaccf8b korean language support for backend (#3023)
Credit to @everydayparty
2017-08-06 12:36:34 -06:00
Luke Towers
9745b3ba75 Compiled assets 2017-08-05 18:11:40 -06:00
Samuel Georges
3abd61244a Code dusting 2017-07-29 15:33:51 +10:00
Samuel Georges
b732f70c59 Adds support for single file uploads
...when used without a form tag
Refs #2857
2017-07-29 09:21:49 +10:00
Samuel Georges
bc46520e3f This prevents &foo=bar on empty forms 2017-07-28 09:38:39 +10:00
Samuel Georges
97508c3953 Rem code sample 2017-07-28 01:50:37 +10:00
Samuel Georges
72eb48cf2e Add support for AJAX file uploads
Refs #2857
2017-07-28 01:45:26 +10:00
Samuel Georges
4e5ac44999 Create remaining mail partials
Improve mail partial lookup method
2017-07-22 18:03:58 +10:00
Samuel Georges
31ffadbc4c Introduce mail branding settings 2017-07-22 17:20:48 +10:00
Samuel Georges
cd6a7c75dc Refresh colorpicker form widget
Replace colpick with spectrum plugin
Recompile client lang
2017-07-22 11:40:59 +10:00
Samuel Georges
1db67af8e8 Merge remote-tracking branch 'remotes/origin/develop' into l55upgrade
Conflicts:
	modules/system/lang/en/lang.php
2017-07-11 10:48:54 +10:00
Samuel Georges
08a710eb9a Update ace editor 1.2.3 to 1.2.6
Recompile assets
Refs #2570 (without the spam)
2017-06-24 09:01:07 +10:00
Samuel Georges
7afb09cf98 Merge pull request #2914 from alxy/patch-18
Pass the current context to the selector
2017-06-08 07:30:39 +10:00
Alexander Guth
0f4d7b6a85 Pass the current context to the selector
This fixes an issue with more than one form on a single page. The messages will be correctly displayed in the container of their corresponding form.
2017-06-07 22:36:18 +02:00
Luke Towers
f819aa607d Hide the loading indicator after AJAX request
Fixes #2780
2017-05-25 11:58:52 -06:00
José Longo
e13fba6068 add missed js language file in /modules/system/assets/js/lang 2017-04-11 14:37:22 +01:00
Samuel Georges
b6fedfb688 Specify explicit form element
This allows request elements external to the form to serialize a target form for use. An example might be a search form at the top of a page, list of results in the middle, then the pagination at the bottom. The pagination would need to target the search form with data-request-form to persist the search query value.

This should work with the JS API too, passed as an object, because $($()) is acceptable in jQuery
2017-03-19 13:54:21 +11:00
Samuel Georges
5f91c45f79 Implement disabled support for some form widgets
Recompile assets
Fixes #2749 (Media Finder)
Fixes #2750 (File upload)
Fixes #2751 (Rich Editor)
Refs #2724
2017-03-14 13:52:47 +11:00
Luke Towers
cdc8b23fd4 Fixing same-origin AJAX requests
jQuery sends multiple values for the `X-REQUESTED-WITH` header if it has already been set, even when the value is the same. This means that same-origin requests would send `X-REQUESTED-WITH: XMLHttpRequest, XMLHttpRequest` which isn't detected as AJAX by Laravel/Symphony.

To fix this issue while retaining the crossDomain usage of framework.js, I've used `crossDomain: false` to trick jQuery into sending the header anyways on cross-origin requests. This is still changeable by the user in the `ajaxSetup` event.
2017-02-15 09:56:43 -06:00
Luke Towers
c4031de6d6 X-Requested-With to uppercase
Style change because headers are case insensitive
2017-02-14 17:53:43 -06:00
Luke Towers
88d53ec0d5 Support CORS requests via framework.js
Adds support for Cross-Origin requests made via framework.js by manually adding the `X-Requested-With: XMLHttpRequest` header required for server-side detection of AJAX requests that is sent on normal Same-Origin AJAX requests but stripped by default by jQuery when making Cross-Origin requests. Note: Request target server still needs to have `Access-Control` headers configured correctly to return a request.
2017-02-14 17:46:56 -06:00
Luke Towers
37a735c8ed Process JS API requests through the document
Process JS API requests ($.request(handler, options)) through the document object instead of a non-existent form element. The form element was originally added because the framework only supported requests made from within a form
```
[22:08:12] spunky:	The $triggerEl was implemented because previously it was just $form
[22:08:24] spunky: For data-requests without a form, these events were being ignored
[22:08:31] spunky:	So as a workaround I implemented $triggerEl
```
As this is no longer the case, any JS API requests will now be made through the document element instead to support listening to events (such as ajaxSetup) even when there is no real attached element to trigger them on.
2017-02-06 10:36:57 -06:00
Samuel Georges
d2082e0ea0 Throw an error when framework loads twice
Fixes #2379
2017-02-05 06:49:11 +11:00
Samuel Georges
562f60730f Fix bug in handleConfirmMessage override 2017-02-04 20:15:13 +11:00
Samuel Georges
6cd76e9c6d Add handleValidationMessage override function 2017-02-04 20:03:45 +11:00
Samuel Georges
88ed5c2c64 Dedicated ajaxSetup event for modifying option
Allow overriding confirm message with handleConfirmMessage function
2017-02-04 19:44:53 +11:00
Samuel Georges
7bcc31eef8 Add handleRedirectResponse override function 2017-02-04 19:14:26 +11:00
Samuel Georges
e323a1b98a Added handleFlashMessage function to framework.js
- Used for handling flash messages via JS API

Request options are now passed to ajaxBeforeSend & ajaxPromise events

Improved framework extras
- Fixes data-request-flash when used within a plain form, this code would fail because $triggerEl is set to a plain form:
`<form><button data-request="..." data-request-flash>...</button></form>`
2017-02-04 15:42:43 +11:00
Samuel Georges
08c5a27e50 Peer review 2be18764d47f78820d7f4a02ce3c0995358a16d1 2017-02-04 09:21:45 +11:00
Luke Towers
2be18764d4 Support passing objects as the loading indicator
Adds support for passing objects to be used as the loading indicator. Note: Objects must support `.show()` and `.hide()` methods.
Example:
```js
$.request('onHandler', {
    loading: $.oc.stripeLoadIndicator
});
```
2017-02-03 15:54:59 -06:00
Samuel Georges
ebed3cde5e Add afterUpdate event to match keyup
Recompile assets
Refs #2336
2017-02-03 06:50:38 +11:00
Samuel Georges
56ad25ec6f Remove code deprecations for 2017
Recompile assets
2017-01-26 11:26:53 +11:00
Samuel Georges
6679aa6557 Increase default flash message interval
The data-validate-error container does not necessarily need to reside inside a form, but give it priority if it does.
2016-11-28 20:48:05 +11:00
kaserv
4025b4885b fix for array fields validation in client-side framework 2016-11-22 17:04:41 +04:00
Samuel Georges
0a8f169cc3 Improvements to framework extras
- Form validation
- Button loader
- Flash messages
2016-11-18 07:41:02 +11:00
Samuel Georges
10326c2d63 Framework supports passing a "flash" option
This will request the Flash contents, if they are available. It also clears the flash bag contents, which is why this is an optional feature.
Introduced "ajaxValidation" event for capturing all invalid fields at once
2016-11-18 07:39:54 +11:00
Samuel Georges
88196fb660 Allow passing an explicit format to datepicker
Refs #1919
Recompile assets
2016-10-20 08:44:14 +11:00
Samuel Georges
d788b7e03f Use select2 on touch devices
This is a relic from when select2 v3 had no mobile support, we use select2 v4 now that has been tested with mobile/touch devices.
Refs #108
Clean up some white spaces
2016-10-17 08:38:01 +11:00
Samuel Georges
571ceff1ef Merge pull request #2416 from GitJaap/develop
Add current url to ajax requests in requestOptions used in XHR full pageloads
2016-10-17 08:06:38 +11:00