@fctc/widget-logic 1.9.3 → 1.9.5
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 +58 -98
- package/dist/index.mjs +48 -93
- package/dist/types.d.mts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/widget.d.mts +7 -8
- package/dist/widget.d.ts +7 -8
- package/dist/widget.js +58 -98
- package/dist/widget.mjs +48 -93
- package/package.json +1 -1
package/dist/widget.mjs
CHANGED
|
@@ -4978,6 +4978,7 @@ var many2oneFieldController = (props) => {
|
|
|
4978
4978
|
options: fieldOptions,
|
|
4979
4979
|
showDetail
|
|
4980
4980
|
} = props;
|
|
4981
|
+
const { env } = (0, provider_exports.useEnv)();
|
|
4981
4982
|
const [options, setOptions] = useState7([]);
|
|
4982
4983
|
const [inputValue, setInputValue] = useState7("");
|
|
4983
4984
|
const [debouncedInputValue] = useDebounce(inputValue, 1e3);
|
|
@@ -4987,13 +4988,12 @@ var many2oneFieldController = (props) => {
|
|
|
4987
4988
|
const [domainObject, setDomainObject] = useState7(null);
|
|
4988
4989
|
const actionData = sessionStorageUtils.getActionData();
|
|
4989
4990
|
const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
|
|
4990
|
-
const { context } = (0, store_exports.useAppSelector)(store_exports.selectEnv);
|
|
4991
4991
|
const initValue = methods?.getValues(name);
|
|
4992
4992
|
const optionsObject = (0, utils_exports.evalJSONContext)(fieldOptions) || {};
|
|
4993
4993
|
const contextObject = {
|
|
4994
4994
|
...(0, utils_exports.evalJSONContext)(actionData?.context) || {},
|
|
4995
4995
|
...fieldContext,
|
|
4996
|
-
...context
|
|
4996
|
+
...env?.context
|
|
4997
4997
|
};
|
|
4998
4998
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
4999
4999
|
const data = {
|
|
@@ -5165,15 +5165,9 @@ var many2oneButtonController = (props) => {
|
|
|
5165
5165
|
|
|
5166
5166
|
// src/widget/basic/many2many-field/controller.ts
|
|
5167
5167
|
import { useEffect as useEffect11, useMemo as useMemo10, useState as useState8 } from "react";
|
|
5168
|
-
import {
|
|
5169
|
-
useAppDispatch as useAppDispatch5,
|
|
5170
|
-
setFirstDomain,
|
|
5171
|
-
setViewDataStore,
|
|
5172
|
-
setPage,
|
|
5173
|
-
setGroupByDomain
|
|
5174
|
-
} from "@fctc/interface-logic/store";
|
|
5175
5168
|
import {
|
|
5176
5169
|
evalJSONContext as evalJSONContext4,
|
|
5170
|
+
evalJSONDomain as evalJSONDomain4,
|
|
5177
5171
|
formatSortingString as formatSortingString2
|
|
5178
5172
|
} from "@fctc/interface-logic/utils";
|
|
5179
5173
|
var many2manyFieldController = (props) => {
|
|
@@ -5181,45 +5175,43 @@ var many2manyFieldController = (props) => {
|
|
|
5181
5175
|
relation,
|
|
5182
5176
|
domain,
|
|
5183
5177
|
context,
|
|
5178
|
+
options,
|
|
5184
5179
|
tab,
|
|
5185
|
-
model,
|
|
5186
|
-
aid,
|
|
5187
5180
|
setSelectedRowKeys: setSelectedRowKeys4,
|
|
5188
|
-
fields,
|
|
5189
|
-
setFields,
|
|
5190
5181
|
groupByDomain,
|
|
5191
|
-
|
|
5192
|
-
options,
|
|
5193
|
-
sessionStorageUtils
|
|
5182
|
+
enabled: enabledCallAPI
|
|
5194
5183
|
} = props;
|
|
5195
|
-
const appDispatch = useAppDispatch5();
|
|
5196
|
-
const actionData = sessionStorageUtils.getActionData();
|
|
5197
|
-
const [debouncedPage] = useDebounce(page, 500);
|
|
5198
|
-
const [order, setOrder] = useState8();
|
|
5199
|
-
const [isLoadedData, setIsLoadedData] = useState8(false);
|
|
5200
|
-
const [domainMany2Many, setDomainMany2Many] = useState8(domain);
|
|
5201
5184
|
const { env } = (0, provider_exports.useEnv)();
|
|
5202
5185
|
const { useGetView: useGetView2, useGetListData: useGetListData3, useGetFormView } = (0, provider_exports.useService)();
|
|
5186
|
+
const [order, setOrder] = useState8();
|
|
5187
|
+
const [isLoadedData, setIsLoadedData] = useState8(false);
|
|
5188
|
+
const [page, setPage] = useState8(0);
|
|
5189
|
+
const [domainMany2Many, setDomainMany2Many] = useState8(null);
|
|
5190
|
+
const [debouncedPage] = useDebounce(page, 500);
|
|
5191
|
+
const contextObject = {
|
|
5192
|
+
...env.context,
|
|
5193
|
+
...context || {}
|
|
5194
|
+
};
|
|
5203
5195
|
const viewParams = {
|
|
5204
5196
|
model: relation,
|
|
5205
5197
|
views: [
|
|
5206
5198
|
[false, "list"],
|
|
5207
5199
|
[false, "search"]
|
|
5208
5200
|
],
|
|
5209
|
-
context
|
|
5201
|
+
context: contextObject
|
|
5210
5202
|
};
|
|
5211
|
-
const { data: viewResponse } = useGetView2(viewParams,
|
|
5203
|
+
const { data: viewResponse } = useGetView2(viewParams, enabledCallAPI);
|
|
5212
5204
|
const baseModel = useMemo10(
|
|
5213
5205
|
() => ({
|
|
5214
5206
|
name: String(relation),
|
|
5215
5207
|
view: viewResponse || {},
|
|
5216
|
-
actContext:
|
|
5208
|
+
actContext: contextObject,
|
|
5217
5209
|
fields: [
|
|
5218
5210
|
...Object.values(viewResponse?.views?.list?.fields ?? {}),
|
|
5219
5211
|
...tab?.fields ? tab.fields : []
|
|
5220
5212
|
]
|
|
5221
5213
|
}),
|
|
5222
|
-
[
|
|
5214
|
+
[relation, viewResponse]
|
|
5223
5215
|
);
|
|
5224
5216
|
const initModel = (0, hooks_exports.useModel)();
|
|
5225
5217
|
const modelInstance = useMemo10(() => {
|
|
@@ -5238,26 +5230,15 @@ var many2manyFieldController = (props) => {
|
|
|
5238
5230
|
const optionsObject = tab?.options ? evalJSONContext4(tab?.options) : (options ? evalJSONContext4(options) : {}) || {};
|
|
5239
5231
|
const fetchData = async () => {
|
|
5240
5232
|
try {
|
|
5241
|
-
|
|
5242
|
-
|
|
5243
|
-
|
|
5244
|
-
const modalData = viewResponse?.views?.list?.fields.map((field) => ({
|
|
5245
|
-
...viewResponse?.models?.[String(model)]?.[field?.name],
|
|
5246
|
-
...field
|
|
5247
|
-
}));
|
|
5248
|
-
if (!fields?.[`${aid}_${relation}_popupmany2many`] && modalData) {
|
|
5249
|
-
setFields({
|
|
5250
|
-
...fields,
|
|
5251
|
-
[`${aid}_${relation}_popupmany2many`]: modalData
|
|
5252
|
-
});
|
|
5253
|
-
}
|
|
5254
|
-
appDispatch(setPage(0));
|
|
5233
|
+
const domainParse = typeof domain === "string" ? evalJSONDomain4(domain, contextObject) : Array.isArray(domain) ? domain : [];
|
|
5234
|
+
setDomainMany2Many(domainParse);
|
|
5235
|
+
setPage(0);
|
|
5255
5236
|
} catch (err) {
|
|
5256
5237
|
console.log(err);
|
|
5257
5238
|
}
|
|
5258
5239
|
};
|
|
5259
5240
|
const queryKey = [
|
|
5260
|
-
`view-${relation}
|
|
5241
|
+
`view-${relation}`,
|
|
5261
5242
|
specification,
|
|
5262
5243
|
domainMany2Many,
|
|
5263
5244
|
debouncedPage,
|
|
@@ -5270,16 +5251,16 @@ var many2manyFieldController = (props) => {
|
|
|
5270
5251
|
domain: domainMany2Many,
|
|
5271
5252
|
offset: debouncedPage * 10,
|
|
5272
5253
|
limit: 10,
|
|
5273
|
-
context,
|
|
5254
|
+
context: contextObject,
|
|
5274
5255
|
fields: groupByDomain?.fields,
|
|
5275
5256
|
groupby: [groupByDomain?.contexts[0]?.group_by],
|
|
5276
5257
|
sort: order ? order : default_order ? formatSortingString2(default_order) : ""
|
|
5277
5258
|
};
|
|
5278
|
-
const enabled = isLoadedData && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5259
|
+
const enabled = enabledCallAPI && isLoadedData && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5279
5260
|
const {
|
|
5280
5261
|
data: dataResponse,
|
|
5281
|
-
isLoading
|
|
5282
|
-
isFetched
|
|
5262
|
+
isLoading,
|
|
5263
|
+
isFetched,
|
|
5283
5264
|
isPlaceholderData
|
|
5284
5265
|
} = useGetListData3(data, queryKey, enabled);
|
|
5285
5266
|
useEffect11(() => {
|
|
@@ -5287,12 +5268,7 @@ var many2manyFieldController = (props) => {
|
|
|
5287
5268
|
fetchData();
|
|
5288
5269
|
}
|
|
5289
5270
|
return () => {
|
|
5290
|
-
|
|
5291
|
-
setFields((prevFields) => ({
|
|
5292
|
-
...prevFields,
|
|
5293
|
-
[`${aid}_${relation}_popupmany2many`]: null
|
|
5294
|
-
}));
|
|
5295
|
-
appDispatch(setPage(0));
|
|
5271
|
+
setPage(0);
|
|
5296
5272
|
setSelectedRowKeys4([]);
|
|
5297
5273
|
setDomainMany2Many(null);
|
|
5298
5274
|
setIsLoadedData(false);
|
|
@@ -5300,44 +5276,19 @@ var many2manyFieldController = (props) => {
|
|
|
5300
5276
|
}, [viewResponse]);
|
|
5301
5277
|
const { rows, columns, typeTable } = tableController({
|
|
5302
5278
|
data: {
|
|
5303
|
-
fields:
|
|
5279
|
+
fields: viewResponse?.views?.list?.fields,
|
|
5304
5280
|
records: dataResponse?.records ?? dataResponse?.groups,
|
|
5305
5281
|
dataModel: viewResponse?.models?.[String(relation)],
|
|
5306
|
-
context:
|
|
5282
|
+
context: contextObject,
|
|
5307
5283
|
typeTable: dataResponse?.groups ? "group" : "list"
|
|
5308
5284
|
}
|
|
5309
5285
|
});
|
|
5310
|
-
const dataFormView = {
|
|
5311
|
-
id: null,
|
|
5312
|
-
model: relation,
|
|
5313
|
-
context
|
|
5314
|
-
};
|
|
5315
|
-
const {
|
|
5316
|
-
refetch,
|
|
5317
|
-
data: dataFormViewResponse,
|
|
5318
|
-
isSuccess
|
|
5319
|
-
} = useGetFormView({
|
|
5320
|
-
data: dataFormView,
|
|
5321
|
-
queryKey: [`form-view-action-${relation}`],
|
|
5322
|
-
enabled: false
|
|
5323
|
-
});
|
|
5324
|
-
useEffect11(() => {
|
|
5325
|
-
if (isSuccess && dataFormViewResponse) {
|
|
5326
|
-
sessionStorage.setItem("actionData", JSON.stringify(dataFormViewResponse));
|
|
5327
|
-
window.location.href = `/form/menu?model=${relation}`;
|
|
5328
|
-
}
|
|
5329
|
-
}, [isSuccess]);
|
|
5330
5286
|
useEffect11(() => {
|
|
5331
5287
|
if (domainMany2Many && !isLoadedData) {
|
|
5332
5288
|
setIsLoadedData(true);
|
|
5333
5289
|
}
|
|
5334
5290
|
}, [domainMany2Many]);
|
|
5335
5291
|
const handleCreateNewOnPage = async () => {
|
|
5336
|
-
try {
|
|
5337
|
-
refetch();
|
|
5338
|
-
} catch (error) {
|
|
5339
|
-
console.log(error);
|
|
5340
|
-
}
|
|
5341
5292
|
};
|
|
5342
5293
|
return {
|
|
5343
5294
|
handleCreateNewOnPage,
|
|
@@ -5345,9 +5296,13 @@ var many2manyFieldController = (props) => {
|
|
|
5345
5296
|
rows,
|
|
5346
5297
|
columns,
|
|
5347
5298
|
typeTable,
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
isPlaceholderData
|
|
5299
|
+
isLoading,
|
|
5300
|
+
isFetched,
|
|
5301
|
+
isPlaceholderData,
|
|
5302
|
+
setPage,
|
|
5303
|
+
page,
|
|
5304
|
+
domain: domainMany2Many,
|
|
5305
|
+
setDomain: setDomainMany2Many
|
|
5351
5306
|
};
|
|
5352
5307
|
};
|
|
5353
5308
|
|
|
@@ -5356,7 +5311,7 @@ import { useMemo as useMemo11 } from "react";
|
|
|
5356
5311
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5357
5312
|
import { getEnv as getEnv7 } from "@fctc/interface-logic/environment";
|
|
5358
5313
|
import { useGetSelection as useGetSelection2 } from "@fctc/interface-logic/hooks";
|
|
5359
|
-
import { evalJSONContext as evalJSONContext5, evalJSONDomain as
|
|
5314
|
+
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain5 } from "@fctc/interface-logic/utils";
|
|
5360
5315
|
var many2manyTagsController = (props) => {
|
|
5361
5316
|
const {
|
|
5362
5317
|
relation,
|
|
@@ -5370,7 +5325,7 @@ var many2manyTagsController = (props) => {
|
|
|
5370
5325
|
const env = getEnv7();
|
|
5371
5326
|
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
5372
5327
|
const domainObject = useMemo11(
|
|
5373
|
-
() =>
|
|
5328
|
+
() => evalJSONDomain5(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5374
5329
|
[domain, formValues]
|
|
5375
5330
|
);
|
|
5376
5331
|
const data = {
|
|
@@ -5413,7 +5368,7 @@ var many2manyTagsController = (props) => {
|
|
|
5413
5368
|
|
|
5414
5369
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5415
5370
|
import { useState as useState9 } from "react";
|
|
5416
|
-
import { evalJSONDomain as
|
|
5371
|
+
import { evalJSONDomain as evalJSONDomain6 } from "@fctc/interface-logic/utils";
|
|
5417
5372
|
var durationController = (props) => {
|
|
5418
5373
|
const { relation, domain, formValues, name, id, model, onRefetch } = props;
|
|
5419
5374
|
const specification = {
|
|
@@ -5429,7 +5384,7 @@ var durationController = (props) => {
|
|
|
5429
5384
|
const listDataProps = {
|
|
5430
5385
|
model: relation,
|
|
5431
5386
|
specification,
|
|
5432
|
-
domain:
|
|
5387
|
+
domain: evalJSONDomain6(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5433
5388
|
limit: 10,
|
|
5434
5389
|
offset: 0,
|
|
5435
5390
|
fields: "",
|
|
@@ -6615,7 +6570,7 @@ var binaryFieldController = (props) => {
|
|
|
6615
6570
|
};
|
|
6616
6571
|
|
|
6617
6572
|
// src/widget/advance/table/table-body/controller.ts
|
|
6618
|
-
import { useAppDispatch as
|
|
6573
|
+
import { useAppDispatch as useAppDispatch5, setSelectedRowKeys } from "@fctc/interface-logic/store";
|
|
6619
6574
|
import { useEffect as useEffect13, useMemo as useMemo12 } from "react";
|
|
6620
6575
|
var tableBodyController = (props) => {
|
|
6621
6576
|
const {
|
|
@@ -6628,7 +6583,7 @@ var tableBodyController = (props) => {
|
|
|
6628
6583
|
selectedRowKeysRef,
|
|
6629
6584
|
onClickRow
|
|
6630
6585
|
} = props;
|
|
6631
|
-
const appDispatch =
|
|
6586
|
+
const appDispatch = useAppDispatch5();
|
|
6632
6587
|
const checked = useMemo12(() => {
|
|
6633
6588
|
if (!row?.id) return false;
|
|
6634
6589
|
if (selectedRowKeys?.includes(row.id)) {
|
|
@@ -6683,14 +6638,14 @@ var tableBodyController = (props) => {
|
|
|
6683
6638
|
|
|
6684
6639
|
// src/widget/advance/table/table-head/controller.ts
|
|
6685
6640
|
import {
|
|
6686
|
-
useAppDispatch as
|
|
6641
|
+
useAppDispatch as useAppDispatch6,
|
|
6687
6642
|
useAppSelector as useAppSelector4,
|
|
6688
6643
|
selectSearch as selectSearch3,
|
|
6689
6644
|
setSelectedRowKeys as setSelectedRowKeys2
|
|
6690
6645
|
} from "@fctc/interface-logic/store";
|
|
6691
6646
|
var tableHeadController = (props) => {
|
|
6692
6647
|
const { typeTable, rows, selectedRowKeysRef } = props;
|
|
6693
|
-
const appDispatch =
|
|
6648
|
+
const appDispatch = useAppDispatch6();
|
|
6694
6649
|
const { groupByDomain } = useAppSelector4(selectSearch3);
|
|
6695
6650
|
const handleCheckBoxAll = (event) => {
|
|
6696
6651
|
if (event?.target?.checked && typeTable === "list") {
|
|
@@ -6816,7 +6771,7 @@ import {
|
|
|
6816
6771
|
useAppSelector as useAppSelector6,
|
|
6817
6772
|
selectSearch as selectSearch5,
|
|
6818
6773
|
selectList as selectList4,
|
|
6819
|
-
useAppDispatch as
|
|
6774
|
+
useAppDispatch as useAppDispatch7,
|
|
6820
6775
|
setSelectedRowKeys as setSelectedRowKeys3
|
|
6821
6776
|
} from "@fctc/interface-logic/store";
|
|
6822
6777
|
|
|
@@ -6849,7 +6804,7 @@ var tableGroupController = (props) => {
|
|
|
6849
6804
|
const [pageGroup, setPageGroup] = useState14(0);
|
|
6850
6805
|
const { groupByDomain, selectedTags } = useAppSelector6(selectSearch5);
|
|
6851
6806
|
const { selectedRowKeys } = useAppSelector6(selectList4);
|
|
6852
|
-
const appDispatch =
|
|
6807
|
+
const appDispatch = useAppDispatch7();
|
|
6853
6808
|
const { toDataJS } = useOdooDataTransform();
|
|
6854
6809
|
const initVal = toDataJS(row, viewData, model);
|
|
6855
6810
|
const [isShowGroup, setIsShowGroup] = useState14(false);
|
|
@@ -6990,7 +6945,7 @@ var import_moment2 = __toESM(require_moment());
|
|
|
6990
6945
|
import { SearchType } from "@fctc/interface-logic/constants";
|
|
6991
6946
|
import {
|
|
6992
6947
|
domainHelper as domainHelper2,
|
|
6993
|
-
evalJSONDomain as
|
|
6948
|
+
evalJSONDomain as evalJSONDomain7,
|
|
6994
6949
|
validateAndParseDate
|
|
6995
6950
|
} from "@fctc/interface-logic/utils";
|
|
6996
6951
|
import { useCallback as useCallback3, useEffect as useEffect16, useState as useState15 } from "react";
|
|
@@ -7007,7 +6962,7 @@ var searchController = ({
|
|
|
7007
6962
|
const [groupBy, setGroupBy] = useState15(null);
|
|
7008
6963
|
const [selectedTags, setSelectedTags] = useState15(null);
|
|
7009
6964
|
const [searchString, setSearchString] = useState15("");
|
|
7010
|
-
const domainAction = actionData?.domain ? Array.isArray(actionData?.domain) ? [...actionData?.domain] :
|
|
6965
|
+
const domainAction = actionData?.domain ? Array.isArray(actionData?.domain) ? [...actionData?.domain] : evalJSONDomain7(actionData?.domain, contextSearch) : [];
|
|
7011
6966
|
const aid = actionData?.id;
|
|
7012
6967
|
const model = actionData?.res_model;
|
|
7013
6968
|
const clearSearch = () => {
|