PageSourceSearch

https://rsez.lv/wp-content/plugins/codespacing-progress-map/assets…/jquery-sidebar/jquery.sidebar.js?ver=5.7.1

js rsez.lv collected 2026-10-02 19:11:08 UTC 4,510 bytes, 150 lines download raw bytes

1/*!
2 *  jQuery sidebar plugin
3 *  ---------------------
4 *  A stupid simple sidebar jQuery plugin.
5 *
6 *  Developed with <3 and JavaScript by the jillix developers.
7 *  Copyright (c) 2013-15 jillix
8 * */
9(function($) {
10
11    /**
12     * sidebar
13     * Initialize sidebar on selected elements.
14     *
15     * ```js
16     * $(".my-sidebar").sidebar({...});
17     * ```
18     *
19     * After the call above, you can programatically open/close/toggle the sidebar using:
20     *
21     * ```js
22     * $(".my-sidebar").trigger("sidebar:open");
23     * $(".my-sidebar").trigger("sidebar:close");
24     * $(".my-sidebar").trigger("sidebar:toggle");
25     * $(".my-sidebar").trigger("sidebar:close", [{ speed: 0 }]);
26     * ```
27     *
28     * After the sidebar is opened/closed, `sidebar:opened`/`sidebar:closed` event is emitted.
29     *
30     * ```js
31     * $(".my-sidebar").on("sidebar:opened", function () {
32     *    // Do something on open
33     * });
34     *
35     * $(".my-sidebar").on("sidebar:closed", function () {
36     *    // Do something on close
37     * });
38     * ```
39     *
40     * @name sidebar
41     * @function
42     * @param {Object} options An object that will be merged with the default options.
43     *
44     *  - `speed` (Number): animation speed (default: `200`)
45     *  - `side` (String): left|right|top|bottom (default: `"left"`)
46     *  - `isClosed` (Boolean): A boolean value indicating if the sidebar is closed or not (default: `false`).
47     *  - `close` (Boolean): If `true`, the sidebar will be closed by default.
48     *
49     * @return {jQuery} The jQuery elements that were selected.
50     */
51    $.fn.sidebar = function(options) {
52
53        var self = this;
54        if (self.length > 1) {
55            return self.each(function () {
56                $(this).sidebar(options);
57            });
58        }
59
60        // Width, height
61        var width = self.outerWidth();
62        var height = self.outerHeight();
63
64        // Defaults
65        var settings = $.extend({
66
67            // Animation speed
68            speed: 200,
69
70            // Side: left|right|top|bottom
71            side: "left",
72
73            // Is closed
74            isClosed: false,
75
76            // Should I close the sidebar?
77            close: true
78
79        }, options);
80
81        /*!
82         *  Opens the sidebar
83         *  $([jQuery selector]).trigger("sidebar:open");
84         * */
85        self.on("sidebar:open", function(ev, data) {
86            var properties = {};
87            properties[settings.side] = 0;
88            settings.isClosed = null;
89            self.stop().show('fast').animate(properties, $.extend({}, settings, data).speed, function() {
90                settings.isClosed = false;
91                self.trigger("sidebar:opened");
92            });
93        });
94
95
96        /*!
97         *  Closes the sidebar
98         *  $("[jQuery selector]).trigger("sidebar:close");
99         * */
100        self.on("sidebar:close", function(ev, data) {
101            var properties = {};
102            if (settings.side === "left" || settings.side === "right") {
103                properties[settings.side] = -self.outerWidth();
104            } else {
105                properties[settings.side] = -self.outerHeight();
106            }
107            settings.isClosed = null;
108            self.stop().animate(properties, $.extend({}, settings, data).speed, function() {
109                settings.isClosed = true;
110                self.trigger("sidebar:closed");
111				self.hide();
112            });
113        });
114
115        /*!
116         *  Toggles the sidebar
117         *  $("[jQuery selector]).trigger("sidebar:toggle");
118         * */
119        self.on("sidebar:toggle", function(ev, data) {
120            if (settings.isClosed) {
121                self.trigger("sidebar:open", [data]);
122            } else {
123                self.trigger("sidebar:close", [data]);
124            }
125        });
126
127        function closeWithNoAnimation() {
128            self.trigger("sidebar:close", [{
129                speed: 0
130            }]);
131        }
132
133        // Close the sidebar
134        if (!settings.isClosed && settings.close) {
135            closeWithNoAnimation();
136        }
137
138        $(window).on("resize", function () {
139            if (!settings.isClosed) { return; }
140            closeWithNoAnimation();
141        });
142
143        self.data("sidebar", settings);
144
145        return self;
146    };
147
148    // Version
149    $.fn.sidebar.version = "3.3.2";
150})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.