var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Templates; (function (Templates) { let Components; (function (Components) { class TemplatePrint extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.templateid = 0; } cssFiles() { return []; } jsFiles() { return ['platform/templates/managers/templatemanager.js', 'platform/core/helpers/html/htmlhelper.js']; } html(id, containerid) { let html = ``; return html; } load(id, containerid, callback) { } init(containerid) { var instance = this; instance.fileCacheHelper.loadJsFile("platform/templates/managers/templatemanager.js", function () { Unibase.Platform.Templates.Managers.TemplateManager.Instance(); instance.render(containerid); }); } render(containerid) { var instance = this; let html = `
`; $("." + containerid).append(html); instance.loadDetails(containerid); if (screen.width < 1198) { $("#" + containerid).find("#templateText").css({ "width": "100%", "padding": "2px" }); } else { $("#" + containerid).find("#templateText").css({ "width": "1050px", "padding": "20px" }); } } loadDetails(containerid) { let instance = this; var widgetid = $("#frmTemplate").parentsUntil(".portletwidget-addeditem").find("#hf_widgetId").val(); if ($(window).width() <= 800) { $('#' + containerid).find("#cmbtemplatelist").addClass("mb-2"); $('#' + containerid).find("#cmbtemplatelist").css('width', '250px'); } var appproviderid = Unibase.Themes.Providers.DetailHelper.installedAppId; Unibase.Platform.Templates.Components.TemplatePrint.Instance().loadtemplatelist(appproviderid, containerid); $('#' + containerid).find("#btnupdatetemplate").click(function () { Unibase.Platform.Templates.Components.TemplatePrint.Instance().Updatetemplate(containerid); }); $('#' + containerid).find('#btnpreviewtemplate').click(function () { if (($('#' + containerid).find("#cmbtemplatelist").val()) == 0) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/core/helpers/printhelper/printhelper.js", function () { Unibase.Platform.Helpers.PrintHelper.Instance().showPrintErrorModal(); return; }); } else { instance.GeneratePdf(containerid); } }); } loadtemplatelist(appproviderid, containerid) { var instance = this; instance.fileCacheHelper.loadJsFile("platform/templates/managers/templatemanager.js", function () { Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplates(Number(appproviderid)).then(function (response) { if (response.result != null) { let html = ""; for (let i = 0; i < response.result.length; i++) { var template = response.result[i]; html += ""; } $('#' + containerid).find("#cmbtemplatelist").append(html); } let recordid = Unibase.Themes.Providers.DetailHelper.recordId; Unibase.Platform.Templates.Components.TemplatePrint.Instance().getTemplate(appproviderid, recordid, containerid); }); }); } Updatetemplate(containerid) { var instance = this; if (($('#' + containerid).find("#cmbtemplatelist").val()) == 0) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/core/helpers/printhelper/printhelper.js", function () { Unibase.Platform.Helpers.PrintHelper.Instance().showPrintErrorModal(); return; }); } else { let templateid = $('#' + containerid).find("#cmbtemplatelist").val(); var appproviderid = Unibase.Themes.Providers.DetailHelper.installedAppId; let recordid = Unibase.Themes.Providers.DetailHelper.recordId; instance.fileCacheHelper.loadJsFile("platform/templates/managers/templatemanager.js", function () { Unibase.Platform.Templates.Managers.TemplateManager.Instance().updateTemplate(Number(templateid), Number(appproviderid), Number(recordid)).then(function (response) { instance.getTemplate(appproviderid, Number(recordid), containerid); MessageHelper.Instance().showSuccess(response.message, ''); }); }); } } getTemplate(appproviderid, id, containerid) { var instance = this; instance.fileCacheHelper.loadJsFile("platform/templates/managers/templatemanager.js", function () { Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplate(Number(appproviderid), Number(id)).then(function (response) { if (response.result != "") { var data = response.result; if (data[0].templateid != 0) { instance.templateid = data[0].templateid; $('#' + containerid).find('#cmbtemplatelist').val(instance.templateid); instance.loadtemplatehtmldata(instance.templateid, containerid); } } }); }); } loadtemplatehtmldata(templateid, containerid) { var instance = this; let recordid = Unibase.Themes.Providers.DetailHelper.recordId; instance.fileCacheHelper.loadJsFile("platform/templates/managers/templatemanager.js", function () { Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplateHtml(Number(templateid), false, recordid).then(function (response) { if (response.result != null) { if (response.result.TemplateText != "") { var templatetext = response.result.TemplateText; let containerid = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; $('#' + containerid).find("#templateText").html(templatetext); } else { } } }); }); } GeneratePdf(containerid) { function base64ToArrayBuffer(data) { var bString = window.atob(data); var bLength = bString.length; var bytes = new Uint8Array(bLength); for (var i = 0; i < bLength; i++) { var ascii = bString.charCodeAt(i); bytes[i] = ascii; } return bytes; } ; function base64toPDF(data1) { var bufferArray = base64ToArrayBuffer(data1); var blobStore = new Blob([bufferArray], { type: "application/pdf" }); if (window.navigator && window.navigator.msSaveOrOpenBlob) { window.navigator.msSaveOrOpenBlob(blobStore); return; } var fileURL = URL.createObjectURL(blobStore); window.open(fileURL); } var instance = this; let templateid = $('#' + containerid).find("#cmbtemplatelist").val(); let recordid = Unibase.Themes.Providers.DetailHelper.recordId; instance.fileCacheHelper.loadJsFile("platform/templates/managers/templatemanager.js", function () { Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplatePdf(Number(templateid), recordid).then(function (response) { base64toPDF(response.result); }); }); } static Instance() { if (this.instance === undefined) { this.instance = new TemplatePrint(); } return this.instance; } } Components.TemplatePrint = TemplatePrint; })(Components = Templates.Components || (Templates.Components = {})); })(Templates = Platform.Templates || (Platform.Templates = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));