@fctc/widget-logic 1.2.5 → 1.2.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 +5 -41
- package/dist/hooks.d.ts +5 -41
- package/dist/hooks.js +18 -108
- package/dist/hooks.mjs +19 -113
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +177 -267
- package/dist/index.mjs +51 -145
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4702,7 +4702,7 @@ var useCompany = (accessToken) => {
|
|
|
4702
4702
|
var use_company_default = useCompany;
|
|
4703
4703
|
|
|
4704
4704
|
// src/hooks/core/use-app-provider.tsx
|
|
4705
|
-
import { evalJSONContext
|
|
4705
|
+
import { evalJSONContext } from "@fctc/interface-logic";
|
|
4706
4706
|
import { jsx } from "react/jsx-runtime";
|
|
4707
4707
|
var AppProviderInitialValue = {
|
|
4708
4708
|
config: {},
|
|
@@ -4724,7 +4724,9 @@ var AppProvider = ({ children }) => {
|
|
|
4724
4724
|
return combineContexts([user.context, company.context]);
|
|
4725
4725
|
}, [user.context, company.context]);
|
|
4726
4726
|
const menu = useMenu({ context: menuContext });
|
|
4727
|
-
const action = useMemo7(() =>
|
|
4727
|
+
const action = useMemo7(() => {
|
|
4728
|
+
return menu.state.action;
|
|
4729
|
+
}, [menu.state.action]);
|
|
4728
4730
|
const viewContext = useMemo7(() => {
|
|
4729
4731
|
return combineContexts([
|
|
4730
4732
|
menuContext,
|
|
@@ -4757,14 +4759,11 @@ var AppProvider = ({ children }) => {
|
|
|
4757
4759
|
}
|
|
4758
4760
|
);
|
|
4759
4761
|
};
|
|
4760
|
-
var MainAppProvider = ({
|
|
4761
|
-
children
|
|
4762
|
-
}) => {
|
|
4763
|
-
return /* @__PURE__ */ jsx(MainProvider, { children: /* @__PURE__ */ jsx(AppProvider, { children }) });
|
|
4764
|
-
};
|
|
4765
4762
|
var useAppProvider = () => {
|
|
4766
4763
|
const context = useContext(ReactContext);
|
|
4767
|
-
if (!context)
|
|
4764
|
+
if (!context) {
|
|
4765
|
+
return AppProviderInitialValue;
|
|
4766
|
+
}
|
|
4768
4767
|
return context;
|
|
4769
4768
|
};
|
|
4770
4769
|
|
|
@@ -4815,130 +4814,38 @@ function useDebounce(value, delay) {
|
|
|
4815
4814
|
}
|
|
4816
4815
|
|
|
4817
4816
|
// src/hooks/api/use-switch-locale.ts
|
|
4818
|
-
import {
|
|
4819
|
-
getEnv as getEnv5,
|
|
4820
|
-
selectEnv,
|
|
4821
|
-
useAppSelector as useAppSelector2,
|
|
4822
|
-
useSwitchLocale
|
|
4823
|
-
} from "@fctc/interface-logic";
|
|
4824
|
-
import { useCallback as useCallback2 } from "react";
|
|
4825
4817
|
var useSwitchLocaleHandler = () => {
|
|
4826
|
-
const switchUserLocale = useSwitchLocale();
|
|
4827
|
-
const env = getEnv5();
|
|
4828
|
-
const { context } = useAppSelector2(selectEnv);
|
|
4829
|
-
const switchLocale = useCallback2(
|
|
4830
|
-
async (langId) => {
|
|
4831
|
-
if (!langId) return;
|
|
4832
|
-
await switchUserLocale.mutateAsync({
|
|
4833
|
-
data: {
|
|
4834
|
-
id: parseInt(context?.uid),
|
|
4835
|
-
values: { lang: langId }
|
|
4836
|
-
}
|
|
4837
|
-
});
|
|
4838
|
-
env.setLang(langId);
|
|
4839
|
-
},
|
|
4840
|
-
[switchUserLocale]
|
|
4841
|
-
);
|
|
4842
4818
|
return {
|
|
4843
|
-
switchLocale,
|
|
4844
|
-
isLoading: switchUserLocale.isPending,
|
|
4845
|
-
error: switchUserLocale.error
|
|
4819
|
+
// switchLocale,
|
|
4820
|
+
// isLoading: switchUserLocale.isPending,
|
|
4821
|
+
// error: switchUserLocale.error,
|
|
4846
4822
|
};
|
|
4847
4823
|
};
|
|
4848
4824
|
|
|
4849
4825
|
// src/hooks/api/use-login.ts
|
|
4850
|
-
import { useLoginCredential as useLoginCredential2 } from "@fctc/interface-logic";
|
|
4851
|
-
import { useCallback as useCallback3 } from "react";
|
|
4852
4826
|
var useLoginHandler = () => {
|
|
4853
|
-
const loginMutate = useLoginCredential2();
|
|
4854
|
-
const login = useCallback3(
|
|
4855
|
-
({
|
|
4856
|
-
email,
|
|
4857
|
-
password,
|
|
4858
|
-
path
|
|
4859
|
-
}, {
|
|
4860
|
-
onSuccess,
|
|
4861
|
-
onError
|
|
4862
|
-
}) => {
|
|
4863
|
-
loginMutate.mutate(
|
|
4864
|
-
{
|
|
4865
|
-
email,
|
|
4866
|
-
password,
|
|
4867
|
-
path
|
|
4868
|
-
},
|
|
4869
|
-
{
|
|
4870
|
-
onSuccess,
|
|
4871
|
-
onError
|
|
4872
|
-
}
|
|
4873
|
-
);
|
|
4874
|
-
},
|
|
4875
|
-
[loginMutate]
|
|
4876
|
-
);
|
|
4877
4827
|
return {
|
|
4878
|
-
login,
|
|
4879
|
-
isLoading: loginMutate.isPending,
|
|
4880
|
-
error: loginMutate.error
|
|
4828
|
+
// login,
|
|
4829
|
+
// isLoading: loginMutate.isPending,
|
|
4830
|
+
// error: loginMutate.error,
|
|
4881
4831
|
};
|
|
4882
4832
|
};
|
|
4883
4833
|
|
|
4884
4834
|
// src/hooks/api/use-forgot-password.ts
|
|
4885
|
-
import { useForgotPassword } from "@fctc/interface-logic";
|
|
4886
|
-
import { useCallback as useCallback4 } from "react";
|
|
4887
4835
|
var useForgotPasswordHandler = () => {
|
|
4888
|
-
const forgotPasswordMutate = useForgotPassword();
|
|
4889
|
-
const sendForgotPassword = useCallback4(
|
|
4890
|
-
(email, {
|
|
4891
|
-
onSuccess,
|
|
4892
|
-
onError
|
|
4893
|
-
} = {}) => {
|
|
4894
|
-
forgotPasswordMutate.mutate(email, {
|
|
4895
|
-
onSuccess,
|
|
4896
|
-
onError
|
|
4897
|
-
});
|
|
4898
|
-
},
|
|
4899
|
-
[forgotPasswordMutate]
|
|
4900
|
-
);
|
|
4901
4836
|
return {
|
|
4902
|
-
sendForgotPassword,
|
|
4903
|
-
isLoading: forgotPasswordMutate.isPending,
|
|
4904
|
-
error: forgotPasswordMutate.error
|
|
4837
|
+
// sendForgotPassword,
|
|
4838
|
+
// isLoading: forgotPasswordMutate.isPending,
|
|
4839
|
+
// error: forgotPasswordMutate.error,
|
|
4905
4840
|
};
|
|
4906
4841
|
};
|
|
4907
4842
|
|
|
4908
4843
|
// src/hooks/api/use-reset-password.ts
|
|
4909
|
-
import { useResetPassword } from "@fctc/interface-logic";
|
|
4910
|
-
import { useCallback as useCallback5 } from "react";
|
|
4911
4844
|
var useResetPasswordHandler = () => {
|
|
4912
|
-
const resetPasswordMutate = useResetPassword();
|
|
4913
|
-
const resetPassword = useCallback5(
|
|
4914
|
-
({
|
|
4915
|
-
password,
|
|
4916
|
-
confirmPassword,
|
|
4917
|
-
token
|
|
4918
|
-
}, {
|
|
4919
|
-
onSuccess,
|
|
4920
|
-
onError
|
|
4921
|
-
}) => {
|
|
4922
|
-
resetPasswordMutate.mutate(
|
|
4923
|
-
{
|
|
4924
|
-
data: {
|
|
4925
|
-
password,
|
|
4926
|
-
confirmPassword
|
|
4927
|
-
},
|
|
4928
|
-
token
|
|
4929
|
-
},
|
|
4930
|
-
{
|
|
4931
|
-
onSuccess,
|
|
4932
|
-
onError
|
|
4933
|
-
}
|
|
4934
|
-
);
|
|
4935
|
-
},
|
|
4936
|
-
[resetPasswordMutate]
|
|
4937
|
-
);
|
|
4938
4845
|
return {
|
|
4939
|
-
resetPassword,
|
|
4940
|
-
isLoading: resetPasswordMutate.isPending,
|
|
4941
|
-
error: resetPasswordMutate.error
|
|
4846
|
+
// resetPassword,
|
|
4847
|
+
// isLoading: resetPasswordMutate.isPending,
|
|
4848
|
+
// error: resetPasswordMutate.error,
|
|
4942
4849
|
};
|
|
4943
4850
|
};
|
|
4944
4851
|
|
|
@@ -5050,10 +4957,10 @@ var CloseIcon = ({ className = "" }) => {
|
|
|
5050
4957
|
|
|
5051
4958
|
// src/widget/basic/status-dropdown-field/controller.ts
|
|
5052
4959
|
import { useEffect as useEffect9, useRef as useRef3, useState as useState6 } from "react";
|
|
5053
|
-
import { getEnv as
|
|
4960
|
+
import { getEnv as getEnv5, useSave } from "@fctc/interface-logic";
|
|
5054
4961
|
var statusDropdownController = (props) => {
|
|
5055
4962
|
const { selection, isForm, id, model, name, state, onRefetch } = props;
|
|
5056
|
-
const env =
|
|
4963
|
+
const env = getEnv5();
|
|
5057
4964
|
const colors = {
|
|
5058
4965
|
normal: "bg-[#e9ecef]",
|
|
5059
4966
|
done: "bg-primary",
|
|
@@ -5102,14 +5009,14 @@ var statusDropdownController = (props) => {
|
|
|
5102
5009
|
};
|
|
5103
5010
|
|
|
5104
5011
|
// src/widget/basic/many2one-field/controller.ts
|
|
5105
|
-
import { useCallback as
|
|
5012
|
+
import { useCallback as useCallback2, useEffect as useEffect10, useMemo as useMemo8, useState as useState7 } from "react";
|
|
5106
5013
|
import {
|
|
5107
5014
|
evalJSONContext as evalJSONContext2,
|
|
5108
5015
|
evalJSONDomain as evalJSONDomain2,
|
|
5109
|
-
selectEnv
|
|
5016
|
+
selectEnv,
|
|
5110
5017
|
selectNavbar,
|
|
5111
5018
|
setListSubject,
|
|
5112
|
-
useAppSelector as
|
|
5019
|
+
useAppSelector as useAppSelector2,
|
|
5113
5020
|
useGetSelection
|
|
5114
5021
|
} from "@fctc/interface-logic";
|
|
5115
5022
|
var many2oneFieldController = (props) => {
|
|
@@ -5129,8 +5036,8 @@ var many2oneFieldController = (props) => {
|
|
|
5129
5036
|
const [options, setOptions] = useState7([]);
|
|
5130
5037
|
const [isShowModalMany2Many, setIsShowModalMany2Many] = useState7(false);
|
|
5131
5038
|
const [tempSelectedOption, setTempSelectedOption] = useState7(null);
|
|
5132
|
-
const { menuList } =
|
|
5133
|
-
const { context } =
|
|
5039
|
+
const { menuList } = useAppSelector2(selectNavbar);
|
|
5040
|
+
const { context } = useAppSelector2(selectEnv);
|
|
5134
5041
|
const [domainModal, setDomainModal] = useState7(null);
|
|
5135
5042
|
const initValue = methods?.getValues(name);
|
|
5136
5043
|
const domainObject = useMemo8(
|
|
@@ -5198,7 +5105,7 @@ var many2oneFieldController = (props) => {
|
|
|
5198
5105
|
localStorage.setItem("aid", actionId);
|
|
5199
5106
|
}
|
|
5200
5107
|
}, [actionId]);
|
|
5201
|
-
const handleChooseRecord =
|
|
5108
|
+
const handleChooseRecord = useCallback2(
|
|
5202
5109
|
(idRecord) => {
|
|
5203
5110
|
const newOption = options.find(
|
|
5204
5111
|
(option) => option.value === idRecord
|
|
@@ -5223,8 +5130,8 @@ var many2oneFieldController = (props) => {
|
|
|
5223
5130
|
},
|
|
5224
5131
|
[options, methods, name, onChange]
|
|
5225
5132
|
);
|
|
5226
|
-
const handleClose =
|
|
5227
|
-
const handleSelectChange =
|
|
5133
|
+
const handleClose = useCallback2(() => setIsShowModalMany2Many(false), []);
|
|
5134
|
+
const handleSelectChange = useCallback2(
|
|
5228
5135
|
(selectedOption) => {
|
|
5229
5136
|
if (!selectedOption) {
|
|
5230
5137
|
methods.setValue(name, null, { shouldDirty: true });
|
|
@@ -5249,7 +5156,7 @@ var many2oneFieldController = (props) => {
|
|
|
5249
5156
|
[methods, name, onChange]
|
|
5250
5157
|
);
|
|
5251
5158
|
const allowShowDetail = showDetail && contextObject?.form_view_ref && (!("no_open" in optionsObject) || optionsObject?.no_open === false);
|
|
5252
|
-
const fetchMoreOptions =
|
|
5159
|
+
const fetchMoreOptions = useCallback2(() => {
|
|
5253
5160
|
if (typeof dataOfSelection?.refetch === "function") {
|
|
5254
5161
|
;
|
|
5255
5162
|
dataOfSelection.refetch();
|
|
@@ -5284,13 +5191,13 @@ var many2oneFieldController = (props) => {
|
|
|
5284
5191
|
import {
|
|
5285
5192
|
evalJSONContext as evalJSONContext3,
|
|
5286
5193
|
evalJSONDomain as evalJSONDomain3,
|
|
5287
|
-
getEnv as
|
|
5194
|
+
getEnv as getEnv6,
|
|
5288
5195
|
useGetSelection as useGetSelection2
|
|
5289
5196
|
} from "@fctc/interface-logic";
|
|
5290
5197
|
var many2oneButtonController = (props) => {
|
|
5291
5198
|
const { domain, methods, relation } = props;
|
|
5292
5199
|
const actionDataString = sessionStorage.getItem("actionData");
|
|
5293
|
-
const env =
|
|
5200
|
+
const env = getEnv6();
|
|
5294
5201
|
const domainObject = evalJSONDomain3(domain, methods?.getValues() || {});
|
|
5295
5202
|
const actionData = actionDataString && actionDataString !== "undefined" ? JSON.parse(actionDataString) : {};
|
|
5296
5203
|
const { data: dataOfSelection } = useGetSelection2({
|
|
@@ -5315,14 +5222,14 @@ import { useEffect as useEffect14, useMemo as useMemo12, useState as useState10
|
|
|
5315
5222
|
import {
|
|
5316
5223
|
evalJSONContext as evalJSONContext4,
|
|
5317
5224
|
formatSortingString as formatSortingString2,
|
|
5318
|
-
getEnv as
|
|
5225
|
+
getEnv as getEnv8,
|
|
5319
5226
|
selectSearch as selectSearch5,
|
|
5320
5227
|
setFirstDomain,
|
|
5321
5228
|
setGroupByDomain,
|
|
5322
5229
|
setPage,
|
|
5323
5230
|
setViewDataStore,
|
|
5324
5231
|
useAppDispatch as useAppDispatch8,
|
|
5325
|
-
useAppSelector as
|
|
5232
|
+
useAppSelector as useAppSelector6,
|
|
5326
5233
|
useGetFormView,
|
|
5327
5234
|
useGetListData as useGetListData3,
|
|
5328
5235
|
useGetView as useGetView2,
|
|
@@ -5401,12 +5308,12 @@ import {
|
|
|
5401
5308
|
selectSearch as selectSearch2,
|
|
5402
5309
|
setSelectedRowKeys as setSelectedRowKeys2,
|
|
5403
5310
|
useAppDispatch as useAppDispatch6,
|
|
5404
|
-
useAppSelector as
|
|
5311
|
+
useAppSelector as useAppSelector3
|
|
5405
5312
|
} from "@fctc/interface-logic";
|
|
5406
5313
|
var tableHeadController = (props) => {
|
|
5407
5314
|
const { typeTable, rows, selectedRowKeysRef } = props;
|
|
5408
5315
|
const appDispatch = useAppDispatch6();
|
|
5409
|
-
const { groupByDomain } =
|
|
5316
|
+
const { groupByDomain } = useAppSelector3(selectSearch2);
|
|
5410
5317
|
const handleCheckBoxAll = (event) => {
|
|
5411
5318
|
if (event?.target?.checked && typeTable === "list") {
|
|
5412
5319
|
const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
|
|
@@ -5443,7 +5350,7 @@ import {
|
|
|
5443
5350
|
domainHelper,
|
|
5444
5351
|
selectList as selectList2,
|
|
5445
5352
|
selectSearch as selectSearch3,
|
|
5446
|
-
useAppSelector as
|
|
5353
|
+
useAppSelector as useAppSelector4
|
|
5447
5354
|
} from "@fctc/interface-logic";
|
|
5448
5355
|
import { useEffect as useEffect12, useMemo as useMemo10, useRef as useRef4, useState as useState8 } from "react";
|
|
5449
5356
|
var tableController = ({ data }) => {
|
|
@@ -5523,12 +5430,12 @@ var tableController = ({ data }) => {
|
|
|
5523
5430
|
|
|
5524
5431
|
// src/widget/advance/table/table-group/controller.ts
|
|
5525
5432
|
import {
|
|
5526
|
-
getEnv as
|
|
5433
|
+
getEnv as getEnv7,
|
|
5527
5434
|
selectList as selectList3,
|
|
5528
5435
|
selectSearch as selectSearch4,
|
|
5529
5436
|
setSelectedRowKeys as setSelectedRowKeys3,
|
|
5530
5437
|
useAppDispatch as useAppDispatch7,
|
|
5531
|
-
useAppSelector as
|
|
5438
|
+
useAppSelector as useAppSelector5,
|
|
5532
5439
|
useGetListData as useGetListData2,
|
|
5533
5440
|
useOdooDataTransform
|
|
5534
5441
|
} from "@fctc/interface-logic";
|
|
@@ -6302,7 +6209,7 @@ var i18n_default = i18n;
|
|
|
6302
6209
|
|
|
6303
6210
|
// src/widget/advance/table/table-group/controller.ts
|
|
6304
6211
|
var tableGroupController = (props) => {
|
|
6305
|
-
const env =
|
|
6212
|
+
const env = getEnv7();
|
|
6306
6213
|
const {
|
|
6307
6214
|
rows,
|
|
6308
6215
|
columns,
|
|
@@ -6322,8 +6229,8 @@ var tableGroupController = (props) => {
|
|
|
6322
6229
|
selectedRowKeysRef
|
|
6323
6230
|
} = props;
|
|
6324
6231
|
const [pageGroup, setPageGroup] = useState9(0);
|
|
6325
|
-
const { groupByDomain, selectedTags } =
|
|
6326
|
-
const { selectedRowKeys } =
|
|
6232
|
+
const { groupByDomain, selectedTags } = useAppSelector5(selectSearch4);
|
|
6233
|
+
const { selectedRowKeys } = useAppSelector5(selectList3);
|
|
6327
6234
|
const appDispatch = useAppDispatch7();
|
|
6328
6235
|
const { toDataJS } = useOdooDataTransform();
|
|
6329
6236
|
const initVal = toDataJS(row, viewData, model);
|
|
@@ -6483,8 +6390,8 @@ var many2manyFieldController = (props) => {
|
|
|
6483
6390
|
const [order, setOrder] = useState10();
|
|
6484
6391
|
const [isLoadedData, setIsLoadedData] = useState10(false);
|
|
6485
6392
|
const [domainMany2Many, setDomainMany2Many] = useState10(domain);
|
|
6486
|
-
const env =
|
|
6487
|
-
const { selectedTags } =
|
|
6393
|
+
const env = getEnv8();
|
|
6394
|
+
const { selectedTags } = useAppSelector6(selectSearch5);
|
|
6488
6395
|
const viewParams = {
|
|
6489
6396
|
model: relation,
|
|
6490
6397
|
views: [
|
|
@@ -6635,7 +6542,7 @@ import { useMemo as useMemo13 } from "react";
|
|
|
6635
6542
|
import {
|
|
6636
6543
|
evalJSONContext as evalJSONContext5,
|
|
6637
6544
|
evalJSONDomain as evalJSONDomain4,
|
|
6638
|
-
getEnv as
|
|
6545
|
+
getEnv as getEnv9,
|
|
6639
6546
|
useGetSelection as useGetSelection3,
|
|
6640
6547
|
WIDGETAVATAR,
|
|
6641
6548
|
WIDGETCOLOR
|
|
@@ -6650,7 +6557,7 @@ var many2manyTagsController = (props) => {
|
|
|
6650
6557
|
placeholderNoOption
|
|
6651
6558
|
} = props;
|
|
6652
6559
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
6653
|
-
const env =
|
|
6560
|
+
const env = getEnv9();
|
|
6654
6561
|
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
6655
6562
|
const domainObject = useMemo13(
|
|
6656
6563
|
() => evalJSONDomain4(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
@@ -6698,8 +6605,8 @@ var many2manyTagsController = (props) => {
|
|
|
6698
6605
|
import { useState as useState11 } from "react";
|
|
6699
6606
|
import {
|
|
6700
6607
|
evalJSONDomain as evalJSONDomain5,
|
|
6701
|
-
selectEnv as
|
|
6702
|
-
useAppSelector as
|
|
6608
|
+
selectEnv as selectEnv2,
|
|
6609
|
+
useAppSelector as useAppSelector7,
|
|
6703
6610
|
useChangeStatus,
|
|
6704
6611
|
useGetListData as useGetListData4
|
|
6705
6612
|
} from "@fctc/interface-logic";
|
|
@@ -6721,7 +6628,7 @@ var durationController = (props) => {
|
|
|
6721
6628
|
};
|
|
6722
6629
|
const [disabled, setDisabled] = useState11(false);
|
|
6723
6630
|
const [modelStatus, setModalStatus] = useState11(false);
|
|
6724
|
-
const { context } =
|
|
6631
|
+
const { context } = useAppSelector7(selectEnv2);
|
|
6725
6632
|
const queryKey = [`data-status-duration`, specification];
|
|
6726
6633
|
const listDataProps = {
|
|
6727
6634
|
model: relation,
|
|
@@ -7222,10 +7129,10 @@ var copyLinkButtonController = (props) => {
|
|
|
7222
7129
|
};
|
|
7223
7130
|
|
|
7224
7131
|
// src/widget/basic/color-field/color-controller.ts
|
|
7225
|
-
import { evalJSONContext as evalJSONContext7, getEnv as
|
|
7132
|
+
import { evalJSONContext as evalJSONContext7, getEnv as getEnv10, useSave as useSave3 } from "@fctc/interface-logic";
|
|
7226
7133
|
var colorFieldController = (props) => {
|
|
7227
7134
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
7228
|
-
const env =
|
|
7135
|
+
const env = getEnv10();
|
|
7229
7136
|
const _context = { ...evalJSONContext7(actionData?.context) || {} };
|
|
7230
7137
|
const contextObject = { ...env.context, ..._context };
|
|
7231
7138
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
@@ -7357,7 +7264,6 @@ export {
|
|
|
7357
7264
|
CloseIcon,
|
|
7358
7265
|
EyeIcon,
|
|
7359
7266
|
LoadingIcon,
|
|
7360
|
-
MainAppProvider,
|
|
7361
7267
|
STORAGES,
|
|
7362
7268
|
binaryFieldController,
|
|
7363
7269
|
colorFieldController,
|