@fctc/widget-logic 2.9.9 → 3.0.2
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 +2 -1
- package/dist/hooks.d.ts +2 -1
- package/dist/hooks.js +62 -66
- package/dist/hooks.mjs +56 -60
- package/dist/index.js +95 -99
- package/dist/index.mjs +68 -72
- package/dist/widget.js +39 -39
- package/dist/widget.mjs +15 -15
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4167,12 +4167,62 @@ 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_react = 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
|
+
|
|
4176
4226
|
// src/utils.ts
|
|
4177
4227
|
var utils_exports = {};
|
|
4178
4228
|
__export(utils_exports, {
|
|
@@ -4194,7 +4244,7 @@ var languages = [
|
|
|
4194
4244
|
];
|
|
4195
4245
|
|
|
4196
4246
|
// src/utils/function.ts
|
|
4197
|
-
var
|
|
4247
|
+
var import_react2 = require("react");
|
|
4198
4248
|
var countSum = (data, field) => {
|
|
4199
4249
|
if (!data || !field) return 0;
|
|
4200
4250
|
return data.reduce(
|
|
@@ -4315,7 +4365,7 @@ var STORAGES = {
|
|
|
4315
4365
|
USER_INFO: "USER_INFO"
|
|
4316
4366
|
};
|
|
4317
4367
|
function useAsyncState(initialValue = [true, null]) {
|
|
4318
|
-
return (0,
|
|
4368
|
+
return (0, import_react2.useReducer)(
|
|
4319
4369
|
(_state, action = null) => [false, action],
|
|
4320
4370
|
initialValue
|
|
4321
4371
|
);
|
|
@@ -4333,7 +4383,7 @@ async function setStorageItemAsync(key, value) {
|
|
|
4333
4383
|
}
|
|
4334
4384
|
function useStorageState(key) {
|
|
4335
4385
|
const [state, setState] = useAsyncState();
|
|
4336
|
-
(0,
|
|
4386
|
+
(0, import_react2.useEffect)(() => {
|
|
4337
4387
|
try {
|
|
4338
4388
|
const storedValue = localStorage.getItem(key);
|
|
4339
4389
|
setState(storedValue);
|
|
@@ -4341,7 +4391,7 @@ function useStorageState(key) {
|
|
|
4341
4391
|
console.error("Local storage is unavailable:", e);
|
|
4342
4392
|
}
|
|
4343
4393
|
}, [key]);
|
|
4344
|
-
const setValue = (0,
|
|
4394
|
+
const setValue = (0, import_react2.useCallback)(
|
|
4345
4395
|
(value) => {
|
|
4346
4396
|
setState(value);
|
|
4347
4397
|
setStorageItemAsync(key, value);
|
|
@@ -4354,58 +4404,6 @@ function useStorageState(key) {
|
|
|
4354
4404
|
// src/utils.ts
|
|
4355
4405
|
__reExport(utils_exports, require("@fctc/interface-logic/utils"));
|
|
4356
4406
|
|
|
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
|
-
|
|
4409
4407
|
// src/hooks/core/use-menu.ts
|
|
4410
4408
|
var useMenu = ({
|
|
4411
4409
|
context,
|
|
@@ -4442,7 +4440,8 @@ var useMenu = ({
|
|
|
4442
4440
|
const handleChangeMenu = async ({
|
|
4443
4441
|
menu,
|
|
4444
4442
|
service: service2,
|
|
4445
|
-
xNode: xNode2
|
|
4443
|
+
xNode: xNode2,
|
|
4444
|
+
context: context2
|
|
4446
4445
|
}) => {
|
|
4447
4446
|
const aidMenu = menu?.action?.id?.id;
|
|
4448
4447
|
if (menu) {
|
|
@@ -4453,10 +4452,7 @@ var useMenu = ({
|
|
|
4453
4452
|
aid: Number(aidMenu),
|
|
4454
4453
|
service: service2 ?? "",
|
|
4455
4454
|
xNode: xNode2,
|
|
4456
|
-
context:
|
|
4457
|
-
...context,
|
|
4458
|
-
...(0, utils_exports.evalJSONContext)(menu?.action?.context)
|
|
4459
|
-
}
|
|
4455
|
+
context: context2
|
|
4460
4456
|
});
|
|
4461
4457
|
setService(service2 ?? "");
|
|
4462
4458
|
setXNode(xNode2 ?? "");
|
|
@@ -4816,7 +4812,7 @@ var useGetSpecification = ({
|
|
|
4816
4812
|
|
|
4817
4813
|
// src/hooks/core/use-list-data.ts
|
|
4818
4814
|
var import_react14 = require("react");
|
|
4819
|
-
var
|
|
4815
|
+
var import_utils5 = require("@fctc/interface-logic/utils");
|
|
4820
4816
|
|
|
4821
4817
|
// src/hooks/utils/use-click-outside.ts
|
|
4822
4818
|
var import_react11 = require("react");
|
|
@@ -4957,12 +4953,12 @@ var useListData = ({
|
|
|
4957
4953
|
if (!viewData || !action || !context) {
|
|
4958
4954
|
return null;
|
|
4959
4955
|
}
|
|
4960
|
-
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_utils5.evalJSONDomain)(action?.domain, context) : [];
|
|
4961
4957
|
const limit = pageLimit;
|
|
4962
4958
|
const offset = debouncedPage * pageLimit;
|
|
4963
4959
|
const fields = typeof groupByList === "object" ? groupByList?.fields : void 0;
|
|
4964
4960
|
const groupby = typeof groupByList === "object" ? [groupByList?.contexts?.[0]?.group_by] : [];
|
|
4965
|
-
const sort = order ? order : viewData?.views?.list?.default_order ? (0,
|
|
4961
|
+
const sort = order ? order : viewData?.views?.list?.default_order ? (0, import_utils5.formatSortingString)(viewData?.views?.list?.default_order) : "";
|
|
4966
4962
|
return {
|
|
4967
4963
|
model: action?.res_model,
|
|
4968
4964
|
specification,
|
|
@@ -4984,7 +4980,7 @@ var useListData = ({
|
|
|
4984
4980
|
listDataProps?.offset,
|
|
4985
4981
|
listDataProps?.sort
|
|
4986
4982
|
],
|
|
4987
|
-
!!listDataProps && !!specification && !(0,
|
|
4983
|
+
!!listDataProps && !!specification && !(0, import_utils5.isObjectEmpty)(specification) && !!domain,
|
|
4988
4984
|
service,
|
|
4989
4985
|
xNode
|
|
4990
4986
|
);
|
|
@@ -5486,18 +5482,18 @@ var many2oneFieldController = (props) => {
|
|
|
5486
5482
|
// src/widget/basic/many2one-button-field/controller.ts
|
|
5487
5483
|
var import_environment2 = require("@fctc/interface-logic/environment");
|
|
5488
5484
|
var import_hooks6 = require("@fctc/interface-logic/hooks");
|
|
5489
|
-
var
|
|
5485
|
+
var import_utils8 = require("@fctc/interface-logic/utils");
|
|
5490
5486
|
var many2oneButtonController = (props) => {
|
|
5491
5487
|
const { domain, methods, relation, service, xNode } = props;
|
|
5492
5488
|
const actionDataString = sessionStorage.getItem("actionData");
|
|
5493
5489
|
const env = (0, import_environment2.getEnv)();
|
|
5494
|
-
const domainObject = (0,
|
|
5490
|
+
const domainObject = (0, import_utils8.evalJSONDomain)(domain, methods?.getValues() || {});
|
|
5495
5491
|
const actionData = actionDataString && actionDataString !== "undefined" ? JSON.parse(actionDataString) : {};
|
|
5496
5492
|
const { data: dataOfSelection } = (0, import_hooks6.useGetSelection)({
|
|
5497
5493
|
data: {
|
|
5498
5494
|
model: relation ?? "",
|
|
5499
5495
|
domain: domainObject,
|
|
5500
|
-
context: { ...env.context, ...(0,
|
|
5496
|
+
context: { ...env.context, ...(0, import_utils8.evalJSONContext)(actionData?.context) }
|
|
5501
5497
|
},
|
|
5502
5498
|
queryKey: [`data_${relation}`, domainObject],
|
|
5503
5499
|
service,
|
|
@@ -5514,7 +5510,7 @@ var many2oneButtonController = (props) => {
|
|
|
5514
5510
|
|
|
5515
5511
|
// src/widget/basic/many2many-field/controller.ts
|
|
5516
5512
|
var import_react17 = require("react");
|
|
5517
|
-
var
|
|
5513
|
+
var import_utils9 = require("@fctc/interface-logic/utils");
|
|
5518
5514
|
var many2manyFieldController = (props) => {
|
|
5519
5515
|
const {
|
|
5520
5516
|
relation,
|
|
@@ -5557,10 +5553,10 @@ var many2manyFieldController = (props) => {
|
|
|
5557
5553
|
]
|
|
5558
5554
|
});
|
|
5559
5555
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5560
|
-
const optionsObject = tab?.options ? (0,
|
|
5556
|
+
const optionsObject = tab?.options ? (0, import_utils9.evalJSONContext)(tab?.options) : (options ? (0, import_utils9.evalJSONContext)(options) : {}) || {};
|
|
5561
5557
|
const fetchData = async () => {
|
|
5562
5558
|
try {
|
|
5563
|
-
const domainParse = typeof domain === "string" ? (0,
|
|
5559
|
+
const domainParse = typeof domain === "string" ? (0, import_utils9.evalJSONDomain)(domain, contextObject) : Array.isArray(domain) ? domain : [];
|
|
5564
5560
|
setDomainMany2Many(domainParse);
|
|
5565
5561
|
setPage(0);
|
|
5566
5562
|
} catch (err) {
|
|
@@ -5584,7 +5580,7 @@ var many2manyFieldController = (props) => {
|
|
|
5584
5580
|
context: contextObject,
|
|
5585
5581
|
fields: groupByDomain?.fields,
|
|
5586
5582
|
groupby: [groupByDomain?.contexts[0]?.group_by],
|
|
5587
|
-
sort: order ? order : default_order ? (0,
|
|
5583
|
+
sort: order ? order : default_order ? (0, import_utils9.formatSortingString)(default_order) : ""
|
|
5588
5584
|
};
|
|
5589
5585
|
const enabled = enabledCallAPI && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5590
5586
|
const {
|
|
@@ -5648,7 +5644,7 @@ var many2manyFieldController = (props) => {
|
|
|
5648
5644
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5649
5645
|
var import_react18 = require("react");
|
|
5650
5646
|
var import_constants2 = require("@fctc/interface-logic/constants");
|
|
5651
|
-
var
|
|
5647
|
+
var import_utils10 = require("@fctc/interface-logic/utils");
|
|
5652
5648
|
var many2manyTagsController = (props) => {
|
|
5653
5649
|
const {
|
|
5654
5650
|
relation,
|
|
@@ -5663,9 +5659,9 @@ var many2manyTagsController = (props) => {
|
|
|
5663
5659
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
5664
5660
|
const { env } = (0, provider_exports.useEnv)();
|
|
5665
5661
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5666
|
-
const addtionalFields = optionsFields ? (0,
|
|
5662
|
+
const addtionalFields = optionsFields ? (0, import_utils10.evalJSONContext)(optionsFields) : null;
|
|
5667
5663
|
const domainObject = (0, import_react18.useMemo)(
|
|
5668
|
-
() => (0,
|
|
5664
|
+
() => (0, import_utils10.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5669
5665
|
[domain, formValues]
|
|
5670
5666
|
);
|
|
5671
5667
|
const data = {
|
|
@@ -5709,7 +5705,7 @@ var many2manyTagsController = (props) => {
|
|
|
5709
5705
|
|
|
5710
5706
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5711
5707
|
var import_react19 = require("react");
|
|
5712
|
-
var
|
|
5708
|
+
var import_utils11 = require("@fctc/interface-logic/utils");
|
|
5713
5709
|
var durationController = (props) => {
|
|
5714
5710
|
const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
|
|
5715
5711
|
const specification = {
|
|
@@ -5725,7 +5721,7 @@ var durationController = (props) => {
|
|
|
5725
5721
|
const listDataProps = {
|
|
5726
5722
|
model: relation,
|
|
5727
5723
|
specification,
|
|
5728
|
-
domain: (0,
|
|
5724
|
+
domain: (0, import_utils11.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5729
5725
|
limit: 10,
|
|
5730
5726
|
offset: 0,
|
|
5731
5727
|
fields: "",
|
|
@@ -5775,10 +5771,10 @@ var durationController = (props) => {
|
|
|
5775
5771
|
};
|
|
5776
5772
|
|
|
5777
5773
|
// src/widget/basic/priority-field/controller.ts
|
|
5778
|
-
var
|
|
5774
|
+
var import_utils12 = require("@fctc/interface-logic/utils");
|
|
5779
5775
|
var priorityFieldController = (props) => {
|
|
5780
5776
|
const { name, model, index, actionData, context, onChange, specification } = props;
|
|
5781
|
-
const _context = { ...(0,
|
|
5777
|
+
const _context = { ...(0, import_utils12.evalJSONContext)(actionData?.context) };
|
|
5782
5778
|
const contextObject = { ...context, ..._context };
|
|
5783
5779
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
5784
5780
|
const { mutateAsync: fetchSave } = useSave3();
|
|
@@ -6746,12 +6742,12 @@ var dateFieldController = (props) => {
|
|
|
6746
6742
|
|
|
6747
6743
|
// src/widget/basic/copy-link-button/controller.ts
|
|
6748
6744
|
var import_react21 = require("react");
|
|
6749
|
-
var
|
|
6745
|
+
var import_utils13 = require("@fctc/interface-logic/utils");
|
|
6750
6746
|
var copyLinkButtonController = (props) => {
|
|
6751
6747
|
const { value, defaultValue } = props;
|
|
6752
6748
|
const [isCopied, setIsCopied] = (0, import_react21.useState)(false);
|
|
6753
6749
|
const handleCopyToClipboard = async (value2) => {
|
|
6754
|
-
await (0,
|
|
6750
|
+
await (0, import_utils13.copyTextToClipboard)(value2);
|
|
6755
6751
|
setIsCopied(true);
|
|
6756
6752
|
setTimeout(() => setIsCopied(false), 2e3);
|
|
6757
6753
|
};
|
|
@@ -6764,12 +6760,12 @@ var copyLinkButtonController = (props) => {
|
|
|
6764
6760
|
};
|
|
6765
6761
|
|
|
6766
6762
|
// src/widget/basic/color-field/color-controller.ts
|
|
6767
|
-
var
|
|
6763
|
+
var import_utils14 = require("@fctc/interface-logic/utils");
|
|
6768
6764
|
var colorFieldController = (props) => {
|
|
6769
6765
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6770
6766
|
const { env } = (0, provider_exports.useEnv)();
|
|
6771
6767
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6772
|
-
const _context = { ...(0,
|
|
6768
|
+
const _context = { ...(0, import_utils14.evalJSONContext)(actionData?.context) || {} };
|
|
6773
6769
|
const contextObject = { ...env.context, ..._context };
|
|
6774
6770
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6775
6771
|
const { mutate: onSave } = useSave3();
|
|
@@ -6798,7 +6794,7 @@ var colorFieldController = (props) => {
|
|
|
6798
6794
|
|
|
6799
6795
|
// src/widget/basic/binary-field/controller.ts
|
|
6800
6796
|
var import_react22 = require("react");
|
|
6801
|
-
var
|
|
6797
|
+
var import_utils15 = require("@fctc/interface-logic/utils");
|
|
6802
6798
|
var binaryFieldController = (props) => {
|
|
6803
6799
|
const { name, methods, readonly = false, value } = props;
|
|
6804
6800
|
const inputId = (0, import_react22.useId)();
|
|
@@ -6855,11 +6851,11 @@ var binaryFieldController = (props) => {
|
|
|
6855
6851
|
};
|
|
6856
6852
|
const checkIsImageLink = (url) => {
|
|
6857
6853
|
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
6858
|
-
return imageExtensions.test(url) || (0,
|
|
6854
|
+
return imageExtensions.test(url) || (0, import_utils15.isBase64Image)(url) || isBlobUrl(url);
|
|
6859
6855
|
};
|
|
6860
6856
|
const getImageBase64WithMimeType = (base64) => {
|
|
6861
6857
|
if (typeof base64 !== "string" || base64.length < 10) return null;
|
|
6862
|
-
if ((0,
|
|
6858
|
+
if ((0, import_utils15.isBase64Image)(base64)) return base64;
|
|
6863
6859
|
let mimeType = null;
|
|
6864
6860
|
if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
|
|
6865
6861
|
else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
|
|
@@ -6962,7 +6958,7 @@ var tableHeadController = (props) => {
|
|
|
6962
6958
|
|
|
6963
6959
|
// src/widget/advance/table/table-view/controller.ts
|
|
6964
6960
|
var import_react24 = require("react");
|
|
6965
|
-
var
|
|
6961
|
+
var import_utils17 = require("@fctc/interface-logic/utils");
|
|
6966
6962
|
var tableController = ({ data }) => {
|
|
6967
6963
|
const [rows, setRows] = (0, import_react24.useState)(null);
|
|
6968
6964
|
const [columns, setColumns] = (0, import_react24.useState)(null);
|
|
@@ -7000,7 +6996,7 @@ var tableController = ({ data }) => {
|
|
|
7000
6996
|
let cols = [];
|
|
7001
6997
|
try {
|
|
7002
6998
|
cols = mergeFields?.filter((item) => {
|
|
7003
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ?
|
|
6999
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
7004
7000
|
})?.map((field) => {
|
|
7005
7001
|
return {
|
|
7006
7002
|
name: field?.name,
|
|
@@ -7185,7 +7181,7 @@ var tableGroupController = (props) => {
|
|
|
7185
7181
|
|
|
7186
7182
|
// src/widget/advance/search/controller.ts
|
|
7187
7183
|
var import_constants3 = require("@fctc/interface-logic/constants");
|
|
7188
|
-
var
|
|
7184
|
+
var import_utils19 = require("@fctc/interface-logic/utils");
|
|
7189
7185
|
var import_moment2 = __toESM(require_moment());
|
|
7190
7186
|
var import_react26 = require("react");
|
|
7191
7187
|
var searchController = ({
|
|
@@ -7202,9 +7198,9 @@ var searchController = ({
|
|
|
7202
7198
|
const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
|
|
7203
7199
|
const [searchString, setSearchString] = (0, import_react26.useState)("");
|
|
7204
7200
|
const [searchMap, setSearchMap] = (0, import_react26.useState)({});
|
|
7205
|
-
const actionContext = typeof context === "string" ? (0,
|
|
7201
|
+
const actionContext = typeof context === "string" ? (0, import_utils19.evalJSONContext)(context) : context;
|
|
7206
7202
|
const contextSearch = { ...env.context, ...actionContext };
|
|
7207
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0,
|
|
7203
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils19.evalJSONDomain)(domain, contextSearch) : [];
|
|
7208
7204
|
const clearSearch = () => {
|
|
7209
7205
|
setFilterBy([]);
|
|
7210
7206
|
setGroupBy([]);
|
|
@@ -7219,7 +7215,7 @@ var searchController = ({
|
|
|
7219
7215
|
const dataModel = viewData?.models?.[model];
|
|
7220
7216
|
const searchViews = viewData?.views?.search;
|
|
7221
7217
|
const searchByItems = searchViews?.search_by?.filter(
|
|
7222
|
-
(item) => !
|
|
7218
|
+
(item) => !import_utils19.domainHelper.matchDomains(contextSearch, item.invisible)
|
|
7223
7219
|
)?.map(
|
|
7224
7220
|
({ string, name, filter_domain, operator, widget }, index) => ({
|
|
7225
7221
|
dataIndex: index,
|
|
@@ -7232,10 +7228,10 @@ var searchController = ({
|
|
|
7232
7228
|
})
|
|
7233
7229
|
);
|
|
7234
7230
|
const filterByItems = searchViews?.filter_by.filter((item) => {
|
|
7235
|
-
return !
|
|
7231
|
+
return !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible);
|
|
7236
7232
|
})?.map((item) => ({ ...item, active: false }));
|
|
7237
7233
|
const groupByItems = searchViews?.group_by.filter(
|
|
7238
|
-
(item) => !
|
|
7234
|
+
(item) => !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible)
|
|
7239
7235
|
).map((item) => ({
|
|
7240
7236
|
...item,
|
|
7241
7237
|
string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
|
|
@@ -7312,14 +7308,14 @@ var searchController = ({
|
|
|
7312
7308
|
}
|
|
7313
7309
|
let valueDomainItem = value?.value;
|
|
7314
7310
|
if (value?.modelType === "date") {
|
|
7315
|
-
valueDomainItem = (0,
|
|
7311
|
+
valueDomainItem = (0, import_utils19.validateAndParseDate)(value?.value);
|
|
7316
7312
|
} else if (value?.modelType === "datetime") {
|
|
7317
7313
|
if (value?.operator === "<=" || value?.operator === "<") {
|
|
7318
|
-
const parsedDate = (0,
|
|
7314
|
+
const parsedDate = (0, import_utils19.validateAndParseDate)(value?.value, true);
|
|
7319
7315
|
const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
|
|
7320
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");
|
|
7321
7317
|
} else {
|
|
7322
|
-
valueDomainItem = (0,
|
|
7318
|
+
valueDomainItem = (0, import_utils19.validateAndParseDate)(value?.value, true);
|
|
7323
7319
|
}
|
|
7324
7320
|
}
|
|
7325
7321
|
const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
|
|
@@ -7398,7 +7394,7 @@ var searchController = ({
|
|
|
7398
7394
|
}, [searchMap]);
|
|
7399
7395
|
const handleAddTagSearch = (tag) => {
|
|
7400
7396
|
const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
|
|
7401
|
-
const domainFormat = new
|
|
7397
|
+
const domainFormat = new import_utils19.domainHelper.Domain(domain2);
|
|
7402
7398
|
if (type === import_constants3.SearchType.FILTER) {
|
|
7403
7399
|
addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
|
|
7404
7400
|
...tag,
|