Skip to content

Commit 59ddb25

Browse files
authored
reduce js loaded on wiki documents (#4980)
reduce from 705KB to 302KB minified but uncompressed
1 parent c6ffecd commit 59ddb25

4 files changed

Lines changed: 35 additions & 29 deletions

File tree

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import "sumo/js/libs/jquery.lazyload";
2+
import AjaxVote from "sumo/js/ajaxvote";
3+
import {
4+
getQueryParamsAsDict,
5+
getReferrer,
6+
getSearchQuery,
7+
} from "sumo/js/main";
8+
import ShowFor from "sumo/js/showfor";
9+
10+
new ShowFor();
11+
12+
addReferrerAndQueryToVoteForm();
13+
new AjaxVote(".document-vote form", {
14+
positionMessage: false,
15+
replaceFormWithMessage: true,
16+
removeForm: true,
17+
});
18+
19+
$("img.lazy").lazyload();
20+
21+
function addReferrerAndQueryToVoteForm() {
22+
// Add the source/referrer and query terms to the helpful vote form
23+
var urlParams = getQueryParamsAsDict(),
24+
referrer = getReferrer(urlParams),
25+
query = getSearchQuery(urlParams, referrer);
26+
$(".document-vote form")
27+
.append($('<input type="hidden" name="referrer"/>').attr("value", referrer))
28+
.append($('<input type="hidden" name="query"/>').attr("value", query));
29+
}

kitsune/sumo/static/sumo/js/wiki.js

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ import "sumo/js/codemirror.sumo-hint";
1111
import "sumo/js/codemirror.sumo-mode";
1212
import "sumo/js/protocol";
1313
import AjaxPreview from "sumo/js/ajaxpreview";
14-
import AjaxVote from "sumo/js/ajaxvote";
1514
import { initDiff } from "sumo/js/diff";
16-
import { getQueryParamsAsDict, getReferrer, getSearchQuery, unquote } from "sumo/js/main";
1715
import Marky from "sumo/js/markup";
1816
import ShowFor from "sumo/js/showfor";
1917

@@ -31,18 +29,7 @@ import ShowFor from "sumo/js/showfor";
3129
initPrepopulatedSlugs();
3230
initDetailsTags();
3331

34-
if ($body.is('.document')) { // Document page
35-
// Put last search query into search box
36-
$('#support-search input[name=q]')
37-
.val(unquote($.cookie('last_search')));
38-
new ShowFor();
39-
addReferrerAndQueryToVoteForm();
40-
new AjaxVote('.document-vote form', {
41-
positionMessage: false,
42-
replaceFormWithMessage: true,
43-
removeForm: true
44-
});
45-
} else if ($body.is('.review')) { // Review pages
32+
if ($body.is('.review')) { // Review pages
4633
new ShowFor();
4734
initNeedsChange();
4835

@@ -438,18 +425,6 @@ import ShowFor from "sumo/js/showfor";
438425
});
439426
}
440427

441-
function addReferrerAndQueryToVoteForm() {
442-
// Add the source/referrer and query terms to the helpful vote form
443-
var urlParams = getQueryParamsAsDict(),
444-
referrer = getReferrer(urlParams),
445-
query = getSearchQuery(urlParams, referrer);
446-
$('.document-vote form')
447-
.append($('<input type="hidden" name="referrer"/>')
448-
.attr('value', referrer))
449-
.append($('<input type="hidden" name="query"/>')
450-
.attr('value', query));
451-
}
452-
453428
function initNeedsChange() {
454429
// Hide and show the comment box based on the status of the
455430
// "Needs change" checkbox. Also, make the textarea required

kitsune/wiki/jinja2/wiki/document.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{% from "questions/includes/aaq_macros.html" import aaq_widget %}
88
{% set classes = 'document' %}
99
{% set canonical_url = canonicalize(model_url=document.get_absolute_url()) %}
10-
{% set scripts = ('wiki', 'questions') %}
10+
{% set scripts = ('document',) %}
1111
{% set extra_body_attrs = {'data-document-id': document.id, 'data-default-slug': document.parent.slug if document.parent else document.slug} %}
1212

1313
{% block title %}

webpack/entrypoints.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ const entrypoints = {
3232
"community.metrics": [
3333
"kpi/js/kpi.browserify.js",
3434
],
35+
document: [
36+
"sumo/js/document.js",
37+
"sumo/js/wiki.metrics.js",
38+
],
3539
questions: [
3640
"sumo/js/questions.js",
3741
"sumo/js/tags.filter.js",
@@ -62,10 +66,8 @@ const entrypoints = {
6266
wiki: [
6367
"sumo/js/users.autocomplete.js",
6468
"sumo/js/wiki.js",
65-
"sumo/js/tags.js",
6669
"sumo/js/dashboards.js",
6770
"sumo/js/editable.js",
68-
"sumo/js/wiki.metrics.js",
6971
"sumo/js/templates/wiki-related-doc.js",
7072
"sumo/js/templates/wiki-search-results.js",
7173
"sumo/js/wiki_search.js",

0 commit comments

Comments
 (0)