@giantcz/nette

1.0.3 • Public • Published

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

Dependencies (1)

Dev Dependencies (4)

Package Sidebar

Install

npm i @giantcz/nette

Weekly Downloads

6

Version

1.0.3

License

MIT

Unpacked Size

12 kB

Total Files

3

Last publish

Collaborators

  • cirmaciu
  • gmrchk