PageSourceSearch

https://seethroughny.net/js/stnyValueAlert.js

js seethroughny.net collected 2026-10-04 00:24:50 UTC 5,818 bytes, 179 lines download raw bytes

1stnyValueAlert = {
2    container_id: "#value_alert_container",
3
4    showAlert: function(){
5        var heading = $('h4', $(this.container_id));
6        if($('.alert', $(this.container_id)).length > 0)
7        {
8            heading.show();
9            $("#filter-criteria-container").show();
10        } else {
11            heading.hide();
12            $("#filter-criteria-container").hide();
13        }
14    },
15
16    addAlertContainer: function(el, cid, heading){
17        //$('<div class="alert alert-info alert-dismissible" role="alert">')
18        var alr_container = $('#' + cid + '_alert', el);
19
20        if(alr_container.children().length == 0)
21        {
22            alr_container = $('<div class="alert alert-info alert-dismissible" role="alert" />');
23            alr_container.append("<ul />");
24        }
25
26        alr_container.attr('id', cid + "_alert");
27
28        var label = $('<strong />').text(heading + ": ");
29        alr_container.prepend(label);
30        el.append(alr_container);
31
32        return alr_container;
33    },
34
35    clearAlert: function(el){
36        var self = $(el);
37        var val = self.attr('stny-filter-value');
38        var prop = self.attr('stny-filter-criteria-id');
39        var criteria = self.attr('stny-filter-criteria');
40        criteria = criteria.split('.');
41        var filterHeader =  self.attr('stny-filter-header');
42        var heading = self.attr('stny-filter-heading');
43        var widget = self.attr('stny-filter-widget').split('.');
44        var header = $('#' + filterHeader);
45        var li = self.parent().parent();
46
47
48        var elLabel = $("span#" + prop + ".label");
49        var vid = elLabel.attr('id');
50
51        $('span#' + vid + '.label div.closeit').trigger('click');
52
53        if(li.siblings().length == 0){
54            li.parent().parent().remove();
55        } else {
56            li.remove();
57        }
58
59        this.showAlert();
60    },
61
62    getAlert: function(label, oid, criteria, widget, heading){
63        var cont = $("<span />");
64
65        if(widget.join('.') == 'select.single.selectmenu') {
66            var inst = $('select[stny-filter-heading="' + heading + '"] option:selected');
67            debug.log(inst);
68            var txt = inst.text();
69        } else {
70            var txt = label;
71        }
72
73        //var a = $("<a />");
74        var a = $('<a class="btn-remove-alert" href="#"' +
75        'stny-filter-heading="' + heading + '"' +
76        'stny-filter-value="' + label + '"' +
77        'stny-filter-criteria="'+ criteria.join('.') + '" ' +
78        'stny-filter-widget="'+ widget.join('.') + '" ' +
79        'stny-filter-criteria-id="' + oid + '"' +
80        'data-toggle="tooltip" data-placement="top" title="Click to remove from filter"' + ' />');
81        a.attr({
82            id: oid + "_alert",
83            onclick: 'stnyValueAlert.clearAlert(this);return false;'
84        });
85
86        if(widget[0] == "select" && widget[1] == "multi"){
87            a.attr('onclick', 'stnyEvent.clearMultiSelect($("li[stny-filter-criteria-id=\'' + oid + '\']"));return false;');
88        }
89
90        a.text(txt);
91        cont.append(a);
92
93        return cont;
94    },
95
96    addMultiSelectAlert: function(label, oid, criteria, widget, heading){
97        var model = window[criteria[0]];
98        var data = model.data[criteria[1]];
99        var alert_container = $("#" + criteria[1]  + "_alert");
100
101        if($(alert_container).length == 0){
102            var alert_container = this.addAlertContainer(alert_container, criteria[1], heading);
103        }
104
105        var ul = $("ul", alert_container);
106        ul.append(
107            $('<li />').append(
108                this.getAlert(label, oid, criteria, widget, heading)
109            )
110        );
111
112        alert_container.append($('<div style="clear:both;" />'));
113        $(this.container_id).prepend(alert_container);
114
115        this.showAlert();
116    },
117
118    updateInputAlert: function(label, oid, criteria, widget, heading) {
119
120        var model = window[criteria[0]];
121        var data = model.data[criteria[1]];
122        var alert_container = $("#" + criteria[1] + "_alert");
123
124        if ($(alert_container).length == 0) {
125            var alert_container = this.addAlertContainer(alert_container, criteria[1], heading);
126        }
127
128        var ul = $("ul", alert_container);
129        var li = $("#" + oid + "_alert_label");
130
131        if (li.length == 0) {
132            ul.append(
133                $('<li />').attr({
134                    id: oid + "_alert_label"
135                }).append(
136                    this.getAlert(label, oid, criteria, widget, heading)
137                )
138            );
139        } else {
140            li.html(this.getAlert(label, oid, criteria, widget, heading));
141        }
142
143        alert_container.append($('<div style="clear:both;" />'));
144        $(this.container_id).prepend(alert_container);
145
146        this.showAlert();
147    },
148
149    updateRangeAlert: function(label, prop, criteria, widget, heading){
150        var model = window[criteria[0]];
151        var data = model.data[criteria[1]];
152        var alert_container = $("#" + criteria[1] + "_alert");
153
154        if ($(alert_container).length == 0) {
155            var alert_container = this.addAlertContainer(alert_container, criteria[1], heading);
156        }
157
158        var ul = $("ul", alert_container);
159        var li = $("#" + prop + "_alert_label");
160
161        if (li.length == 0) {
162            ul.append(
163                $('<li />').attr({
164                    id: prop + "_alert_label"
165                }).append(
166                    this.getAlert(label, prop, criteria, widget, heading)
167                )
168            );
169
170        } else {
171            li.html(this.getAlert(label, prop, criteria, widget, heading));
172        }
173
174        alert_container.append($('<div style="clear:both;" />'));
175        $(this.container_id).prepend(alert_container);
176
177        this.showAlert();
178    }
179};

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.