4,656
edits
No edit summary Tag: Manual revert |
No edit summary |
||
| (10 intermediate revisions by the same user not shown) | |||
| Line 1,360: | Line 1,360: | ||
} | } | ||
swBuildIframeAndPrint(combinedHtml, borderPref); | swBuildIframeAndPrint( | ||
combinedHtml, | |||
borderPref, | |||
null, | |||
"filtered.softwear.directory" | |||
); | |||
}) | }) | ||
.catch(function () { | .catch(function () { | ||
| Line 1,380: | Line 1,385: | ||
/* core: build iframe and print */ | /* core: build iframe and print */ | ||
function swBuildIframeAndPrint(printHtml, borderPref, $btn) { | function swBuildIframeAndPrint(printHtml, borderPref, $btn, filenameOverride) { | ||
// iframe | // iframe | ||
var iframe = document.createElement("iframe"); | var iframe = document.createElement("iframe"); | ||
| Line 1,642: | Line 1,647: | ||
.then(function () { | .then(function () { | ||
// filename via document.title | // filename via document.title | ||
var desiredTitle; | |||
if (filenameOverride) { | |||
desiredTitle = filenameOverride; | |||
} else { | |||
var entryNum = ""; | var entryNum = ""; | ||
var numEl = doc.querySelector(".article-entry-number"); | var numEl = doc.querySelector(".article-entry-number"); | ||
if (numEl) { | if (numEl) { | ||
var m = (numEl.textContent || "").match(/\d+/); | |||
entryNum = m ? m[0] : ""; | |||
} | } | ||
desiredTitle = | |||
(entryNum ? entryNum + "." : "") + "softwear.directory"; | |||
} | |||
var oldIframeTitle = doc.title; | var oldIframeTitle = doc.title; | ||
var oldParentTitle = document.title; | var oldParentTitle = document.title; | ||
| Line 1,872: | Line 1,884: | ||
function (e) { | function (e) { | ||
e.preventDefault(); | e.preventDefault(); | ||
var $btn = jQuery(this); | var $btn = jQuery(this); | ||
var borderPref = $btn.hasClass("print-selection-no-border") | var borderPref = $btn.hasClass("print-selection-no-border") | ||
? "without" | ? "without" | ||
: "with"; | : "with"; | ||
// | // disable all related buttons | ||
jQuery(".print-selection-border, .print-selection-no-border, .print-selection-toggle") | |||
.prop("disabled", true) | |||
.css("opacity", "0.5"); | |||
// change ONLY clicked button text (native feeling) | |||
var originalText = $btn.text(); | var originalText = $btn.text(); | ||
$btn.text(" | $btn.text("working…"); | ||
swHandleBatchPrint(borderPref); | |||
// | // optional reset (if user comes back) | ||
setTimeout(function () { | setTimeout(function () { | ||
$btn.text(originalText); | $btn.text(originalText); | ||
jQuery(".print-selection-border, .print-selection-no-border, .print-selection-toggle") | |||
}, | .prop("disabled", false) | ||
.css("opacity", ""); | |||
}, 2000); | |||
} | } | ||
); | ); | ||