@sme.up/doc-alchemist 1.4.0-SNAPSHOT-20251007082912 → 1.4.0-SNAPSHOT-20251015140329
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/dist/assets/gfx-data.js +4 -1
- package/dist/assets/gfx-data.js.map +1 -1
- package/dist/converters/excel/commons.d.ts +2 -2
- package/dist/converters/excel/commons.js +49 -33
- package/dist/converters/excel/commons.js.map +1 -1
- package/dist/converters/excel/excel-converter.types.js +14 -11
- package/dist/converters/excel/excel-converter.types.js.map +1 -1
- package/dist/converters/excel/matrix-converter.d.ts +3 -3
- package/dist/converters/excel/matrix-converter.js +46 -36
- package/dist/converters/excel/matrix-converter.js.map +1 -1
- package/dist/converters/excel/tree-converter.d.ts +2 -2
- package/dist/converters/excel/tree-converter.js +33 -25
- package/dist/converters/excel/tree-converter.js.map +1 -1
- package/dist/converters/excel-converter.d.ts +3 -3
- package/dist/converters/excel-converter.js +18 -13
- package/dist/converters/excel-converter.js.map +1 -1
- package/dist/converters/images/charts-generator.d.ts +2 -2
- package/dist/converters/images/charts-generator.js +41 -4
- package/dist/converters/images/charts-generator.js.map +1 -1
- package/dist/converters/pdf/autotable-renderer.d.ts +2 -2
- package/dist/converters/pdf/autotable-renderer.js +7 -3
- package/dist/converters/pdf/autotable-renderer.js.map +1 -1
- package/dist/converters/pdf/cover-renderer.js +41 -4
- package/dist/converters/pdf/cover-renderer.js.map +1 -1
- package/dist/converters/pdf/formulas-helper.d.ts +2 -2
- package/dist/converters/pdf/formulas-helper.js +37 -28
- package/dist/converters/pdf/formulas-helper.js.map +1 -1
- package/dist/converters/pdf/matrix-converter.d.ts +2 -2
- package/dist/converters/pdf/matrix-converter.js +52 -12
- package/dist/converters/pdf/matrix-converter.js.map +1 -1
- package/dist/converters/pdf/pdf-converter.types.js +2 -1
- package/dist/converters/pdf/pdf-converter.types.js.map +1 -1
- package/dist/converters/pdf/sch-converter.d.ts +1 -1
- package/dist/converters/pdf/sch-converter.js +43 -6
- package/dist/converters/pdf/sch-converter.js.map +1 -1
- package/dist/converters/pdf-converter.d.ts +3 -3
- package/dist/converters/pdf-converter.js +23 -18
- package/dist/converters/pdf-converter.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +13 -4
- package/dist/index.js.map +1 -1
- package/dist/types/component-props.js +5 -2
- package/dist/types/component-props.js.map +1 -1
- package/dist/types/component.js +7 -4
- package/dist/types/component.js.map +1 -1
- package/dist/types/converter.js +2 -1
- package/dist/types/converter.js.map +1 -1
- package/dist/types/data-structures/smeupDataStructure.d.ts +4 -4
- package/dist/types/data-structures/smeupDataStructure.js +16 -12
- package/dist/types/data-structures/smeupDataStructure.js.map +1 -1
- package/dist/types/data-structures/smeupDataTable.d.ts +1 -1
- package/dist/types/data-structures/smeupDataTable.js +4 -1
- package/dist/types/data-structures/smeupDataTable.js.map +1 -1
- package/dist/types/data-structures/smeupDataTree.d.ts +2 -2
- package/dist/types/data-structures/smeupDataTree.js +2 -1
- package/dist/types/data-structures/smeupDataTree.js.map +1 -1
- package/dist/types/data-structures/smeupSch.d.ts +6 -6
- package/dist/types/data-structures/smeupSch.js +5 -2
- package/dist/types/data-structures/smeupSch.js.map +1 -1
- package/dist/types/dynamism.d.ts +1 -1
- package/dist/types/dynamism.js +7 -4
- package/dist/types/dynamism.js.map +1 -1
- package/dist/types/general.js +7 -2
- package/dist/types/general.js.map +1 -1
- package/dist/types/helpers.js +5 -2
- package/dist/types/helpers.js.map +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.js +7 -4
- package/dist/types/index.js.map +1 -1
- package/dist/utils/commons-utility.d.ts +4 -3
- package/dist/utils/commons-utility.js +121 -30
- package/dist/utils/commons-utility.js.map +1 -1
- package/dist/utils/datastructure-utility.d.ts +1 -1
- package/dist/utils/datastructure-utility.js +5 -1
- package/dist/utils/datastructure-utility.js.map +1 -1
- package/dist/utils/dates-utility.js +37 -27
- package/dist/utils/dates-utility.js.map +1 -1
- package/dist/utils/formatter-utility.d.ts +1 -1
- package/dist/utils/formatter-utility.js +9 -3
- package/dist/utils/formatter-utility.js.map +1 -1
- package/dist/utils/image-utils.js +10 -3
- package/dist/utils/image-utils.js.map +1 -1
- package/dist/utils/math-utility.js +46 -29
- package/dist/utils/math-utility.js.map +1 -1
- package/dist/utils/objects-utility.d.ts +1 -1
- package/dist/utils/objects-utility.js +9 -3
- package/dist/utils/objects-utility.js.map +1 -1
- package/dist/utils/regex-utility.js +4 -1
- package/dist/utils/regex-utility.js.map +1 -1
- package/package.json +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smeupSch.js","sourceRoot":"","sources":["../../../src/types/data-structures/smeupSch.ts"],"names":[],"mappings":"AA0EA,
|
|
1
|
+
{"version":3,"file":"smeupSch.js","sourceRoot":"","sources":["../../../src/types/data-structures/smeupSch.ts"],"names":[],"mappings":";;;AA0EA,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EARW,YAAY,4BAAZ,YAAY,QAQvB","sourcesContent":["import {\n SmeupDataStructure,\n SmeupDataStructureType,\n SmeupSetupBase,\n SmeupVariable,\n} from \"./smeupDataStructure\";\nimport { SmeupDataTable } from \"./smeupDataTable\";\nimport { SmeupDataTree, SmeupDataNode } from \"./smeupDataTree\";\nimport { Shapes, ToolbarState } from \"../component\";\nimport { YesNo } from \"../helpers\";\nimport { RawDynamism } from \"../dynamism\";\n\nexport interface SmeupSch extends SmeupDataStructure {\n type: SmeupDataStructureType.SmeupScheda;\n title: string;\n sections: SmeupSchSection[];\n info?: string;\n id?: string;\n styles?: SmeupStyle[];\n layout?: string;\n /** other setup: for example \"Menu\", left menù */\n laySetup?: unknown;\n dynamisms?: RawDynamism[];\n}\n\nexport interface SmeupSchSection {\n id: string;\n layout: string;\n dim?: string;\n variables?: SmeupVariable[];\n sections?: SmeupSchSection[];\n components?: SmeupSchComponent[];\n type?: SectionTypes;\n}\n\nexport interface SmeupSchComponent {\n type: Shapes;\n title: string;\n load?: boolean;\n subNote?: string;\n id?: string;\n fun?: string;\n data?: SmeupDataTree | SmeupDataTable;\n dynamisms?: RawDynamism[];\n variables?: {\n [key: string]: SmeupVariable;\n };\n options?: SmeupSetupBase;\n icon?: string;\n buttons?: SmeupDataNode[];\n toolbarState?: ToolbarState;\n context?: string;\n}\n\nexport interface SmeupStyle {\n name: string;\n value: SmeupStyleOptions;\n}\n\nexport interface SmeupStyleOptions {\n Align?: string;\n FontBold?: YesNo;\n FontItalic?: YesNo;\n FontName?: string;\n FontSize?: string;\n FontULine?: YesNo;\n FontUnder?: YesNo;\n FontColor?: string;\n BackColor?: string;\n Padding?: string;\n Border?: string;\n TxtOri?: string;\n}\n\nexport enum SectionTypes {\n Acc = \"Acc\",\n Tab = \"Tab\",\n TabVer = \"TabVer\",\n Radio = \"Radio\",\n Combo = \"Combo\",\n OneBut = \"OneBut\",\n Menu = \"Menu\",\n}\n\n"]}
|
package/dist/types/dynamism.d.ts
CHANGED
package/dist/types/dynamism.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadType = exports.DynamismEvents = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* Dynamism Event
|
|
3
6
|
*/
|
|
4
|
-
|
|
7
|
+
var DynamismEvents;
|
|
5
8
|
(function (DynamismEvents) {
|
|
6
9
|
DynamismEvents["ALL"] = "*all";
|
|
7
10
|
DynamismEvents["BTN_CLICK"] = "btnclick";
|
|
@@ -22,9 +25,9 @@ export var DynamismEvents;
|
|
|
22
25
|
DynamismEvents["INIT"] = "init";
|
|
23
26
|
DynamismEvents["CLOSE"] = "close";
|
|
24
27
|
DynamismEvents["UNMOUNT"] = "unmount";
|
|
25
|
-
})(DynamismEvents || (DynamismEvents = {}));
|
|
26
|
-
|
|
28
|
+
})(DynamismEvents || (exports.DynamismEvents = DynamismEvents = {}));
|
|
29
|
+
var LoadType;
|
|
27
30
|
(function (LoadType) {
|
|
28
31
|
LoadType["D"] = "D";
|
|
29
|
-
})(LoadType || (LoadType = {}));
|
|
32
|
+
})(LoadType || (exports.LoadType = LoadType = {}));
|
|
30
33
|
//# sourceMappingURL=dynamism.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamism.js","sourceRoot":"","sources":["../../src/types/dynamism.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"dynamism.js","sourceRoot":"","sources":["../../src/types/dynamism.ts"],"names":[],"mappings":";;;AAoBA;;GAEG;AACH,IAAY,cAoBX;AApBD,WAAY,cAAc;IACxB,8BAAY,CAAA;IACZ,wCAAsB,CAAA;IACtB,mCAAiB,CAAA;IACjB,8CAA4B,CAAA;IAC5B,0CAAwB,CAAA;IACxB,0CAAwB,CAAA;IACxB,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,8CAA4B,CAAA;IAC5B,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,iCAAe,CAAA;IACf,qCAAmB,CAAA;AACrB,CAAC,EApBW,cAAc,8BAAd,cAAc,QAoBzB;AAED,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,mBAAO,CAAA;AACT,CAAC,EAFW,QAAQ,wBAAR,QAAQ,QAEnB","sourcesContent":["import { SmeupVariable } from \"./data-structures/smeupDataStructure\";\n\n/**\n * Raw Dynamism\n */\nexport interface RawDynamism {\n /** Event type */\n event: string;\n /** Fun or Action */\n exec?: string;\n /** Component ids */\n targets?: string[];\n /** Declared variables */\n variables?: SmeupVariable[];\n /** Enable conditions */\n enabled?: string;\n /** Load method */\n Load?: LoadType;\n}\n\n/**\n * Dynamism Event\n */\nexport enum DynamismEvents {\n ALL = \"*all\",\n BTN_CLICK = \"btnclick\",\n CHANGE = \"change\",\n CHANGE_MONTH = \"changemonth\",\n CHANGE_ROW = \"changerow\",\n CHANGE_VAL = \"changeval\",\n CLICK = \"click\",\n DBLCLICK = \"dblclick\",\n DETAIL_CLICK = \"detailclick\",\n EXPAND = \"expand\",\n RESIZE = \"resize\",\n DATESELECT = \"dateselect\",\n DROP = \"drop\",\n SELECT = \"select\",\n UPDATE = \"update\",\n CHECK = \"check\",\n INIT = \"init\",\n CLOSE = \"close\",\n UNMOUNT = \"unmount\",\n}\n\nexport enum LoadType {\n D = \"D\",\n}\n\n"]}
|
package/dist/types/general.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Fun = exports.FunObject = void 0;
|
|
4
|
+
class FunObject {
|
|
2
5
|
t;
|
|
3
6
|
p;
|
|
4
7
|
k;
|
|
5
8
|
}
|
|
9
|
+
exports.FunObject = FunObject;
|
|
6
10
|
/**
|
|
7
11
|
* Fun
|
|
8
12
|
*/
|
|
9
|
-
|
|
13
|
+
class Fun {
|
|
10
14
|
component;
|
|
11
15
|
service;
|
|
12
16
|
function;
|
|
@@ -21,4 +25,5 @@ export class Fun {
|
|
|
21
25
|
// The implementation of java FunDTO expects SS to be uppercased
|
|
22
26
|
SS;
|
|
23
27
|
}
|
|
28
|
+
exports.Fun = Fun;
|
|
24
29
|
//# sourceMappingURL=general.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/types/general.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/types/general.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IACpB,CAAC,CAAU;IAEX,CAAC,CAAU;IAEX,CAAC,CAAU;CACZ;AAND,8BAMC;AAED;;GAEG;AACH,MAAa,GAAG;IACd,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAElB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IAEjB,CAAC,CAAU;IACX,KAAK,CAAU;IAEf,gEAAgE;IAChE,EAAE,CAAU;CACb;AAjBD,kBAiBC","sourcesContent":["export class FunObject {\n t!: string;\n\n p!: string;\n\n k!: string;\n}\n\n/**\n * Fun\n */\nexport class Fun {\n component!: string;\n service!: string;\n function!: string;\n\n obj1?: FunObject;\n obj2?: FunObject;\n obj3?: FunObject;\n obj4?: FunObject;\n obj5?: FunObject;\n obj6?: FunObject;\n\n P?: string;\n INPUT?: string;\n\n // The implementation of java FunDTO expects SS to be uppercased\n SS?: string;\n}\n\n"]}
|
package/dist/types/helpers.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.YesNo = void 0;
|
|
4
|
+
var YesNo;
|
|
2
5
|
(function (YesNo) {
|
|
3
6
|
YesNo["Yes"] = "Yes";
|
|
4
7
|
YesNo["No"] = "No";
|
|
5
|
-
})(YesNo || (YesNo = {}));
|
|
8
|
+
})(YesNo || (exports.YesNo = YesNo = {}));
|
|
6
9
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/types/helpers.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/types/helpers.ts"],"names":[],"mappings":";;;AAAA,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,kBAAS,CAAA;AACX,CAAC,EAHW,KAAK,qBAAL,KAAK,QAGhB","sourcesContent":["export enum YesNo {\n Yes = \"Yes\",\n No = \"No\",\n}\n\n"]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Properties as CSSProperties } from "csstype";
|
|
2
|
-
import { ComponentOptions } from "./component
|
|
3
|
-
import { SmeupDataCell } from "./data-structures/smeupDataTable
|
|
2
|
+
import { ComponentOptions } from "./component";
|
|
3
|
+
import { SmeupDataCell } from "./data-structures/smeupDataTable";
|
|
4
4
|
export interface SmeupDataObj {
|
|
5
5
|
t: string;
|
|
6
6
|
p: string;
|
|
@@ -27,6 +27,7 @@ export type ColumnFilter = {
|
|
|
27
27
|
checkBoxes?: {
|
|
28
28
|
value: string;
|
|
29
29
|
}[];
|
|
30
|
+
textField?: string;
|
|
30
31
|
};
|
|
31
32
|
export interface SmeupDataCellStyled extends SmeupDataCell {
|
|
32
33
|
style?: CSSProperties;
|
package/dist/types/index.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SupportedExportFormats = exports.DatesFormats = void 0;
|
|
4
|
+
var DatesFormats;
|
|
2
5
|
(function (DatesFormats) {
|
|
3
6
|
DatesFormats["ISO_DATE"] = "YYYY-MM-DD";
|
|
4
7
|
DatesFormats["ISO_DATE_TIME"] = "YYYY-MM-DD HH:mm:ss";
|
|
5
8
|
DatesFormats["ISO_TIME"] = "HH:mm:ss";
|
|
6
9
|
DatesFormats["ISO_TIME_WITHOUT_SECONDS"] = "HH:mm";
|
|
7
|
-
})(DatesFormats || (DatesFormats = {}));
|
|
8
|
-
|
|
10
|
+
})(DatesFormats || (exports.DatesFormats = DatesFormats = {}));
|
|
11
|
+
var SupportedExportFormats;
|
|
9
12
|
(function (SupportedExportFormats) {
|
|
10
13
|
SupportedExportFormats["XLSX"] = "xlsx";
|
|
11
14
|
SupportedExportFormats["CSV"] = "csv";
|
|
@@ -13,5 +16,5 @@ export var SupportedExportFormats;
|
|
|
13
16
|
SupportedExportFormats["FILE"] = "file";
|
|
14
17
|
SupportedExportFormats["PDF_SCHEDA"] = "pdf_scheda";
|
|
15
18
|
SupportedExportFormats["PDF"] = "pdf";
|
|
16
|
-
})(SupportedExportFormats || (SupportedExportFormats = {}));
|
|
19
|
+
})(SupportedExportFormats || (exports.SupportedExportFormats = SupportedExportFormats = {}));
|
|
17
20
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAUA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAUA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;IACrB,kDAAkC,CAAA;AACpC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAwBD,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,uCAAa,CAAA;IACb,mDAAyB,CAAA;IACzB,qCAAW,CAAA;AACb,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC","sourcesContent":["import type { Properties as CSSProperties } from \"csstype\";\nimport { ComponentOptions } from \"./component\";\nimport { SmeupDataCell } from \"./data-structures/smeupDataTable\";\n\nexport interface SmeupDataObj {\n t: string;\n p: string;\n k: string;\n}\n\nexport enum DatesFormats {\n ISO_DATE = \"YYYY-MM-DD\",\n ISO_DATE_TIME = \"YYYY-MM-DD HH:mm:ss\",\n ISO_TIME = \"HH:mm:ss\",\n ISO_TIME_WITHOUT_SECONDS = \"HH:mm\",\n}\n\nexport interface GenericObject {\n [index: string]: unknown;\n}\n\nexport interface WebupManagerData {\n mathLocale: string;\n datesLocale: string;\n themeBackground: string;\n}\n\n/**\n * Applies dataTable filters to the excel table rows\n */\nexport type ColumnFilter = {\n checkBoxes?: { value: string }[];\n textField?: string;\n};\n\nexport interface SmeupDataCellStyled extends SmeupDataCell {\n style?: CSSProperties;\n}\n\nexport enum SupportedExportFormats {\n XLSX = \"xlsx\",\n CSV = \"csv\",\n TXT = \"txt\",\n FILE = \"file\",\n PDF_SCHEDA = \"pdf_scheda\",\n PDF = \"pdf\",\n}\n\nexport interface ChartOptions extends ComponentOptions {\n Width: string;\n Height: string;\n}\n\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SortObject } from "../types/component-props
|
|
2
|
-
import { SmeupDataColumn, SmeupDataTable, SmeupDataCell, SmeupDataRow } from "../types/data-structures/smeupDataTable
|
|
3
|
-
import { ColumnFilter, WebupManagerData, SupportedExportFormats, GenericObject } from "../types/index
|
|
1
|
+
import { SortObject } from "../types/component-props";
|
|
2
|
+
import { SmeupDataColumn, SmeupDataTable, SmeupDataCell, SmeupDataRow } from "../types/data-structures/smeupDataTable";
|
|
3
|
+
import { ColumnFilter, WebupManagerData, SupportedExportFormats, GenericObject } from "../types/index";
|
|
4
4
|
export declare const getFilteredColumns: (columns: SmeupDataColumn[], props: GenericObject, groupsArray?: {
|
|
5
5
|
column: string;
|
|
6
6
|
visible: boolean;
|
|
@@ -18,6 +18,7 @@ export declare const updateMaxValueLength: (map: {
|
|
|
18
18
|
export declare const filterRows: (smeupDataTable: SmeupDataTable, filteredColumns: SmeupDataColumn[], filters: {
|
|
19
19
|
[key: string]: ColumnFilter;
|
|
20
20
|
}) => SmeupDataRow[];
|
|
21
|
+
export declare const isFilterMatchValue: (value: string, filter: string) => boolean;
|
|
21
22
|
export declare const sortRows: (rows: SmeupDataRow[], sortObject: SortObject[], activeGroups?: string[]) => void;
|
|
22
23
|
/**
|
|
23
24
|
* Returns a converted and formatted cell value (string, date, number)
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertColorToRgb = exports.loadImageAsBase64 = exports.convertToBuffer = exports.hexToArgb = exports.calculateValue = exports.calculateCellValue = exports.sortRows = exports.isFilterMatchValue = exports.filterRows = exports.updateMaxValueLength = exports.getFilteredColumns = void 0;
|
|
4
|
+
const excel_converter_types_1 = require("../converters/excel/excel-converter.types");
|
|
5
|
+
const component_props_1 = require("../types/component-props");
|
|
6
|
+
const dates_utility_1 = require("./dates-utility");
|
|
7
|
+
const formatter_utility_1 = require("./formatter-utility");
|
|
8
|
+
const math_utility_1 = require("./math-utility");
|
|
9
|
+
const objects_utility_1 = require("./objects-utility");
|
|
10
|
+
const getFilteredColumns = (columns, props, groupsArray = []) => {
|
|
8
11
|
if (!columns)
|
|
9
12
|
return [];
|
|
10
13
|
const mutableColumns = JSON.parse(JSON.stringify(columns));
|
|
@@ -34,9 +37,10 @@ export const getFilteredColumns = (columns, props, groupsArray = []) => {
|
|
|
34
37
|
...column.obj,
|
|
35
38
|
k: "",
|
|
36
39
|
};
|
|
37
|
-
return column.obj?.t !== "J4" && !objectsIsVoCodVer(dataObject);
|
|
40
|
+
return column.obj?.t !== "J4" && !(0, objects_utility_1.objectsIsVoCodVer)(dataObject);
|
|
38
41
|
});
|
|
39
42
|
};
|
|
43
|
+
exports.getFilteredColumns = getFilteredColumns;
|
|
40
44
|
/**
|
|
41
45
|
* By passing the map, length value and column name
|
|
42
46
|
* creates or updates a map record with
|
|
@@ -44,7 +48,7 @@ export const getFilteredColumns = (columns, props, groupsArray = []) => {
|
|
|
44
48
|
* @param text The text to use in length calculation
|
|
45
49
|
* @param colName The column to check
|
|
46
50
|
*/
|
|
47
|
-
|
|
51
|
+
const updateMaxValueLength = (map, text, colName) => {
|
|
48
52
|
if (!map || !text || !colName)
|
|
49
53
|
return;
|
|
50
54
|
const value = Math.max(...text.split("\n").map(line => line.length));
|
|
@@ -57,16 +61,21 @@ export const updateMaxValueLength = (map, text, colName) => {
|
|
|
57
61
|
map[colName] = value;
|
|
58
62
|
}
|
|
59
63
|
};
|
|
60
|
-
|
|
64
|
+
exports.updateMaxValueLength = updateMaxValueLength;
|
|
65
|
+
const filterRows = (smeupDataTable, filteredColumns, filters) => {
|
|
61
66
|
if (filters) {
|
|
62
67
|
return smeupDataTable.rows.filter(row => {
|
|
63
|
-
return
|
|
68
|
+
return smeupDataTable.columns.every(col => {
|
|
64
69
|
const cellValue = row.cells?.[col.name]?.value;
|
|
65
70
|
const columnFilter = filters[col.name];
|
|
66
71
|
if (columnFilter?.checkBoxes?.length) {
|
|
67
72
|
const allowedValues = columnFilter.checkBoxes.map(item => item.value);
|
|
68
73
|
return (typeof cellValue === "string" && allowedValues.includes(cellValue));
|
|
69
74
|
}
|
|
75
|
+
if (columnFilter?.textField) {
|
|
76
|
+
return (typeof cellValue === "string" &&
|
|
77
|
+
(0, exports.isFilterMatchValue)(cellValue, columnFilter.textField));
|
|
78
|
+
}
|
|
70
79
|
return true;
|
|
71
80
|
});
|
|
72
81
|
});
|
|
@@ -75,7 +84,82 @@ export const filterRows = (smeupDataTable, filteredColumns, filters) => {
|
|
|
75
84
|
return smeupDataTable.rows;
|
|
76
85
|
}
|
|
77
86
|
};
|
|
78
|
-
|
|
87
|
+
exports.filterRows = filterRows;
|
|
88
|
+
const isFilterMatchValue = (value, filter) => {
|
|
89
|
+
if (value == null)
|
|
90
|
+
value = "";
|
|
91
|
+
if (filter == null)
|
|
92
|
+
filter = "";
|
|
93
|
+
value = value.trim();
|
|
94
|
+
filter = filter.trim();
|
|
95
|
+
// Regex for operators and filter
|
|
96
|
+
// Examples: !'text', >'aa', >= 'ab', <'cza', <= 'asd', 'text', 'text%', '%text', '%text%'
|
|
97
|
+
const regex = /^([!><]=?|)(?:'(%?)(.*?)(%?)')?$/;
|
|
98
|
+
const match = filter.match(regex);
|
|
99
|
+
if (!match) {
|
|
100
|
+
// fallback: inclusion
|
|
101
|
+
return value.includes(filter);
|
|
102
|
+
}
|
|
103
|
+
const operator = match[1];
|
|
104
|
+
const startWildcard = match[2] === "%";
|
|
105
|
+
const filterText = match[3] ?? "";
|
|
106
|
+
const endWildcard = match[4] === "%";
|
|
107
|
+
// Handle '' (void)
|
|
108
|
+
if (filterText === "" && match[0].includes("''")) {
|
|
109
|
+
if (operator === "!") {
|
|
110
|
+
return value !== "";
|
|
111
|
+
}
|
|
112
|
+
return value === "";
|
|
113
|
+
}
|
|
114
|
+
// Handle operators of comparison
|
|
115
|
+
if ([">", ">=", "<", "<="].includes(operator)) {
|
|
116
|
+
if (operator === ">") {
|
|
117
|
+
return value > filterText;
|
|
118
|
+
}
|
|
119
|
+
if (operator === ">=") {
|
|
120
|
+
return value >= filterText;
|
|
121
|
+
}
|
|
122
|
+
if (operator === "<") {
|
|
123
|
+
return value < filterText;
|
|
124
|
+
}
|
|
125
|
+
if (operator === "<=") {
|
|
126
|
+
return value <= filterText;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Negation
|
|
130
|
+
if (operator === "!") {
|
|
131
|
+
// Match negation
|
|
132
|
+
if (startWildcard && endWildcard) {
|
|
133
|
+
return !value.includes(filterText);
|
|
134
|
+
}
|
|
135
|
+
if (startWildcard) {
|
|
136
|
+
return !value.endsWith(filterText);
|
|
137
|
+
}
|
|
138
|
+
if (endWildcard) {
|
|
139
|
+
return !value.startsWith(filterText);
|
|
140
|
+
}
|
|
141
|
+
// Exact match negation
|
|
142
|
+
return value !== filterText;
|
|
143
|
+
}
|
|
144
|
+
// Wildcard
|
|
145
|
+
if (startWildcard && endWildcard) {
|
|
146
|
+
return value.includes(filterText);
|
|
147
|
+
}
|
|
148
|
+
if (startWildcard) {
|
|
149
|
+
return value.endsWith(filterText);
|
|
150
|
+
}
|
|
151
|
+
if (endWildcard) {
|
|
152
|
+
return value.startsWith(filterText);
|
|
153
|
+
}
|
|
154
|
+
// Exact match between quotes
|
|
155
|
+
if (filter.startsWith("'") && filter.endsWith("'")) {
|
|
156
|
+
return value === filterText;
|
|
157
|
+
}
|
|
158
|
+
// Fallback: inclusion
|
|
159
|
+
return value.includes(filterText);
|
|
160
|
+
};
|
|
161
|
+
exports.isFilterMatchValue = isFilterMatchValue;
|
|
162
|
+
const sortRows = (rows, sortObject, activeGroups) => {
|
|
79
163
|
const sort = sortObject?.[0];
|
|
80
164
|
if (!sort && !activeGroups) {
|
|
81
165
|
return;
|
|
@@ -98,12 +182,12 @@ export const sortRows = (rows, sortObject, activeGroups) => {
|
|
|
98
182
|
const valA = a.cells?.[sort.column]?.value ?? "";
|
|
99
183
|
const valB = b.cells?.[sort.column]?.value ?? "";
|
|
100
184
|
switch (sort.sortMode) {
|
|
101
|
-
case SortMode.A:
|
|
185
|
+
case component_props_1.SortMode.A:
|
|
102
186
|
if (valA !== valB) {
|
|
103
187
|
return valA.localeCompare(valB);
|
|
104
188
|
}
|
|
105
189
|
return 0;
|
|
106
|
-
case SortMode.D:
|
|
190
|
+
case component_props_1.SortMode.D:
|
|
107
191
|
if (valA !== valB) {
|
|
108
192
|
return valB.localeCompare(valA);
|
|
109
193
|
}
|
|
@@ -112,6 +196,7 @@ export const sortRows = (rows, sortObject, activeGroups) => {
|
|
|
112
196
|
});
|
|
113
197
|
});
|
|
114
198
|
};
|
|
199
|
+
exports.sortRows = sortRows;
|
|
115
200
|
/**
|
|
116
201
|
* Returns a converted and formatted cell value (string, date, number)
|
|
117
202
|
* @param cell - SmeupDataCell
|
|
@@ -119,9 +204,10 @@ export const sortRows = (rows, sortObject, activeGroups) => {
|
|
|
119
204
|
* @param webupManagerData - WebupManagerData
|
|
120
205
|
* @returns
|
|
121
206
|
*/
|
|
122
|
-
|
|
123
|
-
return calculateValue(cell.value, cell.obj ?? { t: "", p: "", k: "" }, bookType, webupManagerData);
|
|
207
|
+
const calculateCellValue = (cell, bookType, webupManagerData) => {
|
|
208
|
+
return (0, exports.calculateValue)(cell.value, cell.obj ?? { t: "", p: "", k: "" }, bookType, webupManagerData);
|
|
124
209
|
};
|
|
210
|
+
exports.calculateCellValue = calculateCellValue;
|
|
125
211
|
/**
|
|
126
212
|
* Calculates and formats a value based on its type and export format.
|
|
127
213
|
*
|
|
@@ -137,29 +223,30 @@ export const calculateCellValue = (cell, bookType, webupManagerData) => {
|
|
|
137
223
|
* @param obj - Optional object describing the type of the value.
|
|
138
224
|
* @returns The formatted value, a Date object, a number, or the original value as a string.
|
|
139
225
|
*/
|
|
140
|
-
|
|
141
|
-
if (obj && objectsIsDate(obj) && datesIsIsoDate(value)) {
|
|
142
|
-
return exportTypeSupportsFormatting[bookType]
|
|
143
|
-
? new Date(datesToDate(value, webupManagerData.datesLocale))
|
|
144
|
-
: datesFormat(value, webupManagerData.datesLocale);
|
|
145
|
-
}
|
|
146
|
-
if (obj && objectsIsNumber(obj)) {
|
|
147
|
-
if (!exportTypeSupportsFormatting[bookType]) {
|
|
148
|
-
return (mathNumberStringToFormattedString(value, mathCountDecimals(Number(value) || 0), "", webupManagerData.mathLocale) || "");
|
|
226
|
+
const calculateValue = (value, obj, bookType, webupManagerData) => {
|
|
227
|
+
if (obj && (0, objects_utility_1.objectsIsDate)(obj) && (0, dates_utility_1.datesIsIsoDate)(value)) {
|
|
228
|
+
return excel_converter_types_1.exportTypeSupportsFormatting[bookType]
|
|
229
|
+
? new Date((0, dates_utility_1.datesToDate)(value, webupManagerData.datesLocale))
|
|
230
|
+
: (0, dates_utility_1.datesFormat)(value, webupManagerData.datesLocale);
|
|
231
|
+
}
|
|
232
|
+
if (obj && (0, objects_utility_1.objectsIsNumber)(obj)) {
|
|
233
|
+
if (!excel_converter_types_1.exportTypeSupportsFormatting[bookType]) {
|
|
234
|
+
return ((0, math_utility_1.mathNumberStringToFormattedString)(value, (0, math_utility_1.mathCountDecimals)(Number(value) || 0), "", webupManagerData.mathLocale) || "");
|
|
149
235
|
}
|
|
150
236
|
const numValue = Number(value);
|
|
151
237
|
return !isNaN(numValue) && !(Math.abs(numValue) === Infinity)
|
|
152
238
|
? numValue
|
|
153
239
|
: "";
|
|
154
240
|
}
|
|
155
|
-
return sanitizeString(value) ?? "";
|
|
241
|
+
return (0, formatter_utility_1.sanitizeString)(value) ?? "";
|
|
156
242
|
};
|
|
243
|
+
exports.calculateValue = calculateValue;
|
|
157
244
|
/**
|
|
158
245
|
* Conversion from Hexadecimal color to an AlphaRGB
|
|
159
246
|
* @param hex string - Hexadecimal value, it can bot have and don't have the # prefix
|
|
160
247
|
* @returns ARGB string code
|
|
161
248
|
*/
|
|
162
|
-
|
|
249
|
+
const hexToArgb = (hex) => {
|
|
163
250
|
// Hex validation
|
|
164
251
|
if (hex.startsWith("#"))
|
|
165
252
|
hex = hex.slice(1);
|
|
@@ -173,6 +260,7 @@ export const hexToArgb = (hex) => {
|
|
|
173
260
|
.toString(16)
|
|
174
261
|
.padStart(2, "0")}${blue.toString(16).padStart(2, "0")}`;
|
|
175
262
|
};
|
|
263
|
+
exports.hexToArgb = hexToArgb;
|
|
176
264
|
// Utility function to detect if Buffer is available
|
|
177
265
|
const isBufferAvailable = () => {
|
|
178
266
|
try {
|
|
@@ -183,7 +271,7 @@ const isBufferAvailable = () => {
|
|
|
183
271
|
}
|
|
184
272
|
};
|
|
185
273
|
// Utility function to convert ArrayBuffer to Buffer or Uint8Array
|
|
186
|
-
|
|
274
|
+
const convertToBuffer = (arrayBuffer) => {
|
|
187
275
|
if (arrayBuffer instanceof Uint8Array) {
|
|
188
276
|
return arrayBuffer;
|
|
189
277
|
}
|
|
@@ -194,8 +282,9 @@ export const convertToBuffer = (arrayBuffer) => {
|
|
|
194
282
|
return new Uint8Array(arrayBuffer);
|
|
195
283
|
}
|
|
196
284
|
};
|
|
285
|
+
exports.convertToBuffer = convertToBuffer;
|
|
197
286
|
// Function to load an image as base64 (browser version, async)
|
|
198
|
-
|
|
287
|
+
const loadImageAsBase64 = async (imageUrl) => {
|
|
199
288
|
try {
|
|
200
289
|
const response = await fetch(imageUrl);
|
|
201
290
|
if (!response.ok)
|
|
@@ -215,13 +304,15 @@ export const loadImageAsBase64 = async (imageUrl) => {
|
|
|
215
304
|
return null;
|
|
216
305
|
}
|
|
217
306
|
};
|
|
307
|
+
exports.loadImageAsBase64 = loadImageAsBase64;
|
|
218
308
|
/**
|
|
219
309
|
* Converts a hexadecimal color string (e.g., "#RRGGBB" or "0xRRGGBB") to an RGB tuple.
|
|
220
310
|
*/
|
|
221
|
-
|
|
311
|
+
const convertColorToRgb = (color) => {
|
|
222
312
|
const r = parseInt(color.substring(2, 4), 16);
|
|
223
313
|
const g = parseInt(color.substring(4, 6), 16);
|
|
224
314
|
const b = parseInt(color.substring(6, 8), 16);
|
|
225
315
|
return [r, g, b];
|
|
226
316
|
};
|
|
317
|
+
exports.convertColorToRgb = convertColorToRgb;
|
|
227
318
|
//# sourceMappingURL=commons-utility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commons-utility.js","sourceRoot":"","sources":["../../src/utils/commons-utility.ts"],"names":[],"mappings":"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","sourcesContent":["import { exportTypeSupportsFormatting } from \"../converters/excel/excel-converter.types.js\";\nimport { SortMode, SortObject } from \"../types/component-props.js\";\nimport {\n SmeupDataColumn,\n SmeupDataTable,\n SmeupDataCell,\n SmeupDataRow,\n} from \"../types/data-structures/smeupDataTable.js\";\nimport {\n SmeupDataObj,\n ColumnFilter,\n WebupManagerData,\n SupportedExportFormats,\n GenericObject,\n} from \"../types/index.js\";\nimport { datesIsIsoDate, datesToDate, datesFormat } from \"./dates-utility.js\";\nimport { sanitizeString } from \"./formatter-utility.js\";\nimport {\n mathNumberStringToFormattedString,\n mathCountDecimals,\n} from \"./math-utility.js\";\nimport {\n objectsIsVoCodVer,\n objectsIsDate,\n objectsIsNumber,\n} from \"./objects-utility.js\";\n\nexport const getFilteredColumns = (\n columns: SmeupDataColumn[],\n props: GenericObject,\n groupsArray: { column: string; visible: boolean }[] = [],\n) => {\n if (!columns) return [];\n\n const mutableColumns = JSON.parse(\n JSON.stringify(columns),\n ) as SmeupDataColumn[];\n\n const filteredColumns: SmeupDataColumn[] = [];\n\n if (props.visibleColumns && (props.visibleColumns as string[]).length > 0) {\n (props.visibleColumns as string[]).forEach((col: string) => {\n const foundColumn = mutableColumns.find(c => c.name === col);\n if (foundColumn) {\n filteredColumns.push({ ...foundColumn });\n }\n });\n } else {\n filteredColumns.push(...mutableColumns);\n }\n\n // Set the visibility of columns based on groups and props\n filteredColumns.forEach((col: SmeupDataColumn) => {\n const isGroupedColumn = groupsArray.filter(g => g.column === col.name);\n col.visible = props.visibleColumns\n ? (props.visibleColumns as string[]).includes(col.name)\n : col.visible;\n col.visible =\n isGroupedColumn.length > 0 ? isGroupedColumn[0].visible : col.visible;\n });\n\n return filteredColumns.filter(column => {\n const dataObject = {\n ...column.obj,\n k: \"\",\n } as SmeupDataObj;\n return column.obj?.t !== \"J4\" && !objectsIsVoCodVer(dataObject);\n });\n};\n\n/**\n * By passing the map, length value and column name\n * creates or updates a map record with\n * @param map Contains columnNames and their longest cell's length\n * @param text The text to use in length calculation\n * @param colName The column to check\n */\nexport const updateMaxValueLength = (\n map: { [key: string]: number },\n text: string | undefined | null,\n colName: string,\n) => {\n if (!map || !text || !colName) return;\n\n const value = Math.max(...text.split(\"\\n\").map(line => line.length));\n if (map[colName]) {\n if (map[colName] < value) {\n map[colName] = value;\n }\n } else {\n map[colName] = value;\n }\n};\n\nexport const filterRows = (\n smeupDataTable: SmeupDataTable,\n filteredColumns: SmeupDataColumn[],\n filters: { [key: string]: ColumnFilter },\n) => {\n if (filters) {\n return smeupDataTable.rows.filter(row => {\n return filteredColumns.every(col => {\n const cellValue = row.cells?.[col.name]?.value;\n const columnFilter = filters[col.name];\n if (columnFilter?.checkBoxes?.length) {\n const allowedValues = columnFilter.checkBoxes.map(item => item.value);\n return (\n typeof cellValue === \"string\" && allowedValues.includes(cellValue)\n );\n }\n return true;\n });\n });\n } else {\n return smeupDataTable.rows;\n }\n};\n\nexport const sortRows = (\n rows: SmeupDataRow[],\n sortObject: SortObject[],\n activeGroups?: string[],\n) => {\n const sort = sortObject?.[0];\n\n if (!sort && !activeGroups) {\n return;\n }\n\n if (!sort && activeGroups) {\n rows.sort((a, b) => {\n for (const group of activeGroups) {\n const valA = a.cells?.[group]?.value ?? \"\";\n const valB = b.cells?.[group]?.value ?? \"\";\n\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n }\n return 0;\n });\n return;\n }\n\n sortObject?.forEach(sort => {\n rows.sort((a, b) => {\n const valA = a.cells?.[sort.column]?.value ?? \"\";\n const valB = b.cells?.[sort.column]?.value ?? \"\";\n\n switch (sort.sortMode) {\n case SortMode.A:\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n return 0;\n case SortMode.D:\n if (valA !== valB) {\n return valB.localeCompare(valA);\n }\n return 0;\n }\n });\n });\n};\n\n/**\n * Returns a converted and formatted cell value (string, date, number)\n * @param cell - SmeupDataCell\n * @param bookType - SupportedExportFormats\n * @param webupManagerData - WebupManagerData\n * @returns\n */\nexport const calculateCellValue = (\n cell: SmeupDataCell,\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n return calculateValue(\n cell.value,\n cell.obj ?? ({ t: \"\", p: \"\", k: \"\" } as SmeupDataObj),\n bookType,\n webupManagerData,\n );\n};\n\n/**\n * Calculates and formats a value based on its type and export format.\n *\n * - If the value is a date and the object indicates a date type, it returns a formatted date string or a Date object,\n * depending on the export format.\n * - If the value is a number and the object indicates a number type, it returns a formatted number string or a numeric value,\n * depending on the export format.\n * - Otherwise, it returns the original value or an empty string if the value is null or undefined.\n *\n * @param bookType - The export format type.\n * @param webupManagerData - Data containing locale and formatting information.\n * @param value - The value to be calculated and formatted.\n * @param obj - Optional object describing the type of the value.\n * @returns The formatted value, a Date object, a number, or the original value as a string.\n */\nexport const calculateValue = (\n value: string,\n obj: {\n t: string;\n p: string;\n k: string;\n },\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n if (obj && objectsIsDate(obj) && datesIsIsoDate(value)) {\n return exportTypeSupportsFormatting[bookType]\n ? new Date(datesToDate(value, webupManagerData.datesLocale))\n : datesFormat(value, webupManagerData.datesLocale);\n }\n\n if (obj && objectsIsNumber(obj)) {\n if (!exportTypeSupportsFormatting[bookType]) {\n return (\n mathNumberStringToFormattedString(\n value,\n mathCountDecimals(Number(value) || 0),\n \"\",\n webupManagerData.mathLocale,\n ) || \"\"\n );\n }\n\n const numValue = Number(value);\n return !isNaN(numValue) && !(Math.abs(numValue) === Infinity)\n ? numValue\n : \"\";\n }\n\n return sanitizeString(value) ?? \"\";\n};\n\n/**\n * Conversion from Hexadecimal color to an AlphaRGB\n * @param hex string - Hexadecimal value, it can bot have and don't have the # prefix\n * @returns ARGB string code\n */\nexport const hexToArgb = (hex: string): string => {\n // Hex validation\n if (hex.startsWith(\"#\")) hex = hex.slice(1);\n if (hex.length !== 6) return \"\";\n\n // Value Parse and return\n const red = parseInt(hex.slice(0, 2), 16);\n const green = parseInt(hex.slice(2, 4), 16);\n const blue = parseInt(hex.slice(4, 6), 16);\n return `FF${red.toString(16).padStart(2, \"0\")}${green\n .toString(16)\n .padStart(2, \"0\")}${blue.toString(16).padStart(2, \"0\")}`;\n};\n\n// Utility function to detect if Buffer is available\nconst isBufferAvailable = (): boolean => {\n try {\n return typeof Buffer !== \"undefined\" && typeof Buffer.from === \"function\";\n } catch {\n return false;\n }\n};\n\n// Utility function to convert ArrayBuffer to Buffer or Uint8Array\nexport const convertToBuffer = (\n arrayBuffer: ArrayBuffer | Uint8Array,\n): Buffer | Uint8Array => {\n if (arrayBuffer instanceof Uint8Array) {\n return arrayBuffer;\n }\n if (isBufferAvailable()) {\n return Buffer.from(arrayBuffer);\n } else {\n return new Uint8Array(arrayBuffer);\n }\n};\n\n// Function to load an image as base64 (browser version, async)\nexport const loadImageAsBase64 = async (\n imageUrl: string,\n): Promise<string | null> => {\n try {\n const response = await fetch(imageUrl);\n if (!response.ok) return null;\n const blob = await response.blob();\n return await new Promise<string | null>((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result as string);\n };\n reader.onerror = () => reject(null);\n reader.readAsDataURL(blob);\n });\n } catch (error) {\n console.warn(\"Unable to load asset image:\", error);\n return null;\n }\n};\n\n/**\n * Converts a hexadecimal color string (e.g., \"#RRGGBB\" or \"0xRRGGBB\") to an RGB tuple.\n */\nexport const convertColorToRgb = (color: string): [number, number, number] => {\n const r = parseInt(color.substring(2, 4), 16);\n const g = parseInt(color.substring(4, 6), 16);\n const b = parseInt(color.substring(6, 8), 16);\n return [r, g, b];\n};\n"]}
|
|
1
|
+
{"version":3,"file":"commons-utility.js","sourceRoot":"","sources":["../../src/utils/commons-utility.ts"],"names":[],"mappings":"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","sourcesContent":["import { exportTypeSupportsFormatting } from \"../converters/excel/excel-converter.types\";\nimport { SortMode, SortObject } from \"../types/component-props\";\nimport {\n SmeupDataColumn,\n SmeupDataTable,\n SmeupDataCell,\n SmeupDataRow,\n} from \"../types/data-structures/smeupDataTable\";\nimport {\n SmeupDataObj,\n ColumnFilter,\n WebupManagerData,\n SupportedExportFormats,\n GenericObject,\n} from \"../types/index\";\nimport { datesIsIsoDate, datesToDate, datesFormat } from \"./dates-utility\";\nimport { sanitizeString } from \"./formatter-utility\";\nimport {\n mathNumberStringToFormattedString,\n mathCountDecimals,\n} from \"./math-utility\";\nimport {\n objectsIsVoCodVer,\n objectsIsDate,\n objectsIsNumber,\n} from \"./objects-utility\";\n\nexport const getFilteredColumns = (\n columns: SmeupDataColumn[],\n props: GenericObject,\n groupsArray: { column: string; visible: boolean }[] = [],\n) => {\n if (!columns) return [];\n\n const mutableColumns = JSON.parse(\n JSON.stringify(columns),\n ) as SmeupDataColumn[];\n\n const filteredColumns: SmeupDataColumn[] = [];\n\n if (props.visibleColumns && (props.visibleColumns as string[]).length > 0) {\n (props.visibleColumns as string[]).forEach((col: string) => {\n const foundColumn = mutableColumns.find(c => c.name === col);\n if (foundColumn) {\n filteredColumns.push({ ...foundColumn });\n }\n });\n } else {\n filteredColumns.push(...mutableColumns);\n }\n\n // Set the visibility of columns based on groups and props\n filteredColumns.forEach((col: SmeupDataColumn) => {\n const isGroupedColumn = groupsArray.filter(g => g.column === col.name);\n col.visible = props.visibleColumns\n ? (props.visibleColumns as string[]).includes(col.name)\n : col.visible;\n col.visible =\n isGroupedColumn.length > 0 ? isGroupedColumn[0].visible : col.visible;\n });\n\n return filteredColumns.filter(column => {\n const dataObject = {\n ...column.obj,\n k: \"\",\n } as SmeupDataObj;\n return column.obj?.t !== \"J4\" && !objectsIsVoCodVer(dataObject);\n });\n};\n\n/**\n * By passing the map, length value and column name\n * creates or updates a map record with\n * @param map Contains columnNames and their longest cell's length\n * @param text The text to use in length calculation\n * @param colName The column to check\n */\nexport const updateMaxValueLength = (\n map: { [key: string]: number },\n text: string | undefined | null,\n colName: string,\n) => {\n if (!map || !text || !colName) return;\n\n const value = Math.max(...text.split(\"\\n\").map(line => line.length));\n if (map[colName]) {\n if (map[colName] < value) {\n map[colName] = value;\n }\n } else {\n map[colName] = value;\n }\n};\n\nexport const filterRows = (\n smeupDataTable: SmeupDataTable,\n filteredColumns: SmeupDataColumn[],\n filters: { [key: string]: ColumnFilter },\n) => {\n if (filters) {\n return smeupDataTable.rows.filter(row => {\n return smeupDataTable.columns.every(col => {\n const cellValue = row.cells?.[col.name]?.value;\n const columnFilter = filters[col.name];\n if (columnFilter?.checkBoxes?.length) {\n const allowedValues = columnFilter.checkBoxes.map(item => item.value);\n return (\n typeof cellValue === \"string\" && allowedValues.includes(cellValue)\n );\n }\n if (columnFilter?.textField) {\n return (\n typeof cellValue === \"string\" &&\n isFilterMatchValue(cellValue, columnFilter.textField)\n );\n }\n return true;\n });\n });\n } else {\n return smeupDataTable.rows;\n }\n};\n\nexport const isFilterMatchValue = (value: string, filter: string): boolean => {\n if (value == null) value = \"\";\n if (filter == null) filter = \"\";\n\n value = value.trim();\n filter = filter.trim();\n\n // Regex for operators and filter\n // Examples: !'text', >'aa', >= 'ab', <'cza', <= 'asd', 'text', 'text%', '%text', '%text%'\n const regex = /^([!><]=?|)(?:'(%?)(.*?)(%?)')?$/;\n const match = filter.match(regex);\n if (!match) {\n // fallback: inclusion\n return value.includes(filter);\n }\n\n const operator = match[1];\n const startWildcard = match[2] === \"%\";\n const filterText = match[3] ?? \"\";\n const endWildcard = match[4] === \"%\";\n\n // Handle '' (void)\n if (filterText === \"\" && match[0].includes(\"''\")) {\n if (operator === \"!\") {\n return value !== \"\";\n }\n return value === \"\";\n }\n\n // Handle operators of comparison\n if ([\">\", \">=\", \"<\", \"<=\"].includes(operator)) {\n if (operator === \">\") {\n return value > filterText;\n }\n if (operator === \">=\") {\n return value >= filterText;\n }\n if (operator === \"<\") {\n return value < filterText;\n }\n if (operator === \"<=\") {\n return value <= filterText;\n }\n }\n\n // Negation\n if (operator === \"!\") {\n // Match negation\n if (startWildcard && endWildcard) {\n return !value.includes(filterText);\n }\n if (startWildcard) {\n return !value.endsWith(filterText);\n }\n if (endWildcard) {\n return !value.startsWith(filterText);\n }\n // Exact match negation\n return value !== filterText;\n }\n\n // Wildcard\n if (startWildcard && endWildcard) {\n return value.includes(filterText);\n }\n if (startWildcard) {\n return value.endsWith(filterText);\n }\n if (endWildcard) {\n return value.startsWith(filterText);\n }\n\n // Exact match between quotes\n if (filter.startsWith(\"'\") && filter.endsWith(\"'\")) {\n return value === filterText;\n }\n\n // Fallback: inclusion\n return value.includes(filterText);\n};\n\nexport const sortRows = (\n rows: SmeupDataRow[],\n sortObject: SortObject[],\n activeGroups?: string[],\n) => {\n const sort = sortObject?.[0];\n\n if (!sort && !activeGroups) {\n return;\n }\n\n if (!sort && activeGroups) {\n rows.sort((a, b) => {\n for (const group of activeGroups) {\n const valA = a.cells?.[group]?.value ?? \"\";\n const valB = b.cells?.[group]?.value ?? \"\";\n\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n }\n return 0;\n });\n return;\n }\n\n sortObject?.forEach(sort => {\n rows.sort((a, b) => {\n const valA = a.cells?.[sort.column]?.value ?? \"\";\n const valB = b.cells?.[sort.column]?.value ?? \"\";\n\n switch (sort.sortMode) {\n case SortMode.A:\n if (valA !== valB) {\n return valA.localeCompare(valB);\n }\n return 0;\n case SortMode.D:\n if (valA !== valB) {\n return valB.localeCompare(valA);\n }\n return 0;\n }\n });\n });\n};\n\n/**\n * Returns a converted and formatted cell value (string, date, number)\n * @param cell - SmeupDataCell\n * @param bookType - SupportedExportFormats\n * @param webupManagerData - WebupManagerData\n * @returns\n */\nexport const calculateCellValue = (\n cell: SmeupDataCell,\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n return calculateValue(\n cell.value,\n cell.obj ?? ({ t: \"\", p: \"\", k: \"\" } as SmeupDataObj),\n bookType,\n webupManagerData,\n );\n};\n\n/**\n * Calculates and formats a value based on its type and export format.\n *\n * - If the value is a date and the object indicates a date type, it returns a formatted date string or a Date object,\n * depending on the export format.\n * - If the value is a number and the object indicates a number type, it returns a formatted number string or a numeric value,\n * depending on the export format.\n * - Otherwise, it returns the original value or an empty string if the value is null or undefined.\n *\n * @param bookType - The export format type.\n * @param webupManagerData - Data containing locale and formatting information.\n * @param value - The value to be calculated and formatted.\n * @param obj - Optional object describing the type of the value.\n * @returns The formatted value, a Date object, a number, or the original value as a string.\n */\nexport const calculateValue = (\n value: string,\n obj: {\n t: string;\n p: string;\n k: string;\n },\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n if (obj && objectsIsDate(obj) && datesIsIsoDate(value)) {\n return exportTypeSupportsFormatting[bookType]\n ? new Date(datesToDate(value, webupManagerData.datesLocale))\n : datesFormat(value, webupManagerData.datesLocale);\n }\n\n if (obj && objectsIsNumber(obj)) {\n if (!exportTypeSupportsFormatting[bookType]) {\n return (\n mathNumberStringToFormattedString(\n value,\n mathCountDecimals(Number(value) || 0),\n \"\",\n webupManagerData.mathLocale,\n ) || \"\"\n );\n }\n\n const numValue = Number(value);\n return !isNaN(numValue) && !(Math.abs(numValue) === Infinity)\n ? numValue\n : \"\";\n }\n\n return sanitizeString(value) ?? \"\";\n};\n\n/**\n * Conversion from Hexadecimal color to an AlphaRGB\n * @param hex string - Hexadecimal value, it can bot have and don't have the # prefix\n * @returns ARGB string code\n */\nexport const hexToArgb = (hex: string): string => {\n // Hex validation\n if (hex.startsWith(\"#\")) hex = hex.slice(1);\n if (hex.length !== 6) return \"\";\n\n // Value Parse and return\n const red = parseInt(hex.slice(0, 2), 16);\n const green = parseInt(hex.slice(2, 4), 16);\n const blue = parseInt(hex.slice(4, 6), 16);\n return `FF${red.toString(16).padStart(2, \"0\")}${green\n .toString(16)\n .padStart(2, \"0\")}${blue.toString(16).padStart(2, \"0\")}`;\n};\n\n// Utility function to detect if Buffer is available\nconst isBufferAvailable = (): boolean => {\n try {\n return typeof Buffer !== \"undefined\" && typeof Buffer.from === \"function\";\n } catch {\n return false;\n }\n};\n\n// Utility function to convert ArrayBuffer to Buffer or Uint8Array\nexport const convertToBuffer = (\n arrayBuffer: ArrayBuffer | Uint8Array,\n): Buffer | Uint8Array => {\n if (arrayBuffer instanceof Uint8Array) {\n return arrayBuffer;\n }\n if (isBufferAvailable()) {\n return Buffer.from(arrayBuffer);\n } else {\n return new Uint8Array(arrayBuffer);\n }\n};\n\n// Function to load an image as base64 (browser version, async)\nexport const loadImageAsBase64 = async (\n imageUrl: string,\n): Promise<string | null> => {\n try {\n const response = await fetch(imageUrl);\n if (!response.ok) return null;\n const blob = await response.blob();\n return await new Promise<string | null>((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result as string);\n };\n reader.onerror = () => reject(null);\n reader.readAsDataURL(blob);\n });\n } catch (error) {\n console.warn(\"Unable to load asset image:\", error);\n return null;\n }\n};\n\n/**\n * Converts a hexadecimal color string (e.g., \"#RRGGBB\" or \"0xRRGGBB\") to an RGB tuple.\n */\nexport const convertColorToRgb = (color: string): [number, number, number] => {\n const r = parseInt(color.substring(2, 4), 16);\n const g = parseInt(color.substring(4, 6), 16);\n const b = parseInt(color.substring(6, 8), 16);\n return [r, g, b];\n};\n\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SmeupDataColumn } from "../types/data-structures/smeupDataTable
|
|
1
|
+
import { SmeupDataColumn } from "../types/data-structures/smeupDataTable";
|
|
2
2
|
export declare const isColumnHidden: (column: SmeupDataColumn) => boolean;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isColumnHidden = void 0;
|
|
4
|
+
const isColumnHidden = (column) => {
|
|
2
5
|
return (Object.prototype.hasOwnProperty.call(column, "visible") &&
|
|
3
6
|
column.visible === false);
|
|
4
7
|
};
|
|
8
|
+
exports.isColumnHidden = isColumnHidden;
|
|
5
9
|
//# sourceMappingURL=datastructure-utility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datastructure-utility.js","sourceRoot":"","sources":["../../src/utils/datastructure-utility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"datastructure-utility.js","sourceRoot":"","sources":["../../src/utils/datastructure-utility.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAW,EAAE;IACjE,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACvD,MAAM,CAAC,OAAO,KAAK,KAAK,CACzB,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB","sourcesContent":["import { SmeupDataColumn } from \"../types/data-structures/smeupDataTable\";\n\nexport const isColumnHidden = (column: SmeupDataColumn): boolean => {\n return (\n Object.prototype.hasOwnProperty.call(column, \"visible\") &&\n column.visible === false\n );\n};\n\n"]}
|