@fctc/widget-logic 3.7.2 → 3.7.4
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/index.js +21 -39
- package/dist/index.mjs +1 -19
- package/dist/widget.js +21 -39
- package/dist/widget.mjs +1 -19
- package/package.json +94 -94
package/dist/index.js
CHANGED
|
@@ -5911,25 +5911,7 @@ var downLoadBinaryController = (props) => {
|
|
|
5911
5911
|
const { value, defaultValue, formValues } = props;
|
|
5912
5912
|
const handleFileDownload = async (e) => {
|
|
5913
5913
|
e.stopPropagation();
|
|
5914
|
-
await downloadFile(value || defaultValue, formValues?.name);
|
|
5915
|
-
};
|
|
5916
|
-
const downloadFile = async (url, filename) => {
|
|
5917
|
-
try {
|
|
5918
|
-
const response = await fetch(url);
|
|
5919
|
-
if (response) {
|
|
5920
|
-
const blob = await response.blob();
|
|
5921
|
-
const urlBlob = window.URL.createObjectURL(blob);
|
|
5922
|
-
const link = document.createElement("a");
|
|
5923
|
-
link.href = urlBlob;
|
|
5924
|
-
link.download = filename || "downloaded-file";
|
|
5925
|
-
document.body.appendChild(link);
|
|
5926
|
-
link.click();
|
|
5927
|
-
document.body.removeChild(link);
|
|
5928
|
-
window.URL.revokeObjectURL(urlBlob);
|
|
5929
|
-
}
|
|
5930
|
-
} catch (error) {
|
|
5931
|
-
console.error("File download failed:", error);
|
|
5932
|
-
}
|
|
5914
|
+
await (0, utils_exports.downloadFile)(value || defaultValue, formValues?.name);
|
|
5933
5915
|
};
|
|
5934
5916
|
return {
|
|
5935
5917
|
handleFileDownload
|
|
@@ -6818,12 +6800,12 @@ var dateFieldController = (props) => {
|
|
|
6818
6800
|
|
|
6819
6801
|
// src/widget/basic/copy-link-button/controller.ts
|
|
6820
6802
|
var import_react21 = require("react");
|
|
6821
|
-
var
|
|
6803
|
+
var import_utils14 = require("@fctc/interface-logic/utils");
|
|
6822
6804
|
var copyLinkButtonController = (props) => {
|
|
6823
6805
|
const { value, defaultValue } = props;
|
|
6824
6806
|
const [isCopied, setIsCopied] = (0, import_react21.useState)(false);
|
|
6825
6807
|
const handleCopyToClipboard = async (value2) => {
|
|
6826
|
-
await (0,
|
|
6808
|
+
await (0, import_utils14.copyTextToClipboard)(value2);
|
|
6827
6809
|
setIsCopied(true);
|
|
6828
6810
|
setTimeout(() => setIsCopied(false), 2e3);
|
|
6829
6811
|
};
|
|
@@ -6836,12 +6818,12 @@ var copyLinkButtonController = (props) => {
|
|
|
6836
6818
|
};
|
|
6837
6819
|
|
|
6838
6820
|
// src/widget/basic/color-field/color-controller.ts
|
|
6839
|
-
var
|
|
6821
|
+
var import_utils15 = require("@fctc/interface-logic/utils");
|
|
6840
6822
|
var colorFieldController = (props) => {
|
|
6841
6823
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6842
6824
|
const { env } = (0, provider_exports.useEnv)();
|
|
6843
6825
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6844
|
-
const _context = { ...(0,
|
|
6826
|
+
const _context = { ...(0, import_utils15.evalJSONContext)(actionData?.context) || {} };
|
|
6845
6827
|
const contextObject = { ...env.context, ..._context };
|
|
6846
6828
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6847
6829
|
const { mutate: onSave } = useSave3();
|
|
@@ -6870,7 +6852,7 @@ var colorFieldController = (props) => {
|
|
|
6870
6852
|
|
|
6871
6853
|
// src/widget/basic/binary-field/controller.ts
|
|
6872
6854
|
var import_react22 = require("react");
|
|
6873
|
-
var
|
|
6855
|
+
var import_utils16 = require("@fctc/interface-logic/utils");
|
|
6874
6856
|
var binaryFieldController = (props) => {
|
|
6875
6857
|
const { name, methods, readonly = false, value } = props;
|
|
6876
6858
|
const inputId = (0, import_react22.useId)();
|
|
@@ -6927,11 +6909,11 @@ var binaryFieldController = (props) => {
|
|
|
6927
6909
|
};
|
|
6928
6910
|
const checkIsImageLink = (url) => {
|
|
6929
6911
|
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
6930
|
-
return imageExtensions.test(url) || (0,
|
|
6912
|
+
return imageExtensions.test(url) || (0, import_utils16.isBase64Image)(url) || isBlobUrl(url);
|
|
6931
6913
|
};
|
|
6932
6914
|
const getImageBase64WithMimeType = (base64) => {
|
|
6933
6915
|
if (typeof base64 !== "string" || base64.length < 10) return null;
|
|
6934
|
-
if ((0,
|
|
6916
|
+
if ((0, import_utils16.isBase64Image)(base64)) return base64;
|
|
6935
6917
|
let mimeType = null;
|
|
6936
6918
|
if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
|
|
6937
6919
|
else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
|
|
@@ -7034,7 +7016,7 @@ var tableHeadController = (props) => {
|
|
|
7034
7016
|
|
|
7035
7017
|
// src/widget/advance/table/table-view/controller.ts
|
|
7036
7018
|
var import_react24 = require("react");
|
|
7037
|
-
var
|
|
7019
|
+
var import_utils18 = require("@fctc/interface-logic/utils");
|
|
7038
7020
|
var tableController = ({ data }) => {
|
|
7039
7021
|
const [rows, setRows] = (0, import_react24.useState)([]);
|
|
7040
7022
|
const [columnVisibility, setColumnVisibility] = (0, import_react24.useState)({});
|
|
@@ -7077,10 +7059,10 @@ var tableController = ({ data }) => {
|
|
|
7077
7059
|
const columns = (0, import_react24.useMemo)(() => {
|
|
7078
7060
|
try {
|
|
7079
7061
|
return mergeFields?.filter((item) => {
|
|
7080
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ?
|
|
7062
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils18.domainHelper.matchDomains(
|
|
7081
7063
|
data.context,
|
|
7082
7064
|
item?.column_invisible
|
|
7083
|
-
) : item?.invisible ?
|
|
7065
|
+
) : item?.invisible ? import_utils18.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
7084
7066
|
})?.map((field) => {
|
|
7085
7067
|
const overridden = columnVisibility[field?.name];
|
|
7086
7068
|
return {
|
|
@@ -7245,7 +7227,7 @@ var tableGroupController = (props) => {
|
|
|
7245
7227
|
|
|
7246
7228
|
// src/widget/advance/search/controller.ts
|
|
7247
7229
|
var import_constants3 = require("@fctc/interface-logic/constants");
|
|
7248
|
-
var
|
|
7230
|
+
var import_utils20 = require("@fctc/interface-logic/utils");
|
|
7249
7231
|
var import_moment2 = __toESM(require_moment());
|
|
7250
7232
|
var import_react26 = require("react");
|
|
7251
7233
|
var searchController = ({
|
|
@@ -7262,9 +7244,9 @@ var searchController = ({
|
|
|
7262
7244
|
const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
|
|
7263
7245
|
const [searchString, setSearchString] = (0, import_react26.useState)("");
|
|
7264
7246
|
const [searchMap, setSearchMap] = (0, import_react26.useState)({});
|
|
7265
|
-
const actionContext = typeof context === "string" ? (0,
|
|
7247
|
+
const actionContext = typeof context === "string" ? (0, import_utils20.evalJSONContext)(context) : context;
|
|
7266
7248
|
const contextSearch = { ...env.context, ...actionContext };
|
|
7267
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0,
|
|
7249
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils20.evalJSONDomain)(domain, contextSearch) : [];
|
|
7268
7250
|
const clearSearch = () => {
|
|
7269
7251
|
setFilterBy([]);
|
|
7270
7252
|
setGroupBy([]);
|
|
@@ -7279,7 +7261,7 @@ var searchController = ({
|
|
|
7279
7261
|
const dataModel = viewData?.models?.[model];
|
|
7280
7262
|
const searchViews = viewData?.views?.search;
|
|
7281
7263
|
const searchByItems = searchViews?.search_by?.filter(
|
|
7282
|
-
(item) => !
|
|
7264
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item.invisible)
|
|
7283
7265
|
)?.map(
|
|
7284
7266
|
({ string, name, filter_domain, operator, widget }, index) => ({
|
|
7285
7267
|
dataIndex: index,
|
|
@@ -7292,10 +7274,10 @@ var searchController = ({
|
|
|
7292
7274
|
})
|
|
7293
7275
|
);
|
|
7294
7276
|
const filterByItems = searchViews?.filter_by.filter((item) => {
|
|
7295
|
-
return !
|
|
7277
|
+
return !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible);
|
|
7296
7278
|
})?.map((item) => ({ ...item, active: false }));
|
|
7297
7279
|
const groupByItems = searchViews?.group_by.filter(
|
|
7298
|
-
(item) => !
|
|
7280
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible)
|
|
7299
7281
|
).map((item) => ({
|
|
7300
7282
|
...item,
|
|
7301
7283
|
string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
|
|
@@ -7372,14 +7354,14 @@ var searchController = ({
|
|
|
7372
7354
|
}
|
|
7373
7355
|
let valueDomainItem = value?.value;
|
|
7374
7356
|
if (value?.modelType === "date") {
|
|
7375
|
-
valueDomainItem = (0,
|
|
7357
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value);
|
|
7376
7358
|
} else if (value?.modelType === "datetime") {
|
|
7377
7359
|
if (value?.operator === "<=" || value?.operator === "<") {
|
|
7378
|
-
const parsedDate = (0,
|
|
7360
|
+
const parsedDate = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
7379
7361
|
const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
|
|
7380
7362
|
valueDomainItem = hasTime ? (0, import_moment2.default)(parsedDate).format("YYYY-MM-DD HH:mm:ss") : (0, import_moment2.default)(parsedDate).add(1, "day").subtract(1, "second").format("YYYY-MM-DD HH:mm:ss");
|
|
7381
7363
|
} else {
|
|
7382
|
-
valueDomainItem = (0,
|
|
7364
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
7383
7365
|
}
|
|
7384
7366
|
}
|
|
7385
7367
|
const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
|
|
@@ -7458,7 +7440,7 @@ var searchController = ({
|
|
|
7458
7440
|
}, [searchMap]);
|
|
7459
7441
|
const handleAddTagSearch = (tag) => {
|
|
7460
7442
|
const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
|
|
7461
|
-
const domainFormat = new
|
|
7443
|
+
const domainFormat = new import_utils20.domainHelper.Domain(domain2);
|
|
7462
7444
|
if (type === import_constants3.SearchType.FILTER) {
|
|
7463
7445
|
addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
|
|
7464
7446
|
...tag,
|
package/dist/index.mjs
CHANGED
|
@@ -5992,25 +5992,7 @@ var downLoadBinaryController = (props) => {
|
|
|
5992
5992
|
const { value, defaultValue, formValues } = props;
|
|
5993
5993
|
const handleFileDownload = async (e) => {
|
|
5994
5994
|
e.stopPropagation();
|
|
5995
|
-
await downloadFile(value || defaultValue, formValues?.name);
|
|
5996
|
-
};
|
|
5997
|
-
const downloadFile = async (url, filename) => {
|
|
5998
|
-
try {
|
|
5999
|
-
const response = await fetch(url);
|
|
6000
|
-
if (response) {
|
|
6001
|
-
const blob = await response.blob();
|
|
6002
|
-
const urlBlob = window.URL.createObjectURL(blob);
|
|
6003
|
-
const link = document.createElement("a");
|
|
6004
|
-
link.href = urlBlob;
|
|
6005
|
-
link.download = filename || "downloaded-file";
|
|
6006
|
-
document.body.appendChild(link);
|
|
6007
|
-
link.click();
|
|
6008
|
-
document.body.removeChild(link);
|
|
6009
|
-
window.URL.revokeObjectURL(urlBlob);
|
|
6010
|
-
}
|
|
6011
|
-
} catch (error) {
|
|
6012
|
-
console.error("File download failed:", error);
|
|
6013
|
-
}
|
|
5995
|
+
await (0, utils_exports.downloadFile)(value || defaultValue, formValues?.name);
|
|
6014
5996
|
};
|
|
6015
5997
|
return {
|
|
6016
5998
|
handleFileDownload
|
package/dist/widget.js
CHANGED
|
@@ -5146,25 +5146,7 @@ var downLoadBinaryController = (props) => {
|
|
|
5146
5146
|
const { value, defaultValue, formValues } = props;
|
|
5147
5147
|
const handleFileDownload = async (e) => {
|
|
5148
5148
|
e.stopPropagation();
|
|
5149
|
-
await downloadFile(value || defaultValue, formValues?.name);
|
|
5150
|
-
};
|
|
5151
|
-
const downloadFile = async (url, filename) => {
|
|
5152
|
-
try {
|
|
5153
|
-
const response = await fetch(url);
|
|
5154
|
-
if (response) {
|
|
5155
|
-
const blob = await response.blob();
|
|
5156
|
-
const urlBlob = window.URL.createObjectURL(blob);
|
|
5157
|
-
const link = document.createElement("a");
|
|
5158
|
-
link.href = urlBlob;
|
|
5159
|
-
link.download = filename || "downloaded-file";
|
|
5160
|
-
document.body.appendChild(link);
|
|
5161
|
-
link.click();
|
|
5162
|
-
document.body.removeChild(link);
|
|
5163
|
-
window.URL.revokeObjectURL(urlBlob);
|
|
5164
|
-
}
|
|
5165
|
-
} catch (error) {
|
|
5166
|
-
console.error("File download failed:", error);
|
|
5167
|
-
}
|
|
5149
|
+
await (0, utils_exports.downloadFile)(value || defaultValue, formValues?.name);
|
|
5168
5150
|
};
|
|
5169
5151
|
return {
|
|
5170
5152
|
handleFileDownload
|
|
@@ -6053,12 +6035,12 @@ var dateFieldController = (props) => {
|
|
|
6053
6035
|
|
|
6054
6036
|
// src/widget/basic/copy-link-button/controller.ts
|
|
6055
6037
|
var import_react21 = require("react");
|
|
6056
|
-
var
|
|
6038
|
+
var import_utils14 = require("@fctc/interface-logic/utils");
|
|
6057
6039
|
var copyLinkButtonController = (props) => {
|
|
6058
6040
|
const { value, defaultValue } = props;
|
|
6059
6041
|
const [isCopied, setIsCopied] = (0, import_react21.useState)(false);
|
|
6060
6042
|
const handleCopyToClipboard = async (value2) => {
|
|
6061
|
-
await (0,
|
|
6043
|
+
await (0, import_utils14.copyTextToClipboard)(value2);
|
|
6062
6044
|
setIsCopied(true);
|
|
6063
6045
|
setTimeout(() => setIsCopied(false), 2e3);
|
|
6064
6046
|
};
|
|
@@ -6071,12 +6053,12 @@ var copyLinkButtonController = (props) => {
|
|
|
6071
6053
|
};
|
|
6072
6054
|
|
|
6073
6055
|
// src/widget/basic/color-field/color-controller.ts
|
|
6074
|
-
var
|
|
6056
|
+
var import_utils15 = require("@fctc/interface-logic/utils");
|
|
6075
6057
|
var colorFieldController = (props) => {
|
|
6076
6058
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6077
6059
|
const { env } = (0, provider_exports.useEnv)();
|
|
6078
6060
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6079
|
-
const _context = { ...(0,
|
|
6061
|
+
const _context = { ...(0, import_utils15.evalJSONContext)(actionData?.context) || {} };
|
|
6080
6062
|
const contextObject = { ...env.context, ..._context };
|
|
6081
6063
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6082
6064
|
const { mutate: onSave } = useSave3();
|
|
@@ -6105,7 +6087,7 @@ var colorFieldController = (props) => {
|
|
|
6105
6087
|
|
|
6106
6088
|
// src/widget/basic/binary-field/controller.ts
|
|
6107
6089
|
var import_react22 = require("react");
|
|
6108
|
-
var
|
|
6090
|
+
var import_utils16 = require("@fctc/interface-logic/utils");
|
|
6109
6091
|
var binaryFieldController = (props) => {
|
|
6110
6092
|
const { name, methods, readonly = false, value } = props;
|
|
6111
6093
|
const inputId = (0, import_react22.useId)();
|
|
@@ -6162,11 +6144,11 @@ var binaryFieldController = (props) => {
|
|
|
6162
6144
|
};
|
|
6163
6145
|
const checkIsImageLink = (url) => {
|
|
6164
6146
|
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
6165
|
-
return imageExtensions.test(url) || (0,
|
|
6147
|
+
return imageExtensions.test(url) || (0, import_utils16.isBase64Image)(url) || isBlobUrl(url);
|
|
6166
6148
|
};
|
|
6167
6149
|
const getImageBase64WithMimeType = (base64) => {
|
|
6168
6150
|
if (typeof base64 !== "string" || base64.length < 10) return null;
|
|
6169
|
-
if ((0,
|
|
6151
|
+
if ((0, import_utils16.isBase64Image)(base64)) return base64;
|
|
6170
6152
|
let mimeType = null;
|
|
6171
6153
|
if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
|
|
6172
6154
|
else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
|
|
@@ -6269,7 +6251,7 @@ var tableHeadController = (props) => {
|
|
|
6269
6251
|
|
|
6270
6252
|
// src/widget/advance/table/table-view/controller.ts
|
|
6271
6253
|
var import_react24 = require("react");
|
|
6272
|
-
var
|
|
6254
|
+
var import_utils18 = require("@fctc/interface-logic/utils");
|
|
6273
6255
|
var tableController = ({ data }) => {
|
|
6274
6256
|
const [rows, setRows] = (0, import_react24.useState)([]);
|
|
6275
6257
|
const [columnVisibility, setColumnVisibility] = (0, import_react24.useState)({});
|
|
@@ -6312,10 +6294,10 @@ var tableController = ({ data }) => {
|
|
|
6312
6294
|
const columns = (0, import_react24.useMemo)(() => {
|
|
6313
6295
|
try {
|
|
6314
6296
|
return mergeFields?.filter((item) => {
|
|
6315
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ?
|
|
6297
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils18.domainHelper.matchDomains(
|
|
6316
6298
|
data.context,
|
|
6317
6299
|
item?.column_invisible
|
|
6318
|
-
) : item?.invisible ?
|
|
6300
|
+
) : item?.invisible ? import_utils18.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6319
6301
|
})?.map((field) => {
|
|
6320
6302
|
const overridden = columnVisibility[field?.name];
|
|
6321
6303
|
return {
|
|
@@ -6480,7 +6462,7 @@ var tableGroupController = (props) => {
|
|
|
6480
6462
|
|
|
6481
6463
|
// src/widget/advance/search/controller.ts
|
|
6482
6464
|
var import_constants3 = require("@fctc/interface-logic/constants");
|
|
6483
|
-
var
|
|
6465
|
+
var import_utils20 = require("@fctc/interface-logic/utils");
|
|
6484
6466
|
var import_moment2 = __toESM(require_moment());
|
|
6485
6467
|
var import_react26 = require("react");
|
|
6486
6468
|
var searchController = ({
|
|
@@ -6497,9 +6479,9 @@ var searchController = ({
|
|
|
6497
6479
|
const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
|
|
6498
6480
|
const [searchString, setSearchString] = (0, import_react26.useState)("");
|
|
6499
6481
|
const [searchMap, setSearchMap] = (0, import_react26.useState)({});
|
|
6500
|
-
const actionContext = typeof context === "string" ? (0,
|
|
6482
|
+
const actionContext = typeof context === "string" ? (0, import_utils20.evalJSONContext)(context) : context;
|
|
6501
6483
|
const contextSearch = { ...env.context, ...actionContext };
|
|
6502
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0,
|
|
6484
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils20.evalJSONDomain)(domain, contextSearch) : [];
|
|
6503
6485
|
const clearSearch = () => {
|
|
6504
6486
|
setFilterBy([]);
|
|
6505
6487
|
setGroupBy([]);
|
|
@@ -6514,7 +6496,7 @@ var searchController = ({
|
|
|
6514
6496
|
const dataModel = viewData?.models?.[model];
|
|
6515
6497
|
const searchViews = viewData?.views?.search;
|
|
6516
6498
|
const searchByItems = searchViews?.search_by?.filter(
|
|
6517
|
-
(item) => !
|
|
6499
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item.invisible)
|
|
6518
6500
|
)?.map(
|
|
6519
6501
|
({ string, name, filter_domain, operator, widget }, index) => ({
|
|
6520
6502
|
dataIndex: index,
|
|
@@ -6527,10 +6509,10 @@ var searchController = ({
|
|
|
6527
6509
|
})
|
|
6528
6510
|
);
|
|
6529
6511
|
const filterByItems = searchViews?.filter_by.filter((item) => {
|
|
6530
|
-
return !
|
|
6512
|
+
return !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible);
|
|
6531
6513
|
})?.map((item) => ({ ...item, active: false }));
|
|
6532
6514
|
const groupByItems = searchViews?.group_by.filter(
|
|
6533
|
-
(item) => !
|
|
6515
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible)
|
|
6534
6516
|
).map((item) => ({
|
|
6535
6517
|
...item,
|
|
6536
6518
|
string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
|
|
@@ -6607,14 +6589,14 @@ var searchController = ({
|
|
|
6607
6589
|
}
|
|
6608
6590
|
let valueDomainItem = value?.value;
|
|
6609
6591
|
if (value?.modelType === "date") {
|
|
6610
|
-
valueDomainItem = (0,
|
|
6592
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value);
|
|
6611
6593
|
} else if (value?.modelType === "datetime") {
|
|
6612
6594
|
if (value?.operator === "<=" || value?.operator === "<") {
|
|
6613
|
-
const parsedDate = (0,
|
|
6595
|
+
const parsedDate = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
6614
6596
|
const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
|
|
6615
6597
|
valueDomainItem = hasTime ? (0, import_moment2.default)(parsedDate).format("YYYY-MM-DD HH:mm:ss") : (0, import_moment2.default)(parsedDate).add(1, "day").subtract(1, "second").format("YYYY-MM-DD HH:mm:ss");
|
|
6616
6598
|
} else {
|
|
6617
|
-
valueDomainItem = (0,
|
|
6599
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
6618
6600
|
}
|
|
6619
6601
|
}
|
|
6620
6602
|
const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
|
|
@@ -6693,7 +6675,7 @@ var searchController = ({
|
|
|
6693
6675
|
}, [searchMap]);
|
|
6694
6676
|
const handleAddTagSearch = (tag) => {
|
|
6695
6677
|
const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
|
|
6696
|
-
const domainFormat = new
|
|
6678
|
+
const domainFormat = new import_utils20.domainHelper.Domain(domain2);
|
|
6697
6679
|
if (type === import_constants3.SearchType.FILTER) {
|
|
6698
6680
|
addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
|
|
6699
6681
|
...tag,
|
package/dist/widget.mjs
CHANGED
|
@@ -5204,25 +5204,7 @@ var downLoadBinaryController = (props) => {
|
|
|
5204
5204
|
const { value, defaultValue, formValues } = props;
|
|
5205
5205
|
const handleFileDownload = async (e) => {
|
|
5206
5206
|
e.stopPropagation();
|
|
5207
|
-
await downloadFile(value || defaultValue, formValues?.name);
|
|
5208
|
-
};
|
|
5209
|
-
const downloadFile = async (url, filename) => {
|
|
5210
|
-
try {
|
|
5211
|
-
const response = await fetch(url);
|
|
5212
|
-
if (response) {
|
|
5213
|
-
const blob = await response.blob();
|
|
5214
|
-
const urlBlob = window.URL.createObjectURL(blob);
|
|
5215
|
-
const link = document.createElement("a");
|
|
5216
|
-
link.href = urlBlob;
|
|
5217
|
-
link.download = filename || "downloaded-file";
|
|
5218
|
-
document.body.appendChild(link);
|
|
5219
|
-
link.click();
|
|
5220
|
-
document.body.removeChild(link);
|
|
5221
|
-
window.URL.revokeObjectURL(urlBlob);
|
|
5222
|
-
}
|
|
5223
|
-
} catch (error) {
|
|
5224
|
-
console.error("File download failed:", error);
|
|
5225
|
-
}
|
|
5207
|
+
await (0, utils_exports.downloadFile)(value || defaultValue, formValues?.name);
|
|
5226
5208
|
};
|
|
5227
5209
|
return {
|
|
5228
5210
|
handleFileDownload
|
package/package.json
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fctc/widget-logic",
|
|
3
|
-
"version": "3.7.
|
|
4
|
-
"types": "dist/index.d.ts",
|
|
5
|
-
"main": "dist/index.cjs",
|
|
6
|
-
"module": "dist/index.mjs",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/index.d.ts",
|
|
10
|
-
"import": "./dist/index.mjs",
|
|
11
|
-
"require": "./dist/index.cjs"
|
|
12
|
-
},
|
|
13
|
-
"./hooks": {
|
|
14
|
-
"types": "./dist/hooks.d.ts",
|
|
15
|
-
"import": "./dist/hooks.mjs",
|
|
16
|
-
"require": "./dist/hooks.cjs"
|
|
17
|
-
},
|
|
18
|
-
"./widget": {
|
|
19
|
-
"types": "./dist/widget.d.ts",
|
|
20
|
-
"import": "./dist/widget.mjs",
|
|
21
|
-
"require": "./dist/widget.cjs"
|
|
22
|
-
},
|
|
23
|
-
"./icons": {
|
|
24
|
-
"types": "./dist/icons.d.ts",
|
|
25
|
-
"import": "./dist/icons.mjs",
|
|
26
|
-
"require": "./dist/icons.cjs"
|
|
27
|
-
},
|
|
28
|
-
"./utils": {
|
|
29
|
-
"types": "./dist/utils.d.ts",
|
|
30
|
-
"import": "./dist/utils.mjs",
|
|
31
|
-
"require": "./dist/utils.cjs"
|
|
32
|
-
},
|
|
33
|
-
"./store": {
|
|
34
|
-
"types": "./dist/store.d.ts",
|
|
35
|
-
"import": "./dist/store.mjs",
|
|
36
|
-
"require": "./dist/store.cjs"
|
|
37
|
-
},
|
|
38
|
-
"./config": {
|
|
39
|
-
"types": "./dist/config.d.ts",
|
|
40
|
-
"import": "./dist/config.mjs",
|
|
41
|
-
"require": "./dist/config.cjs"
|
|
42
|
-
},
|
|
43
|
-
"./constants": {
|
|
44
|
-
"types": "./dist/constants.d.ts",
|
|
45
|
-
"import": "./dist/constants.mjs",
|
|
46
|
-
"require": "./dist/constants.cjs"
|
|
47
|
-
},
|
|
48
|
-
"./environment": {
|
|
49
|
-
"types": "./dist/environment.d.ts",
|
|
50
|
-
"import": "./dist/environment.mjs",
|
|
51
|
-
"require": "./dist/environment.cjs"
|
|
52
|
-
},
|
|
53
|
-
"./provider": {
|
|
54
|
-
"types": "./dist/provider.d.ts",
|
|
55
|
-
"import": "./dist/provider.mjs",
|
|
56
|
-
"require": "./dist/provider.cjs"
|
|
57
|
-
},
|
|
58
|
-
"./services": {
|
|
59
|
-
"types": "./dist/services.d.ts",
|
|
60
|
-
"import": "./dist/services.mjs",
|
|
61
|
-
"require": "./dist/services.cjs"
|
|
62
|
-
},
|
|
63
|
-
"./types": {
|
|
64
|
-
"types": "./dist/types.d.ts",
|
|
65
|
-
"import": "./dist/types.mjs",
|
|
66
|
-
"require": "./dist/types.cjs"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
"files": [
|
|
70
|
-
"dist"
|
|
71
|
-
],
|
|
72
|
-
"scripts": {
|
|
73
|
-
"build": "tsup",
|
|
74
|
-
"test": "jest"
|
|
75
|
-
},
|
|
76
|
-
"dependencies": {
|
|
77
|
-
"@fctc/interface-logic": "^3.2.
|
|
78
|
-
"@headlessui/react": "^2.2.6",
|
|
79
|
-
"@tanstack/react-query": "^5.84.0",
|
|
80
|
-
"i18next": "^25.3.2",
|
|
81
|
-
"i18next-browser-languagedetector": "^8.2.0",
|
|
82
|
-
"react-i18next": "^15.6.1",
|
|
83
|
-
"react-tooltip": "^5.29.1"
|
|
84
|
-
},
|
|
85
|
-
"devDependencies": {
|
|
86
|
-
"@types/react": "^18.3.1",
|
|
87
|
-
"jest": "^29.7.0",
|
|
88
|
-
"react": "18.0.0",
|
|
89
|
-
"tsup": "^8.0.0",
|
|
90
|
-
"typescript": "^5.8.2"
|
|
91
|
-
},
|
|
92
|
-
"packageManager": "yarn@1.22.0",
|
|
93
|
-
"peerDependencies": {}
|
|
94
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@fctc/widget-logic",
|
|
3
|
+
"version": "3.7.4",
|
|
4
|
+
"types": "dist/index.d.ts",
|
|
5
|
+
"main": "dist/index.cjs",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.mjs",
|
|
11
|
+
"require": "./dist/index.cjs"
|
|
12
|
+
},
|
|
13
|
+
"./hooks": {
|
|
14
|
+
"types": "./dist/hooks.d.ts",
|
|
15
|
+
"import": "./dist/hooks.mjs",
|
|
16
|
+
"require": "./dist/hooks.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./widget": {
|
|
19
|
+
"types": "./dist/widget.d.ts",
|
|
20
|
+
"import": "./dist/widget.mjs",
|
|
21
|
+
"require": "./dist/widget.cjs"
|
|
22
|
+
},
|
|
23
|
+
"./icons": {
|
|
24
|
+
"types": "./dist/icons.d.ts",
|
|
25
|
+
"import": "./dist/icons.mjs",
|
|
26
|
+
"require": "./dist/icons.cjs"
|
|
27
|
+
},
|
|
28
|
+
"./utils": {
|
|
29
|
+
"types": "./dist/utils.d.ts",
|
|
30
|
+
"import": "./dist/utils.mjs",
|
|
31
|
+
"require": "./dist/utils.cjs"
|
|
32
|
+
},
|
|
33
|
+
"./store": {
|
|
34
|
+
"types": "./dist/store.d.ts",
|
|
35
|
+
"import": "./dist/store.mjs",
|
|
36
|
+
"require": "./dist/store.cjs"
|
|
37
|
+
},
|
|
38
|
+
"./config": {
|
|
39
|
+
"types": "./dist/config.d.ts",
|
|
40
|
+
"import": "./dist/config.mjs",
|
|
41
|
+
"require": "./dist/config.cjs"
|
|
42
|
+
},
|
|
43
|
+
"./constants": {
|
|
44
|
+
"types": "./dist/constants.d.ts",
|
|
45
|
+
"import": "./dist/constants.mjs",
|
|
46
|
+
"require": "./dist/constants.cjs"
|
|
47
|
+
},
|
|
48
|
+
"./environment": {
|
|
49
|
+
"types": "./dist/environment.d.ts",
|
|
50
|
+
"import": "./dist/environment.mjs",
|
|
51
|
+
"require": "./dist/environment.cjs"
|
|
52
|
+
},
|
|
53
|
+
"./provider": {
|
|
54
|
+
"types": "./dist/provider.d.ts",
|
|
55
|
+
"import": "./dist/provider.mjs",
|
|
56
|
+
"require": "./dist/provider.cjs"
|
|
57
|
+
},
|
|
58
|
+
"./services": {
|
|
59
|
+
"types": "./dist/services.d.ts",
|
|
60
|
+
"import": "./dist/services.mjs",
|
|
61
|
+
"require": "./dist/services.cjs"
|
|
62
|
+
},
|
|
63
|
+
"./types": {
|
|
64
|
+
"types": "./dist/types.d.ts",
|
|
65
|
+
"import": "./dist/types.mjs",
|
|
66
|
+
"require": "./dist/types.cjs"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"files": [
|
|
70
|
+
"dist"
|
|
71
|
+
],
|
|
72
|
+
"scripts": {
|
|
73
|
+
"build": "tsup",
|
|
74
|
+
"test": "jest"
|
|
75
|
+
},
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"@fctc/interface-logic": "^3.2.8",
|
|
78
|
+
"@headlessui/react": "^2.2.6",
|
|
79
|
+
"@tanstack/react-query": "^5.84.0",
|
|
80
|
+
"i18next": "^25.3.2",
|
|
81
|
+
"i18next-browser-languagedetector": "^8.2.0",
|
|
82
|
+
"react-i18next": "^15.6.1",
|
|
83
|
+
"react-tooltip": "^5.29.1"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@types/react": "^18.3.1",
|
|
87
|
+
"jest": "^29.7.0",
|
|
88
|
+
"react": "18.0.0",
|
|
89
|
+
"tsup": "^8.0.0",
|
|
90
|
+
"typescript": "^5.8.2"
|
|
91
|
+
},
|
|
92
|
+
"packageManager": "yarn@1.22.0",
|
|
93
|
+
"peerDependencies": {}
|
|
94
|
+
}
|