From 2024e4b0d462c81e5c5303394cdaa2395b17e17b Mon Sep 17 00:00:00 2001 From: Pete Cole Date: Fri, 6 Dec 2024 17:29:02 +0000 Subject: [PATCH] release 1.16.0 --- .../Bootstrap5-MeadCo.ScriptX.Print.UI.min.js | 2 +- ...tstrap5-MeadCo.ScriptX.Print.UI.min.js.map | 2 +- dist/jQuery-MeadCo.ScriptX.Print.UI.min.js | 2 +- .../jQuery-MeadCo.ScriptX.Print.UI.min.js.map | 2 +- dist/meadco-core.min.js | 2 +- dist/meadco-core.min.js.map | 2 +- dist/meadco-scriptxfactory.min.js | 2 +- dist/meadco-scriptxfactory.min.js.map | 2 +- dist/meadco-scriptxprint.min.js | 2 +- dist/meadco-scriptxprint.min.js.map | 2 +- dist/meadco-scriptxprinthtml.min.js | 2 +- dist/meadco-scriptxprinthtml.min.js.map | 2 +- dist/meadco-scriptxprintlicensing.min.js | 2 +- dist/meadco-scriptxprintlicensing.min.js.map | 2 +- dist/meadco-scriptxprintpdf.min.js | 2 +- dist/meadco-scriptxprintpdf.min.js.map | 2 +- dist/meadco-scriptxservices.min.js | 2 +- dist/meadco-scriptxservices.min.js.map | 2 +- dist/meadco-scriptxservicesUI-2.min.js | 2 +- dist/meadco-scriptxservicesUI-2.min.js.map | 2 +- dist/meadco-scriptxservicesUI.min.js | 2 +- dist/meadco-scriptxservicesUI.min.js.map | 2 +- dist/meadco-scriptxserviceslicensing.min.js | 2 +- ...meadco-scriptxserviceslicensing.min.js.map | 2 +- dist/meadco-scriptxservicesprint.min.js | 2 +- dist/meadco-scriptxservicesprint.min.js.map | 2 +- dist/meadco-scriptxservicesprintUI-2.min.js | 2 +- ...meadco-scriptxservicesprintUI-2.min.js.map | 2 +- dist/meadco-scriptxservicesprintUI.min.js | 2 +- dist/meadco-scriptxservicesprintUI.min.js.map | 2 +- dist/meadco-secmgr.min.js | 2 +- dist/meadco-secmgr.min.js.map | 2 +- docs/MeadCoScriptXPrint.html | 180 ++++++++++++------ docs/global.html | 4 +- docs/index.html | 2 +- docs/meadco-core.js.html | 2 +- docs/meadco-scriptxfactory.js.html | 2 +- docs/meadco-scriptxprint.js.html | 41 +++- docs/meadco-scriptxprinthtml.js.html | 2 +- docs/meadco-scriptxprintlicensing.js.html | 2 +- docs/meadco-scriptxprintpdf.js.html | 2 +- docs/meadco-secmgr.js.html | 2 +- docs/tutorial-repositories.html | 4 +- 43 files changed, 200 insertions(+), 107 deletions(-) diff --git a/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js b/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js index 59af11f..43ccde0 100644 --- a/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js +++ b/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js @@ -1,2 +1,2 @@ -!function(e,l){"use strict";if(!e)return;let t=e.createNS("MeadCo.ScriptX.Print.UI");t.version="1.15.2.0",e.log("MeadCo.ScriptX.Print.UI version is: "+t.version);let o=!1,r=null,a=null;function i(e){e.preventDefault(),function(){const e=document.querySelector("#dlg-printoptions"),l=MeadCo.ScriptX.Print.HTML.settings;e&&(l.page.orientation=e.querySelector('[name="fld-orientation"]:checked').value,l.printBackgroundColorsAndImages=e.querySelector("#fld-printbackground").checked,l.viewScale=e.querySelector("#fld-shrinktofit").checked?-1:100,l.page.units=parseInt(e.querySelector('[name="fld-measure"]:checked').value),l.page.margins.left=e.querySelector("#fld-marginL").value,l.page.margins.top=e.querySelector("#fld-marginT").value,l.page.margins.right=e.querySelector("#fld-marginR").value,l.page.margins.bottom=e.querySelector("#fld-marginB").value,l.header=e.querySelector("#fld-header").value,l.footer=e.querySelector("#fld-footer").value,MeadCo.ScriptX.Print.deviceSettings.paperSizeName=e.querySelector("#fld-papersize").value)}(),o=!0,r.hide()}function d(){a&&a(o)}function s(){switch(document.querySelector('[name="fld-measure"]:checked').value){case"2":document.querySelectorAll("#dlg-printoptions input[type=number][data-rule=measure]").forEach((e=>{var l;(l=e).value=(2540*parseFloat(l.value)/100).toFixed(2)}));break;case"1":document.querySelectorAll("#dlg-printoptions input[type=number][data-rule=measure]").forEach((e=>{var l;(l=e).value=(100*parseFloat(l.value)/2540).toFixed(2)}))}}function c(e){e.preventDefault(),function(){let e=document.querySelector("#dlg-printersettings");const l=MeadCo.ScriptX.Print;if(e){const t=l.onErrorAction;l.onErrorAction=l.ErrorAction.THROW;try{l.printerName=e.querySelector("#fld-printerselect").value}finally{l.onErrorAction=t}let o=l.deviceSettings;o.paperSourceName=e.querySelector("#fld-papersource").value,o.collate=e.querySelector("#fld-collate").getAttribute("checked")?l.CollateOptions.TRUE:l.CollateOptions.FALSE,o.copies=parseInt(e.querySelector("#fld-copies").value)}}(),o=!0,r.hide()}function n(e){m(document.getElementById("dlg-printersettings"),e.target.options[e.target.selectedIndex].value)}function m(e,l){u(e,l)}function u(e,l,t){MeadCo.ScriptX.Print.deviceSettingsForAsync(l,(l=>{const o=l.bins,r=e.querySelector("#fld-papersource");f(r);for(var a=0;a{MeadCo.ScriptX.Print.reportError(e),t&&t()}))}function f(e){for(let l=e.options.length-1;l>=0;l--)e.remove(l)}t.PageSetup=function(e){if(!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap v5 or later"),void e(!1);o=!1,a=e;const l=(bootstrap.Modal.VERSION||"").split(" ")[0].split(".")[0],t="dlg-printoptions";let c=document.getElementById(t);if(!c){let o;if(console.log("UI.PageSetup bootstrap modal version: "+bootstrap.Modal.VERSION+", major: "+l),"5"!==l)return console.error("Unknown version of bootstrap: "+l),void e(!1);o='';const r=document.createElement("div");r.innerHTML=o,document.body.appendChild(r,null),c=document.getElementById(t)}if(c){c.querySelector("#radiomeasures").addEventListener("change",s);const e=c.querySelector("#btn-saveoptions");e&&e.addEventListener("click",i),c.addEventListener("hidden.bs.modal",d)}let n=MeadCo.ScriptX.Print.HTML.settings,m=c.querySelector(`input[name="fld-orientation"][value="${n.page.orientation}"]`);m&&(m.checked=!0),c.querySelector("#fld-printbackground").checked=n.printBackgroundColorsAndImages,c.querySelector("#fld-shrinktofit").checked=-1==n.viewScale,m=c.querySelector(`input[name="fld-measure"][value="${n.page.units}"]`),m&&(m.checked=!0),c.querySelector("#fld-marginL").value=n.page.margins.left,c.querySelector("#fld-marginT").value=n.page.margins.top,c.querySelector("#fld-marginR").value=n.page.margins.right,c.querySelector("#fld-marginB").value=n.page.margins.bottom,c.querySelector("#fld-header").value=n.header,c.querySelector("#fld-footer").value=n.footer;const u=MeadCo.ScriptX.Print,p=document.querySelector("#fld-papersize"),v=u.deviceSettingsFor(u.printerName).forms;for(var b in f(p),v)p.add(new Option(v[b]));p.value=MeadCo.ScriptX.Print.deviceSettings.paperSizeName,r=new bootstrap.Modal(document.getElementById(t),{backdrop:"static",keyboard:!1}),r.show()},t.PrinterSettings=function(e){if(!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap Modal"),void e(!1);const l=(bootstrap.Modal.VERSION||"").split(" ")[0].split(".")[0],t="dlg-printersettings";let i=document.getElementById(t);o=!1;if(a=e,!i){let o;if(console.log("UI.PageSetup bootstrap modal version: "+bootstrap.Modal.VERSION+", major: "+l),"5"!==l)return console.error("Unknown version of bootstrap: "+l),void e(!1);o='';const r=document.createElement("div");r.innerHTML=o,document.body.appendChild(r,null),i=document.getElementById(t)}if(i){let e=i.querySelector("#btn-savesettings");e&&e.addEventListener("click",c),e=i.querySelector("#fld-printerselect"),e&&e.addEventListener("change",n),i.addEventListener("hidden.bs.modal",d)}!function(e){const l=MeadCo.ScriptX.Print,t=e.querySelector("#fld-printerselect"),o=l.availablePrinterNames;f(t);for(let e=0;e{const l=MeadCo.ScriptX.Print,t=l.deviceSettings;e.querySelector("#fld-collate").setAttribute("checked",t.collate===l.CollateOptions.TRUE),e.querySelector("#fld-copies").value=t.copies}))}(i),r=new bootstrap.Modal(document.getElementById(t),{backdrop:"static",keyboard:!1}),r.show()}}(window.MeadCo=window.MeadCo||null); +!function(e,l){"use strict";if(!e)return;let t=e.createNS("MeadCo.ScriptX.Print.UI");t.version="1.16.0.0",e.log("MeadCo.ScriptX.Print.UI version is: "+t.version);let o=!1,r=null,a=null;function i(e){e.preventDefault(),function(){const e=document.querySelector("#dlg-printoptions"),l=MeadCo.ScriptX.Print.HTML.settings;e&&(l.page.orientation=e.querySelector('[name="fld-orientation"]:checked').value,l.printBackgroundColorsAndImages=e.querySelector("#fld-printbackground").checked,l.viewScale=e.querySelector("#fld-shrinktofit").checked?-1:100,l.page.units=parseInt(e.querySelector('[name="fld-measure"]:checked').value),l.page.margins.left=e.querySelector("#fld-marginL").value,l.page.margins.top=e.querySelector("#fld-marginT").value,l.page.margins.right=e.querySelector("#fld-marginR").value,l.page.margins.bottom=e.querySelector("#fld-marginB").value,l.header=e.querySelector("#fld-header").value,l.footer=e.querySelector("#fld-footer").value,MeadCo.ScriptX.Print.deviceSettings.paperSizeName=e.querySelector("#fld-papersize").value)}(),o=!0,r.hide()}function d(){a&&a(o)}function s(){switch(document.querySelector('[name="fld-measure"]:checked').value){case"2":document.querySelectorAll("#dlg-printoptions input[type=number][data-rule=measure]").forEach((e=>{var l;(l=e).value=(2540*parseFloat(l.value)/100).toFixed(2)}));break;case"1":document.querySelectorAll("#dlg-printoptions input[type=number][data-rule=measure]").forEach((e=>{var l;(l=e).value=(100*parseFloat(l.value)/2540).toFixed(2)}))}}function c(e){e.preventDefault(),function(){let e=document.querySelector("#dlg-printersettings");const l=MeadCo.ScriptX.Print;if(e){const t=l.onErrorAction;l.onErrorAction=l.ErrorAction.THROW;try{l.printerName=e.querySelector("#fld-printerselect").value}finally{l.onErrorAction=t}let o=l.deviceSettings;o.paperSourceName=e.querySelector("#fld-papersource").value,o.collate=e.querySelector("#fld-collate").getAttribute("checked")?l.CollateOptions.TRUE:l.CollateOptions.FALSE,o.copies=parseInt(e.querySelector("#fld-copies").value)}}(),o=!0,r.hide()}function n(e){m(document.getElementById("dlg-printersettings"),e.target.options[e.target.selectedIndex].value)}function m(e,l){u(e,l)}function u(e,l,t){MeadCo.ScriptX.Print.deviceSettingsForAsync(l,(l=>{const o=l.bins,r=e.querySelector("#fld-papersource");f(r);for(var a=0;a{MeadCo.ScriptX.Print.reportError(e),t&&t()}))}function f(e){for(let l=e.options.length-1;l>=0;l--)e.remove(l)}t.PageSetup=function(e){if(!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap v5 or later"),void e(!1);o=!1,a=e;const l=(bootstrap.Modal.VERSION||"").split(" ")[0].split(".")[0],t="dlg-printoptions";let c=document.getElementById(t);if(!c){let o;if(console.log("UI.PageSetup bootstrap modal version: "+bootstrap.Modal.VERSION+", major: "+l),"5"!==l)return console.error("Unknown version of bootstrap: "+l),void e(!1);o='';const r=document.createElement("div");r.innerHTML=o,document.body.appendChild(r,null),c=document.getElementById(t)}if(c){c.querySelector("#radiomeasures").addEventListener("change",s);const e=c.querySelector("#btn-saveoptions");e&&e.addEventListener("click",i),c.addEventListener("hidden.bs.modal",d)}let n=MeadCo.ScriptX.Print.HTML.settings,m=c.querySelector(`input[name="fld-orientation"][value="${n.page.orientation}"]`);m&&(m.checked=!0),c.querySelector("#fld-printbackground").checked=n.printBackgroundColorsAndImages,c.querySelector("#fld-shrinktofit").checked=-1==n.viewScale,m=c.querySelector(`input[name="fld-measure"][value="${n.page.units}"]`),m&&(m.checked=!0),c.querySelector("#fld-marginL").value=n.page.margins.left,c.querySelector("#fld-marginT").value=n.page.margins.top,c.querySelector("#fld-marginR").value=n.page.margins.right,c.querySelector("#fld-marginB").value=n.page.margins.bottom,c.querySelector("#fld-header").value=n.header,c.querySelector("#fld-footer").value=n.footer;const u=MeadCo.ScriptX.Print,p=document.querySelector("#fld-papersize"),v=u.deviceSettingsFor(u.printerName).forms;for(var b in f(p),v)p.add(new Option(v[b]));p.value=MeadCo.ScriptX.Print.deviceSettings.paperSizeName,r=new bootstrap.Modal(document.getElementById(t),{backdrop:"static",keyboard:!1}),r.show()},t.PrinterSettings=function(e){if(!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap Modal"),void e(!1);const l=(bootstrap.Modal.VERSION||"").split(" ")[0].split(".")[0],t="dlg-printersettings";let i=document.getElementById(t);o=!1;if(a=e,!i){let o;if(console.log("UI.PageSetup bootstrap modal version: "+bootstrap.Modal.VERSION+", major: "+l),"5"!==l)return console.error("Unknown version of bootstrap: "+l),void e(!1);o='';const r=document.createElement("div");r.innerHTML=o,document.body.appendChild(r,null),i=document.getElementById(t)}if(i){let e=i.querySelector("#btn-savesettings");e&&e.addEventListener("click",c),e=i.querySelector("#fld-printerselect"),e&&e.addEventListener("change",n),i.addEventListener("hidden.bs.modal",d)}!function(e){const l=MeadCo.ScriptX.Print,t=e.querySelector("#fld-printerselect"),o=l.availablePrinterNames;f(t);for(let e=0;e{const l=MeadCo.ScriptX.Print,t=l.deviceSettings;e.querySelector("#fld-collate").setAttribute("checked",t.collate===l.CollateOptions.TRUE),e.querySelector("#fld-copies").value=t.copies}))}(i),r=new bootstrap.Modal(document.getElementById(t),{backdrop:"static",keyboard:!1}),r.show()}}(window.MeadCo=window.MeadCo||null); //# sourceMappingURL=Bootstrap5-MeadCo.ScriptX.Print.UI.min.js.map diff --git a/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js.map b/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js.map index b80c127..bbd0df7 100644 --- a/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js.map +++ b/dist/Bootstrap5-MeadCo.ScriptX.Print.UI.min.js.map @@ -1 +1 @@ -{"version":3,"file":"Bootstrap5-MeadCo.ScriptX.Print.UI.min.js","names":["topLevelNs","undefined","ui","createNS","version","log","bAccepted","dlg","fnDlgCallback","okHandler","ev","preventDefault","document","querySelector","settings","MeadCo","ScriptX","Print","HTML","page","orientation","value","printBackgroundColorsAndImages","checked","viewScale","units","parseInt","margins","left","top","right","bottom","header","footer","deviceSettings","paperSizeName","savePageSetup","hide","hideHandler","measureChangeHandler","querySelectorAll","forEach","box","el","parseFloat","toFixed","okPrinterSettingsHandler","printApi","a","onErrorAction","ErrorAction","THROW","printerName","paperSourceName","collate","getAttribute","CollateOptions","TRUE","FALSE","copies","savePrinterSettings","printerChange","onSelectPrinter","getElementById","target","options","selectedIndex","dlgEl","fillAndSetBinsList","fnDone","deviceSettingsForAsync","binsArray","bins","removeAll","i","length","add","Option","eTxt","reportError","selectEl","remove","PageSetup","fnCallBack","bootstrap","Modal","console","error","bs_majorVersion","VERSION","split","dlgId","dlgHtml","tempContainer","createElement","innerHTML","body","appendChild","addEventListener","btnOk","rb","paperSelect","forms","deviceSettingsFor","backdrop","keyboard","show","PrinterSettings","printers","arrPrinters","availablePrinterNames","fillPrintersList","setAttribute","showPrinterSettings","window"],"sources":["Bootstrap5-MeadCo.ScriptX.Print.UI.js"],"mappings":"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","ignoreList":[],"sourcesContent":["// MeadCo.ScriptX.Print.UI\r\n//\r\n// Depends on MeadCo.ScriptX.Print.HTML\r\n//\r\n// A lightweight plug-in not implemented as a plug-in as it will only be used once or twice on a document\r\n// so polluting jQuery is unneccessary.\r\n//\r\n// Optional dependency: bootstrap-select.js : Bootstrap-select (http://silviomoreto.github.io/bootstrap-select)\r\n// The above dependency is completely optional - the code looks for the enabling class.\r\n//\r\n\r\n(function (topLevelNs, undefined) {\r\n \"use strict\";\r\n\r\n if ( !topLevelNs ) {\r\n return;\r\n }\r\n\r\n let ui = topLevelNs.createNS(\"MeadCo.ScriptX.Print.UI\");\r\n ui.version = \"1.15.2.0\";\r\n\r\n topLevelNs.log(\"MeadCo.ScriptX.Print.UI version is: \" + ui.version);\r\n\r\n let bAccepted = false;\r\n let dlg = null;\r\n let fnDlgCallback = null;\r\n\r\n function okHandler(ev) {\r\n ev.preventDefault();\r\n savePageSetup();\r\n bAccepted = true;\r\n dlg.hide();\r\n }\r\n\r\n function hideHandler() {\r\n if (fnDlgCallback) fnDlgCallback(bAccepted);\r\n }\r\n\r\n function measureChangeHandler() {\r\n switch (document.querySelector('[name=\"fld-measure\"]:checked').value) {\r\n case '2': // mm from inches\r\n document.querySelectorAll(`#dlg-printoptions input[type=number][data-rule=measure]`)\r\n .forEach(box => { convertAndDisplayinchesToMM(box); });\r\n break;\r\n\r\n case '1': // inches from mm\r\n document.querySelectorAll(`#dlg-printoptions input[type=number][data-rule=measure]`)\r\n .forEach(box => { convertAndDisplayMMtoInches(box); });\r\n break;\r\n }\r\n\r\n }\r\n\r\n function savePageSetup() {\r\n const dlg = document.querySelector('#dlg-printoptions');\r\n const settings = MeadCo.ScriptX.Print.HTML.settings;\r\n\r\n if (dlg) {\r\n settings.page.orientation = dlg.querySelector('[name=\"fld-orientation\"]:checked').value;\r\n settings.printBackgroundColorsAndImages = dlg.querySelector('#fld-printbackground').checked;\r\n settings.viewScale = dlg.querySelector('#fld-shrinktofit').checked ? -1 : 100;\r\n settings.page.units = parseInt(dlg.querySelector('[name=\"fld-measure\"]:checked').value);\r\n settings.page.margins.left = dlg.querySelector('#fld-marginL').value;\r\n settings.page.margins.top = dlg.querySelector('#fld-marginT').value;\r\n settings.page.margins.right = dlg.querySelector('#fld-marginR').value;\r\n settings.page.margins.bottom = dlg.querySelector('#fld-marginB').value;\r\n settings.header = dlg.querySelector('#fld-header').value;\r\n settings.footer = dlg.querySelector('#fld-footer').value;\r\n\r\n MeadCo.ScriptX.Print.deviceSettings.paperSizeName = dlg.querySelector('#fld-papersize').value\r\n }\r\n }\r\n\r\n\r\n // MeadCo.ScriptX.Print.UI.PageSetup()\r\n ui.PageSetup = function (fnCallBack) {\r\n\r\n if ( !bootstrap.Modal) {\r\n console.error(\"MeadCo.ScriptX.Print.UI requires bootstrap v5 or later\");\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n bAccepted = false;\r\n fnDlgCallback = fnCallBack;\r\n\r\n const sClass = \"\";\r\n const bs_majorVersion = (bootstrap.Modal.VERSION || '').split(' ')[0].split('.')[0];\r\n\r\n // page setup modal to attach to the page\r\n //\r\n // Simple override is to include the dialog in the page with id=\"dlg-printoptions\"\r\n //\r\n const dlgId = \"dlg-printoptions\";\r\n let dlgEl = document.getElementById(dlgId);\r\n\r\n if (!dlgEl) {\r\n console.log(\"UI.PageSetup bootstrap modal version: \" + bootstrap.Modal.VERSION + \", major: \" + bs_majorVersion);\r\n let dlgHtml;\r\n\r\n switch (bs_majorVersion) {\r\n case '5':\r\n dlgHtml = '
' +\r\n '
Page setup
Paper
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
Margins
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
Headers and footers
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n default:\r\n console.error(\"Unknown version of bootstrap: \" + bs_majorVersion);\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n const tempContainer = document.createElement('div');\r\n\r\n tempContainer.innerHTML = dlgHtml;\r\n document.body.appendChild(tempContainer, null);\r\n dlgEl = document.getElementById(dlgId);\r\n }\r\n\r\n if (dlgEl) {\r\n const measure = dlgEl.querySelector('#radiomeasures');\r\n measure.addEventListener(\"change\", measureChangeHandler);\r\n\r\n const btnOk = dlgEl.querySelector(\"#btn-saveoptions\");\r\n if (btnOk) {\r\n btnOk.addEventListener(\"click\", okHandler);\r\n }\r\n\r\n dlgEl.addEventListener(\"hidden.bs.modal\", hideHandler);\r\n }\r\n\r\n let settings = MeadCo.ScriptX.Print.HTML.settings;\r\n\r\n let rb = dlgEl.querySelector(`input[name=\"fld-orientation\"][value=\"${settings.page.orientation}\"]`);\r\n if ( rb ) rb.checked = true;\r\n\r\n dlgEl.querySelector('#fld-printbackground').checked = settings.printBackgroundColorsAndImages;\r\n dlgEl.querySelector('#fld-shrinktofit').checked = settings.viewScale == -1;\r\n\r\n rb = dlgEl.querySelector(`input[name=\"fld-measure\"][value=\"${settings.page.units}\"]`);\r\n if ( rb ) rb.checked = true;\r\n\r\n dlgEl.querySelector('#fld-marginL').value = settings.page.margins.left;\r\n dlgEl.querySelector('#fld-marginT').value = settings.page.margins.top;\r\n dlgEl.querySelector('#fld-marginR').value = settings.page.margins.right;\r\n dlgEl.querySelector('#fld-marginB').value = settings.page.margins.bottom;\r\n dlgEl.querySelector('#fld-header').value = settings.header;\r\n dlgEl.querySelector('#fld-footer').value = settings.footer;\r\n\r\n // grab the paper size options \r\n const printApi = MeadCo.ScriptX.Print;\r\n const paperSelect = document.querySelector('#fld-papersize');\r\n const forms = printApi.deviceSettingsFor(printApi.printerName).forms;\r\n\r\n removeAll(paperSelect);\r\n for (var i in forms) {\r\n paperSelect.add(new Option(forms[i]));\r\n }\r\n\r\n paperSelect.value = MeadCo.ScriptX.Print.deviceSettings.paperSizeName;\r\n\r\n dlg = new bootstrap.Modal(document.getElementById(dlgId), {\r\n backdrop: 'static',\r\n keyboard: false\r\n });\r\n\r\n dlg.show();\r\n\r\n };\r\n\r\n // MeadCo.ScriptX.Print.UI.PrinterSettings()\r\n function okPrinterSettingsHandler(ev) {\r\n ev.preventDefault();\r\n savePrinterSettings();\r\n bAccepted = true;\r\n dlg.hide();\r\n }\r\n\r\n\r\n function printerChange(ev) {\r\n onSelectPrinter(document.getElementById(\"dlg-printersettings\"), ev.target.options[ev.target.selectedIndex].value);\r\n }\r\n\r\n ui.PrinterSettings = function (fnCallBack) {\r\n\r\n if ( !bootstrap.Modal ) {\r\n console.error(\"MeadCo.ScriptX.Print.UI requires bootstrap Modal\");\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n const bs_majorVersion = (bootstrap.Modal.VERSION || '').split(' ')[0].split('.')[0];\r\n\r\n const dlgId = \"dlg-printersettings\";\r\n\r\n let dlgEl = document.getElementById(dlgId);\r\n\r\n bAccepted = false;\r\n const sClass = \"\";\r\n fnDlgCallback = fnCallBack;\r\n\r\n // printer settings modal to attach to the page\r\n if (!dlgEl) {\r\n console.log(\"UI.PageSetup bootstrap modal version: \" + bootstrap.Modal.VERSION + \", major: \" + bs_majorVersion);\r\n let dlgHtml;\r\n \r\n\r\n switch (bs_majorVersion) {\r\n\r\n case '5':\r\n dlgHtml = '
' +\r\n '
Print
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n default:\r\n console.error(\"Unknown version of bootstrap: \" + bs_majorVersion);\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n const tempContainer = document.createElement('div');\r\n\r\n tempContainer.innerHTML = dlgHtml;\r\n document.body.appendChild(tempContainer, null);\r\n\r\n dlgEl = document.getElementById(dlgId);\r\n\r\n }\r\n\r\n if (dlgEl) {\r\n\r\n let el = dlgEl.querySelector(\"#btn-savesettings\");\r\n if (el) {\r\n el.addEventListener(\"click\", okPrinterSettingsHandler);\r\n }\r\n\r\n el = dlgEl.querySelector(\"#fld-printerselect\");\r\n if (el)\r\n el.addEventListener(\"change\", printerChange);\r\n\r\n dlgEl.addEventListener(\"hidden.bs.modal\", hideHandler); \r\n\r\n }\r\n\r\n fillPrintersList(dlgEl);\r\n showPrinterSettings(dlgEl);\r\n\r\n dlg = new bootstrap.Modal(document.getElementById(dlgId), {\r\n backdrop: 'static',\r\n keyboard: false\r\n });\r\n\r\n dlg.show();\r\n }\r\n\r\n // show available sources and options \r\n function showPrinterSettings(dlgEl) {\r\n\r\n fillAndSetBinsList(dlgEl, MeadCo.ScriptX.Print.printerName, () => {\r\n const printApi = MeadCo.ScriptX.Print;\r\n const settings = printApi.deviceSettings;\r\n\r\n dlgEl.querySelector('#fld-collate').setAttribute('checked', settings.collate === printApi.CollateOptions.TRUE);\r\n dlgEl.querySelector('#fld-copies').value = settings.copies;\r\n });\r\n }\r\n\r\n function savePrinterSettings() {\r\n let dlg = document.querySelector('#dlg-printersettings');\r\n const printApi = MeadCo.ScriptX.Print;\r\n\r\n if ( dlg ) {\r\n // must set the printer first and note this might trigger a getDeviceSettings call to the server\r\n const a = printApi.onErrorAction;\r\n\r\n printApi.onErrorAction = printApi.ErrorAction.THROW;\r\n\r\n // eat all and any errors. finally might be better but\r\n // minifiers dont like empty blocks \r\n try {\r\n printApi.printerName = dlg.querySelector('#fld-printerselect').value\r\n }\r\n finally {\r\n printApi.onErrorAction = a;\r\n }\r\n\r\n // update settings for the active printer\r\n let settings = printApi.deviceSettings;\r\n settings.paperSourceName = dlg.querySelector('#fld-papersource').value;\r\n settings.collate = dlg.querySelector('#fld-collate').getAttribute('checked') ? printApi.CollateOptions.TRUE : printApi.CollateOptions.FALSE\r\n settings.copies = parseInt(dlg.querySelector('#fld-copies').value);\r\n }\r\n }\r\n\r\n // fill printers dropdown with those available\r\n function fillPrintersList(dlgEl) {\r\n const printApi = MeadCo.ScriptX.Print;\r\n const printers = dlgEl.querySelector('#fld-printerselect');\r\n const arrPrinters = printApi.availablePrinterNames;\r\n\r\n removeAll(printers);\r\n for (let i = 0; i < arrPrinters.length; i++) {\r\n printers.add(new Option(arrPrinters[i]));\r\n }\r\n\r\n printers.value = printApi.printerName;\r\n onSelectPrinter(dlgEl,printApi.printerName);\r\n }\r\n\r\n function onSelectPrinter(dlgEl,printerName) {\r\n fillAndSetBinsList(dlgEl,printerName);\r\n }\r\n\r\n function fillAndSetBinsList(dlgEl,printerName,fnDone) {\r\n const printApi = MeadCo.ScriptX.Print;\r\n\r\n printApi.deviceSettingsForAsync(printerName, (settings) => {\r\n const binsArray = settings.bins;\r\n const bins = dlgEl.querySelector('#fld-papersource');\r\n\r\n removeAll(bins);\r\n for (var i = 0; i < binsArray.length; i++) {\r\n bins.add(new Option(binsArray[i]));\r\n }\r\n\r\n bins.value = settings.paperSourceName;\r\n if (fnDone) fnDone();\r\n },\r\n (eTxt) => {\r\n MeadCo.ScriptX.Print.reportError(eTxt);\r\n if (fnDone) fnDone();\r\n });\r\n\r\n }\r\n\r\n // convert the current inches value in the control to MM\r\n function convertAndDisplayinchesToMM(el) {\r\n el.value = ((parseFloat(el.value) * 2540) / 100).toFixed(2);\r\n }\r\n\r\n // convert the current mm value in the control to inches\r\n function convertAndDisplayMMtoInches(el) {\r\n el.value = ((parseFloat(el.value) * 100) / 2540).toFixed(2);\r\n }\r\n\r\n function removeAll(selectEl) {\r\n for (let i = selectEl.options.length - 1; i >= 0; i--) {\r\n selectEl.remove(i);\r\n }\r\n }\r\n\r\n})(window.MeadCo = window.MeadCo || null);\r\n"]} \ No newline at end of file +{"version":3,"file":"Bootstrap5-MeadCo.ScriptX.Print.UI.min.js","names":["topLevelNs","undefined","ui","createNS","version","log","bAccepted","dlg","fnDlgCallback","okHandler","ev","preventDefault","document","querySelector","settings","MeadCo","ScriptX","Print","HTML","page","orientation","value","printBackgroundColorsAndImages","checked","viewScale","units","parseInt","margins","left","top","right","bottom","header","footer","deviceSettings","paperSizeName","savePageSetup","hide","hideHandler","measureChangeHandler","querySelectorAll","forEach","box","el","parseFloat","toFixed","okPrinterSettingsHandler","printApi","a","onErrorAction","ErrorAction","THROW","printerName","paperSourceName","collate","getAttribute","CollateOptions","TRUE","FALSE","copies","savePrinterSettings","printerChange","onSelectPrinter","getElementById","target","options","selectedIndex","dlgEl","fillAndSetBinsList","fnDone","deviceSettingsForAsync","binsArray","bins","removeAll","i","length","add","Option","eTxt","reportError","selectEl","remove","PageSetup","fnCallBack","bootstrap","Modal","console","error","bs_majorVersion","VERSION","split","dlgId","dlgHtml","tempContainer","createElement","innerHTML","body","appendChild","addEventListener","btnOk","rb","paperSelect","forms","deviceSettingsFor","backdrop","keyboard","show","PrinterSettings","printers","arrPrinters","availablePrinterNames","fillPrintersList","setAttribute","showPrinterSettings","window"],"sources":["Bootstrap5-MeadCo.ScriptX.Print.UI.js"],"mappings":"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","ignoreList":[],"sourcesContent":["// MeadCo.ScriptX.Print.UI\r\n//\r\n// Depends on MeadCo.ScriptX.Print.HTML\r\n//\r\n// A lightweight plug-in not implemented as a plug-in as it will only be used once or twice on a document\r\n// so polluting jQuery is unneccessary.\r\n//\r\n// Optional dependency: bootstrap-select.js : Bootstrap-select (http://silviomoreto.github.io/bootstrap-select)\r\n// The above dependency is completely optional - the code looks for the enabling class.\r\n//\r\n\r\n(function (topLevelNs, undefined) {\r\n \"use strict\";\r\n\r\n if ( !topLevelNs ) {\r\n return;\r\n }\r\n\r\n let ui = topLevelNs.createNS(\"MeadCo.ScriptX.Print.UI\");\r\n ui.version = \"1.16.0.0\";\r\n\r\n topLevelNs.log(\"MeadCo.ScriptX.Print.UI version is: \" + ui.version);\r\n\r\n let bAccepted = false;\r\n let dlg = null;\r\n let fnDlgCallback = null;\r\n\r\n function okHandler(ev) {\r\n ev.preventDefault();\r\n savePageSetup();\r\n bAccepted = true;\r\n dlg.hide();\r\n }\r\n\r\n function hideHandler() {\r\n if (fnDlgCallback) fnDlgCallback(bAccepted);\r\n }\r\n\r\n function measureChangeHandler() {\r\n switch (document.querySelector('[name=\"fld-measure\"]:checked').value) {\r\n case '2': // mm from inches\r\n document.querySelectorAll(`#dlg-printoptions input[type=number][data-rule=measure]`)\r\n .forEach(box => { convertAndDisplayinchesToMM(box); });\r\n break;\r\n\r\n case '1': // inches from mm\r\n document.querySelectorAll(`#dlg-printoptions input[type=number][data-rule=measure]`)\r\n .forEach(box => { convertAndDisplayMMtoInches(box); });\r\n break;\r\n }\r\n\r\n }\r\n\r\n function savePageSetup() {\r\n const dlg = document.querySelector('#dlg-printoptions');\r\n const settings = MeadCo.ScriptX.Print.HTML.settings;\r\n\r\n if (dlg) {\r\n settings.page.orientation = dlg.querySelector('[name=\"fld-orientation\"]:checked').value;\r\n settings.printBackgroundColorsAndImages = dlg.querySelector('#fld-printbackground').checked;\r\n settings.viewScale = dlg.querySelector('#fld-shrinktofit').checked ? -1 : 100;\r\n settings.page.units = parseInt(dlg.querySelector('[name=\"fld-measure\"]:checked').value);\r\n settings.page.margins.left = dlg.querySelector('#fld-marginL').value;\r\n settings.page.margins.top = dlg.querySelector('#fld-marginT').value;\r\n settings.page.margins.right = dlg.querySelector('#fld-marginR').value;\r\n settings.page.margins.bottom = dlg.querySelector('#fld-marginB').value;\r\n settings.header = dlg.querySelector('#fld-header').value;\r\n settings.footer = dlg.querySelector('#fld-footer').value;\r\n\r\n MeadCo.ScriptX.Print.deviceSettings.paperSizeName = dlg.querySelector('#fld-papersize').value\r\n }\r\n }\r\n\r\n\r\n // MeadCo.ScriptX.Print.UI.PageSetup()\r\n ui.PageSetup = function (fnCallBack) {\r\n\r\n if ( !bootstrap.Modal) {\r\n console.error(\"MeadCo.ScriptX.Print.UI requires bootstrap v5 or later\");\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n bAccepted = false;\r\n fnDlgCallback = fnCallBack;\r\n\r\n const sClass = \"\";\r\n const bs_majorVersion = (bootstrap.Modal.VERSION || '').split(' ')[0].split('.')[0];\r\n\r\n // page setup modal to attach to the page\r\n //\r\n // Simple override is to include the dialog in the page with id=\"dlg-printoptions\"\r\n //\r\n const dlgId = \"dlg-printoptions\";\r\n let dlgEl = document.getElementById(dlgId);\r\n\r\n if (!dlgEl) {\r\n console.log(\"UI.PageSetup bootstrap modal version: \" + bootstrap.Modal.VERSION + \", major: \" + bs_majorVersion);\r\n let dlgHtml;\r\n\r\n switch (bs_majorVersion) {\r\n case '5':\r\n dlgHtml = '
' +\r\n '
Page setup
Paper
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
Margins
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
Headers and footers
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n default:\r\n console.error(\"Unknown version of bootstrap: \" + bs_majorVersion);\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n const tempContainer = document.createElement('div');\r\n\r\n tempContainer.innerHTML = dlgHtml;\r\n document.body.appendChild(tempContainer, null);\r\n dlgEl = document.getElementById(dlgId);\r\n }\r\n\r\n if (dlgEl) {\r\n const measure = dlgEl.querySelector('#radiomeasures');\r\n measure.addEventListener(\"change\", measureChangeHandler);\r\n\r\n const btnOk = dlgEl.querySelector(\"#btn-saveoptions\");\r\n if (btnOk) {\r\n btnOk.addEventListener(\"click\", okHandler);\r\n }\r\n\r\n dlgEl.addEventListener(\"hidden.bs.modal\", hideHandler);\r\n }\r\n\r\n let settings = MeadCo.ScriptX.Print.HTML.settings;\r\n\r\n let rb = dlgEl.querySelector(`input[name=\"fld-orientation\"][value=\"${settings.page.orientation}\"]`);\r\n if ( rb ) rb.checked = true;\r\n\r\n dlgEl.querySelector('#fld-printbackground').checked = settings.printBackgroundColorsAndImages;\r\n dlgEl.querySelector('#fld-shrinktofit').checked = settings.viewScale == -1;\r\n\r\n rb = dlgEl.querySelector(`input[name=\"fld-measure\"][value=\"${settings.page.units}\"]`);\r\n if ( rb ) rb.checked = true;\r\n\r\n dlgEl.querySelector('#fld-marginL').value = settings.page.margins.left;\r\n dlgEl.querySelector('#fld-marginT').value = settings.page.margins.top;\r\n dlgEl.querySelector('#fld-marginR').value = settings.page.margins.right;\r\n dlgEl.querySelector('#fld-marginB').value = settings.page.margins.bottom;\r\n dlgEl.querySelector('#fld-header').value = settings.header;\r\n dlgEl.querySelector('#fld-footer').value = settings.footer;\r\n\r\n // grab the paper size options \r\n const printApi = MeadCo.ScriptX.Print;\r\n const paperSelect = document.querySelector('#fld-papersize');\r\n const forms = printApi.deviceSettingsFor(printApi.printerName).forms;\r\n\r\n removeAll(paperSelect);\r\n for (var i in forms) {\r\n paperSelect.add(new Option(forms[i]));\r\n }\r\n\r\n paperSelect.value = MeadCo.ScriptX.Print.deviceSettings.paperSizeName;\r\n\r\n dlg = new bootstrap.Modal(document.getElementById(dlgId), {\r\n backdrop: 'static',\r\n keyboard: false\r\n });\r\n\r\n dlg.show();\r\n\r\n };\r\n\r\n // MeadCo.ScriptX.Print.UI.PrinterSettings()\r\n function okPrinterSettingsHandler(ev) {\r\n ev.preventDefault();\r\n savePrinterSettings();\r\n bAccepted = true;\r\n dlg.hide();\r\n }\r\n\r\n\r\n function printerChange(ev) {\r\n onSelectPrinter(document.getElementById(\"dlg-printersettings\"), ev.target.options[ev.target.selectedIndex].value);\r\n }\r\n\r\n ui.PrinterSettings = function (fnCallBack) {\r\n\r\n if ( !bootstrap.Modal ) {\r\n console.error(\"MeadCo.ScriptX.Print.UI requires bootstrap Modal\");\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n const bs_majorVersion = (bootstrap.Modal.VERSION || '').split(' ')[0].split('.')[0];\r\n\r\n const dlgId = \"dlg-printersettings\";\r\n\r\n let dlgEl = document.getElementById(dlgId);\r\n\r\n bAccepted = false;\r\n const sClass = \"\";\r\n fnDlgCallback = fnCallBack;\r\n\r\n // printer settings modal to attach to the page\r\n if (!dlgEl) {\r\n console.log(\"UI.PageSetup bootstrap modal version: \" + bootstrap.Modal.VERSION + \", major: \" + bs_majorVersion);\r\n let dlgHtml;\r\n \r\n\r\n switch (bs_majorVersion) {\r\n\r\n case '5':\r\n dlgHtml = '
' +\r\n '
Print
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n default:\r\n console.error(\"Unknown version of bootstrap: \" + bs_majorVersion);\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n const tempContainer = document.createElement('div');\r\n\r\n tempContainer.innerHTML = dlgHtml;\r\n document.body.appendChild(tempContainer, null);\r\n\r\n dlgEl = document.getElementById(dlgId);\r\n\r\n }\r\n\r\n if (dlgEl) {\r\n\r\n let el = dlgEl.querySelector(\"#btn-savesettings\");\r\n if (el) {\r\n el.addEventListener(\"click\", okPrinterSettingsHandler);\r\n }\r\n\r\n el = dlgEl.querySelector(\"#fld-printerselect\");\r\n if (el)\r\n el.addEventListener(\"change\", printerChange);\r\n\r\n dlgEl.addEventListener(\"hidden.bs.modal\", hideHandler); \r\n\r\n }\r\n\r\n fillPrintersList(dlgEl);\r\n showPrinterSettings(dlgEl);\r\n\r\n dlg = new bootstrap.Modal(document.getElementById(dlgId), {\r\n backdrop: 'static',\r\n keyboard: false\r\n });\r\n\r\n dlg.show();\r\n }\r\n\r\n // show available sources and options \r\n function showPrinterSettings(dlgEl) {\r\n\r\n fillAndSetBinsList(dlgEl, MeadCo.ScriptX.Print.printerName, () => {\r\n const printApi = MeadCo.ScriptX.Print;\r\n const settings = printApi.deviceSettings;\r\n\r\n dlgEl.querySelector('#fld-collate').setAttribute('checked', settings.collate === printApi.CollateOptions.TRUE);\r\n dlgEl.querySelector('#fld-copies').value = settings.copies;\r\n });\r\n }\r\n\r\n function savePrinterSettings() {\r\n let dlg = document.querySelector('#dlg-printersettings');\r\n const printApi = MeadCo.ScriptX.Print;\r\n\r\n if ( dlg ) {\r\n // must set the printer first and note this might trigger a getDeviceSettings call to the server\r\n const a = printApi.onErrorAction;\r\n\r\n printApi.onErrorAction = printApi.ErrorAction.THROW;\r\n\r\n // eat all and any errors. finally might be better but\r\n // minifiers dont like empty blocks \r\n try {\r\n printApi.printerName = dlg.querySelector('#fld-printerselect').value\r\n }\r\n finally {\r\n printApi.onErrorAction = a;\r\n }\r\n\r\n // update settings for the active printer\r\n let settings = printApi.deviceSettings;\r\n settings.paperSourceName = dlg.querySelector('#fld-papersource').value;\r\n settings.collate = dlg.querySelector('#fld-collate').getAttribute('checked') ? printApi.CollateOptions.TRUE : printApi.CollateOptions.FALSE\r\n settings.copies = parseInt(dlg.querySelector('#fld-copies').value);\r\n }\r\n }\r\n\r\n // fill printers dropdown with those available\r\n function fillPrintersList(dlgEl) {\r\n const printApi = MeadCo.ScriptX.Print;\r\n const printers = dlgEl.querySelector('#fld-printerselect');\r\n const arrPrinters = printApi.availablePrinterNames;\r\n\r\n removeAll(printers);\r\n for (let i = 0; i < arrPrinters.length; i++) {\r\n printers.add(new Option(arrPrinters[i]));\r\n }\r\n\r\n printers.value = printApi.printerName;\r\n onSelectPrinter(dlgEl,printApi.printerName);\r\n }\r\n\r\n function onSelectPrinter(dlgEl,printerName) {\r\n fillAndSetBinsList(dlgEl,printerName);\r\n }\r\n\r\n function fillAndSetBinsList(dlgEl,printerName,fnDone) {\r\n const printApi = MeadCo.ScriptX.Print;\r\n\r\n printApi.deviceSettingsForAsync(printerName, (settings) => {\r\n const binsArray = settings.bins;\r\n const bins = dlgEl.querySelector('#fld-papersource');\r\n\r\n removeAll(bins);\r\n for (var i = 0; i < binsArray.length; i++) {\r\n bins.add(new Option(binsArray[i]));\r\n }\r\n\r\n bins.value = settings.paperSourceName;\r\n if (fnDone) fnDone();\r\n },\r\n (eTxt) => {\r\n MeadCo.ScriptX.Print.reportError(eTxt);\r\n if (fnDone) fnDone();\r\n });\r\n\r\n }\r\n\r\n // convert the current inches value in the control to MM\r\n function convertAndDisplayinchesToMM(el) {\r\n el.value = ((parseFloat(el.value) * 2540) / 100).toFixed(2);\r\n }\r\n\r\n // convert the current mm value in the control to inches\r\n function convertAndDisplayMMtoInches(el) {\r\n el.value = ((parseFloat(el.value) * 100) / 2540).toFixed(2);\r\n }\r\n\r\n function removeAll(selectEl) {\r\n for (let i = selectEl.options.length - 1; i >= 0; i--) {\r\n selectEl.remove(i);\r\n }\r\n }\r\n\r\n})(window.MeadCo = window.MeadCo || null);\r\n"]} \ No newline at end of file diff --git a/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js b/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js index a0c4d5d..63c969e 100644 --- a/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js +++ b/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js @@ -1,2 +1,2 @@ -!function(l,e,o){"use strict";if(l){var a=l.createNS("MeadCo.ScriptX.Print.UI");a.version="1.15.2.0",l.log("MeadCo.ScriptX.Print.UI version is: "+a.version),a.PageSetup=function(l){if(!e.fn.modal&&!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap Modal"),void l(!1);var o=!1,a="",t=(e.fn.modal.Constructor.VERSION||"").split(" ")[0].split(".")[0];if(e.fn.selectpicker&&"3"===t&&(a="selectpicker"),!e("#dlg-printoptions").length){var i;switch(console.log("UI.PageSetup bootstrap modal version: "+e.fn.modal.Constructor.VERSION+", major: "+t),t){case"3":i='\x3c!-- /.modal --\x3e';break;case"4":i='';break;case"5":i='';break;default:return console.error("Unknown version of bootstrap: "+t),void l(!1)}e("body").append(i)}e('[name="fld-measure"]').off("change").on("change",(function(){const l="5"===t?"number":"text";switch(e(this).val()){case"2":e(`#dlg-printoptions input[type=${l}][data-rule=measure]`).each((function(){var l;(l=e(this)).val((2540*parseFloat(l.val())/100).toFixed(2))}));break;case"1":e(`#dlg-printoptions input[type=${l}][data-rule=measure]`).each((function(){var l;(l=e(this)).val((100*parseFloat(l.val())/2540).toFixed(2))}))}})),e("#btn-saveoptions").off("click").on("click",(function(l){l.preventDefault(),function(){var l=e("#dlg-printoptions"),o=MeadCo.ScriptX.Print.HTML.settings;l.length&&(o.page.orientation=l.find('[name="fld-orientation"]:checked').val(),o.printBackgroundColorsAndImages=l.find("#fld-printbackground").prop("checked"),o.viewScale=l.find("#fld-shrinktofit").prop("checked")?-1:100,o.page.units=parseInt(l.find('[name="fld-measure"]:checked').val()),o.page.margins.left=l.find("#fld-marginL").val(),o.page.margins.top=l.find("#fld-marginT").val(),o.page.margins.right=l.find("#fld-marginR").val(),o.page.margins.bottom=l.find("#fld-marginB").val(),o.header=l.find("#fld-header").val(),o.footer=l.find("#fld-footer").val(),MeadCo.ScriptX.Print.deviceSettings.paperSizeName=e("#fld-papersize").val())}(),o=!0,e("#dlg-printoptions").modal("hide")})),e("#dlg-printoptions").off("hidden.bs.modal").on("hidden.bs.modal",(function(){"function"==typeof l&&l(o)}));var d=e("#dlg-printoptions"),s=MeadCo.ScriptX.Print.HTML.settings;d.find('[name="fld-orientation"]').val([s.page.orientation]),d.find("#fld-printbackground").prop("checked",s.printBackgroundColorsAndImages),d.find("#fld-shrinktofit").prop("checked",-1==s.viewScale),d.find('[name="fld-measure"]').val([s.page.units]),d.find("#fld-marginL").val(s.page.margins.left),d.find("#fld-marginT").val(s.page.margins.top),d.find("#fld-marginR").val(s.page.margins.right),d.find("#fld-marginB").val(s.page.margins.bottom),d.find("#fld-header").val(s.header),d.find("#fld-footer").val(s.footer);var r=MeadCo.ScriptX.Print,c=e("#fld-papersize"),n=r.deviceSettingsFor(r.printerName).forms;for(var m in e("#fld-papersize > option").remove(),n)c.append("");c.hasClass("selectpicker")&&c.selectpicker("refresh"),c.val(MeadCo.ScriptX.Print.deviceSettings.paperSizeName),d.modal("show"),c.hasClass("selectpicker")&&c.selectpicker("refresh")},a.PrinterSettings=function(l){if(!e.fn.modal&&!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap Modal"),void l(!1);var o=!1,a="",d=(e.fn.modal.Constructor.VERSION||"").split(" ")[0].split(".")[0];if(e.fn.selectpicker&&"3"===d&&(a="selectpicker"),!e("#dlg-printersettings").length){var s;switch(console.log("UI.PageSetup bootstrap modal version: "+e.fn.modal.Constructor.VERSION),d){case"3":s='\x3c!-- /.modal --\x3e';break;case"4":s='';break;case"5":s='';break;default:return console.error("Unknown version of bootstrap: "+d),void l(!1)}e("body").append(s),e("#dlg-printersettings #fld-printerselect").change((function(l){t(e(this).val())}))}if(e("#btn-savesettings").off("click").on("click",(function(l){l.preventDefault(),function(){var l=e("#dlg-printersettings"),o=MeadCo.ScriptX.Print;if(l.length){var a=o.onErrorAction;o.onErrorAction=o.ErrorAction.THROW;try{o.printerName=e("#fld-printerselect").val(),o.onErrorAction=a}catch(l){o.onErrorAction=a}var t=o.deviceSettings;t.paperSourceName=e("#fld-papersource").val(),t.collate=l.find("#fld-collate").prop("checked")?o.CollateOptions.TRUE:o.CollateOptions.FALSE,t.copies=l.find("#fld-copies").val()}}(),o=!0,e("#dlg-printersettings").modal("hide")})),e("#dlg-printersettings").off("hidden.bs.modal").on("hidden.bs.modal",(function(){"function"==typeof l&&l(o)})),function(){var l=MeadCo.ScriptX.Print,o=e("#fld-printerselect"),a=l.availablePrinterNames;e("#fld-printerselect > option").remove();for(var i=0;i"+a[i]);o.val(l.printerName),o.hasClass("selectpicker")?o.selectpicker("refresh"):t(l.printerName)}(),function(){var l=MeadCo.ScriptX.Print,o=l.deviceSettings;i();var a=e("#dlg-printersettings");a.find("#fld-collate").prop("checked",o.collate===l.CollateOptions.TRUE),a.find("#fld-copies").val(o.copies)}(),"5"===d){new bootstrap.Modal(document.getElementById("dlg-printersettings"),{backdrop:"static",keyboard:!1,show:!1}).show()}else e("#dlg-printersettings").modal("show");"selectpicker"===a&&e("#dlg-printersettings .selectpicker").selectpicker("refresh")}}function t(l){var e=MeadCo.ScriptX.Print,o=e.printerName,a=e.deviceSettings.paperSourceName,t=e.onErrorAction;e.onErrorAction=e.ErrorAction.THROW;try{e.printerName=l,i()}catch(l){alert("Sorry, an error has occurred:\n\n"+l.message)}try{e.printerName=o,e.deviceSettings.paperSourceName=a}catch(l){alert("Sorry, an error has occurred restoring current printer settings:\n\n"+l.message)}e.onErrorAction=t}function i(){var l=MeadCo.ScriptX.Print;l.deviceSettingsForAsync(l.printerName,(l=>{var o=l.bins,a=e("#fld-papersource");e("#fld-papersource > option").remove();for(var t=0;t"+o[t]);a.val(l.paperSourceName),a.hasClass("selectpicker")&&a.selectpicker("refresh")}),(l=>{MeadCo.ScriptX.Print.reportError(l)}))}}(window.MeadCo=window.MeadCo||null,jQuery); +!function(l,e,o){"use strict";if(l){var a=l.createNS("MeadCo.ScriptX.Print.UI");a.version="1.16.0.0",l.log("MeadCo.ScriptX.Print.UI version is: "+a.version),a.PageSetup=function(l){if(!e.fn.modal&&!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap Modal"),void l(!1);var o=!1,a="",t=(e.fn.modal.Constructor.VERSION||"").split(" ")[0].split(".")[0];if(e.fn.selectpicker&&"3"===t&&(a="selectpicker"),!e("#dlg-printoptions").length){var i;switch(console.log("UI.PageSetup bootstrap modal version: "+e.fn.modal.Constructor.VERSION+", major: "+t),t){case"3":i='\x3c!-- /.modal --\x3e';break;case"4":i='';break;case"5":i='';break;default:return console.error("Unknown version of bootstrap: "+t),void l(!1)}e("body").append(i)}e('[name="fld-measure"]').off("change").on("change",(function(){const l="5"===t?"number":"text";switch(e(this).val()){case"2":e(`#dlg-printoptions input[type=${l}][data-rule=measure]`).each((function(){var l;(l=e(this)).val((2540*parseFloat(l.val())/100).toFixed(2))}));break;case"1":e(`#dlg-printoptions input[type=${l}][data-rule=measure]`).each((function(){var l;(l=e(this)).val((100*parseFloat(l.val())/2540).toFixed(2))}))}})),e("#btn-saveoptions").off("click").on("click",(function(l){l.preventDefault(),function(){var l=e("#dlg-printoptions"),o=MeadCo.ScriptX.Print.HTML.settings;l.length&&(o.page.orientation=l.find('[name="fld-orientation"]:checked').val(),o.printBackgroundColorsAndImages=l.find("#fld-printbackground").prop("checked"),o.viewScale=l.find("#fld-shrinktofit").prop("checked")?-1:100,o.page.units=parseInt(l.find('[name="fld-measure"]:checked').val()),o.page.margins.left=l.find("#fld-marginL").val(),o.page.margins.top=l.find("#fld-marginT").val(),o.page.margins.right=l.find("#fld-marginR").val(),o.page.margins.bottom=l.find("#fld-marginB").val(),o.header=l.find("#fld-header").val(),o.footer=l.find("#fld-footer").val(),MeadCo.ScriptX.Print.deviceSettings.paperSizeName=e("#fld-papersize").val())}(),o=!0,e("#dlg-printoptions").modal("hide")})),e("#dlg-printoptions").off("hidden.bs.modal").on("hidden.bs.modal",(function(){"function"==typeof l&&l(o)}));var d=e("#dlg-printoptions"),s=MeadCo.ScriptX.Print.HTML.settings;d.find('[name="fld-orientation"]').val([s.page.orientation]),d.find("#fld-printbackground").prop("checked",s.printBackgroundColorsAndImages),d.find("#fld-shrinktofit").prop("checked",-1==s.viewScale),d.find('[name="fld-measure"]').val([s.page.units]),d.find("#fld-marginL").val(s.page.margins.left),d.find("#fld-marginT").val(s.page.margins.top),d.find("#fld-marginR").val(s.page.margins.right),d.find("#fld-marginB").val(s.page.margins.bottom),d.find("#fld-header").val(s.header),d.find("#fld-footer").val(s.footer);var r=MeadCo.ScriptX.Print,c=e("#fld-papersize"),n=r.deviceSettingsFor(r.printerName).forms;for(var m in e("#fld-papersize > option").remove(),n)c.append("");c.hasClass("selectpicker")&&c.selectpicker("refresh"),c.val(MeadCo.ScriptX.Print.deviceSettings.paperSizeName),d.modal("show"),c.hasClass("selectpicker")&&c.selectpicker("refresh")},a.PrinterSettings=function(l){if(!e.fn.modal&&!bootstrap.Modal)return console.error("MeadCo.ScriptX.Print.UI requires bootstrap Modal"),void l(!1);var o=!1,a="",d=(e.fn.modal.Constructor.VERSION||"").split(" ")[0].split(".")[0];if(e.fn.selectpicker&&"3"===d&&(a="selectpicker"),!e("#dlg-printersettings").length){var s;switch(console.log("UI.PageSetup bootstrap modal version: "+e.fn.modal.Constructor.VERSION),d){case"3":s='\x3c!-- /.modal --\x3e';break;case"4":s='';break;case"5":s='';break;default:return console.error("Unknown version of bootstrap: "+d),void l(!1)}e("body").append(s),e("#dlg-printersettings #fld-printerselect").change((function(l){t(e(this).val())}))}if(e("#btn-savesettings").off("click").on("click",(function(l){l.preventDefault(),function(){var l=e("#dlg-printersettings"),o=MeadCo.ScriptX.Print;if(l.length){var a=o.onErrorAction;o.onErrorAction=o.ErrorAction.THROW;try{o.printerName=e("#fld-printerselect").val(),o.onErrorAction=a}catch(l){o.onErrorAction=a}var t=o.deviceSettings;t.paperSourceName=e("#fld-papersource").val(),t.collate=l.find("#fld-collate").prop("checked")?o.CollateOptions.TRUE:o.CollateOptions.FALSE,t.copies=l.find("#fld-copies").val()}}(),o=!0,e("#dlg-printersettings").modal("hide")})),e("#dlg-printersettings").off("hidden.bs.modal").on("hidden.bs.modal",(function(){"function"==typeof l&&l(o)})),function(){var l=MeadCo.ScriptX.Print,o=e("#fld-printerselect"),a=l.availablePrinterNames;e("#fld-printerselect > option").remove();for(var i=0;i"+a[i]);o.val(l.printerName),o.hasClass("selectpicker")?o.selectpicker("refresh"):t(l.printerName)}(),function(){var l=MeadCo.ScriptX.Print,o=l.deviceSettings;i();var a=e("#dlg-printersettings");a.find("#fld-collate").prop("checked",o.collate===l.CollateOptions.TRUE),a.find("#fld-copies").val(o.copies)}(),"5"===d){new bootstrap.Modal(document.getElementById("dlg-printersettings"),{backdrop:"static",keyboard:!1,show:!1}).show()}else e("#dlg-printersettings").modal("show");"selectpicker"===a&&e("#dlg-printersettings .selectpicker").selectpicker("refresh")}}function t(l){var e=MeadCo.ScriptX.Print,o=e.printerName,a=e.deviceSettings.paperSourceName,t=e.onErrorAction;e.onErrorAction=e.ErrorAction.THROW;try{e.printerName=l,i()}catch(l){alert("Sorry, an error has occurred:\n\n"+l.message)}try{e.printerName=o,e.deviceSettings.paperSourceName=a}catch(l){alert("Sorry, an error has occurred restoring current printer settings:\n\n"+l.message)}e.onErrorAction=t}function i(){var l=MeadCo.ScriptX.Print;l.deviceSettingsForAsync(l.printerName,(l=>{var o=l.bins,a=e("#fld-papersource");e("#fld-papersource > option").remove();for(var t=0;t"+o[t]);a.val(l.paperSourceName),a.hasClass("selectpicker")&&a.selectpicker("refresh")}),(l=>{MeadCo.ScriptX.Print.reportError(l)}))}}(window.MeadCo=window.MeadCo||null,jQuery); //# sourceMappingURL=jQuery-MeadCo.ScriptX.Print.UI.min.js.map diff --git a/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js.map b/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js.map index a540942..1a3fa86 100644 --- a/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js.map +++ b/dist/jQuery-MeadCo.ScriptX.Print.UI.min.js.map @@ -1 +1 @@ -{"version":3,"file":"jQuery-MeadCo.ScriptX.Print.UI.min.js","names":["topLevelNs","$","undefined","ui","createNS","version","log","PageSetup","fnCallBack","fn","modal","bootstrap","Modal","console","error","bAccepted","sClass","bs_majorVersion","Constructor","VERSION","split","selectpicker","length","dlg","append","off","on","uiType","this","val","each","$el","parseFloat","toFixed","ev","preventDefault","$dlg","settings","MeadCo","ScriptX","Print","HTML","page","orientation","find","printBackgroundColorsAndImages","prop","viewScale","units","parseInt","margins","left","top","right","bottom","header","footer","deviceSettings","paperSizeName","savePageSetup","printApi","$paperselect","forms","deviceSettingsFor","printerName","i","remove","hasClass","PrinterSettings","change","onSelectPrinter","a","onErrorAction","ErrorAction","THROW","e","paperSourceName","collate","CollateOptions","TRUE","FALSE","copies","savePrinterSettings","$printers","arrPrinters","availablePrinterNames","fillPrintersList","fillAndSetBinsList","showPrinterSettings","document","getElementById","backdrop","keyboard","show","currentPrinterName","currentSource","alert","message","deviceSettingsForAsync","binsArray","bins","$bins","eTxt","reportError","window","jQuery"],"sources":["jQuery-MeadCo.ScriptX.Print.UI.js"],"mappings":"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","ignoreList":[],"sourcesContent":["// MeadCo.ScriptX.Print.UI\r\n//\r\n// Depends on MeadCo.ScriptX.Print.HTML\r\n//\r\n// A lightweight plug-in not implemented as a plug-in as it will only be used once or twice on a document\r\n// so polluting jQuery is unneccessary.\r\n//\r\n// Optional dependency: bootstrap-select.js : Bootstrap-select (http://silviomoreto.github.io/bootstrap-select)\r\n// The above dependency is completely optional - the code looks for the enabling class.\r\n//\r\n\r\n(function (topLevelNs, $, undefined) {\r\n \"use strict\";\r\n\r\n if (!topLevelNs) {\r\n return;\r\n }\r\n\r\n var ui = topLevelNs.createNS(\"MeadCo.ScriptX.Print.UI\");\r\n ui.version = \"1.15.2.0\";\r\n\r\n topLevelNs.log(\"MeadCo.ScriptX.Print.UI version is: \" + ui.version);\r\n\r\n // MeadCo.ScriptX.Print.UI.PageSetup()\r\n ui.PageSetup = function (fnCallBack) {\r\n\r\n if (!$.fn.modal && !bootstrap.Modal) {\r\n console.error(\"MeadCo.ScriptX.Print.UI requires bootstrap Modal\");\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n var bAccepted = false;\r\n var sClass = \"\";\r\n var bs_majorVersion = ($.fn.modal.Constructor.VERSION || '').split(' ')[0].split('.')[0];\r\n\r\n // check for presence of bootstrap-select.js (doesn't work well with BS 4)\r\n if ($.fn.selectpicker && bs_majorVersion === '3') {\r\n sClass = \"selectpicker\";\r\n }\r\n\r\n // page setup modal to attach to the page\r\n //\r\n // Simple override is to include the dialog in the page with id=\"dlg-printoptions\"\r\n //\r\n if (!$('#dlg-printoptions').length) {\r\n console.log(\"UI.PageSetup bootstrap modal version: \" + $.fn.modal.Constructor.VERSION + \", major: \" + bs_majorVersion);\r\n var dlg;\r\n\r\n switch (bs_majorVersion) {\r\n case '3':\r\n dlg = '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '

Page setup

' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n 'Paper' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n 'Margins' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n 'Headers and footers' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '';\r\n break;\r\n\r\n case '4':\r\n dlg = '
' +\r\n '
Page setup
Paper
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
Margins
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
Headers and footers
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case '5':\r\n dlg = '
' +\r\n '
Page setup
Paper
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
Margins
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
Headers and footers
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n default:\r\n console.error(\"Unknown version of bootstrap: \" + bs_majorVersion);\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n $('body').append(dlg);\r\n }\r\n\r\n $('[name=\"fld-measure\"]')\r\n .off('change')\r\n .on('change', function () {\r\n const uiType = bs_majorVersion === \"5\" ? \"number\" : \"text\";\r\n switch ($(this).val()) {\r\n case '2': // mm from inches\r\n $(`#dlg-printoptions input[type=${uiType}][data-rule=measure]`).each(function () {\r\n convertAndDisplayinchesToMM($(this));\r\n });\r\n break;\r\n\r\n case '1': // inches from mm\r\n $(`#dlg-printoptions input[type=${uiType}][data-rule=measure]`).each(function () {\r\n convertAndDisplayMMtoInches($(this));\r\n });\r\n break;\r\n }\r\n });\r\n\r\n // reattach click handler as callback function scoped variables may (probably will) have changed\r\n $('#btn-saveoptions')\r\n .off(\"click\")\r\n .on(\"click\", function (ev) {\r\n ev.preventDefault();\r\n savePageSetup();\r\n bAccepted = true;\r\n $('#dlg-printoptions').modal('hide');\r\n });\r\n\r\n $(\"#dlg-printoptions\")\r\n .off('hidden.bs.modal')\r\n .on('hidden.bs.modal', function () {\r\n if (typeof fnCallBack === \"function\") {\r\n fnCallBack(bAccepted);\r\n }\r\n });\r\n\r\n var $dlg = $('#dlg-printoptions');\r\n var settings = MeadCo.ScriptX.Print.HTML.settings;\r\n\r\n $dlg.find('[name=\"fld-orientation\"]').val([settings.page.orientation]);\r\n $dlg.find('#fld-printbackground').prop('checked', settings.printBackgroundColorsAndImages);\r\n $dlg.find('#fld-shrinktofit').prop('checked', settings.viewScale == -1);\r\n $dlg.find('[name=\"fld-measure\"]').val([settings.page.units]);\r\n $dlg.find('#fld-marginL').val(settings.page.margins.left);\r\n $dlg.find('#fld-marginT').val(settings.page.margins.top);\r\n $dlg.find('#fld-marginR').val(settings.page.margins.right);\r\n $dlg.find('#fld-marginB').val(settings.page.margins.bottom);\r\n $dlg.find('#fld-header').val(settings.header);\r\n $dlg.find('#fld-footer').val(settings.footer);\r\n\r\n // grab the paper size options \r\n var printApi = MeadCo.ScriptX.Print;\r\n var $paperselect = $('#fld-papersize');\r\n var forms = printApi.deviceSettingsFor(printApi.printerName).forms;\r\n\r\n $('#fld-papersize > option').remove();\r\n for (var i in forms) {\r\n $paperselect.append(\"\");\r\n }\r\n\r\n if ($paperselect.hasClass(\"selectpicker\")) {\r\n $paperselect.selectpicker('refresh');\r\n }\r\n\r\n $paperselect.val(MeadCo.ScriptX.Print.deviceSettings.paperSizeName);\r\n\r\n $dlg.modal('show');\r\n\r\n if ($paperselect.hasClass(\"selectpicker\")) {\r\n $paperselect.selectpicker('refresh');\r\n }\r\n\r\n };\r\n\r\n // MeadCo.ScriptX.Print.UI.PrinterSettings()\r\n ui.PrinterSettings = function (fnCallBack) {\r\n\r\n if (!$.fn.modal && !bootstrap.Modal) {\r\n console.error(\"MeadCo.ScriptX.Print.UI requires bootstrap Modal\");\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n var bAccepted = false;\r\n var sClass = \"\";\r\n var bs_majorVersion = ($.fn.modal.Constructor.VERSION || '').split(' ')[0].split('.')[0];\r\n\r\n // check for presence of bootstrap-select.js (doesn't work well with BS 4)\r\n if ($.fn.selectpicker && bs_majorVersion === '3') {\r\n sClass = \"selectpicker\";\r\n }\r\n\r\n // printer settings modal to attach to the page\r\n if (!$('#dlg-printersettings').length) {\r\n console.log(\"UI.PageSetup bootstrap modal version: \" + $.fn.modal.Constructor.VERSION);\r\n\r\n var dlg;\r\n\r\n switch (bs_majorVersion) {\r\n case '3':\r\n dlg = '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '

Print

' +\r\n '
' +\r\n '
' +\r\n //'
' +\r\n // 'Printer' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n //'
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '';\r\n break;\r\n\r\n case '4':\r\n dlg = '
' +\r\n '
Print
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case '5':\r\n dlg = '
' +\r\n '
Print
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n default:\r\n console.error(\"Unknown version of bootstrap: \" + bs_majorVersion);\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n $('body').append(dlg);\r\n\r\n $('#dlg-printersettings #fld-printerselect').change(function (ev) {\r\n onSelectPrinter($(this).val());\r\n });\r\n }\r\n\r\n // reattach click handler as callback function scoped variables may (probably will) have changed\r\n $('#btn-savesettings')\r\n .off(\"click\")\r\n .on(\"click\", function (ev) {\r\n ev.preventDefault();\r\n savePrinterSettings();\r\n bAccepted = true;\r\n $('#dlg-printersettings').modal('hide');\r\n });\r\n\r\n $(\"#dlg-printersettings\")\r\n .off('hidden.bs.modal')\r\n .on('hidden.bs.modal', function () {\r\n if (typeof fnCallBack === \"function\") {\r\n fnCallBack(bAccepted);\r\n }\r\n });\r\n\r\n\r\n fillPrintersList();\r\n showPrinterSettings();\r\n\r\n if (bs_majorVersion === \"5\") {\r\n let d = new bootstrap.Modal(document.getElementById('dlg-printersettings'), {\r\n backdrop: 'static',\r\n keyboard: false,\r\n show: false\r\n });\r\n d.show();\r\n }\r\n else\r\n $('#dlg-printersettings').modal('show');\r\n\r\n if (sClass === \"selectpicker\") {\r\n $('#dlg-printersettings .selectpicker').selectpicker('refresh');\r\n }\r\n };\r\n\r\n // show available sources and options \r\n function showPrinterSettings() {\r\n var printApi = MeadCo.ScriptX.Print;\r\n var settings = printApi.deviceSettings;\r\n\r\n fillAndSetBinsList();\r\n\r\n var $dlg = $('#dlg-printersettings');\r\n $dlg.find('#fld-collate').prop('checked', settings.collate === printApi.CollateOptions.TRUE);\r\n $dlg.find('#fld-copies').val(settings.copies);\r\n\r\n }\r\n\r\n function savePageSetup() {\r\n var $dlg = $('#dlg-printoptions');\r\n var settings = MeadCo.ScriptX.Print.HTML.settings;\r\n\r\n if ($dlg.length) {\r\n settings.page.orientation = $dlg.find('[name=\"fld-orientation\"]:checked').val();\r\n settings.printBackgroundColorsAndImages = $dlg.find('#fld-printbackground').prop('checked');\r\n settings.viewScale = $dlg.find('#fld-shrinktofit').prop('checked') ? -1 : 100;\r\n settings.page.units = parseInt($dlg.find('[name=\"fld-measure\"]:checked').val());\r\n settings.page.margins.left = $dlg.find('#fld-marginL').val();\r\n settings.page.margins.top = $dlg.find('#fld-marginT').val();\r\n settings.page.margins.right = $dlg.find('#fld-marginR').val();\r\n settings.page.margins.bottom = $dlg.find('#fld-marginB').val();\r\n settings.header = $dlg.find('#fld-header').val();\r\n settings.footer = $dlg.find('#fld-footer').val();\r\n\r\n MeadCo.ScriptX.Print.deviceSettings.paperSizeName = $('#fld-papersize').val();\r\n }\r\n }\r\n\r\n function savePrinterSettings() {\r\n var $dlg = $('#dlg-printersettings');\r\n var printApi = MeadCo.ScriptX.Print;\r\n\r\n if ($dlg.length) {\r\n // must set the printer first and note this might trigger a getDeviceSettings call to the server\r\n var a = printApi.onErrorAction;\r\n\r\n printApi.onErrorAction = printApi.ErrorAction.THROW;\r\n\r\n // eat all and any errors. finally might be better but\r\n // minifiers dont like empty blocks \r\n try {\r\n printApi.printerName = $('#fld-printerselect').val();\r\n printApi.onErrorAction = a;\r\n }\r\n catch (e) {\r\n printApi.onErrorAction = a;\r\n }\r\n\r\n // update settings for the active printer\r\n var settings = printApi.deviceSettings;\r\n settings.paperSourceName = $('#fld-papersource').val();\r\n settings.collate = $dlg.find('#fld-collate').prop('checked') ? printApi.CollateOptions.TRUE : printApi.CollateOptions.FALSE\r\n settings.copies = $dlg.find('#fld-copies').val();\r\n }\r\n }\r\n\r\n // fill printers dropdown with those available\r\n function fillPrintersList() {\r\n var printApi = MeadCo.ScriptX.Print;\r\n var $printers = $('#fld-printerselect');\r\n var arrPrinters = printApi.availablePrinterNames;\r\n\r\n $('#fld-printerselect > option').remove();\r\n\r\n for (var i = 0; i < arrPrinters.length; i++) {\r\n $printers.append(\"\");\r\n }\r\n\r\n if ($paperselect.hasClass(\"selectpicker\")) {\r\n $paperselect.selectpicker('refresh');\r\n }\r\n\r\n $paperselect.val(MeadCo.ScriptX.Print.deviceSettings.paperSizeName);\r\n\r\n $dlg.modal('show');\r\n\r\n if ($paperselect.hasClass(\"selectpicker\")) {\r\n $paperselect.selectpicker('refresh');\r\n }\r\n\r\n };\r\n\r\n // MeadCo.ScriptX.Print.UI.PrinterSettings()\r\n ui.PrinterSettings = function (fnCallBack) {\r\n\r\n if (!$.fn.modal && !bootstrap.Modal) {\r\n console.error(\"MeadCo.ScriptX.Print.UI requires bootstrap Modal\");\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n var bAccepted = false;\r\n var sClass = \"\";\r\n var bs_majorVersion = ($.fn.modal.Constructor.VERSION || '').split(' ')[0].split('.')[0];\r\n\r\n // check for presence of bootstrap-select.js (doesn't work well with BS 4)\r\n if ($.fn.selectpicker && bs_majorVersion === '3') {\r\n sClass = \"selectpicker\";\r\n }\r\n\r\n // printer settings modal to attach to the page\r\n if (!$('#dlg-printersettings').length) {\r\n console.log(\"UI.PageSetup bootstrap modal version: \" + $.fn.modal.Constructor.VERSION);\r\n\r\n var dlg;\r\n\r\n switch (bs_majorVersion) {\r\n case '3':\r\n dlg = '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '

Print

' +\r\n '
' +\r\n '
' +\r\n //'
' +\r\n // 'Printer' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n //'
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '';\r\n break;\r\n\r\n case '4':\r\n dlg = '
' +\r\n '
Print
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n case '5':\r\n dlg = '
' +\r\n '
Print
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n break;\r\n\r\n default:\r\n console.error(\"Unknown version of bootstrap: \" + bs_majorVersion);\r\n fnCallBack(false);\r\n return;\r\n }\r\n\r\n $('body').append(dlg);\r\n\r\n $('#dlg-printersettings #fld-printerselect').change(function (ev) {\r\n onSelectPrinter($(this).val());\r\n });\r\n }\r\n\r\n // reattach click handler as callback function scoped variables may (probably will) have changed\r\n $('#btn-savesettings')\r\n .off(\"click\")\r\n .on(\"click\", function (ev) {\r\n ev.preventDefault();\r\n savePrinterSettings();\r\n bAccepted = true;\r\n $('#dlg-printersettings').modal('hide');\r\n });\r\n\r\n $(\"#dlg-printersettings\")\r\n .off('hidden.bs.modal')\r\n .on('hidden.bs.modal', function () {\r\n if (typeof fnCallBack === \"function\") {\r\n fnCallBack(bAccepted);\r\n }\r\n });\r\n\r\n\r\n fillPrintersList();\r\n showPrinterSettings();\r\n\r\n if (bs_majorVersion === \"5\") {\r\n let d = new bootstrap.Modal(document.getElementById('dlg-printersettings'), {\r\n backdrop: 'static',\r\n keyboard: false,\r\n show: false\r\n });\r\n d.show();\r\n }\r\n else\r\n $('#dlg-printersettings').modal('show');\r\n\r\n if (sClass === \"selectpicker\") {\r\n $('#dlg-printersettings .selectpicker').selectpicker('refresh');\r\n }\r\n };\r\n\r\n // show available sources and options \r\n function showPrinterSettings() {\r\n var printApi = MeadCo.ScriptX.Print;\r\n var settings = printApi.deviceSettings;\r\n\r\n fillAndSetBinsList();\r\n\r\n var $dlg = $('#dlg-printersettings');\r\n $dlg.find('#fld-collate').prop('checked', settings.collate === printApi.CollateOptions.TRUE);\r\n $dlg.find('#fld-copies').val(settings.copies);\r\n\r\n }\r\n\r\n function savePageSetup() {\r\n var $dlg = $('#dlg-printoptions');\r\n var settings = MeadCo.ScriptX.Print.HTML.settings;\r\n\r\n if ($dlg.length) {\r\n settings.page.orientation = $dlg.find('[name=\"fld-orientation\"]:checked').val();\r\n settings.printBackgroundColorsAndImages = $dlg.find('#fld-printbackground').prop('checked');\r\n settings.viewScale = $dlg.find('#fld-shrinktofit').prop('checked') ? -1 : 100;\r\n settings.page.units = parseInt($dlg.find('[name=\"fld-measure\"]:checked').val());\r\n settings.page.margins.left = $dlg.find('#fld-marginL').val();\r\n settings.page.margins.top = $dlg.find('#fld-marginT').val();\r\n settings.page.margins.right = $dlg.find('#fld-marginR').val();\r\n settings.page.margins.bottom = $dlg.find('#fld-marginB').val();\r\n settings.header = $dlg.find('#fld-header').val();\r\n settings.footer = $dlg.find('#fld-footer').val();\r\n\r\n MeadCo.ScriptX.Print.deviceSettings.paperSizeName = $('#fld-papersize').val();\r\n }\r\n }\r\n\r\n function savePrinterSettings() {\r\n var $dlg = $('#dlg-printersettings');\r\n var printApi = MeadCo.ScriptX.Print;\r\n\r\n if ($dlg.length) {\r\n // must set the printer first and note this might trigger a getDeviceSettings call to the server\r\n var a = printApi.onErrorAction;\r\n\r\n printApi.onErrorAction = printApi.ErrorAction.THROW;\r\n\r\n // eat all and any errors. finally might be better but\r\n // minifiers dont like empty blocks \r\n try {\r\n printApi.printerName = $('#fld-printerselect').val();\r\n printApi.onErrorAction = a;\r\n }\r\n catch (e) {\r\n printApi.onErrorAction = a;\r\n }\r\n\r\n // update settings for the active printer\r\n var settings = printApi.deviceSettings;\r\n settings.paperSourceName = $('#fld-papersource').val();\r\n settings.collate = $dlg.find('#fld-collate').prop('checked') ? printApi.CollateOptions.TRUE : printApi.CollateOptions.FALSE\r\n settings.copies = $dlg.find('#fld-copies').val();\r\n }\r\n }\r\n\r\n // fill printers dropdown with those available\r\n function fillPrintersList() {\r\n var printApi = MeadCo.ScriptX.Print;\r\n var $printers = $('#fld-printerselect');\r\n var arrPrinters = printApi.availablePrinterNames;\r\n\r\n $('#fld-printerselect > option').remove();\r\n\r\n for (var i = 0; i < arrPrinters.length; i++) {\r\n $printers.append(\"