UNPKG

@koalarx/ui

Version:

Koala UI is a Design System developed in Angular whose objective is to facilitate and make your development faster and simpler, making this framework your greatest ally.

1 lines 14 kB
{"version":3,"file":"koalarx-ui-common.mjs","sources":["../../../projects/common/src/lib/services/csv/koala.csv.service.ts","../../../projects/common/src/lib/services/xlsx/koala.xlsx.service.ts","../../../projects/common/src/lib/mask-options.ts","../../../projects/common/src/koalarx-ui-common.ts"],"sourcesContent":["import { Papa } from 'ngx-papaparse';\nimport { Injectable } from '@angular/core';\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaCsvService {\n\n constructor(private papa: Papa) {\n }\n\n public convertJsonToCsv(json: object[], filename: string = 'export') {\n this.downloadCsv(new Blob([\n this.papa.unparse(json, {\n header: true,\n delimiter: \";\",\n newline: \"\\r\\n\"\n })], {\n type: 'text/csv;charset=utf-8;'\n }), filename);\n }\n\n private downloadCsv(blob: Blob, filename: string = 'export') {\n let link = document.createElement('a');\n let url = URL.createObjectURL(blob);\n link.setAttribute(\"href\", url);\n link.setAttribute(\"download\", filename + '.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n}\n","import * as Excel from \"exceljs/dist/exceljs.min.js\";\nimport * as ExcelProper from \"exceljs\";\nimport * as fs from 'file-saver';\n\nimport { Injectable } from \"@angular/core\";\nimport { KoalaXlsxConfigInterface } from \"./koala.xlsx-config.interface\";\nimport { koala } from \"@koalarx/utils\";\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaXlsxService {\n\n public async convertJsonToXlsx(json: any[], config: KoalaXlsxConfigInterface) {\n const title = config.title;\n const header = [];\n\n Object.keys(json[0]).forEach(name => {\n header.push((\n config.normalizeHeader === true || config.normalizeHeader === null || config.normalizeHeader === undefined ?\n koala(name).string().normalize().getValue().toUpperCase() :\n name\n ));\n });\n\n const workbook: ExcelProper.Workbook = new Excel.Workbook();\n const worksheet = workbook.addWorksheet(config.sheetName);\n if (config.password) {\n await worksheet.protect(config.password, {\n selectLockedCells: false,\n selectUnlockedCells: false,\n scenarios: false\n });\n }\n\n if (config.title) {\n const titleRow = worksheet.addRow([title]);\n titleRow.alignment = {horizontal: 'center'};\n if (config.titleFontColor) {\n titleRow.font = {bold: true, color: {argb: config.titleFontColor.replace('#', '')}};\n }\n if (config.titleBackgroundColor) {\n titleRow.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: {argb: config.titleBackgroundColor.replace('#', '')},\n bgColor: {argb: config.titleBackgroundColor.replace('#', '')}\n };\n }\n worksheet.mergeCells(`A1:${worksheet.getCell(1, Object.keys(json[0]).length).address}`);\n }\n\n const headerRow = worksheet.addRow(header);\n headerRow.eachCell((cell, number) => {\n if (config.headerBackgroundColor) {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: {argb: config.headerBackgroundColor.replace('#', '')},\n bgColor: {argb: config.headerBackgroundColor.replace('#', '')}\n };\n }\n if (config.headerFontColor) {\n cell.font = {\n color: {argb: config.headerFontColor.replace('#', '')}\n };\n }\n });\n\n json.forEach(item => {\n const data = [];\n Object.values(item).forEach(value => data.push(value));\n worksheet.addRow(data);\n });\n\n workbook.xlsx.writeBuffer().then((data) => {\n const blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});\n fs.saveAs(blob, config.filename + '.xlsx');\n });\n }\n\n public async convertJsonToXlsxWithTabs(tabs: {\n titleName?: string;\n sheetName?: string;\n json: any[]\n }[], config: KoalaXlsxConfigInterface) {\n const header = [];\n const workbook: ExcelProper.Workbook = new Excel.Workbook();\n\n tabs.forEach(tab => {\n const title = tab?.titleName ?? config.title;\n Object.keys(tab.json[0]).forEach(name => {\n header.push((\n config.normalizeHeader === true || config.normalizeHeader === null || config.normalizeHeader === undefined ?\n koala(name).string().normalize().getValue().toUpperCase() :\n name\n ));\n });\n\n const worksheet = workbook.addWorksheet(tab?.sheetName ?? config.sheetName);\n\n if (config.title) {\n const titleRow = worksheet.addRow([title]);\n titleRow.alignment = {horizontal: 'center'};\n if (config.titleFontColor) {\n titleRow.font = {bold: true, color: {argb: config.titleFontColor.replace('#', '')}};\n }\n if (config.titleBackgroundColor) {\n titleRow.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: {argb: config.titleBackgroundColor.replace('#', '')},\n bgColor: {argb: config.titleBackgroundColor.replace('#', '')}\n };\n }\n worksheet.mergeCells(`A1:${worksheet.getCell(1, Object.keys(tab.json[0]).length).address}`);\n }\n\n const headerRow = worksheet.addRow(header);\n headerRow.eachCell((cell, number) => {\n if (config.headerBackgroundColor) {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: {argb: config.headerBackgroundColor.replace('#', '')},\n bgColor: {argb: config.headerBackgroundColor.replace('#', '')}\n };\n }\n if (config.headerFontColor) {\n cell.font = {\n color: {argb: config.headerFontColor.replace('#', '')}\n };\n }\n });\n\n tab.json.forEach(item => {\n const data = [];\n Object.values(item).forEach(value => data.push(value));\n worksheet.addRow(data);\n });\n });\n\n workbook.xlsx.writeBuffer().then((data) => {\n const blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});\n fs.saveAs(blob, config.filename + '.xlsx');\n });\n }\n}\n","import { IConfig } from 'ngx-mask';\n\nexport const maskOptions: Partial<IConfig> | (() => Partial<IConfig>) = {\n\tvalidation: false\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}