summaryrefslogtreecommitdiff
path: root/help3xsl/help.js
blob: 59dd378c73b5562641ec54fe72f68d523d3192f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

// Pagination and fuzzy search
var url = window.location.pathname;
var moduleRegex = new RegExp('text\\/(\\w+)\\/');
var regexArray = moduleRegex.exec(url);
var currentModule = null;
// get the module name from the URL and remove the first character,
// but first deal with snowflake Base
if(url.indexOf('explorer/database/') !== -1) {
    currentModule = 'BASE';
} else {
    currentModule = regexArray[1].toUpperCase().substring(1);
}
var results = null;
var fullLinkified = '';
var modules = ['CALC', 'WRITER', 'IMPRESS', 'DRAW', 'BASE', 'MATH', 'CHART', 'BASIC', 'SHARED'];
var indexkids = function() { document.getElementsByClassName("index")[0].children; };
// if user is not on a shared category page, limit the index to the current module + shared
if(currentModule !== 'HARED') {
    bookmarks = bookmarks.filter(function(obj) {
            return obj['app'] === currentModule || obj['app'] === 'SHARED';
        });
}
bookmarks.forEach(function(obj) {
            fullLinkified += '<a href="' + obj['url'] + '" class="' + obj['app'] + '">' + obj['text'] + '</a>';
        });
function fullList() {
    document.getElementsByClassName("index")[0].innerHTML = fullLinkified;
    addIds();
    Paginator(document.getElementsByClassName("index")[0]);
}
// add id to the first items of each category in the index. CSS ::before rule adds the heading text
function addIds() {
    for (var i = 0, len = indexkids.length; i < len; i++) {
        indexkids[i].removeAttribute("id");
    }
    modules.forEach(function(module) {
        var moduleHeader = document.getElementsByClassName(module)[0];
        if (typeof moduleHeader !== 'undefined') {
            // let's wrap the header in a span, so the ::before element will not become a link
            moduleHeader.outerHTML = '<span id="' + module + '" class="' + module + '">' + moduleHeader.outerHTML + '</span>';
        }
    });
}
// render the unfiltered index list on page load
fullList();
// filter the index list based on search field input
var search = document.getElementById('search-bar');
var filter = function() {
    var target = search.value.trim();
    if (target.length < 1) {
        fullList();
        return;
    }
    results = fuzzysort.go(target, bookmarks, {threshold: -15000, key:'text'});
    var filtered = '';
    results.forEach(function(result) {
        filtered += '<a href="' + result.obj['url'] + '" class="' + result.obj['app'] + '">' + fuzzysort.highlight(result) + '</a>';
    });
    document.getElementsByClassName("index")[0].innerHTML = filtered;
    addIds();
    Paginator(document.getElementsByClassName("index")[0]);
};
function debounce(fn, wait) {
    var timeout;
    return function() {
        clearTimeout(timeout);
        timeout = setTimeout(function() {
            fn.apply(this, arguments);
        }, (wait || 150));
    };
}
search.addEventListener('keyup', debounce(filter, 100));

// copy pycode and bascode to clipboard on mouse click
// Show border when copy is done
divcopyable(document.getElementsByClassName("bascode"));
divcopyable(document.getElementsByClassName("pycode"));

function divcopyable(itemcopyable){
for (var i = 0, len = itemcopyable.length; i < len; i++) {
    (function() {
        var item = itemcopyable[i];

        function changeBorder(item, color, colorToChangeBackTo) {
            var saveBorder  = item.style.border;
            item.style.border = "solid 5px";
            item.style.borderColor = color;

            setTimeout(function() {
                item.style.border = saveBorder;
                item.style.borderColor = colorToChangeBackTo;
            }, 150);
        }
        item.onclick = function() {
            document.execCommand("copy");
            changeBorder(item, "#18A303", "transparent");
        };
        item.addEventListener("copy", function(event) {
            event.preventDefault();
            if (event.clipboardData) {
                event.clipboardData.setData("text/plain", item.textContent);
            }
        });
    }());
}
}

// copy useful content to clipboard on mouse click
var copyable = document.getElementsByClassName("input");
for (var i = 0, len = copyable.length; i < len; i++) {
    (function() {
        var item = copyable[i];

        function changeColor(item, color, colorToChangeBackTo) {
            item.style.backgroundColor = color;
            setTimeout(function() {
                item.style.backgroundColor = colorToChangeBackTo;
            }, 150);
        }
        item.onclick = function() {
            document.execCommand("copy");
            changeColor(item, "#18A303", "transparent");
        };
        item.addEventListener("copy", function(event) {
            event.preventDefault();
            if (event.clipboardData) {
                event.clipboardData.setData("text/plain", item.textContent);
            }
        });
    }());
}
// auto-expand contents per subitem
var pathname = window.location.pathname;
var pathRegex = /text\/.*\.html$/;
var linkIndex = 0;
var contentMatch = pathname.match(pathRegex);
function linksMatch(content) {
    var linkMatch = new RegExp(content);
    var links = document.getElementById("Contents").getElementsByTagName("a");
    for (var i = 0, len = links.length; i < len; i++) {
        if (links[i].href.match(linkMatch)) {
            return i;
        }
    }
}
linkIndex = linksMatch(contentMatch);
if (typeof linkIndex !== "undefined") {
    var current = document.getElementById("Contents").getElementsByTagName("a")[linkIndex];
    var cItem = current.parentElement;
    var parents = [];
    while (cItem.parentElement && !cItem.parentElement.matches("#Contents") && parents.indexOf(cItem.parentElement) == -1) {
        parents.push(cItem = cItem.parentElement);
    }
    var liParents = [].filter.call(parents, function(item) {
        return item.matches("li");
    });
    for (var i = 0, len = liParents.length; i < len; i++) {
        var input = liParents[i].querySelectorAll(':scope > input');
        document.getElementById(input[0].id).checked = true;
    }
    current.classList.add('contents-current');
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
reoffice-5-4-2'>libreoffice-5-4-2 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/cli_ure
AgeCommit message (Expand)Author
2013-10-28gbuild: set Package default target to INSTDIRMichael Stahl
2013-10-28cli_ure: remove Package_configMichael Stahl
2013-10-28gbuild: refactor CliLibraryMichael Stahl
2013-10-28fdo#69601: refactor CliNativeLibraryMichael Stahl
2013-09-26typo fixes in commentsAndras Timar
2013-09-23Fixes for cross-compilation on OS X (to iOS)Tor Lillqvist
2013-09-22cli_ure: copy cli_basetypes to INSTDIR/sdk/binMichael Stahl
2013-09-22cli_ure: cleanup in Library_cli_cppuhelper_nativeMichael Stahl
2013-08-31fix existing commentsPhilipp Riemer
2013-08-31fix indentationPhilipp Riemer
2013-08-31fdo#62475 - remove visual noisePhilipp Riemer
2013-08-22Missing dependency (see "#using <cli_basetypes.dll>" in climaker_share.h)Stephan Bergmann
2013-08-20Re-work 8bit characters in source code, or remove them.Michael Meeks
2013-06-10gbuild: remove external_headers targetsMatúš Kukan
2013-06-03re-base on ALv2 code. Includes:Michael Meeks
2013-05-28Source files shouldn't have executable bit set.Mark Wielaard
2013-04-29Remove dependency of climaker on registry formatStephan Bergmann
2013-04-25Fix compilation error after fe4ffd81045144ffb8d69ae9e5df7ef191005128Tor Lillqvist
2013-04-24fdo#61503 fix cli_cppuhelper bootstrap errorPeter Foley
2013-04-22Revert "Revert "WIP: Experimental new binary type.rdb format""Stephan Bergmann
2013-04-19remove unused component_canUnload functionsMatúš Kukan
2013-04-19cli_ure: remove obsolete USE_DEBUG_RUNTIME check for msvcmrtMichael Stahl
2013-04-16Adapt to prefixed bootstrap_component_getFactoryStephan Bergmann
2013-04-07Fixed 4 spelling errors in the comments.Golnaz Irannejad
2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák