Commit Graph

469 Commits

Author SHA1 Message Date
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 2be18764d4 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 3bc87fb945 Merge pull request #2336 from rounce/master
input: on paste
2017-02-03 06:47:21 +11:00
Samuel Georges 56ad25ec6f Remove code deprecations for 2017
Recompile assets
2017-01-26 11:26:53 +11:00
Aleksey Bobkov e35429cf28 Merge branch 'develop' of github.com:octobercms/october into develop 2017-01-12 20:13:50 -08:00
Aleksey Bobkov 6e54433bc1 Implemented page sorting by title, URL and file name in the CMS back-end. Closes #84 2017-01-12 20:13:32 -08:00
Alexander Guth 7894284409 Add afterUpdate event (#2574)
Add afterUpdate event
2017-01-13 08:02:41 +11:00
Samuel Georges f9c659343b Further styling improvements
Refs #2575
2017-01-09 08:37:36 +11:00
Samuel Georges 62d7ff9532 Merge pull request #2575 from triasrahman/develop
Enhance usability of list pagination.
2017-01-09 07:51:01 +11:00
Pásztor Gábor 4172889c33 Fix image sizes in plugin details page. 2016-12-21 20:53:48 +01:00
Trias Nur Rahman 897c875fa9 Enhance usability of list pagination. 2016-12-21 21:50:44 +07:00
Samuel Georges b85c4f9b7b Improve list tree styling and minor fix
Fixes bug with non standard primary key on model when using tree mode
Fixes #2532
Recompile assets
2016-12-10 13:19:32 +11:00
Samuel Georges 78c64cf4a8 Minor revision to style fix
Refs #2542
2016-12-08 01:59:19 +11:00
Pásztor Gábor 8de7891bcc Style fix on secondary tabs. 2016-12-07 15:41:59 +01:00
Samuel Georges 7f38d9b6b3 Merge pull request #2537 from gpasztor87/patch-2
Style fix in popover.
2016-12-03 08:12:24 +11:00
Pásztor Gábor 98dc55f5ab Style fix in popover. 2016-12-02 21:56:59 +01: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
Samuel Georges 07ef1bdf2b Last checkbox/radio in last form group
Makes it look good
2016-11-23 07:53:10 +11:00
kaserv 4025b4885b fix for array fields validation in client-side framework 2016-11-22 17:04:41 +04:00
Samuel Georges b885ca0d24 Adds nowrap class & recompile less 2016-11-22 06:56:03 +11: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 5c5ffb7950 Merge pull request #2483 from henrydinhh/master
Add Vietnamese Map
2016-11-15 07:48:21 +11:00
Samuel Georges f4f7355bf2 A nested tab plugin's tabs are leaking in to the parent tab plugin.
Fixes #2481
2016-11-14 08:46:32 +11:00
Henry Dinh 4c34b798ce Add Vietnamese Map 2016-11-12 21:02:32 +07:00
Samuel Georges a2a0b207c6 Expose isCodeViewActive API function
Recompile JS
2016-11-12 14:12:48 +11:00
Samuel Georges 46c473e2f2 Fixes fetching multi tiered pivot relation values
Refs https://github.com/daftspunk/oc-crm-plugin/issues/3
Minor code clean on select.js
2016-11-08 07:02:31 +11:00
Samuel Georges 4aca2d40ff Remove "allowClear" and tidy up #2459
Allow clear is not necessary, equivalent of allowClear false is "placeholder" and allowClear true is "emptyOption".
2016-11-07 08:43:52 +11:00
Joseba Juániz 1ee0250441 Dropdown can support either placeholder / emptyOption
The difference between a placeholder and an emptyOption is that the placeholder cannot be reselected,whereas the emptyOption can.
Fixes #2450
2016-11-07 08:29:49 +11:00
Samuel Georges 6985139d44 Merge pull request #2463 from gpasztor87/line-chart-doc
Added line chart documentation
2016-11-07 08:06:38 +11:00
Pásztor Gábor 4685ea98c2 Added line chart documentation 2016-11-06 21:56:18 +01:00
Pásztor Gábor 98315b0f72 JS fixes and typo 2016-11-06 17:14:12 +01:00
Samuel Georges 57b10704ce Support for overriding list views
For consistency, entry partial for controller behaviors should be called "container"
Added addViewPath() method to ViewMaker
Remove "fa" from icon docs (not necessary)
Fixes #2439
2016-10-29 14:10:21 +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 2f8d8ffea6 Update select2 4.0.2 -> 4.0.3
This fixes the native focus event echoing to the select2 control, our workaround removed
2016-10-17 09:15:30 +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
Samuel Georges 622384d432 Improve changelog parsing
Recompile system LESS files
Refs #2414
2016-10-17 07:38:20 +11:00
Samuel Georges 7b8f17e6d1 Align number columns right as per docs
Fixes #2396
2016-10-14 08:07:49 +11:00