@sme.up/doc-alchemist 1.4.0-SNAPSHOT-20251010134428 → 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 +2 -2
- package/dist/types/index.js +7 -4
- package/dist/types/index.js.map +1 -1
- package/dist/utils/commons-utility.d.ts +3 -3
- package/dist/utils/commons-utility.js +44 -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;
|
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;
|
|
@@ -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,7 +61,8 @@ 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
68
|
return smeupDataTable.columns.every(col => {
|
|
@@ -69,7 +74,7 @@ export const filterRows = (smeupDataTable, filteredColumns, filters) => {
|
|
|
69
74
|
}
|
|
70
75
|
if (columnFilter?.textField) {
|
|
71
76
|
return (typeof cellValue === "string" &&
|
|
72
|
-
isFilterMatchValue(cellValue, columnFilter.textField));
|
|
77
|
+
(0, exports.isFilterMatchValue)(cellValue, columnFilter.textField));
|
|
73
78
|
}
|
|
74
79
|
return true;
|
|
75
80
|
});
|
|
@@ -79,7 +84,8 @@ export const filterRows = (smeupDataTable, filteredColumns, filters) => {
|
|
|
79
84
|
return smeupDataTable.rows;
|
|
80
85
|
}
|
|
81
86
|
};
|
|
82
|
-
|
|
87
|
+
exports.filterRows = filterRows;
|
|
88
|
+
const isFilterMatchValue = (value, filter) => {
|
|
83
89
|
if (value == null)
|
|
84
90
|
value = "";
|
|
85
91
|
if (filter == null)
|
|
@@ -152,7 +158,8 @@ export const isFilterMatchValue = (value, filter) => {
|
|
|
152
158
|
// Fallback: inclusion
|
|
153
159
|
return value.includes(filterText);
|
|
154
160
|
};
|
|
155
|
-
|
|
161
|
+
exports.isFilterMatchValue = isFilterMatchValue;
|
|
162
|
+
const sortRows = (rows, sortObject, activeGroups) => {
|
|
156
163
|
const sort = sortObject?.[0];
|
|
157
164
|
if (!sort && !activeGroups) {
|
|
158
165
|
return;
|
|
@@ -175,12 +182,12 @@ export const sortRows = (rows, sortObject, activeGroups) => {
|
|
|
175
182
|
const valA = a.cells?.[sort.column]?.value ?? "";
|
|
176
183
|
const valB = b.cells?.[sort.column]?.value ?? "";
|
|
177
184
|
switch (sort.sortMode) {
|
|
178
|
-
case SortMode.A:
|
|
185
|
+
case component_props_1.SortMode.A:
|
|
179
186
|
if (valA !== valB) {
|
|
180
187
|
return valA.localeCompare(valB);
|
|
181
188
|
}
|
|
182
189
|
return 0;
|
|
183
|
-
case SortMode.D:
|
|
190
|
+
case component_props_1.SortMode.D:
|
|
184
191
|
if (valA !== valB) {
|
|
185
192
|
return valB.localeCompare(valA);
|
|
186
193
|
}
|
|
@@ -189,6 +196,7 @@ export const sortRows = (rows, sortObject, activeGroups) => {
|
|
|
189
196
|
});
|
|
190
197
|
});
|
|
191
198
|
};
|
|
199
|
+
exports.sortRows = sortRows;
|
|
192
200
|
/**
|
|
193
201
|
* Returns a converted and formatted cell value (string, date, number)
|
|
194
202
|
* @param cell - SmeupDataCell
|
|
@@ -196,9 +204,10 @@ export const sortRows = (rows, sortObject, activeGroups) => {
|
|
|
196
204
|
* @param webupManagerData - WebupManagerData
|
|
197
205
|
* @returns
|
|
198
206
|
*/
|
|
199
|
-
|
|
200
|
-
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);
|
|
201
209
|
};
|
|
210
|
+
exports.calculateCellValue = calculateCellValue;
|
|
202
211
|
/**
|
|
203
212
|
* Calculates and formats a value based on its type and export format.
|
|
204
213
|
*
|
|
@@ -214,29 +223,30 @@ export const calculateCellValue = (cell, bookType, webupManagerData) => {
|
|
|
214
223
|
* @param obj - Optional object describing the type of the value.
|
|
215
224
|
* @returns The formatted value, a Date object, a number, or the original value as a string.
|
|
216
225
|
*/
|
|
217
|
-
|
|
218
|
-
if (obj && objectsIsDate(obj) && datesIsIsoDate(value)) {
|
|
219
|
-
return exportTypeSupportsFormatting[bookType]
|
|
220
|
-
? new Date(datesToDate(value, webupManagerData.datesLocale))
|
|
221
|
-
: datesFormat(value, webupManagerData.datesLocale);
|
|
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);
|
|
222
231
|
}
|
|
223
|
-
if (obj && objectsIsNumber(obj)) {
|
|
224
|
-
if (!exportTypeSupportsFormatting[bookType]) {
|
|
225
|
-
return (mathNumberStringToFormattedString(value, mathCountDecimals(Number(value) || 0), "", webupManagerData.mathLocale) || "");
|
|
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) || "");
|
|
226
235
|
}
|
|
227
236
|
const numValue = Number(value);
|
|
228
237
|
return !isNaN(numValue) && !(Math.abs(numValue) === Infinity)
|
|
229
238
|
? numValue
|
|
230
239
|
: "";
|
|
231
240
|
}
|
|
232
|
-
return sanitizeString(value) ?? "";
|
|
241
|
+
return (0, formatter_utility_1.sanitizeString)(value) ?? "";
|
|
233
242
|
};
|
|
243
|
+
exports.calculateValue = calculateValue;
|
|
234
244
|
/**
|
|
235
245
|
* Conversion from Hexadecimal color to an AlphaRGB
|
|
236
246
|
* @param hex string - Hexadecimal value, it can bot have and don't have the # prefix
|
|
237
247
|
* @returns ARGB string code
|
|
238
248
|
*/
|
|
239
|
-
|
|
249
|
+
const hexToArgb = (hex) => {
|
|
240
250
|
// Hex validation
|
|
241
251
|
if (hex.startsWith("#"))
|
|
242
252
|
hex = hex.slice(1);
|
|
@@ -250,6 +260,7 @@ export const hexToArgb = (hex) => {
|
|
|
250
260
|
.toString(16)
|
|
251
261
|
.padStart(2, "0")}${blue.toString(16).padStart(2, "0")}`;
|
|
252
262
|
};
|
|
263
|
+
exports.hexToArgb = hexToArgb;
|
|
253
264
|
// Utility function to detect if Buffer is available
|
|
254
265
|
const isBufferAvailable = () => {
|
|
255
266
|
try {
|
|
@@ -260,7 +271,7 @@ const isBufferAvailable = () => {
|
|
|
260
271
|
}
|
|
261
272
|
};
|
|
262
273
|
// Utility function to convert ArrayBuffer to Buffer or Uint8Array
|
|
263
|
-
|
|
274
|
+
const convertToBuffer = (arrayBuffer) => {
|
|
264
275
|
if (arrayBuffer instanceof Uint8Array) {
|
|
265
276
|
return arrayBuffer;
|
|
266
277
|
}
|
|
@@ -271,8 +282,9 @@ export const convertToBuffer = (arrayBuffer) => {
|
|
|
271
282
|
return new Uint8Array(arrayBuffer);
|
|
272
283
|
}
|
|
273
284
|
};
|
|
285
|
+
exports.convertToBuffer = convertToBuffer;
|
|
274
286
|
// Function to load an image as base64 (browser version, async)
|
|
275
|
-
|
|
287
|
+
const loadImageAsBase64 = async (imageUrl) => {
|
|
276
288
|
try {
|
|
277
289
|
const response = await fetch(imageUrl);
|
|
278
290
|
if (!response.ok)
|
|
@@ -292,13 +304,15 @@ export const loadImageAsBase64 = async (imageUrl) => {
|
|
|
292
304
|
return null;
|
|
293
305
|
}
|
|
294
306
|
};
|
|
307
|
+
exports.loadImageAsBase64 = loadImageAsBase64;
|
|
295
308
|
/**
|
|
296
309
|
* Converts a hexadecimal color string (e.g., "#RRGGBB" or "0xRRGGBB") to an RGB tuple.
|
|
297
310
|
*/
|
|
298
|
-
|
|
311
|
+
const convertColorToRgb = (color) => {
|
|
299
312
|
const r = parseInt(color.substring(2, 4), 16);
|
|
300
313
|
const g = parseInt(color.substring(4, 6), 16);
|
|
301
314
|
const b = parseInt(color.substring(6, 8), 16);
|
|
302
315
|
return [r, g, b];
|
|
303
316
|
};
|
|
317
|
+
exports.convertColorToRgb = convertColorToRgb;
|
|
304
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 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"]}
|
|
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"]}
|
|
@@ -1,32 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
dayjs.
|
|
15
|
-
dayjs.
|
|
16
|
-
dayjs.
|
|
17
|
-
dayjs.
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.datesToDate = exports.datesIsIsoDate = exports.datesFormat = void 0;
|
|
7
|
+
exports.areAllValuesDates = areAllValuesDates;
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
|
+
const utc_js_1 = __importDefault(require("dayjs/plugin/utc.js"));
|
|
10
|
+
const customParseFormat_js_1 = __importDefault(require("dayjs/plugin/customParseFormat.js"));
|
|
11
|
+
const localizedFormat_js_1 = __importDefault(require("dayjs/plugin/localizedFormat.js"));
|
|
12
|
+
const minMax_js_1 = __importDefault(require("dayjs/plugin/minMax.js"));
|
|
13
|
+
require("dayjs/locale/es.js");
|
|
14
|
+
require("dayjs/locale/fr.js");
|
|
15
|
+
require("dayjs/locale/it.js");
|
|
16
|
+
require("dayjs/locale/pl.js");
|
|
17
|
+
require("dayjs/locale/ru.js");
|
|
18
|
+
require("dayjs/locale/zh.js");
|
|
19
|
+
const index_1 = require("../types/index");
|
|
20
|
+
const exceljs_1 = __importDefault(require("exceljs"));
|
|
21
|
+
dayjs_1.default.extend(utc_js_1.default);
|
|
22
|
+
dayjs_1.default.extend(customParseFormat_js_1.default);
|
|
23
|
+
dayjs_1.default.extend(localizedFormat_js_1.default);
|
|
24
|
+
dayjs_1.default.extend(minMax_js_1.default);
|
|
25
|
+
const datesFormat = (input, locale, format) => {
|
|
26
|
+
const _dayjs = dayjs_1.default;
|
|
20
27
|
_dayjs.locale(locale);
|
|
21
28
|
if (!format) {
|
|
22
29
|
format = "L"; // MM/DD/YYYY, DD/MM/YYYY depending on locale
|
|
23
30
|
}
|
|
24
31
|
return _dayjs.utc(input).format(format);
|
|
25
32
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
DatesFormats.
|
|
33
|
+
exports.datesFormat = datesFormat;
|
|
34
|
+
const datesIsIsoDate = (dateString) => {
|
|
35
|
+
const isoDate = (0, dayjs_1.default)(dateString, [
|
|
36
|
+
index_1.DatesFormats.ISO_DATE,
|
|
37
|
+
index_1.DatesFormats.ISO_DATE_TIME,
|
|
30
38
|
"YYYY-MM-DDTHH:mm:ss.SSSZ",
|
|
31
39
|
]);
|
|
32
40
|
if (!isoDate.isValid()) {
|
|
@@ -43,8 +51,9 @@ export const datesIsIsoDate = (dateString) => {
|
|
|
43
51
|
}
|
|
44
52
|
return true;
|
|
45
53
|
};
|
|
46
|
-
|
|
47
|
-
|
|
54
|
+
exports.datesIsIsoDate = datesIsIsoDate;
|
|
55
|
+
const datesToDate = (input, locale, format) => {
|
|
56
|
+
const _dayjs = dayjs_1.default;
|
|
48
57
|
_dayjs.locale(locale);
|
|
49
58
|
if (format && format != null) {
|
|
50
59
|
return _dayjs.utc(input, format).toDate();
|
|
@@ -53,6 +62,7 @@ export const datesToDate = (input, locale, format) => {
|
|
|
53
62
|
return _dayjs.utc(input).toDate();
|
|
54
63
|
}
|
|
55
64
|
};
|
|
65
|
+
exports.datesToDate = datesToDate;
|
|
56
66
|
/**
|
|
57
67
|
* Checks if all ExcelJS.Cell values in the array are dates (ExcelJS.ValueType.Date).
|
|
58
68
|
* Accepts an array of ExcelJS.Cell and returns true if all are dates.
|
|
@@ -60,14 +70,14 @@ export const datesToDate = (input, locale, format) => {
|
|
|
60
70
|
* @param values - Array of ExcelJS.Cell
|
|
61
71
|
* @returns true if all values are dates, false otherwise
|
|
62
72
|
*/
|
|
63
|
-
|
|
73
|
+
function areAllValuesDates(values) {
|
|
64
74
|
const filteredValues = values.filter(cell => cell && cell.type && cell.value);
|
|
65
75
|
if (!Array.isArray(filteredValues) || filteredValues.length === 0)
|
|
66
76
|
return false;
|
|
67
77
|
return filteredValues.every(cell => {
|
|
68
78
|
if (!cell || typeof cell !== "object")
|
|
69
79
|
return false;
|
|
70
|
-
return cell.type ===
|
|
80
|
+
return cell.type === exceljs_1.default.ValueType.Date;
|
|
71
81
|
});
|
|
72
82
|
}
|
|
73
83
|
//# sourceMappingURL=dates-utility.js.map
|