astatine v1.2.0
Astatine
Astatine - A Small Ajax and HTML Form Library. Library entry point. Globally available by using Astatine or At.
Overview
- 3KB uncompressed
- Install
npm install astatine - Link
astatine.min.js - ES5 browsers and up. (Probably older ones but who cares about those)
TODO
- File Upload
API
Astatine.setup.spinner
Sets up spinner color, thickness, and size. Defaults are listed bellow. Do this before any Astatine or At operations.
Example
Astatine.setup.spinner.size = '3px';
Astatine.setup.spinner.thickness = '15px';
Astatine.setup.spinner.colorTop = 'darkgray';
Astatine.setup.spinner.colorBottom = 'lightgray';Astatine.submit(options)
Listens on a form element for submit event to be fired.
Special Features
radiowill only appear if it is checked.checkboxwill either betrueorfalse.type="submit"will automatically hide. And a spinner will show on submit..spinnerwill automatically created and make visible a spinner.
Options
The options object accepts all items form the Astatine.ajax method. Please review that section for more detail.
action: StringResource action url. Requiredquery: String | ElementQuery selector or element. Requiredmethod: StringValid methods get, post, put, delete. Requiredreset: BooleanResets form after submit success. Defaults to true.complete: FunctionParameters are the XHR. Required -errorAn xhr object -successAn xhr objectprepare: FunctionAllows the ability to edit/validate the option.data object before complete/post. -data: ObjectThe form data object. -resolve: FunctionAsync resolve function requires the data as a parameter. -reject: FunctionAsync reject passes its parameter to the complete function as an error.
Example
<form class="form" method="post" action="/post/path">
<input type="text" name="name" placeholder="Name" required>
<input type="submit" value="Submit"/>
</form>Astatine.submit({
query: '.form',
prepare: function (data, resolve, reject) {
data.foo = 'bar'; // manipulate data before send
// return data;
setTimeout(function () {
if (true) resolve(data); // async resolve
else reject({ response: 'rejected' }); // async reject
}, 1000);
},
complete: function (error, success) {
if (error) console.log(error);
else console.log(success);
}
});Astatine.ajax(options)
Ajax is a lower level utility function that allows for more control but less features than the submit method.
Options
action: StringResource action url. Requiredmethod: StringValid methods get, post, put, delete. Requiredsuccess: FunctionRequirederror: FunctionRequireddata: ObjectIf method isGETthan data is concatenated to theaction/urlas parameters.requestType: StringConverts the request data before sending. -script'text/javascript, application/javascript, application/x-javascript' -json'application/json' stringifyoptions.data-xml'application/xml, text/xml' -html'text/html' -text'text/plain' - DEFAULT 'application/x-www-form-urlencoded' serializedoptions.dataresponseType: StringConverts the response data after sending. -script'text/javascript, application/javascript, application/x-javascript' -json'application/json' -xml'application/xml, text/xml' -html'text/html' -text'text/plain'contentType: StringShort hand to set the Content-Type Headers. (For request)accept: StringShort hand to set the Accept Headers. (For response)mimeType: StringOverwrites return type.username: Stringpassword: StringwithCredentials: Booleanheaders: ObjectA low level headers object it will map directly to the XHR header. The Will overwrite any above options.
Example
Astatine.ajax({
method: 'get',
action: '/examples/index.html',
data: { name: 'stuff' },
success: function (xhr) {
console.log(xhr);
},
error: function (xhr) {
console.log(xhr);
}
});Astatine.formData(element)
Parameter
ObjectDOM element
Example
var objectData = Astatine.formData(element);Astatine.serialize(data)
Parameter
ObjectSingle level deep key value pare
Example
var stringData = Astatine.serialize(data);License
Licensed Under MPL 2.0 Copyright 2016 Alexander Elias
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
13 years ago
13 years ago
13 years ago
13 years ago