xref: /freebsd/contrib/libxo/xohtml/xohtml.js (revision 8f0ea33f2bbf3a6aa80235f0a02fa5f2780c2b17)
1*31337658SMarcel MoolenaarjQuery(function($) {
2*31337658SMarcel Moolenaar    setTimeout(function() {
3*31337658SMarcel Moolenaar        var $top = $("html body");
4*31337658SMarcel Moolenaar        $top.find('[class~="data"]').each(function() {
5*31337658SMarcel Moolenaar            var help = $(this).attr('data-help'),
6*31337658SMarcel Moolenaar                type = $(this).attr('data-type'),
7*31337658SMarcel Moolenaar                xpath = $(this).attr('data-xpath'),
8*31337658SMarcel Moolenaar                tag = $(this).attr('data-tag'),
9*31337658SMarcel Moolenaar                output = "";
10*31337658SMarcel Moolenaar            if (help) {
11*31337658SMarcel Moolenaar                output += "<b>Help</b>: " + help  + "<br/>";
12*31337658SMarcel Moolenaar            }
13*31337658SMarcel Moolenaar            if (type) {
14*31337658SMarcel Moolenaar                output += "<b>Type</b>: " + type  + "<br/>";
15*31337658SMarcel Moolenaar            }
16*31337658SMarcel Moolenaar            if (xpath) {
17*31337658SMarcel Moolenaar                output += "<div class='xpath-wrapper'>"
18*31337658SMarcel Moolenaar                    + "<a class='xpath-link' href='#'>"
19*31337658SMarcel Moolenaar                    + "show xpath</a><div class='xpath'>"
20*31337658SMarcel Moolenaar                    + xpath + "</div></div><br/>";
21*31337658SMarcel Moolenaar            }
22*31337658SMarcel Moolenaar            if (output.length > 0) {
23*31337658SMarcel Moolenaar                output = "<div>" + output + "</div>";
24*31337658SMarcel Moolenaar            }
25*31337658SMarcel Moolenaar
26*31337658SMarcel Moolenaar            $(this).qtip({
27*31337658SMarcel Moolenaar                content: {
28*31337658SMarcel Moolenaar                    title: "<b>" + tag + "</b>",
29*31337658SMarcel Moolenaar                    text: function () {
30*31337658SMarcel Moolenaar                        var div = $(output);
31*31337658SMarcel Moolenaar                        div.find(".xpath-link")
32*31337658SMarcel Moolenaar                        .click(function() {
33*31337658SMarcel Moolenaar                            var xpath = $(this).next();
34*31337658SMarcel Moolenaar                            if (xpath.is(":hidden")) {
35*31337658SMarcel Moolenaar                                xpath.show();
36*31337658SMarcel Moolenaar                                $(this).text("hide xpath");
37*31337658SMarcel Moolenaar                            } else {
38*31337658SMarcel Moolenaar                                xpath.hide();
39*31337658SMarcel Moolenaar                                $(this).text("show xpath");
40*31337658SMarcel Moolenaar                            }
41*31337658SMarcel Moolenaar                            return false;
42*31337658SMarcel Moolenaar                        });
43*31337658SMarcel Moolenaar                        return div;
44*31337658SMarcel Moolenaar                    }
45*31337658SMarcel Moolenaar                },
46*31337658SMarcel Moolenaar                hide: {
47*31337658SMarcel Moolenaar                    fixed: true,
48*31337658SMarcel Moolenaar                    delay: 300
49*31337658SMarcel Moolenaar                },
50*31337658SMarcel Moolenaar                style: "qtip-tipped"
51*31337658SMarcel Moolenaar            });
52*31337658SMarcel Moolenaar        });
53*31337658SMarcel Moolenaar    }, 0);
54*31337658SMarcel Moolenaar});