@fctc/widget-logic 3.0.4 → 3.0.6
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 +3 -1
- package/dist/hooks.d.ts +3 -1
- package/dist/hooks.js +63 -63
- package/dist/hooks.mjs +57 -57
- package/dist/index.js +144 -157
- package/dist/index.mjs +150 -167
- package/dist/widget.d.mts +17 -11
- package/dist/widget.d.ts +17 -11
- package/dist/widget.js +172 -100
- package/dist/widget.mjs +181 -113
- package/package.json +96 -96
package/dist/index.mjs
CHANGED
|
@@ -4240,13 +4240,63 @@ import { createContext, useContext, useMemo as useMemo5 } from "react";
|
|
|
4240
4240
|
import { useMemo, useState as useState2 } from "react";
|
|
4241
4241
|
|
|
4242
4242
|
// src/hooks/core/use-call-action.ts
|
|
4243
|
-
import { useCallback
|
|
4243
|
+
import { useCallback, useState } from "react";
|
|
4244
4244
|
|
|
4245
4245
|
// src/provider.ts
|
|
4246
4246
|
var provider_exports = {};
|
|
4247
4247
|
__reExport(provider_exports, provider_star);
|
|
4248
4248
|
import * as provider_star from "@fctc/interface-logic/provider";
|
|
4249
4249
|
|
|
4250
|
+
// src/hooks/core/use-call-action.ts
|
|
4251
|
+
var useCallAction = () => {
|
|
4252
|
+
const { env } = (0, provider_exports.useEnv)();
|
|
4253
|
+
const { useLoadAction: useLoadAction2, useRunAction: useRunAction2 } = (0, provider_exports.useService)();
|
|
4254
|
+
const queryLoadAction = useLoadAction2();
|
|
4255
|
+
const queryRunAction = useRunAction2();
|
|
4256
|
+
const [actionData, setActionData] = useState(
|
|
4257
|
+
void 0
|
|
4258
|
+
);
|
|
4259
|
+
const callAction = useCallback(
|
|
4260
|
+
async ({
|
|
4261
|
+
aid,
|
|
4262
|
+
service,
|
|
4263
|
+
xNode,
|
|
4264
|
+
context
|
|
4265
|
+
}) => {
|
|
4266
|
+
try {
|
|
4267
|
+
const menuContext = {
|
|
4268
|
+
...env?.context,
|
|
4269
|
+
...context
|
|
4270
|
+
};
|
|
4271
|
+
const loadRes = await queryLoadAction.mutateAsync({
|
|
4272
|
+
idAction: aid,
|
|
4273
|
+
context: menuContext,
|
|
4274
|
+
service,
|
|
4275
|
+
xNode
|
|
4276
|
+
});
|
|
4277
|
+
if (loadRes?.result?.type === "ir.actions.server") {
|
|
4278
|
+
const runRes = await queryRunAction.mutateAsync({
|
|
4279
|
+
idAction: aid,
|
|
4280
|
+
context: menuContext,
|
|
4281
|
+
service,
|
|
4282
|
+
xNode
|
|
4283
|
+
});
|
|
4284
|
+
setActionData(runRes?.result);
|
|
4285
|
+
return runRes?.result;
|
|
4286
|
+
} else {
|
|
4287
|
+
setActionData(loadRes?.result);
|
|
4288
|
+
return loadRes?.result;
|
|
4289
|
+
}
|
|
4290
|
+
} catch (err) {
|
|
4291
|
+
console.error("callAction error:", err);
|
|
4292
|
+
return void 0;
|
|
4293
|
+
}
|
|
4294
|
+
},
|
|
4295
|
+
[env?.context?.lang]
|
|
4296
|
+
);
|
|
4297
|
+
return [actionData, callAction];
|
|
4298
|
+
};
|
|
4299
|
+
|
|
4250
4300
|
// src/utils.ts
|
|
4251
4301
|
var utils_exports = {};
|
|
4252
4302
|
__export(utils_exports, {
|
|
@@ -4268,7 +4318,7 @@ var languages = [
|
|
|
4268
4318
|
];
|
|
4269
4319
|
|
|
4270
4320
|
// src/utils/function.ts
|
|
4271
|
-
import { useCallback, useEffect, useReducer } from "react";
|
|
4321
|
+
import { useCallback as useCallback2, useEffect, useReducer } from "react";
|
|
4272
4322
|
var countSum = (data, field) => {
|
|
4273
4323
|
if (!data || !field) return 0;
|
|
4274
4324
|
return data.reduce(
|
|
@@ -4415,7 +4465,7 @@ function useStorageState(key) {
|
|
|
4415
4465
|
console.error("Local storage is unavailable:", e);
|
|
4416
4466
|
}
|
|
4417
4467
|
}, [key]);
|
|
4418
|
-
const setValue =
|
|
4468
|
+
const setValue = useCallback2(
|
|
4419
4469
|
(value) => {
|
|
4420
4470
|
setState(value);
|
|
4421
4471
|
setStorageItemAsync(key, value);
|
|
@@ -4429,58 +4479,6 @@ function useStorageState(key) {
|
|
|
4429
4479
|
__reExport(utils_exports, utils_star);
|
|
4430
4480
|
import * as utils_star from "@fctc/interface-logic/utils";
|
|
4431
4481
|
|
|
4432
|
-
// src/hooks/core/use-call-action.ts
|
|
4433
|
-
var useCallAction = () => {
|
|
4434
|
-
const { env } = (0, provider_exports.useEnv)();
|
|
4435
|
-
const { useLoadAction: useLoadAction2, useRunAction: useRunAction2 } = (0, provider_exports.useService)();
|
|
4436
|
-
const queryLoadAction = useLoadAction2();
|
|
4437
|
-
const queryRunAction = useRunAction2();
|
|
4438
|
-
const [actionData, setActionData] = useState(
|
|
4439
|
-
void 0
|
|
4440
|
-
);
|
|
4441
|
-
const callAction = useCallback2(
|
|
4442
|
-
async ({
|
|
4443
|
-
aid,
|
|
4444
|
-
service,
|
|
4445
|
-
xNode,
|
|
4446
|
-
context
|
|
4447
|
-
}) => {
|
|
4448
|
-
try {
|
|
4449
|
-
const loadRes = await queryLoadAction.mutateAsync({
|
|
4450
|
-
idAction: aid,
|
|
4451
|
-
context: {
|
|
4452
|
-
...env?.context,
|
|
4453
|
-
...context ? (0, utils_exports.evalJSONContext)(context, { ...env?.context }) || {} : {}
|
|
4454
|
-
},
|
|
4455
|
-
service,
|
|
4456
|
-
xNode
|
|
4457
|
-
});
|
|
4458
|
-
if (loadRes?.result?.type === "ir.actions.server") {
|
|
4459
|
-
const runRes = await queryRunAction.mutateAsync({
|
|
4460
|
-
idAction: aid,
|
|
4461
|
-
context: {
|
|
4462
|
-
...env?.context,
|
|
4463
|
-
...context ? (0, utils_exports.evalJSONContext)(context, { ...env?.context }) || {} : {}
|
|
4464
|
-
},
|
|
4465
|
-
service,
|
|
4466
|
-
xNode
|
|
4467
|
-
});
|
|
4468
|
-
setActionData(runRes?.result);
|
|
4469
|
-
return runRes?.result;
|
|
4470
|
-
} else {
|
|
4471
|
-
setActionData(loadRes?.result);
|
|
4472
|
-
return loadRes?.result;
|
|
4473
|
-
}
|
|
4474
|
-
} catch (err) {
|
|
4475
|
-
console.error("callAction error:", err);
|
|
4476
|
-
return void 0;
|
|
4477
|
-
}
|
|
4478
|
-
},
|
|
4479
|
-
[env?.context?.lang]
|
|
4480
|
-
);
|
|
4481
|
-
return [actionData, callAction];
|
|
4482
|
-
};
|
|
4483
|
-
|
|
4484
4482
|
// src/hooks/core/use-menu.ts
|
|
4485
4483
|
var useMenu = ({
|
|
4486
4484
|
context,
|
|
@@ -4517,7 +4515,8 @@ var useMenu = ({
|
|
|
4517
4515
|
const handleChangeMenu = async ({
|
|
4518
4516
|
menu,
|
|
4519
4517
|
service: service2,
|
|
4520
|
-
xNode: xNode2
|
|
4518
|
+
xNode: xNode2,
|
|
4519
|
+
context: context2
|
|
4521
4520
|
}) => {
|
|
4522
4521
|
const aidMenu = menu?.action?.id?.id;
|
|
4523
4522
|
if (menu) {
|
|
@@ -4527,7 +4526,8 @@ var useMenu = ({
|
|
|
4527
4526
|
const actionResponse = await callAction({
|
|
4528
4527
|
aid: Number(aidMenu),
|
|
4529
4528
|
service: service2 ?? "",
|
|
4530
|
-
xNode: xNode2
|
|
4529
|
+
xNode: xNode2,
|
|
4530
|
+
context: context2
|
|
4531
4531
|
});
|
|
4532
4532
|
setService(service2 ?? "");
|
|
4533
4533
|
setXNode(xNode2 ?? "");
|
|
@@ -5563,7 +5563,7 @@ var many2oneFieldController = (props) => {
|
|
|
5563
5563
|
// src/widget/basic/many2one-button-field/controller.ts
|
|
5564
5564
|
import { getEnv as getEnv2 } from "@fctc/interface-logic/environment";
|
|
5565
5565
|
import { useGetSelection as useGetSelection2 } from "@fctc/interface-logic/hooks";
|
|
5566
|
-
import { evalJSONDomain as evalJSONDomain3, evalJSONContext as
|
|
5566
|
+
import { evalJSONDomain as evalJSONDomain3, evalJSONContext as evalJSONContext3 } from "@fctc/interface-logic/utils";
|
|
5567
5567
|
var many2oneButtonController = (props) => {
|
|
5568
5568
|
const { domain, methods, relation, service, xNode } = props;
|
|
5569
5569
|
const actionDataString = sessionStorage.getItem("actionData");
|
|
@@ -5574,7 +5574,7 @@ var many2oneButtonController = (props) => {
|
|
|
5574
5574
|
data: {
|
|
5575
5575
|
model: relation ?? "",
|
|
5576
5576
|
domain: domainObject,
|
|
5577
|
-
context: { ...env.context, ...
|
|
5577
|
+
context: { ...env.context, ...evalJSONContext3(actionData?.context) }
|
|
5578
5578
|
},
|
|
5579
5579
|
queryKey: [`data_${relation}`, domainObject],
|
|
5580
5580
|
service,
|
|
@@ -5590,29 +5590,21 @@ var many2oneButtonController = (props) => {
|
|
|
5590
5590
|
};
|
|
5591
5591
|
|
|
5592
5592
|
// src/widget/basic/many2many-field/controller.ts
|
|
5593
|
-
import { useEffect as useEffect11
|
|
5594
|
-
import {
|
|
5595
|
-
evalJSONContext as evalJSONContext5,
|
|
5596
|
-
evalJSONDomain as evalJSONDomain4,
|
|
5597
|
-
formatSortingString as formatSortingString2
|
|
5598
|
-
} from "@fctc/interface-logic/utils";
|
|
5593
|
+
import { useEffect as useEffect11 } from "react";
|
|
5594
|
+
import { evalJSONContext as evalJSONContext4 } from "@fctc/interface-logic/utils";
|
|
5599
5595
|
var many2manyFieldController = (props) => {
|
|
5600
5596
|
const {
|
|
5601
5597
|
relation,
|
|
5602
5598
|
domain,
|
|
5603
5599
|
context,
|
|
5604
5600
|
options,
|
|
5605
|
-
|
|
5606
|
-
|
|
5607
|
-
groupByDomain,
|
|
5608
|
-
enabled: enabledCallAPI
|
|
5601
|
+
enabled: enabledCallAPI,
|
|
5602
|
+
service
|
|
5609
5603
|
} = props;
|
|
5610
5604
|
const { env } = (0, provider_exports.useEnv)();
|
|
5611
|
-
const {
|
|
5612
|
-
const
|
|
5613
|
-
const
|
|
5614
|
-
const [domainMany2Many, setDomainMany2Many] = useState8(null);
|
|
5615
|
-
const [debouncedPage] = useDebounce(page, 500);
|
|
5605
|
+
const { user } = useAppProvider();
|
|
5606
|
+
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
5607
|
+
const dataUser = user?.userProfile?.data;
|
|
5616
5608
|
const contextObject = {
|
|
5617
5609
|
...env.context,
|
|
5618
5610
|
...context || {}
|
|
@@ -5629,61 +5621,46 @@ var many2manyFieldController = (props) => {
|
|
|
5629
5621
|
viewParams,
|
|
5630
5622
|
enabled: enabledCallAPI
|
|
5631
5623
|
});
|
|
5632
|
-
const { specification } = useGetSpecification({
|
|
5633
|
-
model: String(relation),
|
|
5634
|
-
viewData: viewResponse || {},
|
|
5635
|
-
fields: [
|
|
5636
|
-
...Object.values(viewResponse?.views?.list?.fields ?? {}),
|
|
5637
|
-
...tab?.fields ? tab.fields : []
|
|
5638
|
-
]
|
|
5639
|
-
});
|
|
5640
5624
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5641
|
-
const optionsObject =
|
|
5642
|
-
const fetchData = async () => {
|
|
5643
|
-
try {
|
|
5644
|
-
const domainParse = typeof domain === "string" ? evalJSONDomain4(domain, contextObject) : Array.isArray(domain) ? domain : [];
|
|
5645
|
-
setDomainMany2Many(domainParse);
|
|
5646
|
-
setPage(0);
|
|
5647
|
-
} catch (err) {
|
|
5648
|
-
console.log(err);
|
|
5649
|
-
}
|
|
5650
|
-
};
|
|
5651
|
-
const queryKey = [
|
|
5652
|
-
`view-${relation}`,
|
|
5653
|
-
specification,
|
|
5654
|
-
domainMany2Many,
|
|
5655
|
-
debouncedPage,
|
|
5656
|
-
groupByDomain,
|
|
5657
|
-
order
|
|
5658
|
-
];
|
|
5659
|
-
const data = {
|
|
5660
|
-
model: relation,
|
|
5661
|
-
specification,
|
|
5662
|
-
domain: domainMany2Many,
|
|
5663
|
-
offset: debouncedPage * 10,
|
|
5664
|
-
limit: 10,
|
|
5665
|
-
context: contextObject,
|
|
5666
|
-
fields: groupByDomain?.fields,
|
|
5667
|
-
groupby: [groupByDomain?.contexts[0]?.group_by],
|
|
5668
|
-
sort: order ? order : default_order ? formatSortingString2(default_order) : ""
|
|
5669
|
-
};
|
|
5670
|
-
const enabled = enabledCallAPI && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5625
|
+
const optionsObject = (options && typeof options === "string" ? evalJSONContext4(options) : options) || {};
|
|
5671
5626
|
const {
|
|
5672
5627
|
data: dataResponse,
|
|
5673
|
-
isLoading,
|
|
5674
5628
|
isFetched,
|
|
5629
|
+
isLoading,
|
|
5630
|
+
state,
|
|
5675
5631
|
isPlaceholderData
|
|
5676
|
-
} =
|
|
5632
|
+
} = useListData({
|
|
5633
|
+
action: {
|
|
5634
|
+
domain,
|
|
5635
|
+
res_model: relation
|
|
5636
|
+
},
|
|
5637
|
+
context: contextObject,
|
|
5638
|
+
model: relation ?? "",
|
|
5639
|
+
viewData: viewResponse,
|
|
5640
|
+
service,
|
|
5641
|
+
xNode: service == "wesap" && dataUser.x_node
|
|
5642
|
+
});
|
|
5643
|
+
const {
|
|
5644
|
+
selectedRowKeys,
|
|
5645
|
+
groupByList,
|
|
5646
|
+
domain: domainList,
|
|
5647
|
+
page,
|
|
5648
|
+
pageLimit,
|
|
5649
|
+
setDomain,
|
|
5650
|
+
setOrder,
|
|
5651
|
+
setPage,
|
|
5652
|
+
setSelectedRowKeys,
|
|
5653
|
+
setGroupByList,
|
|
5654
|
+
setPageLimit
|
|
5655
|
+
} = state;
|
|
5677
5656
|
useEffect11(() => {
|
|
5678
|
-
if (viewResponse) {
|
|
5679
|
-
fetchData();
|
|
5680
|
-
}
|
|
5681
5657
|
return () => {
|
|
5682
|
-
|
|
5683
|
-
|
|
5684
|
-
|
|
5658
|
+
setDomain(null);
|
|
5659
|
+
setOrder("");
|
|
5660
|
+
setGroupByList(null);
|
|
5661
|
+
setPageLimit(10);
|
|
5685
5662
|
};
|
|
5686
|
-
}, [
|
|
5663
|
+
}, []);
|
|
5687
5664
|
const { rows, columns, typeTable, onToggleColumnOptional } = tableController({
|
|
5688
5665
|
data: {
|
|
5689
5666
|
fields: viewResponse?.views?.list?.fields,
|
|
@@ -5707,29 +5684,35 @@ var many2manyFieldController = (props) => {
|
|
|
5707
5684
|
const handleCreateNewOnPage = async () => {
|
|
5708
5685
|
};
|
|
5709
5686
|
return {
|
|
5710
|
-
handleCreateNewOnPage,
|
|
5711
|
-
optionsObject,
|
|
5712
|
-
totalRows: dataResponse?.length ?? 0,
|
|
5713
5687
|
rows,
|
|
5714
5688
|
columns,
|
|
5689
|
+
optionsObject,
|
|
5690
|
+
viewData: viewResponse,
|
|
5691
|
+
totalRows: dataResponse?.length ?? 0,
|
|
5715
5692
|
onToggleColumnOptional,
|
|
5716
5693
|
typeTable,
|
|
5717
5694
|
isLoading,
|
|
5718
5695
|
isFetched,
|
|
5719
5696
|
isPlaceholderData,
|
|
5720
|
-
setPage,
|
|
5721
5697
|
page,
|
|
5722
|
-
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5698
|
+
pageLimit,
|
|
5699
|
+
groupByList,
|
|
5700
|
+
selectedRowKeys,
|
|
5701
|
+
domain: domainList,
|
|
5702
|
+
setPage,
|
|
5703
|
+
setDomain,
|
|
5704
|
+
setPageLimit,
|
|
5705
|
+
setGroupByList,
|
|
5706
|
+
setSelectedRowKeys,
|
|
5707
|
+
searchController: searchControllers,
|
|
5708
|
+
handleCreateNewOnPage
|
|
5726
5709
|
};
|
|
5727
5710
|
};
|
|
5728
5711
|
|
|
5729
5712
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5730
5713
|
import { useMemo as useMemo9 } from "react";
|
|
5731
5714
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5732
|
-
import { evalJSONContext as
|
|
5715
|
+
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
|
|
5733
5716
|
var many2manyTagsController = (props) => {
|
|
5734
5717
|
const {
|
|
5735
5718
|
relation,
|
|
@@ -5744,9 +5727,9 @@ var many2manyTagsController = (props) => {
|
|
|
5744
5727
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
5745
5728
|
const { env } = (0, provider_exports.useEnv)();
|
|
5746
5729
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5747
|
-
const addtionalFields = optionsFields ?
|
|
5730
|
+
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
5748
5731
|
const domainObject = useMemo9(
|
|
5749
|
-
() =>
|
|
5732
|
+
() => evalJSONDomain4(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5750
5733
|
[domain, formValues]
|
|
5751
5734
|
);
|
|
5752
5735
|
const data = {
|
|
@@ -5789,8 +5772,8 @@ var many2manyTagsController = (props) => {
|
|
|
5789
5772
|
};
|
|
5790
5773
|
|
|
5791
5774
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5792
|
-
import { useState as
|
|
5793
|
-
import { evalJSONDomain as
|
|
5775
|
+
import { useState as useState8 } from "react";
|
|
5776
|
+
import { evalJSONDomain as evalJSONDomain5 } from "@fctc/interface-logic/utils";
|
|
5794
5777
|
var durationController = (props) => {
|
|
5795
5778
|
const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
|
|
5796
5779
|
const specification = {
|
|
@@ -5800,13 +5783,13 @@ var durationController = (props) => {
|
|
|
5800
5783
|
};
|
|
5801
5784
|
const { useGetListData: useGetListData2, useChangeStatus: useChangeStatus2 } = (0, provider_exports.useService)();
|
|
5802
5785
|
const { env } = (0, provider_exports.useEnv)();
|
|
5803
|
-
const [disabled, setDisabled] =
|
|
5804
|
-
const [modelStatus, setModalStatus] =
|
|
5786
|
+
const [disabled, setDisabled] = useState8(false);
|
|
5787
|
+
const [modelStatus, setModalStatus] = useState8(false);
|
|
5805
5788
|
const queryKey = [`data-status-duration`, specification];
|
|
5806
5789
|
const listDataProps = {
|
|
5807
5790
|
model: relation,
|
|
5808
5791
|
specification,
|
|
5809
|
-
domain:
|
|
5792
|
+
domain: evalJSONDomain5(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5810
5793
|
limit: 10,
|
|
5811
5794
|
offset: 0,
|
|
5812
5795
|
fields: "",
|
|
@@ -5856,10 +5839,10 @@ var durationController = (props) => {
|
|
|
5856
5839
|
};
|
|
5857
5840
|
|
|
5858
5841
|
// src/widget/basic/priority-field/controller.ts
|
|
5859
|
-
import { evalJSONContext as
|
|
5842
|
+
import { evalJSONContext as evalJSONContext6 } from "@fctc/interface-logic/utils";
|
|
5860
5843
|
var priorityFieldController = (props) => {
|
|
5861
5844
|
const { name, model, index, actionData, context, onChange, specification } = props;
|
|
5862
|
-
const _context = { ...
|
|
5845
|
+
const _context = { ...evalJSONContext6(actionData?.context) };
|
|
5863
5846
|
const contextObject = { ...context, ..._context };
|
|
5864
5847
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
5865
5848
|
const { mutateAsync: fetchSave } = useSave3();
|
|
@@ -5891,10 +5874,10 @@ var priorityFieldController = (props) => {
|
|
|
5891
5874
|
};
|
|
5892
5875
|
|
|
5893
5876
|
// src/widget/basic/download-file-field/controller.ts
|
|
5894
|
-
import { useId, useState as
|
|
5877
|
+
import { useId, useState as useState9 } from "react";
|
|
5895
5878
|
var downloadFileController = () => {
|
|
5896
5879
|
const inputId = useId();
|
|
5897
|
-
const [file, setFile] =
|
|
5880
|
+
const [file, setFile] = useState9(null);
|
|
5898
5881
|
const handleFileChange = (e) => {
|
|
5899
5882
|
setFile(e.target.files[0]);
|
|
5900
5883
|
};
|
|
@@ -6826,11 +6809,11 @@ var dateFieldController = (props) => {
|
|
|
6826
6809
|
};
|
|
6827
6810
|
|
|
6828
6811
|
// src/widget/basic/copy-link-button/controller.ts
|
|
6829
|
-
import { useState as
|
|
6812
|
+
import { useState as useState10 } from "react";
|
|
6830
6813
|
import { copyTextToClipboard } from "@fctc/interface-logic/utils";
|
|
6831
6814
|
var copyLinkButtonController = (props) => {
|
|
6832
6815
|
const { value, defaultValue } = props;
|
|
6833
|
-
const [isCopied, setIsCopied] =
|
|
6816
|
+
const [isCopied, setIsCopied] = useState10(false);
|
|
6834
6817
|
const handleCopyToClipboard = async (value2) => {
|
|
6835
6818
|
await copyTextToClipboard(value2);
|
|
6836
6819
|
setIsCopied(true);
|
|
@@ -6845,12 +6828,12 @@ var copyLinkButtonController = (props) => {
|
|
|
6845
6828
|
};
|
|
6846
6829
|
|
|
6847
6830
|
// src/widget/basic/color-field/color-controller.ts
|
|
6848
|
-
import { evalJSONContext as
|
|
6831
|
+
import { evalJSONContext as evalJSONContext7 } from "@fctc/interface-logic/utils";
|
|
6849
6832
|
var colorFieldController = (props) => {
|
|
6850
6833
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6851
6834
|
const { env } = (0, provider_exports.useEnv)();
|
|
6852
6835
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6853
|
-
const _context = { ...
|
|
6836
|
+
const _context = { ...evalJSONContext7(actionData?.context) || {} };
|
|
6854
6837
|
const contextObject = { ...env.context, ..._context };
|
|
6855
6838
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6856
6839
|
const { mutate: onSave } = useSave3();
|
|
@@ -6878,14 +6861,14 @@ var colorFieldController = (props) => {
|
|
|
6878
6861
|
};
|
|
6879
6862
|
|
|
6880
6863
|
// src/widget/basic/binary-field/controller.ts
|
|
6881
|
-
import { useEffect as useEffect12, useId as useId2, useRef as useRef4, useState as
|
|
6864
|
+
import { useEffect as useEffect12, useId as useId2, useRef as useRef4, useState as useState11 } from "react";
|
|
6882
6865
|
import { isBase64Image } from "@fctc/interface-logic/utils";
|
|
6883
6866
|
var binaryFieldController = (props) => {
|
|
6884
6867
|
const { name, methods, readonly = false, value } = props;
|
|
6885
6868
|
const inputId = useId2();
|
|
6886
|
-
const [selectedImage, setSelectedImage] =
|
|
6887
|
-
const [initialImage, setInitialImage] =
|
|
6888
|
-
const [isInsideTable, setIsInsideTable] =
|
|
6869
|
+
const [selectedImage, setSelectedImage] = useState11(null);
|
|
6870
|
+
const [initialImage, setInitialImage] = useState11(value || null);
|
|
6871
|
+
const [isInsideTable, setIsInsideTable] = useState11(false);
|
|
6889
6872
|
const { setValue } = methods;
|
|
6890
6873
|
const binaryRef = useRef4(null);
|
|
6891
6874
|
const convertUrlToBase64 = async (url) => {
|
|
@@ -7042,11 +7025,11 @@ var tableHeadController = (props) => {
|
|
|
7042
7025
|
};
|
|
7043
7026
|
|
|
7044
7027
|
// src/widget/advance/table/table-view/controller.ts
|
|
7045
|
-
import { useEffect as useEffect13, useState as
|
|
7028
|
+
import { useEffect as useEffect13, useState as useState12 } from "react";
|
|
7046
7029
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
7047
7030
|
var tableController = ({ data }) => {
|
|
7048
|
-
const [rows, setRows] =
|
|
7049
|
-
const [columns, setColumns] =
|
|
7031
|
+
const [rows, setRows] = useState12(null);
|
|
7032
|
+
const [columns, setColumns] = useState12(null);
|
|
7050
7033
|
const dataModelFields = data?.fields?.map((field) => {
|
|
7051
7034
|
return {
|
|
7052
7035
|
...data.dataModel?.[field?.name],
|
|
@@ -7131,7 +7114,7 @@ var tableController = ({ data }) => {
|
|
|
7131
7114
|
};
|
|
7132
7115
|
|
|
7133
7116
|
// src/widget/advance/table/table-group/controller.ts
|
|
7134
|
-
import { useEffect as useEffect14, useMemo as useMemo11, useState as
|
|
7117
|
+
import { useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
|
|
7135
7118
|
import { useAppSelector as useAppSelector2, selectList } from "@fctc/interface-logic/store";
|
|
7136
7119
|
var tableGroupController = (props) => {
|
|
7137
7120
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -7148,10 +7131,10 @@ var tableGroupController = (props) => {
|
|
|
7148
7131
|
groupByList,
|
|
7149
7132
|
setSelectedRowKeys
|
|
7150
7133
|
} = props;
|
|
7151
|
-
const [pageGroup, setPageGroup] =
|
|
7134
|
+
const [pageGroup, setPageGroup] = useState13(0);
|
|
7152
7135
|
const { selectedRowKeys } = useAppSelector2(selectList);
|
|
7153
|
-
const [isShowGroup, setIsShowGroup] =
|
|
7154
|
-
const [colEmptyGroup, setColEmptyGroup] =
|
|
7136
|
+
const [isShowGroup, setIsShowGroup] = useState13(false);
|
|
7137
|
+
const [colEmptyGroup, setColEmptyGroup] = useState13({
|
|
7155
7138
|
fromStart: 1,
|
|
7156
7139
|
fromEnd: 1
|
|
7157
7140
|
});
|
|
@@ -7269,11 +7252,11 @@ var import_moment2 = __toESM(require_moment());
|
|
|
7269
7252
|
import { SearchType } from "@fctc/interface-logic/constants";
|
|
7270
7253
|
import {
|
|
7271
7254
|
domainHelper as domainHelper2,
|
|
7272
|
-
evalJSONContext as
|
|
7273
|
-
evalJSONDomain as
|
|
7255
|
+
evalJSONContext as evalJSONContext8,
|
|
7256
|
+
evalJSONDomain as evalJSONDomain6,
|
|
7274
7257
|
validateAndParseDate
|
|
7275
7258
|
} from "@fctc/interface-logic/utils";
|
|
7276
|
-
import { useCallback as useCallback5, useEffect as useEffect15, useState as
|
|
7259
|
+
import { useCallback as useCallback5, useEffect as useEffect15, useState as useState14 } from "react";
|
|
7277
7260
|
var searchController = ({
|
|
7278
7261
|
viewData,
|
|
7279
7262
|
model,
|
|
@@ -7282,15 +7265,15 @@ var searchController = ({
|
|
|
7282
7265
|
fieldsList
|
|
7283
7266
|
}) => {
|
|
7284
7267
|
const { env } = (0, provider_exports.useEnv)();
|
|
7285
|
-
const [filterBy, setFilterBy] =
|
|
7286
|
-
const [searchBy, setSearchBy] =
|
|
7287
|
-
const [groupBy, setGroupBy] =
|
|
7288
|
-
const [selectedTags, setSelectedTags] =
|
|
7289
|
-
const [searchString, setSearchString] =
|
|
7290
|
-
const [searchMap, setSearchMap] =
|
|
7291
|
-
const actionContext = typeof context === "string" ?
|
|
7268
|
+
const [filterBy, setFilterBy] = useState14(null);
|
|
7269
|
+
const [searchBy, setSearchBy] = useState14(null);
|
|
7270
|
+
const [groupBy, setGroupBy] = useState14(null);
|
|
7271
|
+
const [selectedTags, setSelectedTags] = useState14(null);
|
|
7272
|
+
const [searchString, setSearchString] = useState14("");
|
|
7273
|
+
const [searchMap, setSearchMap] = useState14({});
|
|
7274
|
+
const actionContext = typeof context === "string" ? evalJSONContext8(context) : context;
|
|
7292
7275
|
const contextSearch = { ...env.context, ...actionContext };
|
|
7293
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] :
|
|
7276
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : evalJSONDomain6(domain, contextSearch) : [];
|
|
7294
7277
|
const clearSearch = () => {
|
|
7295
7278
|
setFilterBy([]);
|
|
7296
7279
|
setGroupBy([]);
|
package/dist/widget.d.mts
CHANGED
|
@@ -61,30 +61,35 @@ declare const many2oneButtonController: (props: any) => {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
interface IMany2ManyControllerProps extends IInputFieldProps {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
options
|
|
68
|
-
enabled
|
|
69
|
-
|
|
64
|
+
relation: string;
|
|
65
|
+
domain?: any;
|
|
66
|
+
context?: any;
|
|
67
|
+
options?: any;
|
|
68
|
+
enabled?: boolean;
|
|
69
|
+
service?: string;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
declare const many2manyFieldController: (props: IMany2ManyControllerProps) => {
|
|
73
|
-
handleCreateNewOnPage: () => Promise<void>;
|
|
74
|
-
optionsObject: any;
|
|
75
|
-
totalRows: any;
|
|
76
73
|
rows: any;
|
|
77
74
|
columns: any;
|
|
75
|
+
optionsObject: any;
|
|
76
|
+
viewData: any;
|
|
77
|
+
totalRows: any;
|
|
78
78
|
onToggleColumnOptional: (item: any) => void;
|
|
79
79
|
typeTable: "list" | "group" | "calendar" | undefined;
|
|
80
80
|
isLoading: boolean;
|
|
81
81
|
isFetched: boolean;
|
|
82
82
|
isPlaceholderData: boolean;
|
|
83
|
-
setPage: react.Dispatch<react.SetStateAction<number>>;
|
|
84
83
|
page: number;
|
|
85
|
-
|
|
84
|
+
pageLimit: number;
|
|
85
|
+
groupByList: any;
|
|
86
|
+
selectedRowKeys: number[];
|
|
86
87
|
domain: any;
|
|
88
|
+
setPage: react.Dispatch<react.SetStateAction<number>>;
|
|
87
89
|
setDomain: react.Dispatch<any>;
|
|
90
|
+
setPageLimit: react.Dispatch<react.SetStateAction<number>>;
|
|
91
|
+
setGroupByList: react.Dispatch<any>;
|
|
92
|
+
setSelectedRowKeys: react.Dispatch<react.SetStateAction<number[]>>;
|
|
88
93
|
searchController: {
|
|
89
94
|
groupBy: any[] | null;
|
|
90
95
|
searchBy: any[] | null;
|
|
@@ -102,6 +107,7 @@ declare const many2manyFieldController: (props: IMany2ManyControllerProps) => {
|
|
|
102
107
|
domain: any[] | undefined;
|
|
103
108
|
context: any;
|
|
104
109
|
};
|
|
110
|
+
handleCreateNewOnPage: () => Promise<void>;
|
|
105
111
|
};
|
|
106
112
|
|
|
107
113
|
interface IMany2ManyTagFieldProps extends IInputFieldProps {
|
package/dist/widget.d.ts
CHANGED
|
@@ -61,30 +61,35 @@ declare const many2oneButtonController: (props: any) => {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
interface IMany2ManyControllerProps extends IInputFieldProps {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
options
|
|
68
|
-
enabled
|
|
69
|
-
|
|
64
|
+
relation: string;
|
|
65
|
+
domain?: any;
|
|
66
|
+
context?: any;
|
|
67
|
+
options?: any;
|
|
68
|
+
enabled?: boolean;
|
|
69
|
+
service?: string;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
declare const many2manyFieldController: (props: IMany2ManyControllerProps) => {
|
|
73
|
-
handleCreateNewOnPage: () => Promise<void>;
|
|
74
|
-
optionsObject: any;
|
|
75
|
-
totalRows: any;
|
|
76
73
|
rows: any;
|
|
77
74
|
columns: any;
|
|
75
|
+
optionsObject: any;
|
|
76
|
+
viewData: any;
|
|
77
|
+
totalRows: any;
|
|
78
78
|
onToggleColumnOptional: (item: any) => void;
|
|
79
79
|
typeTable: "list" | "group" | "calendar" | undefined;
|
|
80
80
|
isLoading: boolean;
|
|
81
81
|
isFetched: boolean;
|
|
82
82
|
isPlaceholderData: boolean;
|
|
83
|
-
setPage: react.Dispatch<react.SetStateAction<number>>;
|
|
84
83
|
page: number;
|
|
85
|
-
|
|
84
|
+
pageLimit: number;
|
|
85
|
+
groupByList: any;
|
|
86
|
+
selectedRowKeys: number[];
|
|
86
87
|
domain: any;
|
|
88
|
+
setPage: react.Dispatch<react.SetStateAction<number>>;
|
|
87
89
|
setDomain: react.Dispatch<any>;
|
|
90
|
+
setPageLimit: react.Dispatch<react.SetStateAction<number>>;
|
|
91
|
+
setGroupByList: react.Dispatch<any>;
|
|
92
|
+
setSelectedRowKeys: react.Dispatch<react.SetStateAction<number[]>>;
|
|
88
93
|
searchController: {
|
|
89
94
|
groupBy: any[] | null;
|
|
90
95
|
searchBy: any[] | null;
|
|
@@ -102,6 +107,7 @@ declare const many2manyFieldController: (props: IMany2ManyControllerProps) => {
|
|
|
102
107
|
domain: any[] | undefined;
|
|
103
108
|
context: any;
|
|
104
109
|
};
|
|
110
|
+
handleCreateNewOnPage: () => Promise<void>;
|
|
105
111
|
};
|
|
106
112
|
|
|
107
113
|
interface IMany2ManyTagFieldProps extends IInputFieldProps {
|