EBernhardson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/286242
Change subject: Split js/css out of the view file into static assets
......................................................................
Split js/css out of the view file into static assets
Change-Id: Ic3969afd8fae80b477beed79340daff6000230e2
---
A public/css/scoring.css
A public/js/scoring.js
M views/score_query.twig
3 files changed, 98 insertions(+), 97 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/discernatron
refs/changes/42/286242/1
diff --git a/public/css/scoring.css b/public/css/scoring.css
new file mode 100644
index 0000000..70e3de5
--- /dev/null
+++ b/public/css/scoring.css
@@ -0,0 +1,32 @@
+.result .row {
+ display: flex;
+ align-items: center;
+}
+.row.relevant {
+ background-color: green;
+}
+.row.probably {
+ background-color: yellow;
+}
+.row.maybe {
+ background-color: orange;
+}
+.row.irrelevant {
+ background-color: red;
+}
+.errors p {
+ padding: 15px;
+}
+.snippet {
+ padding-left: 1em;
+}
+@media (max-width: 768px) {
+ .border-xs {
+ border: 1px solid black;
+ }
+}
+@media (max-width: 991px) and (min-width: 768px) {
+ .border-sm {
+ border: 1px solid black;
+ }
+}
diff --git a/public/js/scoring.js b/public/js/scoring.js
new file mode 100644
index 0000000..a293cbf
--- /dev/null
+++ b/public/js/scoring.js
@@ -0,0 +1,60 @@
+(function ($) {
+ var valueToClass = ['irrelevant', 'maybe', 'probably', 'relevant'],
+ onChange = function () {
+ var $this = $(this),
+ value = parseInt($this.val()),
+ $row = $this.closest('.row');
+
+ $row.removeClass(valueToClass.join(' '));
+ if (!isNaN(value)) {
+ $row.addClass(valueToClass[value]);
+ $row.find('.rating').text($this.siblings('label').text());
+ } else {
+ $row.find('.rating').text('');
+ }
+ },
+ onClickForNext = function (evt) {
+ // Find the currently selected choice
+ var next,
+ row = $(this).closest('.row'),
+ selected = parseInt(row.find('input:checked').val()),
+ skip = 'label, input, a, .glyphicon';
+
+ // Don't override real clicks. We have to check originalEvent
because toElement
+ // isn't populated in firefox 46
+ if ($(evt.toElement).is(skip) ||
$(evt.originalEvent.target).is(skip)) {
+ return;
+ }
+
+ // if nothing selected default to last so we wrap to beginning
+ if (isNaN(selected)) {
+ selected = 4;
+ }
+ next = (selected + 1) % 5;
+ if (next == 4) {
+ // non existent value means unselect
+ row.find('input:checked').prop('checked', false);
+ onChange.apply(row);
+ } else {
+ onChange.apply(row.find('input[value=' + (next) +
']').prop('checked', true));
+ }
+ },
+ onShowSnippet = function (evt) {
+ $(this).toggle(false);
+
$(this).siblings('.hide-snippet').removeClass('hidden').toggle(true);
+
$(this).closest('.result').find('.snippet').removeClass('hidden').toggle(true);
+ },
+ onHideSnippet = function (evt) {
+ $(this).toggle(false);
+ $(this).siblings('.show-snippet').toggle(true);
+ $(this).closest('.result').find('.snippet').toggle(false);
+ };
+
+ $(document).ready(function () {
+ $('input:checked').each(onChange);
+ $('input[type=radio]').change(onChange);
+ $('.click-for-next').click(onClickForNext);
+ $('.show-snippet').removeClass('hidden').click(onShowSnippet);
+ $('.hide-snippet').click(onHideSnippet);
+ });
+}(jQuery));
diff --git a/views/score_query.twig b/views/score_query.twig
index 17b2d6b..85676cc 100644
--- a/views/score_query.twig
+++ b/views/score_query.twig
@@ -20,40 +20,12 @@
{% block head %}
{{ parent() }}
- <style type="text/css">
- .result .row {
- display: flex;
- align-items: center;
- }
- .row.relevant {
- background-color: green;
- }
- .row.probably {
- background-color: yellow;
- }
- .row.maybe {
- background-color: orange;
- }
- .row.irrelevant {
- background-color: red;
- }
- .errors p {
- padding: 15px;
- }
- .snippet {
- padding-left: 1em;
- }
- @media (max-width: 768px) {
- .border-xs {
- border: 1px solid black;
- }
- }
- @media (max-width: 991px) and (min-width: 768px) {
- .border-sm {
- border: 1px solid black;
- }
- }
- </style>
+ <link href="/css/scoring.css" rel="stylesheet" type="text/css">
+{% endblock %}
+
+{% block js %}
+ {{ parent() }}
+ <script src="/js/scoring.js"></script>
{% endblock %}
{% block content %}
@@ -120,66 +92,3 @@
</form>
{% endblock %}
-{% block js %}
- {{ parent() }}
- <script>
- var valueToClass = ['irrelevant', 'maybe', 'probably', 'relevant'],
- onChange = function () {
- var $this = $(this),
- value = parseInt($this.val()),
- $row = $this.closest('.row');
-
- $row.removeClass(valueToClass.join(' '));
- if (!isNaN(value)) {
- $row.addClass(valueToClass[value]);
- $row.find('.rating').text($this.siblings('label').text());
- } else {
- $row.find('.rating').text('');
- }
- },
- onClickForNext = function (evt) {
- // Find the currently selected choice
- var next,
- row = $(this).closest('.row'),
- selected = parseInt(row.find('input:checked').val()),
- skip = 'label, input, a, .glyphicon';
-
- // Don't override real clicks. We have to check originalEvent
because toElement
- // isn't populated in firefox 46
- if ($(evt.toElement).is(skip) ||
$(evt.originalEvent.target).is(skip)) {
- return;
- }
-
- // if nothing selected default to last so we wrap to beginning
- if (isNaN(selected)) {
- selected = 4;
- }
- next = (selected + 1) % 5;
- if (next == 4) {
- // non existent value means unselect
- row.find('input:checked').prop('checked', false);
- onChange.apply(row);
- } else {
- onChange.apply(row.find('input[value=' + (next) +
']').prop('checked', true));
- }
- },
- onShowSnippet = function (evt) {
- $(this).toggle(false);
-
$(this).siblings('.hide-snippet').removeClass('hidden').toggle(true);
-
$(this).closest('.result').find('.snippet').removeClass('hidden').toggle(true);
- },
- onHideSnippet = function (evt) {
- $(this).toggle(false);
- $(this).siblings('.show-snippet').toggle(true);
- $(this).closest('.result').find('.snippet').toggle(false);
- };
-
- $(document).ready(function () {
- $('input:checked').each(onChange);
- $('input[type=radio]').change(onChange);
- $('.click-for-next').click(onClickForNext);
- $('.show-snippet').removeClass('hidden').click(onShowSnippet);
- $('.hide-snippet').click(onHideSnippet);
- });
- </script>
-{% endblock %}
--
To view, visit https://gerrit.wikimedia.org/r/286242
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic3969afd8fae80b477beed79340daff6000230e2
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/discernatron
Gerrit-Branch: master
Gerrit-Owner: EBernhardson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits