@axelor/aos-mobile-core 6.4.2 → 6.5.1
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/README.md +65 -10
- package/lib/api/attached-files-api.js +1 -1
- package/lib/api/attached-files-api.js.map +1 -1
- package/lib/api/login-api.js +2 -0
- package/lib/api/login-api.js.map +1 -1
- package/lib/api/mail-message-api.js +1 -1
- package/lib/api/mail-message-api.js.map +1 -1
- package/lib/api/menu-config-api.js +24 -29
- package/lib/api/menu-config-api.js.map +1 -1
- package/lib/api/metafile-api.d.ts +4 -6
- package/lib/api/metafile-api.js +24 -25
- package/lib/api/metafile-api.js.map +1 -1
- package/lib/api/mobile-config-api.js +1 -1
- package/lib/api/mobile-config-api.js.map +1 -1
- package/lib/api/net-info-utils.js +1 -1
- package/lib/api/net-info-utils.js.map +1 -1
- package/lib/apiProviders/Action/ActionApiProvider.d.ts +5 -0
- package/lib/apiProviders/Action/ActionApiProvider.js +19 -0
- package/lib/apiProviders/Action/ActionApiProvider.js.map +1 -0
- package/lib/apiProviders/Action/ActionProvider.d.ts +12 -0
- package/lib/apiProviders/Action/ActionProvider.js +43 -0
- package/lib/apiProviders/Action/ActionProvider.js.map +1 -0
- package/lib/apiProviders/Action/AosActionApi.d.ts +8 -0
- package/lib/apiProviders/Action/AosActionApi.js +34 -0
- package/lib/apiProviders/Action/AosActionApi.js.map +1 -0
- package/lib/apiProviders/Action/GatewayActionApi.d.ts +8 -0
- package/lib/apiProviders/Action/GatewayActionApi.js +43 -0
- package/lib/apiProviders/Action/GatewayActionApi.js.map +1 -0
- package/lib/apiProviders/Action/index.d.ts +5 -0
- package/lib/apiProviders/Action/index.js +21 -0
- package/lib/apiProviders/Action/index.js.map +1 -0
- package/lib/apiProviders/Action/utils.d.ts +8 -0
- package/lib/apiProviders/Action/utils.js +19 -0
- package/lib/apiProviders/Action/utils.js.map +1 -0
- package/lib/apiProviders/Model/AopModelApi.d.ts +20 -0
- package/lib/apiProviders/Model/AopModelApi.js +42 -0
- package/lib/apiProviders/Model/AopModelApi.js.map +1 -0
- package/lib/apiProviders/Model/GatewayModelApi.d.ts +20 -0
- package/lib/apiProviders/Model/GatewayModelApi.js +52 -0
- package/lib/apiProviders/Model/GatewayModelApi.js.map +1 -0
- package/lib/apiProviders/Model/ModelApiProvider.d.ts +22 -0
- package/lib/apiProviders/Model/ModelApiProvider.js +19 -0
- package/lib/apiProviders/Model/ModelApiProvider.js.map +1 -0
- package/lib/apiProviders/Model/Provider.d.ts +12 -0
- package/lib/apiProviders/Model/Provider.js +43 -0
- package/lib/apiProviders/Model/Provider.js.map +1 -0
- package/lib/apiProviders/Model/index.d.ts +5 -0
- package/lib/apiProviders/Model/index.js +22 -0
- package/lib/apiProviders/Model/index.js.map +1 -0
- package/lib/apiProviders/Model/utils.d.ts +28 -0
- package/lib/apiProviders/Model/utils.js +19 -0
- package/lib/apiProviders/Model/utils.js.map +1 -0
- package/lib/apiProviders/Standard/AxiosProvider.d.ts +29 -0
- package/lib/{axios/AxiosApi.js → apiProviders/Standard/AxiosProvider.js} +4 -1
- package/lib/apiProviders/Standard/AxiosProvider.js.map +1 -0
- package/lib/apiProviders/Standard/ObjectFieldsProvider.d.ts +20 -0
- package/lib/apiProviders/Standard/ObjectFieldsProvider.js +84 -0
- package/lib/apiProviders/Standard/ObjectFieldsProvider.js.map +1 -0
- package/lib/apiProviders/Standard/index.d.ts +3 -0
- package/lib/apiProviders/Standard/index.js +21 -0
- package/lib/apiProviders/Standard/index.js.map +1 -0
- package/lib/apiProviders/Standard/requests.helper.d.ts +28 -0
- package/lib/apiProviders/Standard/requests.helper.js +80 -0
- package/lib/apiProviders/Standard/requests.helper.js.map +1 -0
- package/lib/apiProviders/index.d.ts +4 -0
- package/lib/apiProviders/index.js +22 -0
- package/lib/apiProviders/index.js.map +1 -0
- package/lib/{api → apiProviders}/utils.js +2 -2
- package/lib/apiProviders/utils.js.map +1 -0
- package/lib/app/Application.d.ts +1 -0
- package/lib/app/Application.js +1 -1
- package/lib/app/Application.js.map +1 -1
- package/lib/app/ContextedApplication.js +2 -2
- package/lib/app/ContextedApplication.js.map +1 -1
- package/lib/app/ContextsProvider.d.ts +2 -1
- package/lib/app/ContextsProvider.js +23 -1
- package/lib/app/ContextsProvider.js.map +1 -1
- package/lib/app/Module.d.ts +37 -10
- package/lib/app/RootNavigator.js +8 -1
- package/lib/app/RootNavigator.js.map +1 -1
- package/lib/app/context.helper.d.ts +5 -0
- package/lib/app/context.helper.js +69 -0
- package/lib/app/context.helper.js.map +1 -0
- package/lib/app/index.d.ts +2 -1
- package/lib/app/index.js +1 -0
- package/lib/app/index.js.map +1 -1
- package/lib/app/module-generation.helper.d.ts +14 -0
- package/lib/app/module-generation.helper.js +56 -0
- package/lib/app/module-generation.helper.js.map +1 -0
- package/lib/auth/api/company-api.js +7 -10
- package/lib/auth/api/company-api.js.map +1 -1
- package/lib/auth/api/config-api.js +2 -1
- package/lib/auth/api/config-api.js.map +1 -1
- package/lib/auth/api/language-api.js +1 -1
- package/lib/auth/api/language-api.js.map +1 -1
- package/lib/auth/api/user-api.js +1 -1
- package/lib/auth/api/user-api.js.map +1 -1
- package/lib/auth/features/companySlice.js +1 -1
- package/lib/auth/features/companySlice.js.map +1 -1
- package/lib/auth/features/configSlice.js +2 -1
- package/lib/auth/features/configSlice.js.map +1 -1
- package/lib/auth/features/languageSlice.js +1 -1
- package/lib/auth/features/languageSlice.js.map +1 -1
- package/lib/auth/features/userSlice.js +1 -1
- package/lib/auth/features/userSlice.js.map +1 -1
- package/lib/auth/hooks/use-auth-headers.d.ts +1 -0
- package/lib/auth/hooks/use-auth-headers.js +48 -0
- package/lib/auth/hooks/use-auth-headers.js.map +1 -0
- package/lib/auth/index.js +7 -0
- package/lib/auth/index.js.map +1 -1
- package/lib/auth/models/index.d.ts +1 -0
- package/lib/auth/models/index.js +19 -0
- package/lib/auth/models/index.js.map +1 -0
- package/lib/auth/models/objectFields.d.ts +2 -0
- package/lib/{components/molecules/IconSettings/IconSettings.js → auth/models/objectFields.js} +7 -13
- package/lib/auth/models/objectFields.js.map +1 -0
- package/lib/auth/screens/SettingsScreen.js +13 -1
- package/lib/auth/screens/SettingsScreen.js.map +1 -1
- package/lib/auth/screens/UserScreen.js +0 -6
- package/lib/auth/screens/UserScreen.js.map +1 -1
- package/lib/components/molecules/ErrorText/ErrorText.js +2 -31
- package/lib/components/molecules/ErrorText/ErrorText.js.map +1 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.d.ts +2 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js +9 -9
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js.map +1 -1
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.d.ts +4 -0
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js +10 -6
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js.map +1 -1
- package/lib/components/molecules/index.d.ts +0 -1
- package/lib/components/molecules/index.js +0 -1
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.d.ts +3 -1
- package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.js +5 -8
- package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.js.map +1 -1
- package/lib/components/organisms/DateInput/DateInput.js +1 -1
- package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -3
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +31 -36
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
- package/lib/components/organisms/MailMessageCard/MailMessageCard.d.ts +1 -2
- package/lib/components/organisms/MailMessageCard/MailMessageCard.js +2 -2
- package/lib/components/organisms/MailMessageCard/MailMessageCard.js.map +1 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.d.ts +1 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js +3 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js.map +1 -1
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.d.ts +1 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js +4 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js.map +1 -1
- package/lib/components/templates/MailMessageView/MailMessageView.d.ts +1 -2
- package/lib/components/templates/MailMessageView/MailMessageView.js +38 -24
- package/lib/components/templates/MailMessageView/MailMessageView.js.map +1 -1
- package/lib/features/attachedFilesSlice.js +1 -1
- package/lib/features/attachedFilesSlice.js.map +1 -1
- package/lib/features/index.d.ts +1 -0
- package/lib/features/index.js +1 -0
- package/lib/features/index.js.map +1 -1
- package/lib/features/mailMessageSlice.js +1 -1
- package/lib/features/mailMessageSlice.js.map +1 -1
- package/lib/features/menuConfigSlice.js +1 -1
- package/lib/features/menuConfigSlice.js.map +1 -1
- package/lib/features/metafileSlice.js +1 -1
- package/lib/features/metafileSlice.js.map +1 -1
- package/lib/features/mobileConfigSlice.js +1 -1
- package/lib/features/mobileConfigSlice.js.map +1 -1
- package/lib/features/onlineSlice.d.ts +11 -0
- package/lib/features/onlineSlice.js +49 -0
- package/lib/features/onlineSlice.js.map +1 -0
- package/lib/header/HeaderActionsProvider.d.ts +15 -0
- package/lib/header/HeaderActionsProvider.js +60 -0
- package/lib/header/HeaderActionsProvider.js.map +1 -0
- package/lib/header/hooks.d.ts +37 -0
- package/lib/header/hooks.js +105 -0
- package/lib/header/hooks.js.map +1 -0
- package/lib/header/index.d.ts +3 -0
- package/lib/header/index.js +20 -0
- package/lib/header/index.js.map +1 -0
- package/lib/header/types.d.ts +22 -0
- package/lib/header/types.js +19 -0
- package/lib/header/types.js.map +1 -0
- package/lib/header/utils.d.ts +3 -0
- package/lib/header/utils.js +51 -0
- package/lib/header/utils.js.map +1 -0
- package/lib/hooks/use-background-function.d.ts +1 -0
- package/lib/hooks/use-background-function.js +35 -0
- package/lib/hooks/use-background-function.js.map +1 -0
- package/lib/hooks/use-header-registers.d.ts +1 -0
- package/lib/hooks/use-header-registers.js +21 -0
- package/lib/hooks/use-header-registers.js.map +1 -0
- package/lib/hooks/use-navigation.d.ts +1 -0
- package/lib/hooks/use-navigation.js +22 -0
- package/lib/hooks/use-navigation.js.map +1 -0
- package/lib/i18n/translations/en.json +5 -0
- package/lib/i18n/translations/fr.json +5 -0
- package/lib/index.d.ts +4 -3
- package/lib/index.js +4 -3
- package/lib/index.js.map +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.js +19 -0
- package/lib/models/index.js.map +1 -0
- package/lib/models/objectFields.d.ts +2 -0
- package/lib/models/objectFields.js +30 -0
- package/lib/models/objectFields.js.map +1 -0
- package/lib/navigator/Navigator.js +17 -40
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/drawer/DrawerContent.js +24 -4
- package/lib/navigator/drawer/DrawerContent.js.map +1 -1
- package/lib/navigator/drawer/Header.d.ts +7 -0
- package/lib/navigator/drawer/Header.js +71 -0
- package/lib/navigator/drawer/Header.js.map +1 -0
- package/lib/navigator/module.helper.d.ts +14 -8
- package/lib/navigator/module.helper.js +47 -3
- package/lib/navigator/module.helper.js.map +1 -1
- package/lib/screens/AttachedFilesScreen.d.ts +1 -2
- package/lib/screens/AttachedFilesScreen.js +2 -2
- package/lib/screens/AttachedFilesScreen.js.map +1 -1
- package/lib/screens/MailMessageScreen.d.ts +1 -2
- package/lib/screens/MailMessageScreen.js +2 -2
- package/lib/screens/MailMessageScreen.js.map +1 -1
- package/package.json +5 -4
- package/lib/api/utils.js.map +0 -1
- package/lib/axios/AxiosApi.d.ts +0 -12
- package/lib/axios/AxiosApi.js.map +0 -1
- package/lib/components/molecules/IconSettings/IconSettings.d.ts +0 -4
- package/lib/components/molecules/IconSettings/IconSettings.js.map +0 -1
- /package/lib/{api → apiProviders}/utils.d.ts +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import { axiosApiProvider } from './AxiosProvider';
|
|
19
|
+
import { getObjectFields, getSortFields } from './ObjectFieldsProvider';
|
|
20
|
+
class RequestBuilder {
|
|
21
|
+
requestLimit;
|
|
22
|
+
constructor() {
|
|
23
|
+
this.requestLimit = 10;
|
|
24
|
+
}
|
|
25
|
+
init(defaultRequestLimit) {
|
|
26
|
+
this.requestLimit = defaultRequestLimit;
|
|
27
|
+
}
|
|
28
|
+
createStandardSearch = ({ model, criteria = [], domain = '', domainContext = {}, fieldKey, sortKey, page = 0, numberElementsByPage, }) => {
|
|
29
|
+
if (model == null || fieldKey == null) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const limit = numberElementsByPage !== undefined
|
|
33
|
+
? numberElementsByPage
|
|
34
|
+
: this.requestLimit;
|
|
35
|
+
let data = {
|
|
36
|
+
criteria: [
|
|
37
|
+
{
|
|
38
|
+
operator: 'and',
|
|
39
|
+
criteria: criteria,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
if (domain != null && domain !== '') {
|
|
44
|
+
data._domain = domain;
|
|
45
|
+
data._domainContext = domainContext;
|
|
46
|
+
}
|
|
47
|
+
return axiosApiProvider.post({
|
|
48
|
+
url: `/ws/rest/${model}/search`,
|
|
49
|
+
data: {
|
|
50
|
+
data: data,
|
|
51
|
+
fields: getObjectFields(fieldKey),
|
|
52
|
+
sortBy: sortKey ? getSortFields(sortKey) : ['id'],
|
|
53
|
+
limit: limit,
|
|
54
|
+
offset: limit * page,
|
|
55
|
+
translate: true,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
createStandardFetch = ({ model, fieldKey, id, relatedFields = {}, }) => {
|
|
60
|
+
if (model == null || fieldKey == null) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
return axiosApiProvider.post({
|
|
64
|
+
url: `/ws/rest/${model}/${id}/fetch`,
|
|
65
|
+
data: {
|
|
66
|
+
fields: getObjectFields(fieldKey),
|
|
67
|
+
related: relatedFields,
|
|
68
|
+
translate: true,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export const requestBuilder = new RequestBuilder();
|
|
74
|
+
export const createStandardSearch = (searchOptions) => {
|
|
75
|
+
return requestBuilder.createStandardSearch({ ...searchOptions });
|
|
76
|
+
};
|
|
77
|
+
export const createStandardFetch = (fetchOptions) => {
|
|
78
|
+
return requestBuilder.createStandardFetch({ ...fetchOptions });
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=requests.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.helper.js","sourceRoot":"","sources":["../../../src/apiProviders/Standard/requests.helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAoBtE,MAAM,cAAc;IACV,YAAY,CAAS;IAE7B;QACE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,mBAA2B;QAC9B,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;IAC1C,CAAC;IAED,oBAAoB,GAAG,CAAC,EACtB,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,EAAE,EACX,aAAa,GAAG,EAAE,EAClB,QAAQ,EACR,OAAO,EACP,IAAI,GAAG,CAAC,EACR,oBAAoB,GACR,EAAgB,EAAE;QAC9B,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,KAAK,GACT,oBAAoB,KAAK,SAAS;YAChC,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAExB,IAAI,IAAI,GAAQ;YACd,QAAQ,EAAE;gBACR;oBACE,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,QAAQ;iBACnB;aACF;SACF,CAAC;QAEF,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;SACrC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC;YAC3B,GAAG,EAAE,YAAY,KAAK,SAAS;YAC/B,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;gBACjC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjD,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK,GAAG,IAAI;gBACpB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,mBAAmB,GAAG,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,EAAE,EACF,aAAa,GAAG,EAAE,GACP,EAAgB,EAAE;QAC7B,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC;YAC3B,GAAG,EAAE,YAAY,KAAK,IAAI,EAAE,QAAQ;YACpC,IAAI,EAAE;gBACJ,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;gBACjC,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC;CACH;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,aAA0B,EACZ,EAAE;IAChB,OAAO,cAAc,CAAC,oBAAoB,CAAC,EAAC,GAAG,aAAa,EAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAwB,EAAgB,EAAE;IAC5E,OAAO,cAAc,CAAC,mBAAmB,CAAC,EAAC,GAAG,YAAY,EAAC,CAAC,CAAC;AAC/D,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
export * from './Model';
|
|
19
|
+
export * from './Action';
|
|
20
|
+
export * from './Standard';
|
|
21
|
+
export { getApiResponseData, getFirstData, handlerApiCall, handlerError, } from './utils';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apiProviders/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,YAAY,GACb,MAAM,SAAS,CAAC"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import Toast from 'react-native-toast-message';
|
|
19
|
-
import { traceError } from '
|
|
19
|
+
import { traceError } from '../api/traceback-api';
|
|
20
20
|
import { i18nProvider } from '../i18n';
|
|
21
21
|
export const getApiResponseData = (response, { isArrayResponse = true }) => {
|
|
22
22
|
if (response.data && response.data.object != null) {
|
|
@@ -53,7 +53,7 @@ const manageError = (error, action, userId, { showErrorToast = true, errorTracin
|
|
|
53
53
|
type: 'error',
|
|
54
54
|
position: 'bottom',
|
|
55
55
|
bottomOffset: 20,
|
|
56
|
-
text1:
|
|
56
|
+
text1: `Error ${code}`,
|
|
57
57
|
text2: `${i18nProvider.i18n.t('Base_Failed_To')} ${i18nProvider.i18n.t(action)}: ${message}.`,
|
|
58
58
|
});
|
|
59
59
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/apiProviders/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/app/Application.d.ts
CHANGED
package/lib/app/Application.js
CHANGED
|
@@ -21,7 +21,7 @@ import ContextedApplication from './ContextedApplication';
|
|
|
21
21
|
import { authModule } from '../auth';
|
|
22
22
|
const Application = ({ modules: modulesProvided, mainMenu, additionalsReducers, version, themes, defaultTheme, writingThemes, defaultWritingTheme, showModulesSubtitle = false, configuration, }) => {
|
|
23
23
|
const modules = useRef([authModule, ...modulesProvided]).current;
|
|
24
|
-
return (<ContextsProvider modules={modules} additionalsReducers={additionalsReducers} defaultTheme={defaultTheme} themes={themes} defaultWritingTheme={defaultWritingTheme} writingThemes={writingThemes} defaultLanguage={configuration?.defaultLanguage}>
|
|
24
|
+
return (<ContextsProvider modules={modules} additionalsReducers={additionalsReducers} defaultTheme={defaultTheme} themes={themes} defaultWritingTheme={defaultWritingTheme} writingThemes={writingThemes} defaultLanguage={configuration?.defaultLanguage} defaultRequestLimit={configuration?.defaultRequestLimit}>
|
|
25
25
|
<ContextedApplication modules={modules} mainMenu={mainMenu} version={version} showModulesSubtitle={showModulesSubtitle} configuration={{
|
|
26
26
|
testInstanceConfig: configuration?.testInstanceConfig,
|
|
27
27
|
releaseInstanceConfig: configuration?.releaseInstanceConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/app/Application.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAGpC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/app/Application.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAGpC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAiCnC,MAAM,WAAW,GAAG,CAAC,EACnB,OAAO,EAAE,eAAe,EACxB,QAAQ,EACR,mBAAmB,EACnB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GAAG,KAAK,EAC3B,aAAa,GACI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAa,MAAM,CAAC,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3E,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,eAAe,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAChD,mBAAmB,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACxD;MAAA,CAAC,oBAAoB,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,aAAa,CAAC,CAAC;YACb,kBAAkB,EAAE,aAAa,EAAE,kBAAkB;YACrD,qBAAqB,EAAE,aAAa,EAAE,qBAAqB;SAC5D,CAAC,EAEN;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -32,8 +32,8 @@ const ContextedApplication = ({ modules, mainMenu, version, showModulesSubtitle
|
|
|
32
32
|
const styles = useMemo(() => getStyles(Colors), [Colors]);
|
|
33
33
|
const [, setRefresh] = useState(false);
|
|
34
34
|
const toastConfig = {
|
|
35
|
-
success: props => (<BaseToast {...props} style={[styles.success, styles.toast]} contentContainerStyle={styles.toastContent} text1Style={styles.title} text2Style={styles.detail} text2NumberOfLines={3}/>),
|
|
36
|
-
error: props => (<ErrorToast {...props} style={[styles.error, styles.toast]} contentContainerStyle={styles.toastContent} text1Style={styles.title} text2Style={styles.detail} text2NumberOfLines={3}/>),
|
|
35
|
+
success: (props) => (<BaseToast {...props} style={[styles.success, styles.toast]} contentContainerStyle={styles.toastContent} text1Style={styles.title} text2Style={styles.detail} text2NumberOfLines={3}/>),
|
|
36
|
+
error: (props) => (<ErrorToast {...props} style={[styles.error, styles.toast]} contentContainerStyle={styles.toastContent} text1Style={styles.title} text2Style={styles.detail} text2NumberOfLines={3}/>),
|
|
37
37
|
};
|
|
38
38
|
const traceBackPutMethod = useCallback(({ additionalURL, data }) => {
|
|
39
39
|
return axios.put(additionalURL, { data: data });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextedApplication.js","sourceRoot":"","sources":["../../src/app/ContextedApplication.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,eAAe,EAEf,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AA0B7D,MAAM,oBAAoB,GAAG,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,OAAO,EACP,mBAAmB,GAAG,KAAK,EAC3B,aAAa,GACa,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1D,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ContextedApplication.js","sourceRoot":"","sources":["../../src/app/ContextedApplication.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ interface ContextsProviderProps {
|
|
|
10
10
|
defaultWritingTheme?: Writing;
|
|
11
11
|
children: React.ReactNode;
|
|
12
12
|
defaultLanguage: string;
|
|
13
|
+
defaultRequestLimit: number;
|
|
13
14
|
}
|
|
14
|
-
declare const ContextsProvider: ({ modules, additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage, }: ContextsProviderProps) => JSX.Element;
|
|
15
|
+
declare const ContextsProvider: ({ modules, additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage, defaultRequestLimit, }: ContextsProviderProps) => JSX.Element;
|
|
15
16
|
export default ContextsProvider;
|
|
@@ -22,8 +22,13 @@ import { configI18n } from '../i18n/i18n';
|
|
|
22
22
|
import enTranslation from '../i18n/translations/en.json';
|
|
23
23
|
import frTranslation from '../i18n/translations/fr.json';
|
|
24
24
|
import { configGlobalStore } from '../redux/store';
|
|
25
|
+
import { useBackgroundFunction } from '../hooks/use-background-function';
|
|
26
|
+
import { addModuleModels } from './context.helper';
|
|
27
|
+
import { objectFieldsProvider } from '../apiProviders';
|
|
28
|
+
import { requestBuilder } from '../apiProviders/Standard/requests.helper';
|
|
29
|
+
import { core_modelAPI } from '../models';
|
|
25
30
|
const ApplicationContext = createContext(null);
|
|
26
|
-
const ContextsProvider = ({ modules, additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage = 'en', }) => {
|
|
31
|
+
const ContextsProvider = ({ modules, additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage = 'en', defaultRequestLimit = 10, }) => {
|
|
27
32
|
const [loading, setLoading] = useState(true);
|
|
28
33
|
const appTranslations = useMemo(() => modules
|
|
29
34
|
.filter(_module => _module.translations)
|
|
@@ -48,7 +53,24 @@ const ContextsProvider = ({ modules, additionalsReducers, themes, defaultTheme,
|
|
|
48
53
|
.reduce((reducers, _module) => ({ ...reducers, ..._module.reducers }), {
|
|
49
54
|
...additionalsReducers,
|
|
50
55
|
}), [additionalsReducers, modules]);
|
|
56
|
+
const modulesBackgroundFunctions = useMemo(() => {
|
|
57
|
+
return modules
|
|
58
|
+
.filter(_module => _module.backgroundFunctions)
|
|
59
|
+
.flatMap(_module => _module.backgroundFunctions);
|
|
60
|
+
}, [modules]);
|
|
51
61
|
const store = useMemo(() => configGlobalStore(externalsReducers), [externalsReducers]);
|
|
62
|
+
useBackgroundFunction(modulesBackgroundFunctions);
|
|
63
|
+
const modulesObjectFields = useMemo(() => modules
|
|
64
|
+
.filter(_module => _module.models)
|
|
65
|
+
.reduce(addModuleModels, {
|
|
66
|
+
objectFields: { ...core_modelAPI },
|
|
67
|
+
sortFields: {},
|
|
68
|
+
searchFields: {},
|
|
69
|
+
}), [modules]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
objectFieldsProvider.init(modulesObjectFields);
|
|
72
|
+
requestBuilder.init(defaultRequestLimit);
|
|
73
|
+
}, [defaultRequestLimit, modulesObjectFields]);
|
|
52
74
|
if (loading) {
|
|
53
75
|
return null;
|
|
54
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextsProvider.js","sourceRoot":"","sources":["../../src/app/ContextsProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACzE,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextsProvider.js","sourceRoot":"","sources":["../../src/app/ContextsProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACzE,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAExC,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AAc/C,MAAM,gBAAgB,GAAG,CAAC,EACxB,OAAO,EACP,mBAAmB,EACnB,MAAM,EACN,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,eAAe,GAAG,IAAI,EACtB,mBAAmB,GAAG,EAAE,GACF,EAAE,EAAE;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CACH,OAAO;SACJ,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;SACvC,MAAM,CACL,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,EAAE,EAAE,EAAC,GAAG,YAAY,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,EAAC;QACrD,EAAE,EAAE,EAAC,GAAG,YAAY,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,EAAC;KACtD,CAAC,EACF,EAAC,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAC,CACvC,EACL,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC;YACT,SAAS,EAAE;gBACT,EAAC,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,CAAC,EAAE,EAAC;gBACnD,EAAC,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,CAAC,EAAE,EAAC;aACpD;YACD,eAAe,EAAE,eAAe;SACjC,CAAC,CAAC;QACH,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,4CAA4C;QAC5C,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CACH,OAAO;SACJ,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAC,CAAC,EAAE;QACnE,GAAG,mBAAmB;KACvB,CAAC,EACN,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAC/B,CAAC;IAEF,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9C,OAAO,OAAO;aACX,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAC9C,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAC1C,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,qBAAqB,CAAC,0BAA0B,CAAC,CAAC;IAElD,MAAM,mBAAmB,GAAW,OAAO,CACzC,GAAG,EAAE,CACH,OAAO;SACJ,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACjC,MAAM,CAAC,eAAe,EAAE;QACvB,YAAY,EAAE,EAAC,GAAG,aAAa,EAAC;QAChC,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,EAAE;KACjB,CAAC,EACN,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CACrC;MAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CACrB;QAAA,CAAC,sBAAsB,CACrB;UAAA,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CACxD;YAAA,CAAC,oBAAoB,CACnB,MAAM,CAAC,CAAC,aAAa,CAAC,CACtB,YAAY,CAAC,CAAC,mBAAmB,CAAC,CAClC;cAAA,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,cAAc,CAC5C;YAAA,EAAE,oBAAoB,CACxB;UAAA,EAAE,aAAa,CACjB;QAAA,EAAE,sBAAsB,CAC1B;MAAA,EAAE,QAAQ,CACZ;IAAA,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/lib/app/Module.d.ts
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Reducer } from '@reduxjs/toolkit';
|
|
3
|
+
import { Schema } from 'yup';
|
|
4
|
+
export interface Menu {
|
|
5
|
+
title: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
screen: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
parent?: string;
|
|
10
|
+
order?: number;
|
|
11
|
+
}
|
|
12
|
+
interface ScreenOptions {
|
|
13
|
+
shadedHeader: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface Screen {
|
|
16
|
+
component: React.FC<any>;
|
|
17
|
+
title: string;
|
|
18
|
+
actionID?: string;
|
|
19
|
+
options?: ScreenOptions;
|
|
20
|
+
}
|
|
21
|
+
export interface ObjectFields {
|
|
22
|
+
[objectKey: string]: Schema;
|
|
23
|
+
}
|
|
24
|
+
export type SearchFields = FieldsList;
|
|
25
|
+
export type SortFields = FieldsList;
|
|
26
|
+
export interface FieldsList {
|
|
27
|
+
[objectKey: string]: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface Models {
|
|
30
|
+
objectFields?: ObjectFields;
|
|
31
|
+
sortFields?: SortFields;
|
|
32
|
+
searchFields?: SearchFields;
|
|
33
|
+
headerRegisters?: Function;
|
|
34
|
+
}
|
|
3
35
|
export interface Module {
|
|
4
36
|
name: string;
|
|
5
37
|
title?: string;
|
|
@@ -7,18 +39,10 @@ export interface Module {
|
|
|
7
39
|
icon?: string;
|
|
8
40
|
disabled?: boolean;
|
|
9
41
|
menus?: {
|
|
10
|
-
[
|
|
11
|
-
title: string;
|
|
12
|
-
icon: string;
|
|
13
|
-
screen: string;
|
|
14
|
-
disabled?: boolean;
|
|
15
|
-
};
|
|
42
|
+
[menuKey: string]: Menu;
|
|
16
43
|
};
|
|
17
44
|
screens?: {
|
|
18
|
-
[screenKey: string]:
|
|
19
|
-
component: React.FC<any>;
|
|
20
|
-
title: string;
|
|
21
|
-
};
|
|
45
|
+
[screenKey: string]: Screen;
|
|
22
46
|
};
|
|
23
47
|
translations?: {
|
|
24
48
|
[languageKey: string]: any;
|
|
@@ -26,4 +50,7 @@ export interface Module {
|
|
|
26
50
|
reducers?: {
|
|
27
51
|
[key: string]: Reducer;
|
|
28
52
|
};
|
|
53
|
+
backgroundFunctions?: Function[];
|
|
54
|
+
models?: Models;
|
|
29
55
|
}
|
|
56
|
+
export {};
|
package/lib/app/RootNavigator.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React, { useCallback, useEffect } from 'react';
|
|
18
|
+
import React, { useCallback, useEffect, useMemo } from 'react';
|
|
19
19
|
import { useSelector } from 'react-redux';
|
|
20
20
|
import { createNativeStackNavigator } from '@react-navigation/native-stack';
|
|
21
21
|
import LoginScreen from '../screens/LoginScreen';
|
|
@@ -23,12 +23,19 @@ import { default as CoreNavigator } from '../navigator/Navigator';
|
|
|
23
23
|
import { useConfig, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
24
24
|
import { getNetInfo } from '../api/net-info-utils';
|
|
25
25
|
import useTranslator from '../i18n/hooks/use-translator';
|
|
26
|
+
import { useHeaderRegisters } from '../hooks/use-header-registers';
|
|
26
27
|
const { Navigator, Screen } = createNativeStackNavigator();
|
|
27
28
|
const RootNavigator = ({ modules, mainMenu, version, showModulesSubtitle = false, onRefresh, configuration, }) => {
|
|
28
29
|
const Colors = useThemeColor();
|
|
29
30
|
const I18n = useTranslator();
|
|
30
31
|
const { isHeaderIndicatorVisible, setIsHeaderIndicatorVisible, setHeaderIndicatorState, } = useConfig();
|
|
31
32
|
const { logged } = useSelector(state => state.auth);
|
|
33
|
+
const modulesHeaderRegisters = useMemo(() => {
|
|
34
|
+
return modules
|
|
35
|
+
.filter(_module => _module.models?.headerRegisters)
|
|
36
|
+
.map(_module => _module.models.headerRegisters);
|
|
37
|
+
}, [modules]);
|
|
38
|
+
useHeaderRegisters(modulesHeaderRegisters);
|
|
32
39
|
const AppNavigator = useCallback(() => (<CoreNavigator modules={modules} mainMenu={mainMenu} showModulesSubtitle={showModulesSubtitle} onRefresh={onRefresh}/>), [modules, mainMenu, showModulesSubtitle, onRefresh]);
|
|
33
40
|
const checkInternetConnection = useCallback(async () => {
|
|
34
41
|
const { isConnected } = await getNetInfo();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootNavigator.js","sourceRoot":"","sources":["../../src/app/RootNavigator.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RootNavigator.js","sourceRoot":"","sources":["../../src/app/RootNavigator.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Models, Module, ObjectFields, SearchFields, SortFields } from './Module';
|
|
2
|
+
export declare const addModuleObjectFields: (objectFields: ObjectFields, moduleObjects: ObjectFields) => ObjectFields;
|
|
3
|
+
export declare const addModuleSortFields: (sortFields: SortFields, moduleObjects: SortFields) => import("./Module").FieldsList;
|
|
4
|
+
export declare const addModuleSearchFields: (searchFields: SearchFields, moduleObjects: SearchFields) => import("./Module").FieldsList;
|
|
5
|
+
export declare const addModuleModels: (models: Models, _module: Module) => Models;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
export const addModuleObjectFields = (objectFields, moduleObjects) => {
|
|
19
|
+
const result = { ...objectFields };
|
|
20
|
+
const currentObjects = Object.keys(result);
|
|
21
|
+
const newObjects = Object.keys(moduleObjects);
|
|
22
|
+
newObjects.forEach(_objectKey => {
|
|
23
|
+
if (currentObjects.includes(_objectKey)) {
|
|
24
|
+
result[_objectKey] = result[_objectKey].concat(moduleObjects[_objectKey]);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
result[_objectKey] = moduleObjects[_objectKey];
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
export const addModuleSortFields = (sortFields, moduleObjects) => {
|
|
33
|
+
const result = { ...sortFields };
|
|
34
|
+
const newObjects = Object.keys(moduleObjects);
|
|
35
|
+
newObjects.forEach(_objectKey => (result[_objectKey] = moduleObjects[_objectKey]));
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
export const addModuleSearchFields = (searchFields, moduleObjects) => {
|
|
39
|
+
const result = { ...searchFields };
|
|
40
|
+
const currentObjects = Object.keys(result);
|
|
41
|
+
const newObjects = Object.keys(moduleObjects);
|
|
42
|
+
newObjects.forEach(_objectKey => {
|
|
43
|
+
if (currentObjects.includes(_objectKey)) {
|
|
44
|
+
result[_objectKey] = [
|
|
45
|
+
...result[_objectKey],
|
|
46
|
+
...moduleObjects[_objectKey],
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
result[_objectKey] = moduleObjects[_objectKey];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
export const addModuleModels = (models, _module) => {
|
|
56
|
+
const fields = _module?.models;
|
|
57
|
+
return {
|
|
58
|
+
objectFields: fields?.objectFields
|
|
59
|
+
? addModuleObjectFields(models.objectFields, fields.objectFields)
|
|
60
|
+
: models.objectFields,
|
|
61
|
+
sortFields: fields?.sortFields
|
|
62
|
+
? addModuleSortFields(models.sortFields, fields.sortFields)
|
|
63
|
+
: models.sortFields,
|
|
64
|
+
searchFields: fields?.searchFields
|
|
65
|
+
? addModuleSearchFields(models.searchFields, fields.searchFields)
|
|
66
|
+
: models.searchFields,
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=context.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.helper.js","sourceRoot":"","sources":["../../src/app/context.helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAA0B,EAC1B,aAA2B,EAC3B,EAAE;IACF,MAAM,MAAM,GAAiB,EAAC,GAAG,YAAY,EAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC9B,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACvC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;SAC3E;aAAM;YACL,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,UAAsB,EACtB,aAAyB,EACzB,EAAE;IACF,MAAM,MAAM,GAAe,EAAC,GAAG,UAAU,EAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAO,CAChB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAC/D,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAA0B,EAC1B,aAA2B,EAC3B,EAAE;IACF,MAAM,MAAM,GAAiB,EAAC,GAAG,YAAY,EAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE9C,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC9B,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACvC,MAAM,CAAC,UAAU,CAAC,GAAG;gBACnB,GAAG,MAAM,CAAC,UAAU,CAAC;gBACrB,GAAG,aAAa,CAAC,UAAU,CAAC;aAC7B,CAAC;SACH;aAAM;YACL,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,OAAe,EAAU,EAAE;IACzE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAE/B,OAAO;QACL,YAAY,EAAE,MAAM,EAAE,YAAY;YAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;YACjE,CAAC,CAAC,MAAM,CAAC,YAAY;QACvB,UAAU,EAAE,MAAM,EAAE,UAAU;YAC5B,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC3D,CAAC,CAAC,MAAM,CAAC,UAAU;QACrB,YAAY,EAAE,MAAM,EAAE,YAAY;YAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;YACjE,CAAC,CAAC,MAAM,CAAC,YAAY;KACxB,CAAC;AACJ,CAAC,CAAC"}
|
package/lib/app/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as Application } from './Application';
|
|
2
2
|
export { default as ContextedApplication } from './ContextedApplication';
|
|
3
3
|
export { default as ContextsProvider } from './ContextsProvider';
|
|
4
|
-
export {
|
|
4
|
+
export { schemaContructor } from './module-generation.helper';
|
|
5
|
+
export { Menu, Models, Module, ObjectFields, Screen, SearchFields, SortFields, } from './Module';
|
|
5
6
|
export { default as RootNavigator } from './RootNavigator';
|
package/lib/app/index.js
CHANGED
|
@@ -18,5 +18,6 @@
|
|
|
18
18
|
export { default as Application } from './Application';
|
|
19
19
|
export { default as ContextedApplication } from './ContextedApplication';
|
|
20
20
|
export { default as ContextsProvider } from './ContextsProvider';
|
|
21
|
+
export { schemaContructor } from './module-generation.helper';
|
|
21
22
|
export { default as RootNavigator } from './RootNavigator';
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
package/lib/app/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,eAAe,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,eAAe,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAU5D,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AnyObject, ArraySchema, BooleanSchema, DateSchema, MixedSchema, NumberSchema, ObjectSchema, StringSchema } from 'yup';
|
|
2
|
+
declare class ObjectSchemaContructor {
|
|
3
|
+
constructor();
|
|
4
|
+
mixed(): MixedSchema<any>;
|
|
5
|
+
string(): StringSchema<any>;
|
|
6
|
+
number(): NumberSchema<any>;
|
|
7
|
+
boolean(): BooleanSchema<any>;
|
|
8
|
+
date(): DateSchema<any>;
|
|
9
|
+
array(): ArraySchema<any[], AnyObject>;
|
|
10
|
+
object(spec?: any): ObjectSchema<any>;
|
|
11
|
+
subObject(columnName?: string): ObjectSchema<any>;
|
|
12
|
+
}
|
|
13
|
+
export declare const schemaContructor: ObjectSchemaContructor;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import { array, boolean, date, mixed, number, object, string, } from 'yup';
|
|
19
|
+
class ObjectSchemaContructor {
|
|
20
|
+
constructor() { }
|
|
21
|
+
mixed() {
|
|
22
|
+
return mixed();
|
|
23
|
+
}
|
|
24
|
+
string() {
|
|
25
|
+
return string();
|
|
26
|
+
}
|
|
27
|
+
number() {
|
|
28
|
+
return number();
|
|
29
|
+
}
|
|
30
|
+
boolean() {
|
|
31
|
+
return boolean();
|
|
32
|
+
}
|
|
33
|
+
date() {
|
|
34
|
+
return date();
|
|
35
|
+
}
|
|
36
|
+
array() {
|
|
37
|
+
return array();
|
|
38
|
+
}
|
|
39
|
+
object(spec = {}) {
|
|
40
|
+
return object(spec);
|
|
41
|
+
}
|
|
42
|
+
subObject(columnName) {
|
|
43
|
+
const baseSchema = this.object({
|
|
44
|
+
id: this.number(),
|
|
45
|
+
$version: this.number(),
|
|
46
|
+
});
|
|
47
|
+
if (columnName == null) {
|
|
48
|
+
return baseSchema;
|
|
49
|
+
}
|
|
50
|
+
return baseSchema.concat(this.object({
|
|
51
|
+
[columnName]: this.string(),
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export const schemaContructor = new ObjectSchemaContructor();
|
|
56
|
+
//# sourceMappingURL=module-generation.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-generation.helper.js","sourceRoot":"","sources":["../../src/app/module-generation.helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAEL,KAAK,EAEL,OAAO,EAEP,IAAI,EAEJ,KAAK,EAEL,MAAM,EAEN,MAAM,EAEN,MAAM,GAEP,MAAM,KAAK,CAAC;AAEb,MAAM,sBAAsB;IAC1B,gBAAe,CAAC;IAEhB,KAAK;QACH,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,MAAM;QACJ,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,MAAM;QACJ,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,OAAO;QACL,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK;QACH,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,OAAY,EAAE;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,UAAmB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7B,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;YACjB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;SACxB,CAAC,CAAC;QAEH,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,OAAO,UAAU,CAAC;SACnB;QAED,OAAO,UAAU,CAAC,MAAM,CACtB,IAAI,CAAC,MAAM,CAAC;YACV,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
|
|
@@ -15,17 +15,14 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
19
|
-
const companyFields = ['code', 'name', 'id'];
|
|
18
|
+
import { createStandardSearch } from '../../apiProviders';
|
|
20
19
|
export async function searchCompany() {
|
|
21
|
-
return
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
offset: 0,
|
|
28
|
-
},
|
|
20
|
+
return createStandardSearch({
|
|
21
|
+
model: 'com.axelor.apps.base.db.Company',
|
|
22
|
+
criteria: [],
|
|
23
|
+
fieldKey: 'auth_company',
|
|
24
|
+
numberElementsByPage: null,
|
|
25
|
+
page: 0,
|
|
29
26
|
});
|
|
30
27
|
}
|
|
31
28
|
//# sourceMappingURL=company-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"company-api.js","sourceRoot":"","sources":["../../../src/auth/api/company-api.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"company-api.js","sourceRoot":"","sources":["../../../src/auth/api/company-api.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,oBAAoB,CAAC;QAC1B,KAAK,EAAE,iCAAiC;QACxC,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,cAAc;QACxB,oBAAoB,EAAE,IAAI;QAC1B,IAAI,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import { axiosApiProvider } from '
|
|
18
|
+
import { axiosApiProvider } from '../../apiProviders';
|
|
19
19
|
export async function getBaseConfig() {
|
|
20
20
|
return axiosApiProvider.get({
|
|
21
21
|
url: '/ws/rest/com.axelor.apps.base.db.AppBase/',
|
|
@@ -34,6 +34,7 @@ export async function getMobileSettings() {
|
|
|
34
34
|
{
|
|
35
35
|
isTrackerMessageOnStockApp: true,
|
|
36
36
|
isTrackerMessageOnProductionApp: true,
|
|
37
|
+
isTrackerMessageOnCrmApp: true,
|
|
37
38
|
},
|
|
38
39
|
],
|
|
39
40
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-api.js","sourceRoot":"","sources":["../../../src/auth/api/config-api.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"config-api.js","sourceRoot":"","sources":["../../../src/auth/api/config-api.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAC1B,GAAG,EAAE,2CAA2C;KACjD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,gBAAgB;SACpB,GAAG,CAAC;QACH,GAAG,EAAE,qDAAqD;KAC3D,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,0BAA0B,EAAE,IAAI;4BAChC,+BAA+B,EAAE,IAAI;4BACrC,wBAAwB,EAAE,IAAI;yBAC/B;qBACF;iBACF;aACF,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACP,CAAC"}
|