lib-portal-angular 0.0.85 → 0.0.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,11 +1,9 @@
1
1
  {
2
2
  "name": "lib-portal-angular",
3
- "version": "0.0.85",
3
+ "version": "0.0.87",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
- "@angular/core": "^16.2.0",
7
- "exceljs": "^4.4.0",
8
- "file-saver": "^2.0.5"
6
+ "@angular/core": "^16.2.0"
9
7
  },
10
8
  "dependencies": {
11
9
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -40,7 +40,6 @@ export * from "./lib/lib-portal-angular.module";
40
40
  export * from "./lib/components/alert/notification.service";
41
41
  export * from "./lib/components/confirmation/confirmation.service";
42
42
  export * from "./lib/components/tables/data-paginate.service";
43
- export * from "./lib/service/excel-service.service";
44
43
  export * from "./lib/service/refresh-service.service";
45
44
  export * from "./lib/service/route-parameter.service";
46
45
  export * from "./lib/function/ConvertToSnakeCase";
@@ -1,81 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as ExcelJS from 'exceljs';
3
- import { saveAs } from 'file-saver';
4
- import * as i0 from "@angular/core";
5
- export class ExcelService {
6
- constructor() {
7
- this.sheets = [];
8
- this.fileName = 'export.xlsx';
9
- }
10
- async createExcel(conf, data) {
11
- this.fileName = conf.fileName;
12
- this.sheets = conf.sheets.map((sheet, index) => ({
13
- ...sheet,
14
- data: data[index]?.data ?? []
15
- }));
16
- const workbook = new ExcelJS.Workbook();
17
- this.sheets.forEach((sheet) => {
18
- const worksheet = workbook.addWorksheet(sheet.sheetName);
19
- worksheet.columns = sheet.columns.map(col => ({
20
- header: col.header,
21
- key: col.key,
22
- width: col.width
23
- }));
24
- sheet.data.forEach(item => {
25
- const mappedItem = this.mapData(item, sheet.columns);
26
- const row = worksheet.addRow(mappedItem);
27
- if (sheet.styles) {
28
- row.eachCell({ includeEmpty: true }, (cell) => {
29
- if (sheet.styles?.font) {
30
- cell.font = sheet.styles.font;
31
- }
32
- if (sheet.styles?.alignment) {
33
- cell.alignment = sheet.styles.alignment;
34
- }
35
- });
36
- }
37
- if (sheet.conditionalStyles) {
38
- sheet.conditionalStyles.forEach(style => {
39
- const cell = row.getCell(style.columnKey);
40
- const value = cell.value;
41
- cell.style = value === style.condition ? style.trueStyle : style.falseStyle;
42
- });
43
- }
44
- });
45
- if (sheet.styles) {
46
- worksheet.getRow(1).eachCell((cell) => {
47
- if (sheet.styles?.font) {
48
- cell.font = { ...sheet.styles.font, bold: true };
49
- }
50
- if (sheet.styles?.alignment) {
51
- cell.alignment = sheet.styles.alignment;
52
- }
53
- });
54
- }
55
- });
56
- try {
57
- const buffer = await workbook.xlsx.writeBuffer();
58
- const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
59
- saveAs(blob, this.fileName);
60
- }
61
- catch (err) {
62
- console.error('Error writing buffer:', err);
63
- }
64
- }
65
- mapData(item, columns) {
66
- const mappedItem = {};
67
- columns.forEach(column => {
68
- mappedItem[column.key] = item[column.key];
69
- });
70
- return mappedItem;
71
- }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
73
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelService, providedIn: 'root' }); }
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelService, decorators: [{
76
- type: Injectable,
77
- args: [{
78
- providedIn: 'root',
79
- }]
80
- }], ctorParameters: function () { return []; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtc2VydmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvc2VydmljZS9leGNlbC1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBOztBQWdDbkMsTUFBTSxPQUFPLFlBQVk7SUFJdkI7UUFIQSxXQUFNLEdBQVksRUFBRSxDQUFDO1FBQ3JCLGFBQVEsR0FBVyxhQUFhLENBQUM7SUFFakIsQ0FBQztJQUVqQixLQUFLLENBQUMsV0FBVyxDQUFDLElBQTJDLEVBQUUsSUFBZTtRQUM1RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0MsR0FBRyxLQUFLO1lBQ1IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtTQUM5QixDQUFDLENBQUMsQ0FBQTtRQUNILE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7WUFFeEQsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFH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LE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzNDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxVQUFVLENBQUE7SUFDbkIsQ0FBQzsrR0F4RVUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCAqIGFzIEV4Y2VsSlMgZnJvbSAnZXhjZWxqcydcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XG4gIGhlYWRlcjogc3RyaW5nXG4gIGtleTogc3RyaW5nXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uYWxTdHlsZSB7XG4gIGNvbHVtbktleTogc3RyaW5nXG4gIGNvbmRpdGlvbjogc3RyaW5nXG4gIHRydWVTdHlsZTogUGFydGlhbDxFeGNlbEpTLlN0eWxlPlxuICBmYWxzZVN0eWxlOiBQYXJ0aWFsPEV4Y2VsSlMuU3R5bGU+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hlZXQge1xuICBzaGVldE5hbWU6IHN0cmluZ1xuICBjb2x1bW5zOiBDb2x1bW5bXVxuICBzdHlsZXM/OiB7XG4gICAgZm9udD86IFBhcnRpYWw8RXhjZWxKUy5Gb250PlxuICAgIGFsaWdubWVudD86IFBhcnRpYWw8RXhjZWxKUy5BbGlnbm1lbnQ+XG4gIH1cbiAgZGF0YTogYW55W11cbiAgY29uZGl0aW9uYWxTdHlsZXM/OiBDb25kaXRpb25hbFN0eWxlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaGVldERhdGEge1xuICBba2V5OiBudW1iZXJdOiB7IGRhdGE6IGFueVtdIH07XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFeGNlbFNlcnZpY2Uge1xuICBzaGVldHM6IFNoZWV0W10gPSBbXTtcbiAgZmlsZU5hbWU6IHN0cmluZyA9ICdleHBvcnQueGxzeCc7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBhc3luYyBjcmVhdGVFeGNlbChjb25mOiB7IGZpbGVOYW1lOiBzdHJpbmc7IHNoZWV0czogU2hlZXRbXSB9LCBkYXRhOiBTaGVldERhdGEpIHtcbiAgICB0aGlzLmZpbGVOYW1lID0gY29uZi5maWxlTmFtZVxuICAgIHRoaXMuc2hlZXRzID0gY29uZi5zaGVldHMubWFwKChzaGVldCwgaW5kZXgpID0+ICh7XG4gICAgICAuLi5zaGVldCxcbiAgICAgIGRhdGE6IGRhdGFbaW5kZXhdPy5kYXRhID8/IFtdXG4gICAgfSkpXG4gICAgY29uc3Qgd29ya2Jvb2sgPSBuZXcgRXhjZWxKUy5Xb3JrYm9vaygpXG4gICAgdGhpcy5zaGVldHMuZm9yRWFjaCgoc2hlZXQpID0+IHtcbiAgICAgIGNvbnN0IHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldChzaGVldC5zaGVldE5hbWUpXG5cbiAgICAgIHdvcmtzaGVldC5jb2x1bW5zID0gc2hlZXQuY29sdW1ucy5tYXAoY29sID0+ICh7XG4gICAgICAgIGhlYWRlcjogY29sLmhlYWRlcixcbiAgICAgICAga2V5OiBjb2wua2V5LFxuICAgICAgICB3aWR0aDogY29sLndpZHRoXG4gICAgICB9KSlcblxuICAgICAgc2hlZXQuZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBtYXBwZWRJdGVtID0gdGhpcy5tYXBEYXRhKGl0ZW0sIHNoZWV0LmNvbHVtbnMpXG4gICAgICAgIGNvbnN0IHJvdyA9IHdvcmtzaGVldC5hZGRSb3cobWFwcGVkSXRlbSlcbiAgICAgICAgaWYgKHNoZWV0LnN0eWxlcykge1xuICAgICAgICAgIHJvdy5lYWNoQ2VsbCh7IGluY2x1ZGVFbXB0eTogdHJ1ZSB9LCAoY2VsbDogRXhjZWxKUy5DZWxsKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2hlZXQuc3R5bGVzPy5mb250KSB7XG4gICAgICAgICAgICAgIGNlbGwuZm9udCA9IHNoZWV0LnN0eWxlcy5mb250XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2hlZXQuc3R5bGVzPy5hbGlnbm1lbnQpIHtcbiAgICAgICAgICAgICAgY2VsbC5hbGlnbm1lbnQgPSBzaGVldC5zdHlsZXMuYWxpZ25tZW50XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaGVldC5jb25kaXRpb25hbFN0eWxlcykge1xuICAgICAgICAgIHNoZWV0LmNvbmRpdGlvbmFsU3R5bGVzLmZvckVhY2goc3R5bGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2VsbCA9IHJvdy5nZXRDZWxsKHN0eWxlLmNvbHVtbktleSlcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY2VsbC52YWx1ZSBhcyBzdHJpbmdcbiAgICAgICAgICAgIGNlbGwuc3R5bGUgPSB2YWx1ZSA9PT0gc3R5bGUuY29uZGl0aW9uID8gc3R5bGUudHJ1ZVN0eWxlIDogc3R5bGUuZmFsc2VTdHlsZVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChzaGVldC5zdHlsZXMpIHtcbiAgICAgICAgd29ya3NoZWV0LmdldFJvdygxKS5lYWNoQ2VsbCgoY2VsbDogRXhjZWxKUy5DZWxsKSA9PiB7XG4gICAgICAgICAgaWYgKHNoZWV0LnN0eWxlcz8uZm9udCkge1xuICAgICAgICAgICAgY2VsbC5mb250ID0geyAuLi5zaGVldC5zdHlsZXMuZm9udCwgYm9sZDogdHJ1ZSB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzaGVldC5zdHlsZXM/LmFsaWdubWVudCkge1xuICAgICAgICAgICAgY2VsbC5hbGlnbm1lbnQgPSBzaGVldC5zdHlsZXMuYWxpZ25tZW50XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpO1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcgfSk7XG4gICAgICBzYXZlQXMoYmxvYiwgdGhpcy5maWxlTmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciB3cml0aW5nIGJ1ZmZlcjonLCBlcnIpO1xuICAgIH1cbiAgfVxuXG4gIG1hcERhdGEoaXRlbTogYW55LCBjb2x1bW5zOiBDb2x1bW5bXSk6IGFueSB7XG4gICAgY29uc3QgbWFwcGVkSXRlbTogYW55ID0ge31cbiAgICBjb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgIG1hcHBlZEl0ZW1bY29sdW1uLmtleV0gPSBpdGVtW2NvbHVtbi5rZXldXG4gICAgfSlcbiAgICByZXR1cm4gbWFwcGVkSXRlbVxuICB9XG59Il19
@@ -1,40 +0,0 @@
1
- import * as ExcelJS from 'exceljs';
2
- import * as i0 from "@angular/core";
3
- export interface Column {
4
- header: string;
5
- key: string;
6
- width?: number;
7
- }
8
- export interface ConditionalStyle {
9
- columnKey: string;
10
- condition: string;
11
- trueStyle: Partial<ExcelJS.Style>;
12
- falseStyle: Partial<ExcelJS.Style>;
13
- }
14
- export interface Sheet {
15
- sheetName: string;
16
- columns: Column[];
17
- styles?: {
18
- font?: Partial<ExcelJS.Font>;
19
- alignment?: Partial<ExcelJS.Alignment>;
20
- };
21
- data: any[];
22
- conditionalStyles?: ConditionalStyle[];
23
- }
24
- export interface SheetData {
25
- [key: number]: {
26
- data: any[];
27
- };
28
- }
29
- export declare class ExcelService {
30
- sheets: Sheet[];
31
- fileName: string;
32
- constructor();
33
- createExcel(conf: {
34
- fileName: string;
35
- sheets: Sheet[];
36
- }, data: SheetData): Promise<void>;
37
- mapData(item: any, columns: Column[]): any;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<ExcelService, never>;
39
- static ɵprov: i0.ɵɵInjectableDeclaration<ExcelService>;
40
- }