-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
121 lines (100 loc) · 4.21 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
/*
* jQuery v1.9.1 included
*/
$(document).ready(function() {
// Set first tab as active by default
$(".tab:first-child, .tab-content:first-child").addClass("active");
// Toggle tabs when clicked
$(".tab").click(function() {
var $tab = $(this),
categoryId = $tab.data("id");
// Switch active class from prev to new tab
$(".tab.active, .tab-content.active").removeClass("active");
$tab.addClass("active");
$("#" + categoryId).addClass("active");
});
// 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);
});
});