Convert Snowboard requests to classes

For some reason, these were not true importable classes as they were using the global Snowboard variable, so they couldn't be used in custom Snowboard builds.

I've created two new build files that use the same names as the previous builds, so this should be BC, but the source files are now true classes so they can be imported at will.
This commit is contained in:
Ben Thomson 2023-04-05 09:47:56 +08:00
parent 16cdf50fc0
commit 56b7a8f47f
No known key found for this signature in database
GPG Key ID: 0A69F8158AC76410
11 changed files with 34 additions and 24 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,5 @@
import PluginBase from '../abstracts/PluginBase';
/**
* Request plugin.
*
@ -6,11 +8,7 @@
* @copyright 2021 Winter.
* @author Ben Thomson <git@alfreido.com>
*/
if (window.Snowboard === undefined) {
throw new Error('Snowboard must be loaded in order to use the Request plugin.');
}
class Request extends Snowboard.PluginBase {
export default class Request extends PluginBase {
/**
* Constructor.
*
@ -853,5 +851,3 @@ class Request extends Snowboard.PluginBase {
return /^(?:\w+:{2})?on[A-Z0-9]/.test(name);
}
}
Snowboard.addPlugin('request', Request);

View File

@ -1,3 +1,5 @@
import Singleton from '../../abstracts/Singleton';
/**
* Enable Data Attributes API for AJAX requests.
*
@ -8,11 +10,7 @@
* @copyright 2021 Winter.
* @author Ben Thomson <git@alfreido.com>
*/
if (window.Snowboard === undefined) {
throw new Error('Snowboard must be loaded in order to use the Data Attributes plugin.');
}
class AttributeRequest extends Snowboard.Singleton {
export default class AttributeRequest extends Singleton {
/**
* Listeners.
*
@ -331,5 +329,3 @@ class AttributeRequest extends Snowboard.Singleton {
}
}
}
Snowboard.addPlugin('attributeRequest', AttributeRequest);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,9 @@
import AttributeRequest from './ajax/handlers/AttributeRequest';
if (window.Snowboard === undefined) {
throw new Error('Snowboard must be loaded in order to use the HTML data attribute AJAX request feature.');
}
((Snowboard) => {
Snowboard.addPlugin('attributeRequest', AttributeRequest);
})(window.Snowboard);

View File

@ -0,0 +1,9 @@
import Request from './ajax/Request';
if (window.Snowboard === undefined) {
throw new Error('Snowboard must be loaded in order to use the Javascript AJAX request feature.');
}
((Snowboard) => {
Snowboard.addPlugin('request', Request);
})(window.Snowboard);

View File

@ -23,7 +23,7 @@ mix
.js(
[
'./assets/js/snowboard/snowboard.base.js',
'./assets/js/snowboard/ajax/Request.js',
'./assets/js/snowboard/snowboard.request.js',
'./assets/js/snowboard/snowboard.backend.extras.js',
],
'./assets/js/build/system.js',
@ -31,7 +31,7 @@ mix
.js(
[
'./assets/js/snowboard/snowboard.base.debug.js',
'./assets/js/snowboard/ajax/Request.js',
'./assets/js/snowboard/snowboard.request.js',
'./assets/js/snowboard/snowboard.backend.extras.js',
],
'./assets/js/build/system.debug.js',
@ -47,11 +47,11 @@ mix
'./assets/js/snowboard/build/snowboard.base.debug.js',
)
.js(
'./assets/js/snowboard/ajax/Request.js',
'./assets/js/snowboard/snowboard.request.js',
'./assets/js/snowboard/build/snowboard.request.js',
)
.js(
'./assets/js/snowboard/ajax/handlers/AttributeRequest.js',
'./assets/js/snowboard/snowboard.data-attr.js',
'./assets/js/snowboard/build/snowboard.data-attr.js',
)
.js(