Skip to content

giantcz/nette

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nette helpers

Prerequisites

Include setComponents function to define components for replaced snippets.

import { setComponents } from '@giantcz/nette';
setComponents(components);

Functions

request

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
  • redirect, 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);
    });

send

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.

replaceSnippet

Replaces the content of HTML snippets and initializes Gia components within.

Accepts:

  • newContent - string of new content
  • snippetName - snippet name (id attribute)

Example:

replaceSnippet('<div>Content</div>', 'snippet--paginator');

replaceSnippets

Accepts object and runs replaceSnippet for every record.

replaceSnippets({
    'snippets--paginator': '<div>Content</div>',
});

setComponents

Saves component constructors for further use when replacing snippets. Function accepts object of components.

import { setComponents } from '@giantcz/nette';
setComponents(components);

triggerEvent

Triggers event in Gia eventbus in a form of nette:[first parameter].

triggerEvent("openPopup");

Snippet

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 }) {
    ...
}

Releases

No releases published

Packages

No packages published