diff --git a/src/core/remove.js b/src/core/remove.js deleted file mode 100644 index 1e9a5ecbc..000000000 --- a/src/core/remove.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Patterns remove - send event when objects are removed from the DOM - * - * Copyright 2012 Simplon B.V. - Wichert Akkerman - */ -import $ from "jquery"; - -var real_cleanData = $.cleanData; - -$.cleanData = function remove_cleanData(elems) { - var i, el; - for (i = 0; (el = elems[i]) !== undefined; i++) $(el).triggerHandler("destroy"); - real_cleanData.call(this, arguments); -}; diff --git a/src/core/url.js b/src/core/url.js deleted file mode 100644 index 601231d4f..000000000 --- a/src/core/url.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Patterns URL - URL parsing utilities - * - * Copyright 2013 Simplon B.V. - */ - -function UrlArgumentParser() { - this._cache = null; - if (window.addEventListener) window.addEventListener("popstate", this._reset); -} - -UrlArgumentParser.prototype = { - space_pattern: /\+/g, - keyvalue_pattern: /^(.+?)(?:=(.*))/, - - _reset: function UrlArgumentParser_reset() { - this._cache = null; - }, - - _decodeQS: function UrlArgumentParser_decodeQS(bit) { - return decodeURIComponent(bit.replace(this.space_pattern, " ")); - }, - - _parse: function UrlArgumentParser_parse(qs) { - var query = /\?(.+)/.exec(qs), - params = {}; - - if (query === null) return params; - - var parameters = query[1].split("&"), - i, - parts, - key, - value; - - for (i = 0; i < parameters.length; i++) { - if ((parts = this.keyvalue_pattern.exec(parameters[i])) === null) { - key = this._decodeQS(parameters[i]); - value = null; - } else { - key = this._decodeQS(parts[1]); - value = this._decodeQS(parts[2]); - } - - if (params[key] === undefined) params[key] = []; - params[key].push(value); - } - - return params; - }, - - get: function UrlArgumentParser_get() { - if (this._cache === null) this._cache = this._parse(window.location.search); - return this._cache; - }, -}; - -var url_parser = new UrlArgumentParser(); - -export default { - UrlArgumentParser: UrlArgumentParser, - parameters: url_parser.get.bind(url_parser), -}; diff --git a/src/core/url.test.js b/src/core/url.test.js deleted file mode 100644 index 1f99fc728..000000000 --- a/src/core/url.test.js +++ /dev/null @@ -1,68 +0,0 @@ -import url from "./url"; - -describe("Core / url / UrlArgumentParser", function () { - describe("_decodeQS", function () { - it("Basic string", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._decodeQS("Foo")).toBe("Foo"); - }); - - it("String with whitespace", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._decodeQS("Aap+Noot+Mies")).toBe("Aap Noot Mies"); - }); - - it("String with encoded characters", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._decodeQS("Jip%26Janneke")).toBe("Jip&Janneke"); - }); - }); - - describe("_parse", function () { - it("No query string", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._parse("")).toEqual({}); - }); - - it("No parameter specified", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._parse("?")).toEqual({}); - }); - - it("Parameter without value", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._parse("?key")).toEqual({ key: [null] }); - }); - - it("Parameter with empty value", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._parse("?key=")).toEqual({ key: [""] }); - }); - - it("Parameter with plain value", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._parse("?key=value")).toEqual({ key: ["value"] }); - }); - - it("Multiple parameters", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._parse("?one=en&two=to")).toEqual({ - one: ["en"], - two: ["to"], - }); - }); - - it("Parameter with multiple values", function () { - var parser = new url.UrlArgumentParser(); - expect(parser._parse("?key=value&key=other")).toEqual({ - key: ["value", "other"], - }); - }); - }); -}); - -describe("Core / url / parameters", function () { - it("Bound to working parser", function () { - expect(url.parameters()).not.toBe(undefined); - }); -}); diff --git a/src/pat/slides/slides.js b/src/pat/slides/slides.js index ece5cc7f6..a4a9d8d63 100644 --- a/src/pat/slides/slides.js +++ b/src/pat/slides/slides.js @@ -6,8 +6,6 @@ import $ from "jquery"; import registry from "../../core/registry"; import utils from "../../core/utils"; -import url from "../../core/url"; -import "../../core/remove"; var slides = { name: "slides", @@ -24,9 +22,9 @@ var slides = { } await import("slides/src/slides"); // loads ``Presentation`` globally. - var parameters = url.parameters(); - if (parameters.slides !== undefined) { - var requested_ids = slides._collapse_ids(parameters.slides); + const parameters = new URL(window.location.href).searchParams; + if (parameters.get("slides") !== null) { + var requested_ids = slides._collapse_ids(parameters.get("slides")); if (requested_ids) slides._remove_slides($el, requested_ids); } $el.each(function () {