Nette helpers.
npm install @giantcz/nettesetComponents function to define components for replaced snippets.javascript
import { setComponents } from '@giantcz/nette';
setComponents(components);
` Functions
$3
Sends request and automatically processes the response. In a JSON response:
*
snippets get replaced and Gia components within are initialized
* url gets replaced in the URL bar with replaceState_method)
* redirect, when set, redirects page to this URL (hard reload) Accepts options object with defaults:
`javascript
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.
`javascript
request(options)
.then(({response, request}) => {
console.log(response);
console.log(request);
})
.catch(request => {
console.error(request);
});
`$3
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.
$3
Replaces the content of HTML snippets and initializes Gia components within.Accepts:
*
newContent - string of new content
* snippetName - snippet name (id attribute)Example:
`javascript
replaceSnippet('Content', 'snippet--paginator');
`$3
Accepts object and runs replaceSnippet for every record.
`javascript
replaceSnippets({
'snippets--paginator': 'Content',
});
`$3
Saves component constructors for further use when replacing snippets.
Function accepts object of components.`javascript
import { setComponents } from '@giantcz/nette';
setComponents(components);
` $3
Triggers event in Gia eventbus in a form of nette:[first parameter].
`javascript
triggerEvent("openPopup");
`$3
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.
`javascript
import { Snippet } from '@giantcz/nette';
const instance = new Snippet(element);instance.update = function({ element, newContent, snippetName }) {
...
}
``