@fctc/widget-logic 1.10.2 → 1.10.3
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 +152 -132
- package/dist/index.mjs +138 -122
- package/dist/types.d.mts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/widget.d.mts +42 -18
- package/dist/widget.d.ts +42 -18
- package/dist/widget.js +152 -132
- package/dist/widget.mjs +138 -122
- 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,15 +4988,14 @@ 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
|
-
const { useGetSelection:
|
|
4998
|
+
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
4999
4999
|
const data = {
|
|
5000
5000
|
model: relation,
|
|
5001
5001
|
domain: domainObject,
|
|
@@ -5011,7 +5011,7 @@ var many2oneFieldController = (props) => {
|
|
|
5011
5011
|
data: dataOfSelection,
|
|
5012
5012
|
refetch,
|
|
5013
5013
|
isFetching
|
|
5014
|
-
} =
|
|
5014
|
+
} = useGetSelection3({
|
|
5015
5015
|
data,
|
|
5016
5016
|
queryKey,
|
|
5017
5017
|
enabled: false
|
|
@@ -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,44 @@ 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
|
-
|
|
5193
|
-
sessionStorageUtils
|
|
5182
|
+
enabled: enabledCallAPI,
|
|
5183
|
+
actionData
|
|
5194
5184
|
} = 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
5185
|
const { env } = (0, provider_exports.useEnv)();
|
|
5202
5186
|
const { useGetView: useGetView2, useGetListData: useGetListData3, useGetFormView } = (0, provider_exports.useService)();
|
|
5187
|
+
const [order, setOrder] = useState8();
|
|
5188
|
+
const [isLoadedData, setIsLoadedData] = useState8(false);
|
|
5189
|
+
const [page, setPage] = useState8(0);
|
|
5190
|
+
const [domainMany2Many, setDomainMany2Many] = useState8(null);
|
|
5191
|
+
const [debouncedPage] = useDebounce(page, 500);
|
|
5192
|
+
const contextObject = {
|
|
5193
|
+
...env.context,
|
|
5194
|
+
...context || {}
|
|
5195
|
+
};
|
|
5203
5196
|
const viewParams = {
|
|
5204
5197
|
model: relation,
|
|
5205
5198
|
views: [
|
|
5206
5199
|
[false, "list"],
|
|
5207
5200
|
[false, "search"]
|
|
5208
5201
|
],
|
|
5209
|
-
context
|
|
5202
|
+
context: contextObject
|
|
5210
5203
|
};
|
|
5211
|
-
const { data: viewResponse } = useGetView2(viewParams,
|
|
5204
|
+
const { data: viewResponse } = useGetView2(viewParams, enabledCallAPI);
|
|
5212
5205
|
const baseModel = useMemo10(
|
|
5213
5206
|
() => ({
|
|
5214
5207
|
name: String(relation),
|
|
5215
5208
|
view: viewResponse || {},
|
|
5216
|
-
actContext:
|
|
5209
|
+
actContext: contextObject,
|
|
5217
5210
|
fields: [
|
|
5218
5211
|
...Object.values(viewResponse?.views?.list?.fields ?? {}),
|
|
5219
5212
|
...tab?.fields ? tab.fields : []
|
|
5220
5213
|
]
|
|
5221
5214
|
}),
|
|
5222
|
-
[
|
|
5215
|
+
[relation, viewResponse]
|
|
5223
5216
|
);
|
|
5224
5217
|
const initModel = (0, hooks_exports.useModel)();
|
|
5225
5218
|
const modelInstance = useMemo10(() => {
|
|
@@ -5238,26 +5231,15 @@ var many2manyFieldController = (props) => {
|
|
|
5238
5231
|
const optionsObject = tab?.options ? evalJSONContext4(tab?.options) : (options ? evalJSONContext4(options) : {}) || {};
|
|
5239
5232
|
const fetchData = async () => {
|
|
5240
5233
|
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));
|
|
5234
|
+
const domainParse = typeof domain === "string" ? evalJSONDomain4(domain, contextObject) : Array.isArray(domain) ? domain : [];
|
|
5235
|
+
setDomainMany2Many(domainParse);
|
|
5236
|
+
setPage(0);
|
|
5255
5237
|
} catch (err) {
|
|
5256
5238
|
console.log(err);
|
|
5257
5239
|
}
|
|
5258
5240
|
};
|
|
5259
5241
|
const queryKey = [
|
|
5260
|
-
`view-${relation}
|
|
5242
|
+
`view-${relation}`,
|
|
5261
5243
|
specification,
|
|
5262
5244
|
domainMany2Many,
|
|
5263
5245
|
debouncedPage,
|
|
@@ -5270,16 +5252,16 @@ var many2manyFieldController = (props) => {
|
|
|
5270
5252
|
domain: domainMany2Many,
|
|
5271
5253
|
offset: debouncedPage * 10,
|
|
5272
5254
|
limit: 10,
|
|
5273
|
-
context,
|
|
5255
|
+
context: contextObject,
|
|
5274
5256
|
fields: groupByDomain?.fields,
|
|
5275
5257
|
groupby: [groupByDomain?.contexts[0]?.group_by],
|
|
5276
5258
|
sort: order ? order : default_order ? formatSortingString2(default_order) : ""
|
|
5277
5259
|
};
|
|
5278
|
-
const enabled = isLoadedData && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5260
|
+
const enabled = enabledCallAPI && isLoadedData && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5279
5261
|
const {
|
|
5280
5262
|
data: dataResponse,
|
|
5281
|
-
isLoading
|
|
5282
|
-
isFetched
|
|
5263
|
+
isLoading,
|
|
5264
|
+
isFetched,
|
|
5283
5265
|
isPlaceholderData
|
|
5284
5266
|
} = useGetListData3(data, queryKey, enabled);
|
|
5285
5267
|
useEffect11(() => {
|
|
@@ -5287,74 +5269,87 @@ var many2manyFieldController = (props) => {
|
|
|
5287
5269
|
fetchData();
|
|
5288
5270
|
}
|
|
5289
5271
|
return () => {
|
|
5290
|
-
|
|
5291
|
-
setFields((prevFields) => ({
|
|
5292
|
-
...prevFields,
|
|
5293
|
-
[`${aid}_${relation}_popupmany2many`]: null
|
|
5294
|
-
}));
|
|
5295
|
-
appDispatch(setPage(0));
|
|
5272
|
+
setPage(0);
|
|
5296
5273
|
setSelectedRowKeys4([]);
|
|
5297
5274
|
setDomainMany2Many(null);
|
|
5298
5275
|
setIsLoadedData(false);
|
|
5299
5276
|
};
|
|
5300
5277
|
}, [viewResponse]);
|
|
5301
|
-
const { rows, columns, typeTable } = tableController({
|
|
5278
|
+
const { rows, columns, typeTable, onToggleColumnOptional } = tableController({
|
|
5302
5279
|
data: {
|
|
5303
|
-
fields:
|
|
5280
|
+
fields: viewResponse?.views?.list?.fields,
|
|
5304
5281
|
records: dataResponse?.records ?? dataResponse?.groups,
|
|
5305
5282
|
dataModel: viewResponse?.models?.[String(relation)],
|
|
5306
|
-
context:
|
|
5283
|
+
context: contextObject,
|
|
5307
5284
|
typeTable: dataResponse?.groups ? "group" : "list"
|
|
5308
5285
|
}
|
|
5309
5286
|
});
|
|
5310
|
-
const dataFormView = {
|
|
5311
|
-
id: null,
|
|
5312
|
-
model: relation,
|
|
5313
|
-
context
|
|
5314
|
-
};
|
|
5315
5287
|
const {
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5288
|
+
removeSearchItems,
|
|
5289
|
+
selectedTags,
|
|
5290
|
+
filterBy,
|
|
5291
|
+
setFilterBy,
|
|
5292
|
+
searchString,
|
|
5293
|
+
onSearchString,
|
|
5294
|
+
handleAddTagSearch,
|
|
5295
|
+
searchBy,
|
|
5296
|
+
groupBy,
|
|
5297
|
+
setGroupBy,
|
|
5298
|
+
domain: domainSearch
|
|
5299
|
+
} = searchController({
|
|
5300
|
+
viewData: viewResponse,
|
|
5301
|
+
actionData,
|
|
5302
|
+
fieldsList: [
|
|
5303
|
+
...columns?.filter(
|
|
5304
|
+
(col) => col?.field?.type_co === "field" && col?.optional !== "hide"
|
|
5305
|
+
)?.map((col) => ({ ...col.field })) ?? []
|
|
5306
|
+
]
|
|
5323
5307
|
});
|
|
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
5308
|
useEffect11(() => {
|
|
5331
5309
|
if (domainMany2Many && !isLoadedData) {
|
|
5332
5310
|
setIsLoadedData(true);
|
|
5333
5311
|
}
|
|
5334
5312
|
}, [domainMany2Many]);
|
|
5313
|
+
useEffect11(() => {
|
|
5314
|
+
setDomainMany2Many(domainSearch);
|
|
5315
|
+
}, [domainSearch]);
|
|
5335
5316
|
const handleCreateNewOnPage = async () => {
|
|
5336
|
-
try {
|
|
5337
|
-
refetch();
|
|
5338
|
-
} catch (error) {
|
|
5339
|
-
console.log(error);
|
|
5340
|
-
}
|
|
5341
5317
|
};
|
|
5342
5318
|
return {
|
|
5343
5319
|
handleCreateNewOnPage,
|
|
5344
5320
|
optionsObject,
|
|
5321
|
+
totalRows: dataResponse?.length ?? 0,
|
|
5345
5322
|
rows,
|
|
5346
5323
|
columns,
|
|
5324
|
+
onToggleColumnOptional,
|
|
5347
5325
|
typeTable,
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
isPlaceholderData
|
|
5326
|
+
isLoading,
|
|
5327
|
+
isFetched,
|
|
5328
|
+
isPlaceholderData,
|
|
5329
|
+
setPage,
|
|
5330
|
+
page,
|
|
5331
|
+
viewData: viewResponse,
|
|
5332
|
+
domain: domainMany2Many,
|
|
5333
|
+
// search
|
|
5334
|
+
removeSearchItems,
|
|
5335
|
+
selectedTags,
|
|
5336
|
+
filterBy,
|
|
5337
|
+
setFilterBy,
|
|
5338
|
+
searchString,
|
|
5339
|
+
onSearchString,
|
|
5340
|
+
handleAddTagSearch,
|
|
5341
|
+
searchBy,
|
|
5342
|
+
groupBy,
|
|
5343
|
+
setGroupBy
|
|
5351
5344
|
};
|
|
5352
5345
|
};
|
|
5353
5346
|
|
|
5354
5347
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5355
5348
|
import { useMemo as useMemo11 } from "react";
|
|
5356
5349
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5357
|
-
import {
|
|
5350
|
+
import { getEnv as getEnv7 } from "@fctc/interface-logic/environment";
|
|
5351
|
+
import { useGetSelection as useGetSelection2 } from "@fctc/interface-logic/hooks";
|
|
5352
|
+
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain5 } from "@fctc/interface-logic/utils";
|
|
5358
5353
|
var many2manyTagsController = (props) => {
|
|
5359
5354
|
const {
|
|
5360
5355
|
relation,
|
|
@@ -5365,11 +5360,10 @@ var many2manyTagsController = (props) => {
|
|
|
5365
5360
|
placeholderNoOption
|
|
5366
5361
|
} = props;
|
|
5367
5362
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
5368
|
-
const
|
|
5369
|
-
const { useGetSelection: useGetSelection2 } = (0, provider_exports.useService)();
|
|
5363
|
+
const env = getEnv7();
|
|
5370
5364
|
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
5371
5365
|
const domainObject = useMemo11(
|
|
5372
|
-
() =>
|
|
5366
|
+
() => evalJSONDomain5(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5373
5367
|
[domain, formValues]
|
|
5374
5368
|
);
|
|
5375
5369
|
const data = {
|
|
@@ -5405,15 +5399,16 @@ var many2manyTagsController = (props) => {
|
|
|
5405
5399
|
options,
|
|
5406
5400
|
customNoOptionsMessage,
|
|
5407
5401
|
tranfer,
|
|
5402
|
+
dataOfSelection,
|
|
5408
5403
|
isUser
|
|
5409
5404
|
};
|
|
5410
5405
|
};
|
|
5411
5406
|
|
|
5412
5407
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5413
5408
|
import { useState as useState9 } from "react";
|
|
5414
|
-
import { evalJSONDomain as
|
|
5409
|
+
import { evalJSONDomain as evalJSONDomain6 } from "@fctc/interface-logic/utils";
|
|
5415
5410
|
var durationController = (props) => {
|
|
5416
|
-
const { relation, domain, formValues, name, id, model, onRefetch
|
|
5411
|
+
const { relation, domain, formValues, name, id, model, onRefetch } = props;
|
|
5417
5412
|
const specification = {
|
|
5418
5413
|
id: 0,
|
|
5419
5414
|
name: "",
|
|
@@ -5427,7 +5422,7 @@ var durationController = (props) => {
|
|
|
5427
5422
|
const listDataProps = {
|
|
5428
5423
|
model: relation,
|
|
5429
5424
|
specification,
|
|
5430
|
-
domain:
|
|
5425
|
+
domain: evalJSONDomain6(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5431
5426
|
limit: 10,
|
|
5432
5427
|
offset: 0,
|
|
5433
5428
|
fields: "",
|
|
@@ -5437,11 +5432,7 @@ var durationController = (props) => {
|
|
|
5437
5432
|
},
|
|
5438
5433
|
sort: ""
|
|
5439
5434
|
};
|
|
5440
|
-
const { data: dataResponse } = useGetListData3(
|
|
5441
|
-
listDataProps,
|
|
5442
|
-
queryKey,
|
|
5443
|
-
enabled
|
|
5444
|
-
);
|
|
5435
|
+
const { data: dataResponse } = useGetListData3(listDataProps, queryKey);
|
|
5445
5436
|
const { mutate: fetchChangeStatus } = useChangeStatus();
|
|
5446
5437
|
const handleClick = async (stage_id) => {
|
|
5447
5438
|
setDisabled(true);
|
|
@@ -5477,18 +5468,32 @@ var durationController = (props) => {
|
|
|
5477
5468
|
};
|
|
5478
5469
|
|
|
5479
5470
|
// src/widget/basic/priority-field/controller.ts
|
|
5471
|
+
import { useSave as useSave2 } from "@fctc/interface-logic/hooks";
|
|
5480
5472
|
import { evalJSONContext as evalJSONContext6 } from "@fctc/interface-logic/utils";
|
|
5481
5473
|
var priorityFieldController = (props) => {
|
|
5482
|
-
const {
|
|
5474
|
+
const {
|
|
5475
|
+
value,
|
|
5476
|
+
isForm,
|
|
5477
|
+
name,
|
|
5478
|
+
methods,
|
|
5479
|
+
onChange,
|
|
5480
|
+
model,
|
|
5481
|
+
selection,
|
|
5482
|
+
id,
|
|
5483
|
+
actionData,
|
|
5484
|
+
viewData,
|
|
5485
|
+
context
|
|
5486
|
+
} = props;
|
|
5483
5487
|
const _context = { ...evalJSONContext6(actionData?.context) };
|
|
5484
5488
|
const contextObject = { ...context, ..._context };
|
|
5485
|
-
const
|
|
5489
|
+
const defaultPriority = parseInt(value) + 1;
|
|
5490
|
+
const label = viewData?.models?.[model]?.[name ?? ""]?.string ?? name;
|
|
5486
5491
|
const { mutateAsync: fetchSave } = useSave2();
|
|
5487
5492
|
const savePriorities = async ({
|
|
5488
|
-
value,
|
|
5493
|
+
value: value2,
|
|
5489
5494
|
resetPriority
|
|
5490
5495
|
}) => {
|
|
5491
|
-
const priorityValue =
|
|
5496
|
+
const priorityValue = value2 <= 0 ? 0 : value2 - 1;
|
|
5492
5497
|
try {
|
|
5493
5498
|
fetchSave({
|
|
5494
5499
|
ids: id ? [id] : [],
|
|
@@ -5506,7 +5511,14 @@ var priorityFieldController = (props) => {
|
|
|
5506
5511
|
}
|
|
5507
5512
|
};
|
|
5508
5513
|
return {
|
|
5509
|
-
|
|
5514
|
+
selection,
|
|
5515
|
+
isForm,
|
|
5516
|
+
methods,
|
|
5517
|
+
defaultPriority,
|
|
5518
|
+
savePriorities,
|
|
5519
|
+
label,
|
|
5520
|
+
id,
|
|
5521
|
+
onChange
|
|
5510
5522
|
};
|
|
5511
5523
|
};
|
|
5512
5524
|
|
|
@@ -6469,11 +6481,11 @@ import { evalJSONContext as evalJSONContext7 } from "@fctc/interface-logic/utils
|
|
|
6469
6481
|
var colorFieldController = (props) => {
|
|
6470
6482
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6471
6483
|
const { env } = (0, provider_exports.useEnv)();
|
|
6472
|
-
const { useSave:
|
|
6484
|
+
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6473
6485
|
const _context = { ...evalJSONContext7(actionData?.context) || {} };
|
|
6474
6486
|
const contextObject = { ...env.context, ..._context };
|
|
6475
6487
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6476
|
-
const { mutate: onSave } =
|
|
6488
|
+
const { mutate: onSave } = useSave3();
|
|
6477
6489
|
const savePickColor = async (colorObject) => {
|
|
6478
6490
|
const { id } = colorObject;
|
|
6479
6491
|
if (value === id) return;
|
|
@@ -6596,7 +6608,7 @@ var binaryFieldController = (props) => {
|
|
|
6596
6608
|
};
|
|
6597
6609
|
|
|
6598
6610
|
// src/widget/advance/table/table-body/controller.ts
|
|
6599
|
-
import { useAppDispatch as
|
|
6611
|
+
import { useAppDispatch as useAppDispatch5, setSelectedRowKeys } from "@fctc/interface-logic/store";
|
|
6600
6612
|
import { useEffect as useEffect13, useMemo as useMemo12 } from "react";
|
|
6601
6613
|
var tableBodyController = (props) => {
|
|
6602
6614
|
const {
|
|
@@ -6609,7 +6621,7 @@ var tableBodyController = (props) => {
|
|
|
6609
6621
|
selectedRowKeysRef,
|
|
6610
6622
|
onClickRow
|
|
6611
6623
|
} = props;
|
|
6612
|
-
const appDispatch =
|
|
6624
|
+
const appDispatch = useAppDispatch5();
|
|
6613
6625
|
const checked = useMemo12(() => {
|
|
6614
6626
|
if (!row?.id) return false;
|
|
6615
6627
|
if (selectedRowKeys?.includes(row.id)) {
|
|
@@ -6664,14 +6676,14 @@ var tableBodyController = (props) => {
|
|
|
6664
6676
|
|
|
6665
6677
|
// src/widget/advance/table/table-head/controller.ts
|
|
6666
6678
|
import {
|
|
6667
|
-
useAppDispatch as
|
|
6679
|
+
useAppDispatch as useAppDispatch6,
|
|
6668
6680
|
useAppSelector as useAppSelector4,
|
|
6669
6681
|
selectSearch as selectSearch3,
|
|
6670
6682
|
setSelectedRowKeys as setSelectedRowKeys2
|
|
6671
6683
|
} from "@fctc/interface-logic/store";
|
|
6672
6684
|
var tableHeadController = (props) => {
|
|
6673
6685
|
const { typeTable, rows, selectedRowKeysRef } = props;
|
|
6674
|
-
const appDispatch =
|
|
6686
|
+
const appDispatch = useAppDispatch6();
|
|
6675
6687
|
const { groupByDomain } = useAppSelector4(selectSearch3);
|
|
6676
6688
|
const handleCheckBoxAll = (event) => {
|
|
6677
6689
|
if (event?.target?.checked && typeTable === "list") {
|
|
@@ -6797,7 +6809,7 @@ import {
|
|
|
6797
6809
|
useAppSelector as useAppSelector6,
|
|
6798
6810
|
selectSearch as selectSearch5,
|
|
6799
6811
|
selectList as selectList4,
|
|
6800
|
-
useAppDispatch as
|
|
6812
|
+
useAppDispatch as useAppDispatch7,
|
|
6801
6813
|
setSelectedRowKeys as setSelectedRowKeys3
|
|
6802
6814
|
} from "@fctc/interface-logic/store";
|
|
6803
6815
|
|
|
@@ -6830,7 +6842,7 @@ var tableGroupController = (props) => {
|
|
|
6830
6842
|
const [pageGroup, setPageGroup] = useState14(0);
|
|
6831
6843
|
const { groupByDomain, selectedTags } = useAppSelector6(selectSearch5);
|
|
6832
6844
|
const { selectedRowKeys } = useAppSelector6(selectList4);
|
|
6833
|
-
const appDispatch =
|
|
6845
|
+
const appDispatch = useAppDispatch7();
|
|
6834
6846
|
const { toDataJS } = useOdooDataTransform();
|
|
6835
6847
|
const initVal = toDataJS(row, viewData, model);
|
|
6836
6848
|
const [isShowGroup, setIsShowGroup] = useState14(false);
|
|
@@ -6971,24 +6983,27 @@ var import_moment2 = __toESM(require_moment());
|
|
|
6971
6983
|
import { SearchType } from "@fctc/interface-logic/constants";
|
|
6972
6984
|
import {
|
|
6973
6985
|
domainHelper as domainHelper2,
|
|
6974
|
-
|
|
6986
|
+
evalJSONContext as evalJSONContext8,
|
|
6987
|
+
evalJSONDomain as evalJSONDomain7,
|
|
6975
6988
|
validateAndParseDate
|
|
6976
6989
|
} from "@fctc/interface-logic/utils";
|
|
6977
6990
|
import { useCallback as useCallback3, useEffect as useEffect16, useState as useState15 } from "react";
|
|
6978
6991
|
var searchController = ({
|
|
6979
6992
|
viewData,
|
|
6980
6993
|
actionData,
|
|
6981
|
-
fieldsList
|
|
6982
|
-
contextSearch,
|
|
6983
|
-
setSearchMap,
|
|
6984
|
-
searchMap
|
|
6994
|
+
fieldsList
|
|
6985
6995
|
}) => {
|
|
6996
|
+
const { env } = (0, provider_exports.useEnv)();
|
|
6986
6997
|
const [filterBy, setFilterBy] = useState15(null);
|
|
6987
6998
|
const [searchBy, setSearchBy] = useState15(null);
|
|
6988
6999
|
const [groupBy, setGroupBy] = useState15(null);
|
|
6989
7000
|
const [selectedTags, setSelectedTags] = useState15(null);
|
|
6990
7001
|
const [searchString, setSearchString] = useState15("");
|
|
6991
|
-
const
|
|
7002
|
+
const [searchMap, setSearchMap] = useState15({});
|
|
7003
|
+
const { context } = actionData || {};
|
|
7004
|
+
const actionContext = typeof context === "string" ? evalJSONContext8(context) : context;
|
|
7005
|
+
const contextSearch = { ...env.context, ...actionContext };
|
|
7006
|
+
const domainAction = actionData?.domain ? Array.isArray(actionData?.domain) ? [...actionData?.domain] : evalJSONDomain7(actionData?.domain, contextSearch) : [];
|
|
6992
7007
|
const aid = actionData?.id;
|
|
6993
7008
|
const model = actionData?.res_model;
|
|
6994
7009
|
const clearSearch = () => {
|
|
@@ -7145,16 +7160,16 @@ var searchController = ({
|
|
|
7145
7160
|
const contexts = [];
|
|
7146
7161
|
let groupValues = [];
|
|
7147
7162
|
objValues?.forEach((objValue) => {
|
|
7148
|
-
const { context, value, active, groupIndex: groupIndex2, isDefault } = objValue;
|
|
7163
|
+
const { context: context2, value, active, groupIndex: groupIndex2, isDefault } = objValue;
|
|
7149
7164
|
const indexAppend = groupIndex2 != null ? groupIndex2 : viewData?.views?.search?.filters_by?.length ?? 0;
|
|
7150
7165
|
contexts.push(
|
|
7151
|
-
...Array.isArray(
|
|
7166
|
+
...Array.isArray(context2?.group_by) ? context2.group_by.map((item) => ({ group_by: item })) : [context2]
|
|
7152
7167
|
);
|
|
7153
7168
|
groupValues[indexAppend] = {
|
|
7154
7169
|
contexts: [
|
|
7155
|
-
...Array.isArray(
|
|
7170
|
+
...Array.isArray(context2?.group_by) ? context2.group_by.map((item) => ({
|
|
7156
7171
|
group_by: item
|
|
7157
|
-
})) : [
|
|
7172
|
+
})) : [context2]
|
|
7158
7173
|
],
|
|
7159
7174
|
strings: isDefault ? [value] : [...groupValues[indexAppend]?.strings ?? [], value]
|
|
7160
7175
|
};
|
|
@@ -7191,7 +7206,7 @@ var searchController = ({
|
|
|
7191
7206
|
value,
|
|
7192
7207
|
type,
|
|
7193
7208
|
title,
|
|
7194
|
-
context,
|
|
7209
|
+
context: context2,
|
|
7195
7210
|
active,
|
|
7196
7211
|
dataIndex
|
|
7197
7212
|
} = tag;
|
|
@@ -7199,13 +7214,13 @@ var searchController = ({
|
|
|
7199
7214
|
if (type === SearchType.FILTER) {
|
|
7200
7215
|
addSearchItems(`${SearchType.FILTER}_${groupIndex}`, {
|
|
7201
7216
|
...tag,
|
|
7202
|
-
domain: domain ? domainFormat.toList(
|
|
7217
|
+
domain: domain ? domainFormat.toList(context2) : null
|
|
7203
7218
|
});
|
|
7204
7219
|
} else if (type === SearchType.SEARCH) {
|
|
7205
7220
|
addSearchItems(`${SearchType.SEARCH}_${String(dataIndex)}`, {
|
|
7206
7221
|
...tag,
|
|
7207
7222
|
domain: domain ? domainFormat.toList({
|
|
7208
|
-
...
|
|
7223
|
+
...context2,
|
|
7209
7224
|
self: value
|
|
7210
7225
|
}) : null
|
|
7211
7226
|
});
|
|
@@ -7213,7 +7228,7 @@ var searchController = ({
|
|
|
7213
7228
|
addSearchItems(`${SearchType.GROUP}`, {
|
|
7214
7229
|
...tag,
|
|
7215
7230
|
domain: domain ? domainFormat.toList({
|
|
7216
|
-
context,
|
|
7231
|
+
context: context2,
|
|
7217
7232
|
self: value
|
|
7218
7233
|
}) : null
|
|
7219
7234
|
});
|
|
@@ -7233,7 +7248,8 @@ var searchController = ({
|
|
|
7233
7248
|
removeSearchItems,
|
|
7234
7249
|
onSearchString: onChangeSearchInput,
|
|
7235
7250
|
handleAddTagSearch,
|
|
7236
|
-
domain: formatDomain()
|
|
7251
|
+
domain: formatDomain(),
|
|
7252
|
+
context: contextSearch
|
|
7237
7253
|
};
|
|
7238
7254
|
};
|
|
7239
7255
|
export {
|