Include setComponents
function to define components for replaced snippets.
import { setComponents } from '@giantcz/nette';
setComponents(components);
Sends request and automatically processes the response.
In a JSON response:
snippets
get replaced and Gia components within are initializedurl
gets replaced in the URL bar with replaceStateredirect
, when set, redirects page to this URL (hard reload)
Accepts options object with defaults:
const options = {
url: window.location.pathname + window.location.search,
method: "GET",
data: null
}
request(options);
Function returns Promise of the request that can be further used for processing.
request(options)
.then(({response, request}) => {
console.log(response);
console.log(request);
})
.catch(request => {
console.error(request);
});
Accepts element (a
or form
) and makes Ajax request.
For a
, request is made to the URL defined in href
attribute.
For form
, request is with a form submission.
In case any form
includes any element with class has-error
, the sending is cancelled.
Function also returns Promise of the request.
Replaces the content of HTML snippets and initializes Gia components within.
Accepts:
newContent
- string of new contentsnippetName
- snippet name (id
attribute)
Example:
replaceSnippet('<div>Content</div>', 'snippet--paginator');
Accepts object and runs replaceSnippet for every record.
replaceSnippets({
'snippets--paginator': '<div>Content</div>',
});
Saves component constructors for further use when replacing snippets. Function accepts object of components.
import { setComponents } from '@giantcz/nette';
setComponents(components);
Triggers event in Gia eventbus in a form of nette:[first parameter]
.
triggerEvent("openPopup");
When initialized over an element, the instance is saved inside of the element. If the instance exists, it's update
method is used for processing of the content replacement of snippet.
import { Snippet } from '@giantcz/nette';
const instance = new Snippet(element);
instance.update = function({ element, newContent, snippetName }) {
...
}