| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // @require variables:
- if ('undefined' === typeof JS_FUNCTION_NAME) throw "Missing JS_FUNCTION_NAME";
- if ('undefined' === typeof URL_GET_TABLE_TOOLS) throw "Missing URL_GET_TABLE_TOOLS";
- function toggleTableTools(n) {
- var $n = jQuery(n);
- var $ul = $n.next();
- if ($n.data('fetched')) return false;
- function renderTableToolsData(tableTools) {
- var procesInitMapHtml = '';
- if (!tableTools) {
- return '<li><a href="#">' + "Brak danych" + '</a></li>';
- } else if (!tableTools.length) {
- return '<li><a href="#">' + "Brak narzędzi dla tej tabeli" + '</a></li>';
- } else {
- return tableTools.map(function (tool) {
- return '<li><a href="' + tool.url + '">' + tool.label + '</a></li>';
- })
- }
- return procesInitMapHtml;
- }
- window.fetch(URL_GET_TABLE_TOOLS, {
- method: 'GET',
- credentials: 'same-origin',
- }).then(function (response) {
- return response.json()
- }).then(function (data) {
- var type = data.type || null
- var msg = data.msg || "Error"
- var tableTools = (data.body && data.body.tableTools) ? data.body.tableTools : null
- if (type) {
- if ('success' == type) {
- $ul.html(renderTableToolsData(tableTools));
- } else if ('error' == type) {
- $ul.html('<li><a href="#">' + msg + '</a></li>');
- } else {
- $ul.html('<li><a href="#">Wystapił błąd podczas pobierania listy narzędzi</a></li>');
- }
- } else {
- $ul.html('<li><a href="#">Wystapił błąd podczas pobierania listy narzędzi</a></li>');
- }
- $n.data('fetched', true);
- }).catch(function (e) {
- console.warn(e)
- })
- return false;
- }
- global[JS_FUNCTION_NAME] = toggleTableTools
|