diff --git a/assets/ts_src/ajax_ui.js b/assets/ts_src/ajax_ui.js deleted file mode 100644 index 1bf94e3a..00000000 --- a/assets/ts_src/ajax_ui.js +++ /dev/null @@ -1,304 +0,0 @@ -"use strict"; -/* - * - * part-db version 0.1 - * Copyright (C) 2005 Christoph Lechner - * http://www.cl-projects.de/ - * - * part-db version 0.2+ - * Copyright (C) 2009 K. Jacobs and others (see authors.php) - * http://code.google.com/p/part-db/ - * - * Part-DB Version 0.4+ - * Copyright (C) 2016 - 2019 Jan Böhmer - * https://github.com/jbtronics - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - * - */ -Object.defineProperty(exports, "__esModule", { value: true }); -var Cookies = require("js-cookie"); -/** - * Extract the title (The name between the tags) of a HTML snippet. - * @param {string} html The HTML code which should be searched. - * @returns {string} The title extracted from the html. - */ -function extractTitle(html) { - var title = ""; - var regex = /<title>(.*?)<\/title>/gi; - if (regex.test(html)) { - var matches = html.match(regex); - for (var match in matches) { - title = $(matches[match]).text(); - } - } - return title; -} -var AjaxUI = /** @class */ (function () { - function AjaxUI() { - this.BASE = "/"; - this.trees_filled = false; - this.statePopped = false; - //Make back in the browser go back in history - window.onpopstate = this.onPopState; - $(document).ajaxError(this.onAjaxError.bind(this)); - //$(document).ajaxComplete(this.onAjaxComplete.bind(this)); - } - /** - * Starts the ajax ui und execute handlers registered in addStartAction(). - * Should be called in a document.ready, after handlers are set. - */ - AjaxUI.prototype.start = function () { - console.info("AjaxUI started!"); - this.BASE = $("body").data("base-url") + "/"; - console.info("Base path is " + this.BASE); - this.registerLinks(); - this.registerForm(); - this.fillTrees(); - }; - /** - * Fill the trees with the given data. - */ - AjaxUI.prototype.fillTrees = function () { - var categories = Cookies.get("tree_datasource_tree-categories"); - var devices = Cookies.get("tree_datasource_tree-devices"); - var tools = Cookies.get("tree_datasource_tree-tools"); - if (typeof categories == "undefined") { - categories = "categories"; - } - if (typeof devices == "undefined") { - devices = "devices"; - } - if (typeof tools == "undefined") { - tools = "tools"; - } - this.treeLoadDataSource("tree-categories", categories); - this.treeLoadDataSource("tree-devices", devices); - this.treeLoadDataSource("tree-tools", tools); - this.trees_filled = true; - //Register tree btns to expand all, or to switch datasource. - $(".tree-btns").click(function (event) { - event.preventDefault(); - $(this).parents("div.dropdown").removeClass('show'); - //$(this).closest(".dropdown-menu").removeClass('show'); - $(".dropdown-menu.show").removeClass("show"); - var mode = $(this).data("mode"); - var target = $(this).data("target"); - var text = $(this).text() + " \n<span class='caret'></span>"; //Add caret or it will be removed, when written into title - if (mode === "collapse") { - // @ts-ignore - $('#' + target).treeview('collapseAll', { silent: true }); - } - else if (mode === "expand") { - // @ts-ignore - $('#' + target).treeview('expandAll', { silent: true }); - } - else { - Cookies.set("tree_datasource_" + target, mode); - exports.ajaxUI.treeLoadDataSource(target, mode); - } - return false; - }); - }; - /** - * Load the given url into the tree with the given id. - * @param target_id - * @param datasource - */ - AjaxUI.prototype.treeLoadDataSource = function (target_id, datasource) { - var text = $(".tree-btns[data-mode='" + datasource + "']").html(); - text = text + " \n<span class='caret'></span>"; //Add caret or it will be removed, when written into title - switch (datasource) { - case "categories": - exports.ajaxUI.initTree("#" + target_id, 'tree/categories/'); - break; - case "locations": - exports.ajaxUI.initTree("#" + target_id, 'tree/locations'); - break; - case "footprints": - exports.ajaxUI.initTree("#" + target_id, 'tree/footprints'); - break; - case "manufacturers": - exports.ajaxUI.initTree("#" + target_id, 'tree/manufacturers'); - break; - case "suppliers": - exports.ajaxUI.initTree("#" + target_id, 'tree/suppliers'); - break; - case "tools": - exports.ajaxUI.initTree("#" + target_id, 'tree/tools/'); - break; - case "devices": - exports.ajaxUI.initTree("#" + target_id, 'tree/devices'); - break; - } - $("#" + target_id + "-title").html(text); - }; - /** - * Fill a treeview with data from the given url. - * @param tree The Jquery selector for the tree (e.g. "#tree-tools") - * @param url The url from where the data should be loaded - */ - AjaxUI.prototype.initTree = function (tree, url) { - //let contextmenu_handler = this.onNodeContextmenu; - $.getJSON(exports.ajaxUI.BASE + url, function (data) { - // @ts-ignore - $(tree).treeview({ - data: data, - enableLinks: false, - showIcon: false, - showBorder: true, - onNodeSelected: function (event, data) { - if (data.href) { - exports.ajaxUI.navigateTo(data.href); - } - }, - //onNodeContextmenu: contextmenu_handler, - expandIcon: "fas fa-plus fa-fw fa-treeview", collapseIcon: "fas fa-minus fa-fw fa-treeview" - }).treeview('collapseAll', { silent: true }); - }); - }; - /** - * Register all links, for loading via ajax. - */ - AjaxUI.prototype.registerLinks = function () { - $('a').not(".link-external, [data-no-ajax]").click(function (event) { - var a = $(this); - var href = $.trim(a.attr("href")); - //Ignore links without href attr and nav links ('they only have a #) - if (href != null && href != "" && href.charAt(0) !== '#') { - event.preventDefault(); - exports.ajaxUI.navigateTo(href); - } - }); - console.debug('Links registered!'); - }; - /** - * Register all forms for loading via ajax. - */ - AjaxUI.prototype.registerForm = function () { - var options = { - success: this.onAjaxComplete, - beforeSubmit: function (arr, $form, options) { - //When data-with-progbar is specified, then show progressbar. - if ($form.data("with-progbar") != undefined) { - exports.ajaxUI.showProgressBar(); - } - return true; - } - }; - $('form').not('[data-no-ajax]').ajaxForm(options); - console.debug('Forms registered!'); - }; - AjaxUI.prototype.showProgressBar = function () { - //Blur content background - $('#content').addClass('loading-content'); - // @ts-ignore - $('#progressModal').modal({ - keyboard: false, - backdrop: false, - show: true - }); - }; - AjaxUI.prototype.hideProgressBar = function () { - // @ts-ignore - $('#progressModal').modal('hide'); - //Remove the remaining things of the modal - $('.modal-backdrop').remove(); - $('body').removeClass('modal-open'); - $('body, .navbar').css('padding-right', ""); - }; - /** - * Navigates to the given URL - * @param url The url which should be opened. - * @param show_loading Show the loading bar during loading. - */ - AjaxUI.prototype.navigateTo = function (url, show_loading) { - if (show_loading === void 0) { show_loading = true; } - if (show_loading) { - this.showProgressBar(); - } - $.ajax(url, { - success: this.onAjaxComplete - }); - //$.ajax(url).promise().done(this.onAjaxComplete); - }; - /** - * Called when an error occurs on loading ajax. Outputs the message to the console. - */ - AjaxUI.prototype.onAjaxError = function (event, request, settings) { - 'use strict'; - //Ignore aborted requests. - if (request.statusText == 'abort') { - return; - } - console.error("Error getting the ajax data from server!"); - console.log(event); - console.log(request); - console.log(settings); - //If it was a server error and response is not empty, show it to user. - if (request.status == 500 && request.responseText !== "") { - console.log("Response:" + request.responseText); - } - }; - /** - * This function gets called every time, the "back" button in the browser is pressed. - * We use it to load the content from history stack via ajax and to rewrite url, so we only have - * to load #content-data - * @param event - */ - AjaxUI.prototype.onPopState = function (event) { - var page = location.href; - exports.ajaxUI.statePopped = true; - exports.ajaxUI.navigateTo(page); - }; - /** - * This function takes the response of an ajax requests, and does the things we need to do for our AjaxUI. - * This includes inserting the content and pushing history. - * @param responseText - * @param textStatus - * @param jqXHR - */ - AjaxUI.prototype.onAjaxComplete = function (responseText, textStatus, jqXHR) { - console.debug("Ajax load completed!"); - exports.ajaxUI.hideProgressBar(); - //Parse response to DOM structure - var dom = $.parseHTML(responseText); - //And replace the content container - $("#content").replaceWith($("#content", dom)); - //Replace login menu too (so everything is up to date) - $("#login-content").replaceWith($('#login-content', dom)); - //Replace flash messages and show them - $("#message-container").replaceWith($('#message-container', dom)); - $(".toast").toast('show'); - //Set new title - var title = extractTitle(responseText); - document.title = title; - //Push to history, if we currently arent poping an old value. - if (!exports.ajaxUI.statePopped) { - // @ts-ignore - history.pushState(null, title, this.url); - } - else { - //Clear pop state - exports.ajaxUI.statePopped; - } - //Do things on the new dom - exports.ajaxUI.registerLinks(); - exports.ajaxUI.registerForm(); - }; - return AjaxUI; -}()); -exports.ajaxUI = new AjaxUI(); -//# sourceMappingURL=ajax_ui.js.map \ No newline at end of file diff --git a/assets/ts_src/ajax_ui.js.map b/assets/ts_src/ajax_ui.js.map deleted file mode 100644 index aa016c85..00000000 --- a/assets/ts_src/ajax_ui.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ajax_ui.js","sourceRoot":"","sources":["ajax_ui.ts"],"names":[],"mappings":"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"} \ No newline at end of file