@fctc/widget-logic 3.0.2 → 3.0.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/hooks.d.mts +1 -3
- package/dist/hooks.d.ts +1 -3
- package/dist/hooks.js +63 -63
- package/dist/hooks.mjs +57 -57
- package/dist/index.js +96 -96
- package/dist/index.mjs +69 -69
- package/dist/widget.js +39 -39
- package/dist/widget.mjs +15 -15
- package/package.json +96 -96
package/dist/index.js
CHANGED
|
@@ -4167,62 +4167,12 @@ var import_react8 = require("react");
|
|
|
4167
4167
|
var import_react3 = require("react");
|
|
4168
4168
|
|
|
4169
4169
|
// src/hooks/core/use-call-action.ts
|
|
4170
|
-
var
|
|
4170
|
+
var import_react2 = require("react");
|
|
4171
4171
|
|
|
4172
4172
|
// src/provider.ts
|
|
4173
4173
|
var provider_exports = {};
|
|
4174
4174
|
__reExport(provider_exports, require("@fctc/interface-logic/provider"));
|
|
4175
4175
|
|
|
4176
|
-
// src/hooks/core/use-call-action.ts
|
|
4177
|
-
var useCallAction = () => {
|
|
4178
|
-
const { env } = (0, provider_exports.useEnv)();
|
|
4179
|
-
const { useLoadAction: useLoadAction2, useRunAction: useRunAction2 } = (0, provider_exports.useService)();
|
|
4180
|
-
const queryLoadAction = useLoadAction2();
|
|
4181
|
-
const queryRunAction = useRunAction2();
|
|
4182
|
-
const [actionData, setActionData] = (0, import_react.useState)(
|
|
4183
|
-
void 0
|
|
4184
|
-
);
|
|
4185
|
-
const callAction = (0, import_react.useCallback)(
|
|
4186
|
-
async ({
|
|
4187
|
-
aid,
|
|
4188
|
-
service,
|
|
4189
|
-
xNode,
|
|
4190
|
-
context
|
|
4191
|
-
}) => {
|
|
4192
|
-
try {
|
|
4193
|
-
const menuContext = {
|
|
4194
|
-
...env?.context,
|
|
4195
|
-
...context
|
|
4196
|
-
};
|
|
4197
|
-
const loadRes = await queryLoadAction.mutateAsync({
|
|
4198
|
-
idAction: aid,
|
|
4199
|
-
context: menuContext,
|
|
4200
|
-
service,
|
|
4201
|
-
xNode
|
|
4202
|
-
});
|
|
4203
|
-
if (loadRes?.result?.type === "ir.actions.server") {
|
|
4204
|
-
const runRes = await queryRunAction.mutateAsync({
|
|
4205
|
-
idAction: aid,
|
|
4206
|
-
context: menuContext,
|
|
4207
|
-
service,
|
|
4208
|
-
xNode
|
|
4209
|
-
});
|
|
4210
|
-
setActionData(runRes?.result);
|
|
4211
|
-
return runRes?.result;
|
|
4212
|
-
} else {
|
|
4213
|
-
setActionData(loadRes?.result);
|
|
4214
|
-
return loadRes?.result;
|
|
4215
|
-
}
|
|
4216
|
-
} catch (err) {
|
|
4217
|
-
console.error("callAction error:", err);
|
|
4218
|
-
return void 0;
|
|
4219
|
-
}
|
|
4220
|
-
},
|
|
4221
|
-
[env?.context?.lang]
|
|
4222
|
-
);
|
|
4223
|
-
return [actionData, callAction];
|
|
4224
|
-
};
|
|
4225
|
-
|
|
4226
4176
|
// src/utils.ts
|
|
4227
4177
|
var utils_exports = {};
|
|
4228
4178
|
__export(utils_exports, {
|
|
@@ -4244,7 +4194,7 @@ var languages = [
|
|
|
4244
4194
|
];
|
|
4245
4195
|
|
|
4246
4196
|
// src/utils/function.ts
|
|
4247
|
-
var
|
|
4197
|
+
var import_react = require("react");
|
|
4248
4198
|
var countSum = (data, field) => {
|
|
4249
4199
|
if (!data || !field) return 0;
|
|
4250
4200
|
return data.reduce(
|
|
@@ -4365,7 +4315,7 @@ var STORAGES = {
|
|
|
4365
4315
|
USER_INFO: "USER_INFO"
|
|
4366
4316
|
};
|
|
4367
4317
|
function useAsyncState(initialValue = [true, null]) {
|
|
4368
|
-
return (0,
|
|
4318
|
+
return (0, import_react.useReducer)(
|
|
4369
4319
|
(_state, action = null) => [false, action],
|
|
4370
4320
|
initialValue
|
|
4371
4321
|
);
|
|
@@ -4383,7 +4333,7 @@ async function setStorageItemAsync(key, value) {
|
|
|
4383
4333
|
}
|
|
4384
4334
|
function useStorageState(key) {
|
|
4385
4335
|
const [state, setState] = useAsyncState();
|
|
4386
|
-
(0,
|
|
4336
|
+
(0, import_react.useEffect)(() => {
|
|
4387
4337
|
try {
|
|
4388
4338
|
const storedValue = localStorage.getItem(key);
|
|
4389
4339
|
setState(storedValue);
|
|
@@ -4391,7 +4341,7 @@ function useStorageState(key) {
|
|
|
4391
4341
|
console.error("Local storage is unavailable:", e);
|
|
4392
4342
|
}
|
|
4393
4343
|
}, [key]);
|
|
4394
|
-
const setValue = (0,
|
|
4344
|
+
const setValue = (0, import_react.useCallback)(
|
|
4395
4345
|
(value) => {
|
|
4396
4346
|
setState(value);
|
|
4397
4347
|
setStorageItemAsync(key, value);
|
|
@@ -4404,6 +4354,58 @@ function useStorageState(key) {
|
|
|
4404
4354
|
// src/utils.ts
|
|
4405
4355
|
__reExport(utils_exports, require("@fctc/interface-logic/utils"));
|
|
4406
4356
|
|
|
4357
|
+
// src/hooks/core/use-call-action.ts
|
|
4358
|
+
var useCallAction = () => {
|
|
4359
|
+
const { env } = (0, provider_exports.useEnv)();
|
|
4360
|
+
const { useLoadAction: useLoadAction2, useRunAction: useRunAction2 } = (0, provider_exports.useService)();
|
|
4361
|
+
const queryLoadAction = useLoadAction2();
|
|
4362
|
+
const queryRunAction = useRunAction2();
|
|
4363
|
+
const [actionData, setActionData] = (0, import_react2.useState)(
|
|
4364
|
+
void 0
|
|
4365
|
+
);
|
|
4366
|
+
const callAction = (0, import_react2.useCallback)(
|
|
4367
|
+
async ({
|
|
4368
|
+
aid,
|
|
4369
|
+
service,
|
|
4370
|
+
xNode,
|
|
4371
|
+
context
|
|
4372
|
+
}) => {
|
|
4373
|
+
try {
|
|
4374
|
+
const loadRes = await queryLoadAction.mutateAsync({
|
|
4375
|
+
idAction: aid,
|
|
4376
|
+
context: {
|
|
4377
|
+
...env?.context,
|
|
4378
|
+
...context ? (0, utils_exports.evalJSONContext)(context, { ...env?.context }) || {} : {}
|
|
4379
|
+
},
|
|
4380
|
+
service,
|
|
4381
|
+
xNode
|
|
4382
|
+
});
|
|
4383
|
+
if (loadRes?.result?.type === "ir.actions.server") {
|
|
4384
|
+
const runRes = await queryRunAction.mutateAsync({
|
|
4385
|
+
idAction: aid,
|
|
4386
|
+
context: {
|
|
4387
|
+
...env?.context,
|
|
4388
|
+
...context ? (0, utils_exports.evalJSONContext)(context, { ...env?.context }) || {} : {}
|
|
4389
|
+
},
|
|
4390
|
+
service,
|
|
4391
|
+
xNode
|
|
4392
|
+
});
|
|
4393
|
+
setActionData(runRes?.result);
|
|
4394
|
+
return runRes?.result;
|
|
4395
|
+
} else {
|
|
4396
|
+
setActionData(loadRes?.result);
|
|
4397
|
+
return loadRes?.result;
|
|
4398
|
+
}
|
|
4399
|
+
} catch (err) {
|
|
4400
|
+
console.error("callAction error:", err);
|
|
4401
|
+
return void 0;
|
|
4402
|
+
}
|
|
4403
|
+
},
|
|
4404
|
+
[env?.context?.lang]
|
|
4405
|
+
);
|
|
4406
|
+
return [actionData, callAction];
|
|
4407
|
+
};
|
|
4408
|
+
|
|
4407
4409
|
// src/hooks/core/use-menu.ts
|
|
4408
4410
|
var useMenu = ({
|
|
4409
4411
|
context,
|
|
@@ -4440,8 +4442,7 @@ var useMenu = ({
|
|
|
4440
4442
|
const handleChangeMenu = async ({
|
|
4441
4443
|
menu,
|
|
4442
4444
|
service: service2,
|
|
4443
|
-
xNode: xNode2
|
|
4444
|
-
context: context2
|
|
4445
|
+
xNode: xNode2
|
|
4445
4446
|
}) => {
|
|
4446
4447
|
const aidMenu = menu?.action?.id?.id;
|
|
4447
4448
|
if (menu) {
|
|
@@ -4451,8 +4452,7 @@ var useMenu = ({
|
|
|
4451
4452
|
const actionResponse = await callAction({
|
|
4452
4453
|
aid: Number(aidMenu),
|
|
4453
4454
|
service: service2 ?? "",
|
|
4454
|
-
xNode: xNode2
|
|
4455
|
-
context: context2
|
|
4455
|
+
xNode: xNode2
|
|
4456
4456
|
});
|
|
4457
4457
|
setService(service2 ?? "");
|
|
4458
4458
|
setXNode(xNode2 ?? "");
|
|
@@ -4812,7 +4812,7 @@ var useGetSpecification = ({
|
|
|
4812
4812
|
|
|
4813
4813
|
// src/hooks/core/use-list-data.ts
|
|
4814
4814
|
var import_react14 = require("react");
|
|
4815
|
-
var
|
|
4815
|
+
var import_utils6 = require("@fctc/interface-logic/utils");
|
|
4816
4816
|
|
|
4817
4817
|
// src/hooks/utils/use-click-outside.ts
|
|
4818
4818
|
var import_react11 = require("react");
|
|
@@ -4953,12 +4953,12 @@ var useListData = ({
|
|
|
4953
4953
|
if (!viewData || !action || !context) {
|
|
4954
4954
|
return null;
|
|
4955
4955
|
}
|
|
4956
|
-
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0,
|
|
4956
|
+
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0, import_utils6.evalJSONDomain)(action?.domain, context) : [];
|
|
4957
4957
|
const limit = pageLimit;
|
|
4958
4958
|
const offset = debouncedPage * pageLimit;
|
|
4959
4959
|
const fields = typeof groupByList === "object" ? groupByList?.fields : void 0;
|
|
4960
4960
|
const groupby = typeof groupByList === "object" ? [groupByList?.contexts?.[0]?.group_by] : [];
|
|
4961
|
-
const sort = order ? order : viewData?.views?.list?.default_order ? (0,
|
|
4961
|
+
const sort = order ? order : viewData?.views?.list?.default_order ? (0, import_utils6.formatSortingString)(viewData?.views?.list?.default_order) : "";
|
|
4962
4962
|
return {
|
|
4963
4963
|
model: action?.res_model,
|
|
4964
4964
|
specification,
|
|
@@ -4980,7 +4980,7 @@ var useListData = ({
|
|
|
4980
4980
|
listDataProps?.offset,
|
|
4981
4981
|
listDataProps?.sort
|
|
4982
4982
|
],
|
|
4983
|
-
!!listDataProps && !!specification && !(0,
|
|
4983
|
+
!!listDataProps && !!specification && !(0, import_utils6.isObjectEmpty)(specification) && !!domain,
|
|
4984
4984
|
service,
|
|
4985
4985
|
xNode
|
|
4986
4986
|
);
|
|
@@ -5482,18 +5482,18 @@ var many2oneFieldController = (props) => {
|
|
|
5482
5482
|
// src/widget/basic/many2one-button-field/controller.ts
|
|
5483
5483
|
var import_environment2 = require("@fctc/interface-logic/environment");
|
|
5484
5484
|
var import_hooks6 = require("@fctc/interface-logic/hooks");
|
|
5485
|
-
var
|
|
5485
|
+
var import_utils9 = require("@fctc/interface-logic/utils");
|
|
5486
5486
|
var many2oneButtonController = (props) => {
|
|
5487
5487
|
const { domain, methods, relation, service, xNode } = props;
|
|
5488
5488
|
const actionDataString = sessionStorage.getItem("actionData");
|
|
5489
5489
|
const env = (0, import_environment2.getEnv)();
|
|
5490
|
-
const domainObject = (0,
|
|
5490
|
+
const domainObject = (0, import_utils9.evalJSONDomain)(domain, methods?.getValues() || {});
|
|
5491
5491
|
const actionData = actionDataString && actionDataString !== "undefined" ? JSON.parse(actionDataString) : {};
|
|
5492
5492
|
const { data: dataOfSelection } = (0, import_hooks6.useGetSelection)({
|
|
5493
5493
|
data: {
|
|
5494
5494
|
model: relation ?? "",
|
|
5495
5495
|
domain: domainObject,
|
|
5496
|
-
context: { ...env.context, ...(0,
|
|
5496
|
+
context: { ...env.context, ...(0, import_utils9.evalJSONContext)(actionData?.context) }
|
|
5497
5497
|
},
|
|
5498
5498
|
queryKey: [`data_${relation}`, domainObject],
|
|
5499
5499
|
service,
|
|
@@ -5510,7 +5510,7 @@ var many2oneButtonController = (props) => {
|
|
|
5510
5510
|
|
|
5511
5511
|
// src/widget/basic/many2many-field/controller.ts
|
|
5512
5512
|
var import_react17 = require("react");
|
|
5513
|
-
var
|
|
5513
|
+
var import_utils10 = require("@fctc/interface-logic/utils");
|
|
5514
5514
|
var many2manyFieldController = (props) => {
|
|
5515
5515
|
const {
|
|
5516
5516
|
relation,
|
|
@@ -5553,10 +5553,10 @@ var many2manyFieldController = (props) => {
|
|
|
5553
5553
|
]
|
|
5554
5554
|
});
|
|
5555
5555
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5556
|
-
const optionsObject = tab?.options ? (0,
|
|
5556
|
+
const optionsObject = tab?.options ? (0, import_utils10.evalJSONContext)(tab?.options) : (options ? (0, import_utils10.evalJSONContext)(options) : {}) || {};
|
|
5557
5557
|
const fetchData = async () => {
|
|
5558
5558
|
try {
|
|
5559
|
-
const domainParse = typeof domain === "string" ? (0,
|
|
5559
|
+
const domainParse = typeof domain === "string" ? (0, import_utils10.evalJSONDomain)(domain, contextObject) : Array.isArray(domain) ? domain : [];
|
|
5560
5560
|
setDomainMany2Many(domainParse);
|
|
5561
5561
|
setPage(0);
|
|
5562
5562
|
} catch (err) {
|
|
@@ -5580,7 +5580,7 @@ var many2manyFieldController = (props) => {
|
|
|
5580
5580
|
context: contextObject,
|
|
5581
5581
|
fields: groupByDomain?.fields,
|
|
5582
5582
|
groupby: [groupByDomain?.contexts[0]?.group_by],
|
|
5583
|
-
sort: order ? order : default_order ? (0,
|
|
5583
|
+
sort: order ? order : default_order ? (0, import_utils10.formatSortingString)(default_order) : ""
|
|
5584
5584
|
};
|
|
5585
5585
|
const enabled = enabledCallAPI && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5586
5586
|
const {
|
|
@@ -5644,7 +5644,7 @@ var many2manyFieldController = (props) => {
|
|
|
5644
5644
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5645
5645
|
var import_react18 = require("react");
|
|
5646
5646
|
var import_constants2 = require("@fctc/interface-logic/constants");
|
|
5647
|
-
var
|
|
5647
|
+
var import_utils11 = require("@fctc/interface-logic/utils");
|
|
5648
5648
|
var many2manyTagsController = (props) => {
|
|
5649
5649
|
const {
|
|
5650
5650
|
relation,
|
|
@@ -5659,9 +5659,9 @@ var many2manyTagsController = (props) => {
|
|
|
5659
5659
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
5660
5660
|
const { env } = (0, provider_exports.useEnv)();
|
|
5661
5661
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5662
|
-
const addtionalFields = optionsFields ? (0,
|
|
5662
|
+
const addtionalFields = optionsFields ? (0, import_utils11.evalJSONContext)(optionsFields) : null;
|
|
5663
5663
|
const domainObject = (0, import_react18.useMemo)(
|
|
5664
|
-
() => (0,
|
|
5664
|
+
() => (0, import_utils11.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5665
5665
|
[domain, formValues]
|
|
5666
5666
|
);
|
|
5667
5667
|
const data = {
|
|
@@ -5705,7 +5705,7 @@ var many2manyTagsController = (props) => {
|
|
|
5705
5705
|
|
|
5706
5706
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5707
5707
|
var import_react19 = require("react");
|
|
5708
|
-
var
|
|
5708
|
+
var import_utils12 = require("@fctc/interface-logic/utils");
|
|
5709
5709
|
var durationController = (props) => {
|
|
5710
5710
|
const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
|
|
5711
5711
|
const specification = {
|
|
@@ -5721,7 +5721,7 @@ var durationController = (props) => {
|
|
|
5721
5721
|
const listDataProps = {
|
|
5722
5722
|
model: relation,
|
|
5723
5723
|
specification,
|
|
5724
|
-
domain: (0,
|
|
5724
|
+
domain: (0, import_utils12.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5725
5725
|
limit: 10,
|
|
5726
5726
|
offset: 0,
|
|
5727
5727
|
fields: "",
|
|
@@ -5771,10 +5771,10 @@ var durationController = (props) => {
|
|
|
5771
5771
|
};
|
|
5772
5772
|
|
|
5773
5773
|
// src/widget/basic/priority-field/controller.ts
|
|
5774
|
-
var
|
|
5774
|
+
var import_utils13 = require("@fctc/interface-logic/utils");
|
|
5775
5775
|
var priorityFieldController = (props) => {
|
|
5776
5776
|
const { name, model, index, actionData, context, onChange, specification } = props;
|
|
5777
|
-
const _context = { ...(0,
|
|
5777
|
+
const _context = { ...(0, import_utils13.evalJSONContext)(actionData?.context) };
|
|
5778
5778
|
const contextObject = { ...context, ..._context };
|
|
5779
5779
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
5780
5780
|
const { mutateAsync: fetchSave } = useSave3();
|
|
@@ -6742,12 +6742,12 @@ var dateFieldController = (props) => {
|
|
|
6742
6742
|
|
|
6743
6743
|
// src/widget/basic/copy-link-button/controller.ts
|
|
6744
6744
|
var import_react21 = require("react");
|
|
6745
|
-
var
|
|
6745
|
+
var import_utils14 = require("@fctc/interface-logic/utils");
|
|
6746
6746
|
var copyLinkButtonController = (props) => {
|
|
6747
6747
|
const { value, defaultValue } = props;
|
|
6748
6748
|
const [isCopied, setIsCopied] = (0, import_react21.useState)(false);
|
|
6749
6749
|
const handleCopyToClipboard = async (value2) => {
|
|
6750
|
-
await (0,
|
|
6750
|
+
await (0, import_utils14.copyTextToClipboard)(value2);
|
|
6751
6751
|
setIsCopied(true);
|
|
6752
6752
|
setTimeout(() => setIsCopied(false), 2e3);
|
|
6753
6753
|
};
|
|
@@ -6760,12 +6760,12 @@ var copyLinkButtonController = (props) => {
|
|
|
6760
6760
|
};
|
|
6761
6761
|
|
|
6762
6762
|
// src/widget/basic/color-field/color-controller.ts
|
|
6763
|
-
var
|
|
6763
|
+
var import_utils15 = require("@fctc/interface-logic/utils");
|
|
6764
6764
|
var colorFieldController = (props) => {
|
|
6765
6765
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6766
6766
|
const { env } = (0, provider_exports.useEnv)();
|
|
6767
6767
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6768
|
-
const _context = { ...(0,
|
|
6768
|
+
const _context = { ...(0, import_utils15.evalJSONContext)(actionData?.context) || {} };
|
|
6769
6769
|
const contextObject = { ...env.context, ..._context };
|
|
6770
6770
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6771
6771
|
const { mutate: onSave } = useSave3();
|
|
@@ -6794,7 +6794,7 @@ var colorFieldController = (props) => {
|
|
|
6794
6794
|
|
|
6795
6795
|
// src/widget/basic/binary-field/controller.ts
|
|
6796
6796
|
var import_react22 = require("react");
|
|
6797
|
-
var
|
|
6797
|
+
var import_utils16 = require("@fctc/interface-logic/utils");
|
|
6798
6798
|
var binaryFieldController = (props) => {
|
|
6799
6799
|
const { name, methods, readonly = false, value } = props;
|
|
6800
6800
|
const inputId = (0, import_react22.useId)();
|
|
@@ -6851,11 +6851,11 @@ var binaryFieldController = (props) => {
|
|
|
6851
6851
|
};
|
|
6852
6852
|
const checkIsImageLink = (url) => {
|
|
6853
6853
|
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
6854
|
-
return imageExtensions.test(url) || (0,
|
|
6854
|
+
return imageExtensions.test(url) || (0, import_utils16.isBase64Image)(url) || isBlobUrl(url);
|
|
6855
6855
|
};
|
|
6856
6856
|
const getImageBase64WithMimeType = (base64) => {
|
|
6857
6857
|
if (typeof base64 !== "string" || base64.length < 10) return null;
|
|
6858
|
-
if ((0,
|
|
6858
|
+
if ((0, import_utils16.isBase64Image)(base64)) return base64;
|
|
6859
6859
|
let mimeType = null;
|
|
6860
6860
|
if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
|
|
6861
6861
|
else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
|
|
@@ -6958,7 +6958,7 @@ var tableHeadController = (props) => {
|
|
|
6958
6958
|
|
|
6959
6959
|
// src/widget/advance/table/table-view/controller.ts
|
|
6960
6960
|
var import_react24 = require("react");
|
|
6961
|
-
var
|
|
6961
|
+
var import_utils18 = require("@fctc/interface-logic/utils");
|
|
6962
6962
|
var tableController = ({ data }) => {
|
|
6963
6963
|
const [rows, setRows] = (0, import_react24.useState)(null);
|
|
6964
6964
|
const [columns, setColumns] = (0, import_react24.useState)(null);
|
|
@@ -6996,7 +6996,7 @@ var tableController = ({ data }) => {
|
|
|
6996
6996
|
let cols = [];
|
|
6997
6997
|
try {
|
|
6998
6998
|
cols = mergeFields?.filter((item) => {
|
|
6999
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ?
|
|
6999
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils18.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils18.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
7000
7000
|
})?.map((field) => {
|
|
7001
7001
|
return {
|
|
7002
7002
|
name: field?.name,
|
|
@@ -7181,7 +7181,7 @@ var tableGroupController = (props) => {
|
|
|
7181
7181
|
|
|
7182
7182
|
// src/widget/advance/search/controller.ts
|
|
7183
7183
|
var import_constants3 = require("@fctc/interface-logic/constants");
|
|
7184
|
-
var
|
|
7184
|
+
var import_utils20 = require("@fctc/interface-logic/utils");
|
|
7185
7185
|
var import_moment2 = __toESM(require_moment());
|
|
7186
7186
|
var import_react26 = require("react");
|
|
7187
7187
|
var searchController = ({
|
|
@@ -7198,9 +7198,9 @@ var searchController = ({
|
|
|
7198
7198
|
const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
|
|
7199
7199
|
const [searchString, setSearchString] = (0, import_react26.useState)("");
|
|
7200
7200
|
const [searchMap, setSearchMap] = (0, import_react26.useState)({});
|
|
7201
|
-
const actionContext = typeof context === "string" ? (0,
|
|
7201
|
+
const actionContext = typeof context === "string" ? (0, import_utils20.evalJSONContext)(context) : context;
|
|
7202
7202
|
const contextSearch = { ...env.context, ...actionContext };
|
|
7203
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0,
|
|
7203
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils20.evalJSONDomain)(domain, contextSearch) : [];
|
|
7204
7204
|
const clearSearch = () => {
|
|
7205
7205
|
setFilterBy([]);
|
|
7206
7206
|
setGroupBy([]);
|
|
@@ -7215,7 +7215,7 @@ var searchController = ({
|
|
|
7215
7215
|
const dataModel = viewData?.models?.[model];
|
|
7216
7216
|
const searchViews = viewData?.views?.search;
|
|
7217
7217
|
const searchByItems = searchViews?.search_by?.filter(
|
|
7218
|
-
(item) => !
|
|
7218
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item.invisible)
|
|
7219
7219
|
)?.map(
|
|
7220
7220
|
({ string, name, filter_domain, operator, widget }, index) => ({
|
|
7221
7221
|
dataIndex: index,
|
|
@@ -7228,10 +7228,10 @@ var searchController = ({
|
|
|
7228
7228
|
})
|
|
7229
7229
|
);
|
|
7230
7230
|
const filterByItems = searchViews?.filter_by.filter((item) => {
|
|
7231
|
-
return !
|
|
7231
|
+
return !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible);
|
|
7232
7232
|
})?.map((item) => ({ ...item, active: false }));
|
|
7233
7233
|
const groupByItems = searchViews?.group_by.filter(
|
|
7234
|
-
(item) => !
|
|
7234
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible)
|
|
7235
7235
|
).map((item) => ({
|
|
7236
7236
|
...item,
|
|
7237
7237
|
string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
|
|
@@ -7308,14 +7308,14 @@ var searchController = ({
|
|
|
7308
7308
|
}
|
|
7309
7309
|
let valueDomainItem = value?.value;
|
|
7310
7310
|
if (value?.modelType === "date") {
|
|
7311
|
-
valueDomainItem = (0,
|
|
7311
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value);
|
|
7312
7312
|
} else if (value?.modelType === "datetime") {
|
|
7313
7313
|
if (value?.operator === "<=" || value?.operator === "<") {
|
|
7314
|
-
const parsedDate = (0,
|
|
7314
|
+
const parsedDate = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
7315
7315
|
const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
|
|
7316
7316
|
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");
|
|
7317
7317
|
} else {
|
|
7318
|
-
valueDomainItem = (0,
|
|
7318
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
7319
7319
|
}
|
|
7320
7320
|
}
|
|
7321
7321
|
const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
|
|
@@ -7394,7 +7394,7 @@ var searchController = ({
|
|
|
7394
7394
|
}, [searchMap]);
|
|
7395
7395
|
const handleAddTagSearch = (tag) => {
|
|
7396
7396
|
const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
|
|
7397
|
-
const domainFormat = new
|
|
7397
|
+
const domainFormat = new import_utils20.domainHelper.Domain(domain2);
|
|
7398
7398
|
if (type === import_constants3.SearchType.FILTER) {
|
|
7399
7399
|
addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
|
|
7400
7400
|
...tag,
|