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.