forked from mkdegucena/themes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
155 lines (123 loc) · 5.05 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
var HC = {};
HC.SETTINGS = {
tutorialCategory: 115001339528,
icons: {
"201295803": document.head.querySelector("[property=asseturlrocket]").content, // Getting Started
"201295783": document.head.querySelector("[property=asseturltools]").content, // Knowledge Base
"community": document.head.querySelector("[property=asseturlchat]").content, // Community
"201295763": document.head.querySelector("[property=asseturlrocket]").content, // Getting Started
},
}
Vue.options.delimiters = ['{[{', '}]}'];
// Icon image component
Vue.component('icon', {
template: '<img :src="iconUrl" class="icon" />',
props: ['id'],
computed: {
iconUrl: function() {
return HC.SETTINGS.icons[this.id];
}
}
});
HC.Utils = {
getPageId: function(url) {
var links = url.split("/"),
result = links[links.length - 1];
return parseInt(result, 10) || null;
},
}
/*
* jQuery v1.9.1 included
*/
$(document).ready(function() {
// Redirect Getting Started category to first article in category
var $category = $(".knowledge-base .blocks-item[data-category='" + HC.SETTINGS.tutorialCategory + "']"),
$firstArticle = $category.find(".article-link").first();
if ($firstArticle) $category.find(".blocks-item-link").attr("href", $firstArticle.attr("href"));
$(".breadcrumbs").addClass("in");
// social share popups
$(".share a").click(function(e) {
e.preventDefault();
window.open(this.href, "", "height = 500, width = 500");
});
// show form controls when the textarea receives focus or backbutton is used and value exists
var $commentContainerTextarea = $(".comment-container textarea"),
$commentContainerFormControls = $(".comment-form-controls, .comment-ccs");
$commentContainerTextarea.one("focus", function() {
$commentContainerFormControls.show();
});
if ($commentContainerTextarea.val() !== "") {
$commentContainerFormControls.show();
}
// Expand Request comment form when Add to conversation is clicked
var $showRequestCommentContainerTrigger = $(".request-container .comment-container .comment-show-container"),
$requestCommentFields = $(".request-container .comment-container .comment-fields"),
$requestCommentSubmit = $(".request-container .comment-container .request-submit-comment");
$showRequestCommentContainerTrigger.on("click", function() {
$showRequestCommentContainerTrigger.hide();
$requestCommentFields.show();
$requestCommentSubmit.show();
$commentContainerTextarea.focus();
});
// Mark as solved button
var $requestMarkAsSolvedButton = $(".request-container .mark-as-solved:not([data-disabled])"),
$requestMarkAsSolvedCheckbox = $(".request-container .comment-container input[type=checkbox]"),
$requestCommentSubmitButton = $(".request-container .comment-container input[type=submit]");
$requestMarkAsSolvedButton.on("click", function() {
$requestMarkAsSolvedCheckbox.attr("checked", true);
$requestCommentSubmitButton.prop("disabled", true);
$(this).attr("data-disabled", true).closest("form").submit();
});
// Change Mark as solved text according to whether comment is filled
var $requestCommentTextarea = $(".request-container .comment-container textarea");
$requestCommentTextarea.on("keyup", function() {
if ($requestCommentTextarea.val() !== "") {
$requestMarkAsSolvedButton.text($requestMarkAsSolvedButton.data("solve-and-submit-translation"));
$requestCommentSubmitButton.prop("disabled", false);
} else {
$requestMarkAsSolvedButton.text($requestMarkAsSolvedButton.data("solve-translation"));
$requestCommentSubmitButton.prop("disabled", true);
}
});
// Disable submit button if textarea is empty
if ($requestCommentTextarea.val() === "") {
$requestCommentSubmitButton.prop("disabled", true);
}
// Submit requests filter form in the request list page
$("#request-status-select, #request-organization-select")
.on("change", function() {
search();
});
// Submit requests filter form in the request list page
$("#quick-search").on("keypress", function(e) {
if (e.which === 13) {
search();
}
});
function search() {
window.location.search = $.param({
query: $("#quick-search").val(),
status: $("#request-status-select").val(),
organization_id: $("#request-organization-select").val()
});
}
$(".header .icon-menu").on("click", function(e) {
e.stopPropagation();
var menu = document.getElementById("user-nav");
var isExpanded = menu.getAttribute("aria-expanded") === "true";
menu.setAttribute("aria-expanded", !isExpanded);
});
if ($("#user-nav").children().length === 0) {
$(".header .icon-menu").hide();
}
// Submit organization form in the request page
$("#request-organization select").on("change", function() {
this.form.submit();
});
// Toggles expanded aria to collapsible elements
$(".collapsible-nav, .collapsible-sidebar").on("click", function(e) {
e.stopPropagation();
var isExpanded = this.getAttribute("aria-expanded") === "true";
this.setAttribute("aria-expanded", !isExpanded);
});
});