Skip to content

Commit

Permalink
Merge pull request #580 from Martii/someClientSidejQueryFixes
Browse files Browse the repository at this point in the history
Some misc client side jQuery fixes

Auto-merge
  • Loading branch information
Martii committed Feb 10, 2015
2 parents e1bc21d + fdcfc7a commit 941bd94
Show file tree
Hide file tree
Showing 11 changed files with 189 additions and 150 deletions.
4 changes: 3 additions & 1 deletion views/includes/scripts/commentReplyScript.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
$('#reply-control').on('show.bs.collapse', function () {
// Show spacer div
$('#show-reply-form-when-visible').css({
height: '{{#paginationRendered}}210{{/paginationRendered}}{{^paginationRendered}}268{{/paginationRendered}}px'
height:
{{#paginationRendered}}'210px'{{/paginationRendered}}
{{^paginationRendered}}'268px'{{/paginationRendered}}
});
});

Expand Down
11 changes: 11 additions & 0 deletions views/includes/scripts/commentReplyTooltip.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<script type="text/javascript">
(function () {

$(function () {
$('.btn-comment-reply').parent().tooltip().click(function () {
$(this).tooltip('show');
});
});

})();
</script>
51 changes: 51 additions & 0 deletions views/includes/scripts/groupSelector.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<script type="text/javascript" charset="UTF-8" src="/redist/npm/select2/select2.js"></script>
<script type="text/javascript">
(function () {

var preload_groups = {{{groupNameListJSON}}};
var preload_data = $.map(preload_groups, function (aGroup) {
return { id: aGroup, text: aGroup, locked: true };
});

$(document).ready(function () {
var canAddGroup = true;
var canCreateGroup = {{canCreateGroup}};
var prevTerm = '';

$('#groups').select2({
multiple: true,
minimumInputLength: 1,
query: function (aQuery) {
var url = '/api/group/search/' + encodeURIComponent(aQuery.term);

if (canCreateGroup) {
if (canAddGroup) {
if ($('#groups').val().length
&& $('#groups').val().split(',').indexOf(prevTerm) > -1) {
canAddGroup = false;
} else {
prevTerm = aQuery.term;
}
} else if ($('#groups').val().split(',').indexOf(prevTerm) === -1) {
prevTerm = aQuery.term;
canAddGroup = true;
}

url += '/' + (canAddGroup ? 'true' : '');
}

$.ajax({ url: url, success: function (aData) {
var groups = { results: [] };

$.each(aData, function (index, group) {
groups.results.push({ id: group, text: group });
});
aQuery.callback(groups);
}});
}});

$('#groups').select2('data', preload_data);
});

})();
</script>
43 changes: 25 additions & 18 deletions views/includes/scripts/lazyIconScript.html
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
<script type="text/javascript">
$(window).load(function () {
window.setTimeout(function () {
$('[data-icon-src]').each(function () {
var container = $(this);
var size = container.data('icon-size');
var img = new Image();
if (size) {
img.width = size;
img.height = size;
}
$(img).load(function () {
var that = $(this).hide();
container.empty().append(that);
that.fadeIn();
}).attr('src', container.data('icon-src'));
});
}, 13);
});
(function () {

$(window).load(function () {
window.setTimeout(function () {
$('[data-icon-src]').each(function () {
var container = $(this);
var size = container.data('icon-size');
var img = new Image();

if (size) {
img.width = size;
img.height = size;
}

$(img).load(function () {
var that = $(this).hide();

container.empty().append(that);
that.fadeIn();
}).attr('src', container.data('icon-src'));
});
}, 13);
});

})();
</script>
35 changes: 19 additions & 16 deletions views/includes/scripts/markdownEditor.html
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
<!-- Markdown Editor -->
<script type="text/javascript" src="/redist/npm/marked/lib/marked.js"></script>
<script type="text/javascript" src="/redist/npm/bootstrap-markdown/js/bootstrap-markdown.js"></script>
<script>
// Keep in sync with ./libs/markdown.js
marked.setOptions({
// highlight: ...
// renderer: ...
gfm: true,
tables: true,
breaks: true,
pedantic: false,
// sanitize: ...
smartLists: true,
smartypants: false
});
<script type="text/javascript" charset="UTF-8" src="/redist/npm/marked/lib/marked.js"></script>
<script type="text/javascript" charset="UTF-8" src="/redist/npm/bootstrap-markdown/js/bootstrap-markdown.js"></script>
<script type="text/javascript">
(function () {

// Keep in sync with `./libs/markdown.js`
marked.setOptions({
// highlight: ...
// renderer: ...
gfm: true,
tables: true,
breaks: true,
pedantic: false,
// sanitize: ...
smartLists: true,
smartypants: false
});

})();
</script>
47 changes: 47 additions & 0 deletions views/includes/scripts/scriptEditor.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<script type="text/javascript" charset="UTF-8" src="/redist/npm/ace-builds/src/ace.js"></script>
<script type="text/javascript">
(function () {

$(document).ready(function () {
var editor = ace.edit("editor");

function hasCalc(aPrefix) {
var el = null;

aPrefix = aPrefix || "";
el = document.createElement("div");
el.style.setProperty(aPrefix + "width", "calc(1px)", "");
return !!el.style.length;
}

function hasAnyCalc() {
return hasCalc("-moz-") || hasCalc("-ms-") || hasCalc("-o-") || hasCalc("-webkit-") || hasCalc();
}

function calcHeight() {
return window.innerHeight - {{#newScript}}190{{/newScript}}{{^newScript}}303{{/newScript}};
}

editor.setTheme("ace/theme/dawn");
editor.getSession().setMode("ace/mode/javascript");

{{#readOnly}}editor.setReadOnly(true);{{/readOnly}}
{{^readOnly}}
// TODO: Submit using AJAX
$('#submit_code').click(function () {
$('#source').val(editor.getValue());
$('#code_form').submit();
});
{{/readOnly}}

// Older browser JavaScript work-around for #136
if (!hasAnyCalc()) {
$("#editor").height(calcHeight());
$(document).on("resize", function () {
$("#editor").height(calcHeight);
});
}
});

})();
</script>
43 changes: 29 additions & 14 deletions views/includes/scripts/tableTrLinkScript.html
Original file line number Diff line number Diff line change
@@ -1,16 +1,31 @@
<script>
$(document).ready(function () {
// https://stackoverflow.com/questions/4904938/link-entire-table-row
$('.tr-link').click(function (aE) {
if ($(aE.target).is('a,input,a *')) // anything else you don't want to trigger the click
return;
<script type="text/javascript">
(function () {

var a = $(this).find('a.tr-link-a').first();
if (!a) return;
var url = a.attr('href');
if (!url) return;
window.location = url;
aE.stopPropagation();
})
});
$(document).ready(function () {
// https://stackoverflow.com/questions/4904938/link-entire-table-row

$('.tr-link').click(function (aE) {
var anchor = null;
var url = null;

if ($(aE.target).is('a,input,a *')) { // anything else you don't want to trigger the click
return;
}

anchor = $(this).find('a.tr-link-a').first();
if (!anchor) {
return;
}

url = anchor.attr('href');
if (!url) {
return;
}

window.location = url;
aE.stopPropagation();
})
});

})();
</script>
8 changes: 1 addition & 7 deletions views/pages/discussionPage.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,7 @@
{{> includes/scripts/commentReplyScript.html }}
{{/authedUser}}
{{^authedUser}}
<script>
$(function () {
$('.btn-comment-reply').parent().tooltip().click(function () {
$(this).tooltip('show');
});
});
</script>
{{> includes/scripts/commentReplyTooltip.html }}
{{/authedUser}}
</body>
</html>
46 changes: 1 addition & 45 deletions views/pages/scriptEditMetadataPage.html
Original file line number Diff line number Diff line change
Expand Up @@ -52,50 +52,6 @@ <h2>Description</h2>
{{> includes/footer.html }}
{{> includes/scripts/lazyIconScript.html }}
{{> includes/scripts/markdownEditor.html }}
<!-- Group Selector -->
<script type="text/javascript" src="/redist/npm/select2/select2.js"></script>
<script type="text/javascript">
var preload_groups = {{{groupNameListJSON}}};
var preload_data = $.map(preload_groups, function (aGroup) {
return { id: aGroup, text: aGroup, locked: true };
});
$(document).ready(function () {
var canAddGroup = true;
var canCreateGroup = {{canCreateGroup}};
var prevTerm = '';

$('#groups').select2({
multiple: true,
minimumInputLength: 1,
query: function (aQuery) {
var url = '/api/group/search/' + encodeURIComponent(aQuery.term);

if (canCreateGroup) {
if (canAddGroup) {
if ($('#groups').val().length
&& $('#groups').val().split(',').indexOf(prevTerm) > -1) {
canAddGroup = false;
} else {
prevTerm = aQuery.term;
}
} else if ($('#groups').val().split(',').indexOf(prevTerm) === -1) {
prevTerm = aQuery.term;
canAddGroup = true;
}

url += '/' + (canAddGroup ? 'true' : '');
}

$.ajax({ url: url, success: function (aData) {
var groups = { results: [] };
$.each(aData, function (index, group) {
groups.results.push({ id: group, text: group });
});
aQuery.callback(groups);
}});
}});
$('#groups').select2('data', preload_data);
});
</script>
{{> includes/scripts/groupSelector.html }}
</body>
</html>
8 changes: 1 addition & 7 deletions views/pages/scriptIssuePage.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,7 @@
{{> includes/scripts/commentReplyScript.html }}
{{/authedUser}}
{{^authedUser}}
<script>
$(function () {
$('.btn-comment-reply').parent().tooltip().click(function () {
$(this).tooltip('show');
});
});
</script>
{{> includes/scripts/commentReplyTooltip.html }}
{{/authedUser}}
</body>
</html>
43 changes: 1 addition & 42 deletions views/pages/scriptViewSourcePage.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,47 +49,6 @@
</div>
{{> includes/footer.html }}
{{> includes/scripts/lazyIconScript.html }}
<!-- Script Editor -->
<script type="text/javascript" charset="UTF-8" src="/redist/npm/ace-builds/src/ace.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var editor = ace.edit("editor");

function hasCalc(aPrefix) {
aPrefix = aPrefix || "";
var el = document.createElement("div");
el.style.setProperty(aPrefix + "width", "calc(1px)", "");
return !!el.style.length;
}

function hasAnyCalc() {
return hasCalc("-moz-") || hasCalc("-ms-") || hasCalc("-o-") || hasCalc("-webkit-") || hasCalc();
}

function calcHeight() {
return window.innerHeight - {{#newScript}}190{{/newScript}}{{^newScript}}303{{/newScript}};
}

editor.setTheme("ace/theme/dawn");
editor.getSession().setMode("ace/mode/javascript");

{{#readOnly}}editor.setReadOnly(true);{{/readOnly}}
{{^readOnly}}
<!-- TODO: Submit using AJAX -->
$('#submit_code').click(function () {
$('#source').val(editor.getValue());
$('#code_form').submit();
});
{{/readOnly}}

// Older browser JavaScript work-around for #136
if (!hasAnyCalc()) {
$("#editor").height(calcHeight());
$(document).on("resize", function () {
$("#editor").height(calcHeight);
});
}
});
</script>
{{> includes/scripts/scriptEditor.html }}
</body>
</html>

0 comments on commit 941bd94

Please sign in to comment.