PageSourceSearch

https://www.holtcat.com/DesktopModules/admin/SearchResults/dnn.searchResult.js?cdv=493

js holtcat.com collected 2026-09-28 08:08:54 UTC 26,630 bytes, 685 lines download raw bytes

1(function ($, dnn) {
2    if (typeof dnn == 'undefined' || dnn == null) dnn = {};
3    dnn.searchResult = {};
4
5    dnn.searchResult.defaultSettings = {
6        comboAdvancedDates: '',
7        comboAdvancedScope: '',
8        defaultText: 'Enter Search Term',
9        noresultsText: 'No Results Found',
10        advancedText: 'Advanced',
11        sourceText: 'Source:',
12        authorText: 'Author:',
13        likesText: 'Likes:',
14        viewsText: 'Views:',
15        commentsText: 'Comments:',
16        tagsText: 'Tags:',
17        addTagText: 'Add a tag',
18        resultsCountText: 'About {0} Results',
19        currentPageIndexText: 'Current Page Number:',
20        linkTarget: '',
21        showDescription: false,
22        maxDescriptionLength: 100,
23        showSnippet: false,
24        showSource: false,
25        showLastUpdated: false,
26        showTags: false,
27        cultureCode: 'en-US'
28    };
29
30    dnn.searchResult.advancedSearchOptions = {
31        tags: [],
32        after: '',
33        types: [],
34        exactSearch: false
35    };
36
37    dnn.searchResult.service = null;
38
39    dnn.searchResult.queryUrl = function () {
40        if (!dnn.searchResult.service)
41            dnn.searchResult.service = $.dnnSF ? $.dnnSF(dnn.searchResult.moduleId) : null;
42
43        if (!dnn.searchResult.service)
44            return null;
45
46        var url = dnn.searchResult.service.getServiceRoot('internalservices')
47                    + 'searchService/search';
48
49        var params = {};
50        var query = dnn.searchResult.queryOptions;
51        var advancedQuery = query.advancedTerm ? ' ' + query.advancedTerm : '';
52        var queryString = query.searchTerm ? query.searchTerm.replace(/^\s+|\s+$/g, '') + advancedQuery : query.advancedTerm;
53
54        params['search'] = queryString;
55        params['pageIndex'] = query.pageIndex;
56        params['pageSize'] = query.pageSize;
57        params['sortOption'] = query.sortOption;
58        params['culture'] = dnn.searchResult.defaultSettings.cultureCode;
59
60        var urlAppend = [];
61        $.each(params, function (index, value) {
62            urlAppend.push([index, encodeURIComponent(value)].join('='));
63        });
64
65        if (urlAppend.length) {
66            url += url.indexOf('?') === -1 ? '?' : '&';
67            url += urlAppend.join('&');
68        }
69        return url;
70    };
71    
72    dnn.searchResult.renderPager = function (totalHits, pageIndex, more) {
73        // render
74        $('.dnnSearchResultPager').show();
75        $('.dnnSearchResultPager > .dnnLeft > span').html(dnn.searchResult.defaultSettings.resultsCountText.replace('{0}', totalHits));
76        var pager = '';
77
78        if (pageIndex > 1 || more) {
79            
80            pager += '<span class="dnnPager-current" >' + dnn.searchResult.defaultSettings.currentPageIndexText + ' ' + pageIndex + '</span>';
81            
82            if (pageIndex > 1) {
83                pager += '<a class="dnnPager-prev" href="javascript:void(0)" />';
84            } else {
85                pager += '<a class="dnnPager-prev dnnPager-disable" href="javascript:void(0)" />';
86            }
87
88            if (more) {
89                pager += '<a class="dnnPager-next" href="javascript:void(0)" />';
90            } else {
91                pager += '<a class="dnnPager-next dnnPager-disable" href="javascript:void(0)" />';
92            }
93        }
94
95        $('.dnnSearchResultPager > .dnnRight').html(pager);
96
97        // binding pager event
98        $('.dnnSearchResultPager > .dnnRight a').on('click', function () {
99            if ($(this).hasClass('dnnPager-disable')) return false;
100
101            if ($(this).hasClass('dnnPager-prev'))
102                dnn.searchResult.queryOptions.pageIndex--;
103            else if ($(this).hasClass('dnnPager-next'))
104                dnn.searchResult.queryOptions.pageIndex++;
105
106            dnn.searchResult.doSearch();
107            return false;
108        });
109    };
110
111    dnn.searchResult.renderResult = function(data, renderUrl) {
112        var markup = '';
113        markup += '<div class="dnnSearchResultItem-Title">';
114        markup += '<a href="' + data.DocumentUrl + '"' + dnn.searchResult.defaultSettings.linkTarget + '>' + data.Title + '</a></div>';
115        if(renderUrl)
116            markup += '<div class="dnnSearchResultItem-Link"><a href="' + data.DocumentUrl + '"' + dnn.searchResult.defaultSettings.linkTarget + '>' + data.DocumentUrl + '</a></div>';
117
118        var showDescription = dnn.searchResult.defaultSettings.showDescription;
119        var showSnippet = dnn.searchResult.defaultSettings.showSnippet;
120        var showSource = dnn.searchResult.defaultSettings.showSource;
121        var showLastUpdated = dnn.searchResult.defaultSettings.showLastUpdated;
122        var showTags = dnn.searchResult.defaultSettings.showTags;
123
124        if (showDescription && data.Description) {
125            var description = $.trim(data.Description);
126            var maxDescriptionLength = dnn.searchResult.defaultSettings.maxDescriptionLength;
127            if (description.length > maxDescriptionLength) {
128                description = description.substr(0, maxDescriptionLength) + "...";
129            }
130            markup += '<div class="dnnSearchResultItem-Description">' + description + '</div>';
131        }
132
133        if (showSnippet) {
134            markup += '<div class="dnnSearchResultItem-Description">' + data.Snippet + '</div>';
135        }
136
137        markup += '<div class="dnnSearchResultItem-Others">';
138
139        if (showLastUpdated) {
140            markup += '<span>' + dnn.searchResult.defaultSettings.lastModifiedText + ' </span>';
141            markup += '<label>' + data.DisplayModifiedTime + '</label>';
142        }
143
144        if (showSource) {
145            markup += '&nbsp;&nbsp;&nbsp;<span>' + dnn.searchResult.defaultSettings.sourceText + ' </span>';
146            markup += '<a href="javascript:void(0)" class="dnnSearchResultItem-sourceLink" data-value="' +
147                data.DocumentTypeName +
148                '" >' +
149                data.DocumentTypeName +
150                '</a>';
151        }
152
153        if (data.AuthorName && data.AuthorProfileUrl) {
154            markup += '&nbsp;&nbsp;&nbsp;<span>' + dnn.searchResult.defaultSettings.authorText + ' </span>';
155            markup += '<a href="' + data.AuthorProfileUrl + '" target="_blank">' + data.AuthorName + '</a>';
156        }
157                        
158        if (showTags && data.Tags && data.Tags.length) {
159            markup += '&nbsp;&nbsp;&nbsp;<span class="tagSpan">' + dnn.searchResult.defaultSettings.tagsText + ' </span>';
160            var k = 0;
161            for (k = 0; k < data.Tags.length - 1; k++) {
162                markup += '<a href="javascript:void(0)" class="dnnSearchResultItem-tagsLink" data-value="' + data.Tags[k] + '" >' + data.Tags[k] + ',</a>';
163            }
164            markup += '<a href="javascript:void(0)" class="dnnSearchResultItem-tagsLink" data-value="' + data.Tags[k] + '" >' + data.Tags[k] + '</a>';
165        }
166        
167        markup += '</div>';
168
169        return markup;
170    };
171    
172    dnn.searchResult.renderResults = function (data) {
173
174        var markup = '', totalHits = 0;
175        if (data && data.results && data.results.length) {
176            var results = data.results;
177            totalHits = data.totalHits;
178            for (var i = 0; i < results.length; i++) {
179                var result = results[i];
180                if (result.Results.length > 1) {
181                    // grouped
182                    var groupedTitle = result.Title;
183                    var groupedUrl = result.DocumentUrl;
184                    
185                    // render grouped title
186                    markup += '<div class="dnnSearchResultItem"><div class="dnnSearchResultItem-Title">';
187                    markup += '<a href="' + groupedUrl + '"' + dnn.searchResult.defaultSettings.linkTarget + '>' + groupedTitle + '</a></div>';
188                    markup += '<div class="dnnSearchResultItem-Link"><a href="' + groupedUrl + '"' + dnn.searchResult.defaultSettings.linkTarget + '>' + groupedUrl + '</a></div></div>';
189                    
190                    // render subsets
191                    for (var j = 0; j < result.Results.length; j++) {
192                        markup += '<div class="dnnSearchResultItem-Subset">' + dnn.searchResult.renderResult(result.Results[j]) + '</div>';
193                    }
194
195                } else {
196                    // non grouped
197                    markup += '<div class="dnnSearchResultItem">' + dnn.searchResult.renderResult(result.Results[0], true) + '</div>';
198                }
199            }
200        }
201        else {
202            markup += '<div class="dnnSearchResultItem">';
203            markup += '<div class="dnnSearchResultItem-Title">' + dnn.searchResult.defaultSettings.noresultsText + '</div></div>';
204        }
205
206        $('.dnnSearchResultContainer').html(markup);
207
208        // attach tags link events
209        $('.dnnSearchResultContainer a.dnnSearchResultItem-tagsLink').on('click', function () {
210            var $this = $(this);
211            var tag = $this.attr('data-value');
212            if (tag) {
213                dnn.searchResult.advancedSearchOptions.tags = [];
214                dnn.searchResult.advancedSearchOptions.tags.push(tag);
215                dnn.searchResult.generateAdvancedSearchTerm();
216                dnn.searchResult.queryOptions.pageIndex = 1;
217                dnn.searchResult.doSearch();
218            }
219
220            return false;
221        });
222
223        // attach source link events
224        $('.dnnSearchResultContainer a.dnnSearchResultItem-sourceLink').on('click', function () {
225            var $this = $(this);
226            var source = $this.attr('data-value');
227            dnn.searchResult.advancedSearchOptions.types = [];
228            dnn.searchResult.advancedSearchOptions.types.push(source);
229            dnn.searchResult.generateAdvancedSearchTerm();
230            dnn.searchResult.queryOptions.pageIndex = 1;
231            dnn.searchResult.doSearch();
232
233            return false;
234        });
235
236        // render pager
237        if (totalHits > 0) {
238            dnn.searchResult.renderPager(totalHits, dnn.searchResult.queryOptions.pageIndex, data.more);
239        } else {
240            $('.dnnSearchResultPager').hide();
241        }
242    };
243
244	dnn.searchResult.parseLocationInfo = function() {
245	    var query = location.search.substring(1);
246	    var path = location.href.replace(location.search, '');
247	    var queries = {};
248		var vars = query.split("&");
249		for (var i = 0; i < vars.length; i++) {
250		    var pair = vars[i].split("=");
251			if (pair.length === 2) {
252			    var value = pair[1];
253			    queries['qs-' + pair[0].toLowerCase()] = unescape(value);
254			}
255		}
256		return {
257		    path: path,
258            queries: queries
259		};
260	};
261
262    dnn.searchResult.buildLocationInfo = function(info) {
263        var path = info.path;
264        for (var name in info.queries) {
265            if (name.indexOf('qs-') > -1 && info.queries[name]) {
266                var param = name.substr(3) + '=' + info.queries[name];
267                if (path.indexOf('?') === -1) {
268                    path += '?' + param;
269                } else {
270                    path += '&' + param;
271                }
272            }
273        }
274
275        return path;
276    };
277
278	dnn.searchResult.pushHistoryState = function () {
279		if (!dnn.searchResult.catchHistoryState) {
280			return;
281		}
282
283        var keyword = dnn.searchResult.queryOptions.searchTerm;
284        var filter = dnn.searchResult.queryOptions.advancedTerm;
285        if ((!keyword || $.trim(keyword).length <= 1) && (!filter || $.trim(filter).length <= 1)) {
286            return;
287        }
288
289        var locationInfo = dnn.searchResult.parseLocationInfo();
290        var queries = locationInfo.queries;
291	    var urlChanged = false;
292	    if (queries['qs-search'] !== keyword) {
293	        queries['qs-search'] = keyword;
294	        urlChanged = true;
295	    }
296
297	    var tags = dnn.searchResult.advancedSearchOptions.tags;
298        if (tags && tags.length) {
299            var tagsString = '';
300            for (var i = 0; i < tags.length; i++) {
301                if (tagsString)
302                    tagsString += ',';
303                tagsString += tags[i].replace(/[<>]/g, '');
304            }
305
306            if (queries['qs-tag'] !== tagsString) {
307                queries['qs-tag'] = tagsString;
308                urlChanged = true;
309            }
310        } else if (queries['qs-tag']) {
311            queries['qs-tag'] = '';
312                urlChanged = true;
313	    }
314
315	    var after = dnn.searchResult.advancedSearchOptions.after;
316	    if (after) {
317	        if (after !== queries['qs-lastmodified']) {
318	            queries['qs-lastmodified'] = after;
319	            urlChanged = true;
320	        }
321	    } else if (queries['qs-lastmodified']) {
322	        queries['qs-lastmodified'] = '';
323            urlChanged = true;
324	    }
325
326	    var types = dnn.searchResult.advancedSearchOptions.types;
327	    if (types && types.length) {
328	        var typesString = types.join(',');
329	        if (queries['qs-scope'] !== typesString) {
330	            queries['qs-scope'] = typesString;
331                urlChanged = true;
332	        }
333	    } else if (queries['qs-scope']) {
334	        queries['qs-scope'] = '';
335            urlChanged = true;
336	    }
337
338	    var exactSearch = dnn.searchResult.advancedSearchOptions.exactSearch;
339	    if (exactSearch) {
340	        if (queries['qs-exactsearch'] !== 'y') {
341	            queries['qs-exactsearch'] = "y";
342	            urlChanged = true;
343	        }
344	    }else if (queries['qs-exactsearch'] === 'y') {
345	        queries['qs-exactsearch'] = '';
346            urlChanged = true;
347	    }
348
349	    var pageIndex = dnn.searchResult.queryOptions.pageIndex;
350        if (pageIndex > 1) {
351            if (!queries['qs-page'] || parseInt(queries['qs-page']) !== pageIndex) {
352                queries['qs-page'] = pageIndex;
353                urlChanged = true;
354            }
355        }else if (queries['qs-page']) {
356            queries['qs-page'] = '';
357            urlChanged = true;
358        }
359
360        var sortOption = dnn.searchResult.queryOptions.sortOption;
361        if (sortOption > 0) {
362            if (!queries['qs-sort'] || parseInt(queries['qs-sort']) !== sortOption) {
363                queries['qs-sort'] = sortOption;
364                urlChanged = true;
365            }
366        }else if (queries['qs-sort']) {
367            queries['qs-sort'] = '';
368            urlChanged = true;
369        }
370
371        var pageSize = dnn.searchResult.queryOptions.pageSize;
372        if (pageSize > 0 && pageSize !== 15) {
373            if (!queries['qs-size'] || parseInt(queries['qs-size']) !== pageSize) {
374                queries['qs-size'] = pageSize;
375                urlChanged = true;
376            }
377        }else if (queries['qs-size']) {
378            queries['qs-size'] = '';
379            urlChanged = true;
380        }
381
382        if (urlChanged) {
383	        var url = dnn.searchResult.buildLocationInfo(locationInfo);
384	        history.pushState({searchState: true}, "Search", url);
385	    }
386	}
387
388    dnn.searchResult.doSearch = function () {
389        var sterm = dnn.searchResult.queryOptions.searchTerm;
390        var advancedTerm = dnn.searchResult.queryOptions.advancedTerm;
391        if ((!sterm || $.trim(sterm).length <= 1) && (!advancedTerm || $.trim(advancedTerm).length <= 1)) {
392            return;
393        }
394
395        dnn.searchResult.addLoading();
396
397        var url = dnn.searchResult.queryUrl();
398        if (url) {
399            $.ajax({
400                url: url,
401                beforeSend: dnn.searchResult.service.setModuleHeaders,
402                success: function (results) {
403                    dnn.searchResult.renderResults(results);
404	                dnn.searchResult.pushHistoryState();
405                },
406                complete: function () {
407                    dnn.searchResult.removeLoading();
408                },
409                type: 'GET',
410                dataType: 'json',
411                contentType: "application/json"
412            });
413        }
414    };
415
416    dnn.searchResult.generateAdvancedSearchTerm = function () {
417        // clean term first
418        var term = $('#dnnSearchResult_dnnSearchBox_input').val();
419        var advancedTerm = "";
420        term = term
421                .replace(/\"/gi, '')
422                .replace(/^\s+|\s+$/g, '');
423
424        if (dnn.searchResult.advancedSearchOptions.exactSearch && term)
425            term = '"' + term + '"';
426
427        var tags = dnn.searchResult.advancedSearchOptions.tags;
428        if (tags && tags.length) {
429
430            for (var i = 0; i < tags.length; i++) {
431                if (advancedTerm)
432                    advancedTerm += ' ';
433                advancedTerm += '[' + tags[i].replace(/[<>]/g, '') + ']';
434            }
435        }
436
437        var after = dnn.searchResult.advancedSearchOptions.after;
438        if (after) {
439            if (advancedTerm)
440                advancedTerm += ' ';
441            advancedTerm += 'after:' + after;
442        }
443
444        var types = dnn.searchResult.advancedSearchOptions.types;
445        if (types && types.length) {
446            if (advancedTerm)
447                advancedTerm += ' ';
448            advancedTerm += 'type:' + types.join(',');
449        }
450
451        dnn.searchResult.queryOptions.advancedTerm = advancedTerm;
452        dnn.searchResult.queryOptions.searchTerm = term;
453
454        var advancedTextCtrl = $('#dnnSearchResult_dnnSearchBox_input').prev().prev();
455        var advancedTextClear = $('#dnnSearchResult_dnnSearchBox_input').prev();
456        var wrapWidth = $('#dnnSearchResult_dnnSearchBox_input').parent().width();
457
458        if (advancedTerm) {
459            advancedTextCtrl.show();
460            advancedTextClear.addClass('dnnShow');
461            var htmlAdvancedTerm = advancedTerm.replace(/\[/g, '[&nbsp;').replace(/\]/g, '&nbsp;]')
462                .replace(/after:/g, '<b>after: </b>').replace(/type:/g, '<b>type: </b>');
463            var w = advancedTextCtrl.html(htmlAdvancedTerm).width();
464            $('#dnnSearchResult_dnnSearchBox_input').val(term).css({
465                left: w + 40,
466                width: wrapWidth - w - 165 - 8
467            });
468            advancedTextClear.css({
469                left: w + 20
470            });
471        } else {
472            advancedTextCtrl.html('').hide();
473            var w1 = $('#dnnSearchResult_dnnSearchBox_input').next().next().next().width();
474            $('#dnnSearchResult_dnnSearchBox_input').css({
475                left: "",
476                width: wrapWidth - w1 - 50 - 8
477            });
478
479            $('#dnnSearchResult_dnnSearchBox_input').next().css({
480                right: w1 + 35
481            });
482            advancedTextClear.removeClass('dnnShow');
483        }
484
485        if (term) {
486            $('#dnnSearchResult_dnnSearchBox_input').next().addClass('dnnShow');
487        } else {
488            $('#dnnSearchResult_dnnSearchBox_input').next().removeClass('dnnShow');
489        }
490    };
491
492    dnn.searchResult.addLoading = function () {
493        var resultContainer = $('.dnnSearchResultContainer');
494        var h = resultContainer.outerHeight(), w = resultContainer.outerWidth();
495        var loading = $('.dnnSearchLoading');
496        if (loading.length == 0) {
497            loading = $('<div class="dnnSearchLoading"></div>');
498            loading.insertBefore(resultContainer);
499        }
500
501        loading.css({ width: w, height: h });
502    };
503
504    dnn.searchResult.removeLoading = function () {
505        $('.dnnSearchLoading').remove();
506    };
507
508    dnn.searchResult.init = function (settings) {
509
510    	dnn.searchResult.defaultSettings = $.extend(dnn.searchResult.defaultSettings, settings);
511    	dnn.searchResult.catchHistoryState = typeof history.pushState !== "undefined";
512    	if (dnn.searchResult.catchHistoryState) {
513		    history.replaceState({searchState: true}, "Search", document.URL);
514		    window.addEventListener("popstate", function (e) {
515
516		        if (!e.state.searchState) {
517		            return;
518		        }
519
520		        window.location.reload();
521		    });
522		}
523
524        // search box
525        dnn.searchResult.searchInput = $('#dnnSearchResult_dnnSearchBox').dnnSearchBox({
526            id: 'dnnSearchResult_dnnSearchBox',
527            defaultText: dnn.searchResult.defaultSettings.defaultText,
528            advancedText: dnn.searchResult.defaultSettings.advancedText,
529            showAdvanced: true,
530            advancedId: 'dnnSearchResultAdvancedForm',
531            enablePreview: false,
532            refreshSearchResult: true,
533            beforeRefreshSearchResult: function () {
534                $('#dnnSearchResult-advancedTipContainer').slideUp('fast');
535            },
536            moduleId: dnn.searchResult.moduleId,
537            searchFunction: function (val) {
538                dnn.searchResult.queryOptions.searchTerm = val;
539                dnn.searchResult.queryOptions.pageIndex = 1;
540                dnn.searchResult.doSearch();
541            }
542        });
543
544        $('#advancedTagsCtrl').dnnTagsInput({ width: '230px', minInputWi
544dth: '80px', defaultText: dnn.searchResult.defaultSettings.addTagText });
545
546        $('a.dnnSearchResultAdvancedTip').on('click', function () {
547            $('#dnnSearchResult-advancedTipContainer').slideToggle('fast');
548            return false;
549        });
550
551        $('#dnnSearchResultAdvancedSearch').on('click', function (e, isTrigger) {
552            var tags = $('#advancedTagsCtrl').val() ? $('#advancedTagsCtrl').val().split(',') : [];
553
554            var afterCtrl = $('#' + dnn.searchResult.defaultSettings.comboAdvancedDates);
555            var afterCtrlVal = afterCtrl.val();
556
557            var scopeCtrl = $('#' + dnn.searchResult.defaultSettings.comboAdvancedScope)[0].selectize;
558            var scopeList = scopeCtrl.get_items();
559            if (scopeList.length === scopeCtrl.get_options().length)
560                scopeList = [];
561
562            var exactSearch = $('#dnnSearchResultAdvancedExactSearch').is(':checked');
563
564            dnn.searchResult.advancedSearchOptions = {
565                tags: tags,
566                after: afterCtrlVal,
567                types: scopeList,
568                exactSearch: exactSearch
569            };
570
571            dnn.searchResult.generateAdvancedSearchTerm();
572
573            if (!isTrigger) {
574                dnn.searchResult.queryOptions.pageIndex = 1;
575            }
576
577            dnn.searchResult.doSearch();
578
579            if(!isTrigger) $('.DnnModule .dnnSearchBoxPanel .dnnSearchBox_advanced_label').triggerHandler('click');
580            return false;
581        });
582
583        $('#dnnSearchResultAdvancedClear').on('click', function () {
584            $('#advancedTagsCtrl').dnnImportTags('');
585
586            var afterCtrl = $('#' + dnn.searchResult.defaultSettings.comboAdvancedDates)[0].selectize;
587            afterCtrl.setValue('');
588
589            var scopeCtrl = $('#' + dnn.searchResult.defaultSettings.comboAdvancedScope)[0].selectize;
590            $.each(scopeCtrl.get_options(), function (index, item) {
591                scopeCtrl.addItem(item.id);
592            });
593
594            $('#dnnSearchResultAdvancedExactSearch').removeAttr('checked');
595
596            dnn.searchResult.advancedSearchOptions = {
597                tags: [],
598                after: '',
599                types: [],
600                exactSearch: false
601            };
602
603            dnn.searchResult.generateAdvancedSearchTerm();
604            dnn.searchResult.queryOptions.pageIndex = 1;
605            dnn.searchResult.doSearch();
606
607            $('.DnnModule .dnnSearchBoxPanel .dnnSearchBox_advanced_label').triggerHandler('click');
608
609            return false;
610        });
611
612        $('#dnnSearchResult_dnnSearchBox_input').prev().on('click', function () {
613            $('#advancedTagsCtrl').dnnImportTags('');
614
615            var afterCtrl = $('#' + dnn.searchResult.defaultSettings.comboAdvancedDates)[0].selectize;
616            afterCtrl.setValue('');
617
618            var scopeCtrl = $('#' + dnn.searchResult.defaultSettings.comboAdvancedScope)[0].selectize;
619            $.each(scopeCtrl.get_options(), function (index, item) {
620                scopeCtrl.addItem(item.id);
621            });
622
623            $('#dnnSearchResultAdvancedExactSearch').removeAttr('checked');
624
625            dnn.searchResult.advancedSearchOptions = {
626                tags: [],
627                after: '',
628                types: [],
629                exactSearch: false
630            };
631
632            var wrapWidth = $('#dnnSearchResult_dnnSearchBox_input').parent().width();
633            $('#dnnSearchResult_dnnSearchBox_input').css({
634                left: "",
635                width: wrapWidth - 165 - 8
636            });
637
638            dnn.searchResult.generateAdvancedSearchTerm();
639            dnn.searchResult.queryOptions.pageIndex = 1;
640            dnn.searchResult.doSearch();
641
642            return false;
643        });
644
645        $('.RadComboBoxDropDown').on('mouseup', function () {
646            return false;
647        });
648
649        $('.dnnSearchResultSortOptions > li > a').on('click', function () {
650            var $this = $(this);
651            if ($this.parent().hasClass('active')) return false;
652
653            var sortOption = $this.attr('href');
654            $('.dnnSearchResultSortOptions > li').removeClass('active');
655            $this.parent().addClass('active');
656
657            switch (sortOption) {
658                case '#byDate':
659                    dnn.searchResult.queryOptions.sortOption = 1;
660                    break;
661                default:
662                    dnn.searchResult.queryOptions.sortOption = 0;
663                    break;
664            }
665
666            dnn.searchResult.queryOptions.pageIndex = 1;
667            dnn.searchResult.doSearch();
668            return false;
669
670        });
671
672        // Recalculate input box width and close icon margin
673        $(window).resize(function () {
674            dnn.searchResult.generateAdvancedSearchTerm();
675        });
676
677        if (dnn.searchResult.queryOptions.sortOption === 1) {
678            $('.dnnSearchResultSortOptions > li').removeClass('active');
679            $('.dnnSearchResultSortOptions > li > a[href="#byDate"]').parent().addClass('active');
680        }
681
682        setTimeout(function() { $('#dnnSearchResultAdvancedSearch').trigger("click", [true]); }, 0);
683    };
684
685})(jQuery, dnn);

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.