123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- 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 = `<form id="frmTemplate" class="p-2 px-3 rounded-4 bg-white h-100">
- <div class="panel-primary panel">
- <input type="hidden" id="hfCurrentPage" value="Orders" />
- <div class="panel-heading">
- <span class="h4" id="WidgetTitle"></span>
- </div><div class="clear" id="divMessage"></div>
- <div class="panel-body">
- <div class="row align-items-center">
- <div class="col-sm-6 my-1">
- <div class="input-group">
- <select class="form-control inline px-1 biz-highlight-bg-color" id="cmbtemplatelist" onchange="Unibase.Platform.Templates.Components.TemplatePrint.Instance().loadtemplatehtmldata(this.value, '${containerid}')"></select>
- <span class="input-group-btn">
- </span>
- </div>
- </div>
- <div class="col-sm-2 text-right "></div>
- <div class="col-sm-4 text-right ">
- <button class="btn btn-s-md btn-outline-primary btn-sm my-1" id="btnupdatetemplate" type="button">Update Template</button>
- <!--<a class="btn btn-s-md btn-outline-default btn-sm" id="btnGeneratePdf">Preview</a>-->
- <a href="javascript:;" class="btn btn-outline-primary btn-sm my-1" id="btnpreviewtemplate">Preview</a>
- </div>
- </div>
- <div class="col-sm-12 h-100 print-template-text" id="templateText" style="margin:1cm auto;border:solid 0.5px rgb(0,0,0,0.1)">
- </div>
- </div>
-
- </div>
- </form>`;
- $("." + 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 = "<option value=''>-- Select Template --</option>";
- for (let i = 0; i < response.result.length; i++) {
- var template = response.result[i];
- html += "<option value=" + template.TemplateId + " data-table=" + template.TemplateName + ">" + template.TemplateName + "</option>";
- }
- $('#' + 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 = {}));
|