From 1c09c951c581d069b9b4f968b430651fb9c513fb Mon Sep 17 00:00:00 2001
From: Bengt Brodersen
Date: Sun, 27 Dec 2015 22:51:13 +0100
Subject: [PATCH] feat: introduce $ variable for jQuery
---
bookmarklet.js | 134 +++++++++++++++++++++++++------------------------
1 file changed, 68 insertions(+), 66 deletions(-)
diff --git a/bookmarklet.js b/bookmarklet.js
index 699891b..39fbc4c 100644
--- a/bookmarklet.js
+++ b/bookmarklet.js
@@ -1,4 +1,6 @@
(function() {
+
+ $ = $ || jQuery;
// Public Instances
// Jira: https://connect.atlassian.net/browse/NERDS-33286
// PivotTracker: https://www.pivotaltracker.com/n/projects/510733
@@ -29,11 +31,17 @@
});
function main() {
+ //preconditions
+ if ($("#card-printer-iframe").length > 0) {
+ alert("Card Printer already opened!");
+ return;
+ }
+
var promises = [];
console.log("Run...")
// determine application
- if (jQuery("meta[name='application-name'][ content='JIRA']").length > 0) {
+ if ($("meta[name='application-name'][ content='JIRA']").length > 0) {
console.log("App: " + "Jira");
global.appFunctions = jiraFunctions;
} else if (/.*pivotaltracker.com\/.*/g.test(document.URL)) {
@@ -60,16 +68,10 @@
return;
}
- //preconditions
- if (jQuery("#card-printer-iframe").length > 0) {
- alert("Card Printer already opened!");
- return;
- }
-
// create iFrame
var appFrame = document.createElement('iframe');
appFrame.id = "card-printer-iframe";
- jQuery(appFrame).css({
+ $(appFrame).css({
'position': 'fixed',
'height': '100%',
'width': '100%',
@@ -80,16 +82,16 @@
'wordWrap': 'break-word',
'zIndex': '99999'
});
- jQuery("body").append(appFrame);
+ $("body").append(appFrame);
appFrame.window = appFrame.contentWindow;
appFrame.document = appFrame.window.document;
global.appFrame = appFrame;
// open print preview
- jQuery("head", appFrame.document).prepend(printPreviewElementStyle());
- jQuery("body", appFrame.document).append(printPreviewElement());
+ $("head", appFrame.document).prepend(printPreviewElementStyle());
+ $("body", appFrame.document).append(printPreviewElement());
- var printFrame = jQuery("#card-print-dialog-content-iframe", appFrame.document)[0];
+ var printFrame = $("#card-print-dialog-content-iframe", appFrame.document)[0];
printFrame.window = printFrame.contentWindow;
printFrame.document = printFrame.window.document;
global.printFrame = printFrame;
@@ -100,20 +102,20 @@
var settings = global.settings;
// restore UI state
- jQuery("#scaleRange", appFrame.document).val(settings.scale);
- jQuery("#scaleRange", appFrame.document).parent().find("output").val(settings.scale);
- jQuery("#rowCount", appFrame.document).val(settings.rowCount);
- jQuery("#columnCount", appFrame.document).val(settings.colCount);
+ $("#scaleRange", appFrame.document).val(settings.scale);
+ $("#scaleRange", appFrame.document).parent().find("output").val(settings.scale);
+ $("#rowCount", appFrame.document).val(settings.rowCount);
+ $("#columnCount", appFrame.document).val(settings.colCount);
- jQuery("#single-card-page-checkbox", appFrame.document).attr('checked', settings.singleCardPage );
- jQuery("#description-checkbox", appFrame.document).attr('checked', !settings.hideDescription );
- jQuery("#assignee-checkbox", appFrame.document).attr('checked', !settings.hideAssignee );
- jQuery("#due-date-checkbox", appFrame.document).attr('checked', !settings.hideDueDate );
- jQuery("#qr-code-checkbox", appFrame.document).attr('checked', !settings.hideQrCode );
+ $("#single-card-page-checkbox", appFrame.document).attr('checked', settings.singleCardPage );
+ $("#description-checkbox", appFrame.document).attr('checked', !settings.hideDescription );
+ $("#assignee-checkbox", appFrame.document).attr('checked', !settings.hideAssignee );
+ $("#due-date-checkbox", appFrame.document).attr('checked', !settings.hideDueDate );
+ $("#qr-code-checkbox", appFrame.document).attr('checked', !settings.hideQrCode );
- jQuery("#card-print-dialog-title", appFrame.document).text("Card Printer " + global.version + " - Loading issues...");
+ $("#card-print-dialog-title", appFrame.document).text("Card Printer " + global.version + " - Loading issues...");
promises.push(renderCards(issueKeyList).then(function() {
- jQuery("#card-print-dialog-title", appFrame.document).text("Card Printer " + global.version);
+ $("#card-print-dialog-title", appFrame.document).text("Card Printer " + global.version);
}));
if (global.isProd) {
@@ -189,7 +191,7 @@
function print() {
if (global.isProd) {
- ga('send', 'event', 'button', 'click', 'print', jQuery(".card", global.printFrame.contentWindow.document).length);
+ ga('send', 'event', 'button', 'click', 'print', $(".card", global.printFrame.contentWindow.document).length);
}
global.printFrame.contentWindow.print();
@@ -203,18 +205,18 @@
printFrame.document.open();
printFrame.document.write("
");
- jQuery("head", printFrame.document).append(cardElementStyle());
- jQuery("body", printFrame.document).append("");
- jQuery("#preload", printFrame.document).append("");
+ $("head", printFrame.document).append(cardElementStyle());
+ $("body", printFrame.document).append("");
+ $("#preload", printFrame.document).append("");
console.log("load " + issueKeyList.length + " issues...");
- jQuery.each(issueKeyList, function(index, issueKey) {
+ $.each(issueKeyList, function(index, issueKey) {
var card = cardElement(issueKey);
card.attr("index", index);
card.hide();
card.find('.issue-id').text(issueKey);
- jQuery("body", printFrame.document).append(card);
+ $("body", printFrame.document).append(card);
promises.push(global.appFunctions.getCardData(issueKey).then(function(cardData) {
console.log("cardData: " + JSON.stringify(cardData,2,2));
@@ -231,7 +233,7 @@
return Promise.all(promises).then(function() {
console.log("...all issues loaded.");
- jQuery(printFrame.window).load(function() {
+ $(printFrame.window).load(function() {
console.log("...all resources loaded.");
});
console.log("wait for resources loaded...");
@@ -313,22 +315,22 @@
var printFrame = global.printFrame
// hide/show description
- jQuery(".issue-description", printFrame.document).toggle(!settings.hideDescription);
+ $(".issue-description", printFrame.document).toggle(!settings.hideDescription);
// hide/show assignee
- jQuery(".issue-assignee", printFrame.document).toggle(!settings.hideAssignee);
+ $(".issue-assignee", printFrame.document).toggle(!settings.hideAssignee);
// hide/show assignee
- jQuery(".issue-due-box", printFrame.document).toggle(!settings.hideDueDate);
+ $(".issue-due-box", printFrame.document).toggle(!settings.hideDueDate);
// hide/show cr code
- jQuery(".issue-qr-code", printFrame.document).toggle(!settings.hideQrCode);
+ $(".issue-qr-code", printFrame.document).toggle(!settings.hideQrCode);
// enable/disable single card page
- jQuery(".card", printFrame.document).css({ 'page-break-after' : '', 'float' : '', 'margin-bottom': '' });
+ $(".card", printFrame.document).css({ 'page-break-after' : '', 'float' : '', 'margin-bottom': '' });
if (settings.singleCardPage) {
- jQuery(".card", printFrame.document).css({ 'page-break-after': 'always', 'float': 'none', 'margin-bottom': '20px' });
+ $(".card", printFrame.document).css({ 'page-break-after': 'always', 'float': 'none', 'margin-bottom': '20px' });
} else {
- jQuery(".card", printFrame.document).each(function(index, element){
+ $(".card", printFrame.document).each(function(index, element){
if(index % (settings.colCount * settings.rowCount ) >= (settings.colCount * (settings.rowCount - 1))){
- jQuery(element).css({ 'margin-bottom': '20px' });
+ $(element).css({ 'margin-bottom': '20px' });
}
});
}
@@ -352,16 +354,16 @@
// scale
// reset scale
- jQuery("html", printFrame.document).css("font-size", scaleRoot + "cm");
- jQuery("#gridStyle", printFrame.document).remove();
+ $("html", printFrame.document).css("font-size", scaleRoot + "cm");
+ $("#gridStyle", printFrame.document).remove();
// calculate scale
- var bodyElement = jQuery("body", printFrame.document);
+ var bodyElement = $("body", printFrame.document);
var cardMaxWidth = Math.floor(bodyElement.outerWidth() / columnCount);
var cardMaxHeight = Math.floor(bodyElement.outerHeight() / rowCount);
- var cardElement = jQuery(".card", printFrame.document);
+ var cardElement = $(".card", printFrame.document);
var cardMinWidth = cardElement.css("min-width").replace("px", "");
var cardMinHeight = cardElement.css("min-height").replace("px", "");
@@ -370,7 +372,7 @@
var scale = Math.min(scaleWidth, scaleHeight, 1);
// scale
- jQuery("html", printFrame.document).css("font-size", ( scaleRoot * scale ) + "cm");
+ $("html", printFrame.document).css("font-size", ( scaleRoot * scale ) + "cm");
// grid size
var style = document.createElement('style');
@@ -380,7 +382,7 @@
"width: calc( 100% / " + columnCount + " );" +
"height: calc( 100% / " + rowCount + " );"+
"}";
- jQuery("head", printFrame.document).append(style);
+ $("head", printFrame.document).append(style);
}
function cropCards() {
@@ -402,7 +404,7 @@
}
function closePrintPreview() {
- jQuery("#card-printer-iframe").remove();
+ $("#card-printer-iframe").remove();
}
//############################################################################################################################
@@ -412,7 +414,7 @@
// http://www.cssdesk.com/T9hXg
function printPreviewElement() {
- var result = jQuery('').html(global.printPreviewHtml).contents();
+ var result = $('').html(global.printPreviewHtml).contents();
// info
result.find("#report-issue").click(function(event) {
@@ -473,7 +475,7 @@
// scale font
result.find("#scaleRange").on("input", function() {
- global.settings.scale = jQuery(this).val();
+ global.settings.scale = $(this).val();
saveSettings();
redrawCards();
});
@@ -481,7 +483,7 @@
// grid
result.find("#rowCount").on("input", function() {
- global.settings.rowCount = jQuery(this).val();
+ global.settings.rowCount = $(this).val();
saveSettings();
redrawCards();
});
@@ -491,7 +493,7 @@
result.find("#columnCount").on("input", function() {
- global.settings.colCount = jQuery(this).val();
+ global.settings.colCount = $(this).val();
saveSettings();
redrawCards();
});
@@ -523,7 +525,7 @@
return true;
});
- jQuery(document).keyup(function(e) {
+ $(document).keyup(function(e) {
if (e.keyCode == 27) { // ESC
closePrintPreview();
}
@@ -538,7 +540,7 @@
}
function printPreviewElementStyle() {
- var result = jQuery(document.createElement('style'))
+ var result = $(document.createElement('style'))
.attr("type", "text/css")
.html(global.printPreviewCss);
return result;
@@ -547,13 +549,13 @@
// card layout: http://jsfiddle.net/qoomon/ykbLb2pw/76
function cardElement(issueKey) {
- var result = jQuery('').html(global.cardHtml).contents()
+ var result = $('').html(global.cardHtml).contents()
.attr("id", issueKey)
return result;
}
function cardElementStyle() {
- var result = jQuery(document.createElement('style'))
+ var result = $(document.createElement('style'))
.attr("type", "text/css")
.html(global.cardCss);
return result;
@@ -629,11 +631,11 @@
}
function httpGet(){
- return Promise.resolve(jQuery.get.apply(this, arguments));
+ return Promise.resolve($.get.apply(this, arguments));
}
function httpGetJSON(){
- return Promise.resolve(jQuery.getJSON.apply(this, arguments));
+ return Promise.resolve($.getJSON.apply(this, arguments));
}
function multilineString(commentFunction) {
@@ -643,7 +645,7 @@
}
function resizeIframe(iframe) {
- iframe = jQuery(iframe);
+ iframe = $(iframe);
iframe.height(iframe[0].contentWindow.document.body.height);
}
//############################################################################################################################
@@ -712,7 +714,7 @@
var url = '/rest/api/2/search?jql=' + jql + "&maxResults=500&fields=key";
console.log("IssueUrl: " + url);
//console.log("Issue: " + issueKey + " Loading...");
- jQuery.ajax({
+ $.ajax({
type: 'GET',
url: url,
data: {},
@@ -721,7 +723,7 @@
success: function(responseData) {
console.log("responseData: " + responseData.issues);
- jQuery.each(responseData.issues, function(key, value) {
+ $.each(responseData.issues, function(key, value) {
jqlIssues.push(value.key);
});
},
@@ -742,8 +744,8 @@
// RapidBoard
if (/.*\/secure\/RapidBoard.jspa.*/g.test(document.URL)) {
- return jQuery('div[data-issue-key].ghx-selected').map(function() {
- return jQuery(this).attr('data-issue-key');
+ return $('div[data-issue-key].ghx-selected').map(function() {
+ return $(this).attr('data-issue-key');
});
}
@@ -816,7 +818,7 @@
return httpGetJSON(url).then(function(responseData) {
//console.log("Issue: " + issueKey + " Loaded!");
// add custom fields with field names
- jQuery.each(responseData.names, function(key, value) {
+ $.each(responseData.names, function(key, value) {
if (key.startsWith("customfield_")) {
var fieldName = value.toCamelCase();
//console.log("add new field: " + fieldName + " with value from " + key);
@@ -840,8 +842,8 @@
// Agile Board
if (/.*\/rest\/agile.*/g.test(document.URL)) {
- return jQuery('div.sb-task-focused').map(function() {
- return jQuery(this).attr('id');
+ return $('div.sb-task-focused').map(function() {
+ return $(this).attr('id');
});
}
@@ -880,7 +882,7 @@
//console.log("Issue: " + issueKey + " Loading...");
return httpGetJSON(url).then(function(responseData) {
//console.log("Issue: " + issueKey + " Loaded!");
- jQuery.each(responseData.field, function(key, value) {
+ $.each(responseData.field, function(key, value) {
// add fields with field names
var fieldName = value.name.toCamelCase();
//console.log("add new field: " + newFieldId + " with value from " + fieldName);
@@ -903,8 +905,8 @@
// Board
if (/.*\/projects\/.*/g.test(document.URL)) {
- return jQuery('.story[data-id]:has(.selected)').map(function() {
- return jQuery(this).attr('data-id');
+ return $('.story[data-id]:has(.selected)').map(function() {
+ return $(this).attr('data-id');
});
}