@axelor/aos-mobile-quality 8.0.0
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 +44 -0
- package/lib/api/control-entry-api.d.ts +19 -0
- package/lib/api/control-entry-api.js +83 -0
- package/lib/api/control-entry-api.js.map +1 -0
- package/lib/api/control-entry-sample-api.d.ts +4 -0
- package/lib/api/control-entry-sample-api.js +37 -0
- package/lib/api/control-entry-sample-api.js.map +1 -0
- package/lib/api/control-entry-sample-line-api.d.ts +13 -0
- package/lib/api/control-entry-sample-line-api.js +96 -0
- package/lib/api/control-entry-sample-line-api.js.map +1 -0
- package/lib/api/control-plan-api.d.ts +3 -0
- package/lib/api/control-plan-api.js +26 -0
- package/lib/api/control-plan-api.js.map +1 -0
- package/lib/api/index.d.ts +4 -0
- package/lib/api/index.js +22 -0
- package/lib/api/index.js.map +1 -0
- package/lib/components/atoms/ControlEntryCard/ControlEntryCard.d.ts +11 -0
- package/lib/components/atoms/ControlEntryCard/ControlEntryCard.js +99 -0
- package/lib/components/atoms/ControlEntryCard/ControlEntryCard.js.map +1 -0
- package/lib/components/atoms/ControlEntryHeader/ControlEntryHeader.d.ts +2 -0
- package/lib/components/atoms/ControlEntryHeader/ControlEntryHeader.js +47 -0
- package/lib/components/atoms/ControlEntryHeader/ControlEntryHeader.js.map +1 -0
- package/lib/components/atoms/ControlEntrySampleCard/ControlEntrySampleCard.d.ts +8 -0
- package/lib/components/atoms/ControlEntrySampleCard/ControlEntrySampleCard.js +86 -0
- package/lib/components/atoms/ControlEntrySampleCard/ControlEntrySampleCard.js.map +1 -0
- package/lib/components/atoms/ControlEntrySampleLineHeader/ControlEntrySampleLineHeader.d.ts +2 -0
- package/lib/components/atoms/ControlEntrySampleLineHeader/ControlEntrySampleLineHeader.js +52 -0
- package/lib/components/atoms/ControlEntrySampleLineHeader/ControlEntrySampleLineHeader.js.map +1 -0
- package/lib/components/atoms/NavigationButton/NavigationButton.d.ts +7 -0
- package/lib/components/atoms/NavigationButton/NavigationButton.js +40 -0
- package/lib/components/atoms/NavigationButton/NavigationButton.js.map +1 -0
- package/lib/components/atoms/index.d.ts +5 -0
- package/lib/components/atoms/index.js +23 -0
- package/lib/components/atoms/index.js.map +1 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +20 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/molecules/ControlEntryDetailsButtons/ControlEntryDetailsButtons.d.ts +2 -0
- package/lib/components/molecules/ControlEntryDetailsButtons/ControlEntryDetailsButtons.js +38 -0
- package/lib/components/molecules/ControlEntryDetailsButtons/ControlEntryDetailsButtons.js.map +1 -0
- package/lib/components/molecules/ControlEntryDetailsHeader/ControlEntryDetailsHeader.d.ts +5 -0
- package/lib/components/molecules/ControlEntryDetailsHeader/ControlEntryDetailsHeader.js +72 -0
- package/lib/components/molecules/ControlEntryDetailsHeader/ControlEntryDetailsHeader.js.map +1 -0
- package/lib/components/molecules/ControlEntryFormButtons/ControlEntryFormButtons.d.ts +12 -0
- package/lib/components/molecules/ControlEntryFormButtons/ControlEntryFormButtons.js +66 -0
- package/lib/components/molecules/ControlEntryFormButtons/ControlEntryFormButtons.js.map +1 -0
- package/lib/components/molecules/ControlEntryFormHeader/ControlEntryFormHeader.d.ts +8 -0
- package/lib/components/molecules/ControlEntryFormHeader/ControlEntryFormHeader.js +54 -0
- package/lib/components/molecules/ControlEntryFormHeader/ControlEntryFormHeader.js.map +1 -0
- package/lib/components/molecules/FillingMethodAlert/FillingMethodAlert.d.ts +8 -0
- package/lib/components/molecules/FillingMethodAlert/FillingMethodAlert.js +60 -0
- package/lib/components/molecules/FillingMethodAlert/FillingMethodAlert.js.map +1 -0
- package/lib/components/molecules/index.d.ts +5 -0
- package/lib/components/molecules/index.js +23 -0
- package/lib/components/molecules/index.js.map +1 -0
- package/lib/features/asyncFunctions-index.d.ts +4 -0
- package/lib/features/asyncFunctions-index.js +22 -0
- package/lib/features/asyncFunctions-index.js.map +1 -0
- package/lib/features/controlEntrySampleLineSlice.d.ts +26 -0
- package/lib/features/controlEntrySampleLineSlice.js +66 -0
- package/lib/features/controlEntrySampleLineSlice.js.map +1 -0
- package/lib/features/controlEntrySampleSlice.d.ts +16 -0
- package/lib/features/controlEntrySampleSlice.js +49 -0
- package/lib/features/controlEntrySampleSlice.js.map +1 -0
- package/lib/features/controlEntrySlice.d.ts +38 -0
- package/lib/features/controlEntrySlice.js +81 -0
- package/lib/features/controlEntrySlice.js.map +1 -0
- package/lib/features/controlPlanSlice.d.ts +14 -0
- package/lib/features/controlPlanSlice.js +48 -0
- package/lib/features/controlPlanSlice.js.map +1 -0
- package/lib/features/index.d.ts +4 -0
- package/lib/features/index.js +22 -0
- package/lib/features/index.js.map +1 -0
- package/lib/hooks/use-quality-header-actions.d.ts +1 -0
- package/lib/hooks/use-quality-header-actions.js +50 -0
- package/lib/hooks/use-quality-header-actions.js.map +1 -0
- package/lib/i18n/en.json +29 -0
- package/lib/i18n/fr.json +29 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +60 -0
- package/lib/index.js.map +1 -0
- package/lib/models/index.d.ts +3 -0
- package/lib/models/index.js +21 -0
- package/lib/models/index.js.map +1 -0
- package/lib/models/objectFields.d.ts +2 -0
- package/lib/models/objectFields.js +51 -0
- package/lib/models/objectFields.js.map +1 -0
- package/lib/models/searchFields.d.ts +2 -0
- package/lib/models/searchFields.js +21 -0
- package/lib/models/searchFields.js.map +1 -0
- package/lib/models/sortFields.d.ts +2 -0
- package/lib/models/sortFields.js +26 -0
- package/lib/models/sortFields.js.map +1 -0
- package/lib/screens/ControlEntryDetailsScreen.d.ts +4 -0
- package/lib/screens/ControlEntryDetailsScreen.js +49 -0
- package/lib/screens/ControlEntryDetailsScreen.js.map +1 -0
- package/lib/screens/ControlEntryFormScreen.d.ts +5 -0
- package/lib/screens/ControlEntryFormScreen.js +190 -0
- package/lib/screens/ControlEntryFormScreen.js.map +1 -0
- package/lib/screens/ControlEntryListScreen.d.ts +4 -0
- package/lib/screens/ControlEntryListScreen.js +78 -0
- package/lib/screens/ControlEntryListScreen.js.map +1 -0
- package/lib/screens/index.d.ts +35 -0
- package/lib/screens/index.js +48 -0
- package/lib/screens/index.js.map +1 -0
- package/lib/types/controlEntry.d.ts +45 -0
- package/lib/types/controlEntry.js +155 -0
- package/lib/types/controlEntry.js.map +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +19 -0
- package/lib/types/index.js.map +1 -0
- package/package.json +50 -0
package/lib/index.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 QualityScreens from './screens';
|
|
19
|
+
import enTranslations from './i18n/en.json';
|
|
20
|
+
import frTranslations from './i18n/fr.json';
|
|
21
|
+
import { quality_modelAPI, quality_searchFields, quality_sortFields, } from './models';
|
|
22
|
+
import * as qualityReducers from './features';
|
|
23
|
+
import { useQualityHeaders } from './hooks/use-quality-header-actions';
|
|
24
|
+
export const QualityModule = {
|
|
25
|
+
name: 'app-quality',
|
|
26
|
+
title: 'Quality_Quality',
|
|
27
|
+
subtitle: 'Quality_Quality',
|
|
28
|
+
icon: 'clipboard-check',
|
|
29
|
+
compatibilityAOS: {
|
|
30
|
+
moduleName: 'axelor-quality',
|
|
31
|
+
downToVersion: '8.0.0',
|
|
32
|
+
},
|
|
33
|
+
translations: {
|
|
34
|
+
en: enTranslations,
|
|
35
|
+
fr: frTranslations,
|
|
36
|
+
},
|
|
37
|
+
menus: {
|
|
38
|
+
quality_menu_controlEntry: {
|
|
39
|
+
title: 'Quality_ControlEntries',
|
|
40
|
+
icon: 'card-checklist',
|
|
41
|
+
screen: 'ControlEntryListScreen',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
screens: {
|
|
45
|
+
...QualityScreens,
|
|
46
|
+
},
|
|
47
|
+
reducers: { ...qualityReducers },
|
|
48
|
+
models: {
|
|
49
|
+
objectFields: { ...quality_modelAPI },
|
|
50
|
+
sortFields: { ...quality_sortFields },
|
|
51
|
+
searchFields: { ...quality_searchFields },
|
|
52
|
+
headerRegisters: useQualityHeaders,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
export * from './api';
|
|
56
|
+
export * from './components';
|
|
57
|
+
export * from './features/asyncFunctions-index';
|
|
58
|
+
export * from './screens';
|
|
59
|
+
export * from './types';
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,cAAc,MAAM,WAAW,CAAC;AACvC,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,eAAe,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AAErE,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,iBAAiB;IAC3B,IAAI,EAAE,iBAAiB;IACvB,gBAAgB,EAAE;QAChB,UAAU,EAAE,gBAAgB;QAC5B,aAAa,EAAE,OAAO;KACvB;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,cAAc;KACnB;IACD,KAAK,EAAE;QACL,yBAAyB,EAAE;YACzB,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,wBAAwB;SACjC;KACF;IACD,OAAO,EAAE;QACP,GAAG,cAAc;KAClB;IACD,QAAQ,EAAE,EAAC,GAAG,eAAe,EAAC;IAC9B,MAAM,EAAE;QACN,YAAY,EAAE,EAAC,GAAG,gBAAgB,EAAC;QACnC,UAAU,EAAE,EAAC,GAAG,kBAAkB,EAAC;QACnC,YAAY,EAAE,EAAC,GAAG,oBAAoB,EAAC;QACvC,eAAe,EAAE,iBAAiB;KACnC;CACF,CAAC;AAEF,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,iCAAiC,CAAC;AAChD,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 { quality_searchFields } from './searchFields';
|
|
19
|
+
export { quality_sortFields } from './sortFields';
|
|
20
|
+
export { quality_modelAPI } from './objectFields';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 { schemaContructor } from '@axelor/aos-mobile-core';
|
|
19
|
+
export const quality_modelAPI = {
|
|
20
|
+
quality_controlEntry: schemaContructor.object({
|
|
21
|
+
inspector: schemaContructor.subObject(),
|
|
22
|
+
name: schemaContructor.string(),
|
|
23
|
+
controlEntrySamplesList: schemaContructor
|
|
24
|
+
.array()
|
|
25
|
+
.of(schemaContructor.subObject()),
|
|
26
|
+
entryDateTime: schemaContructor.string(),
|
|
27
|
+
statusSelect: schemaContructor.number(),
|
|
28
|
+
sampleCount: schemaContructor.number(),
|
|
29
|
+
controlPlan: schemaContructor.subObject(),
|
|
30
|
+
}),
|
|
31
|
+
quality_controlEntrySample: schemaContructor.object({
|
|
32
|
+
fullName: schemaContructor.string(),
|
|
33
|
+
resultSelect: schemaContructor.number(),
|
|
34
|
+
entrySampleNbr: schemaContructor.number(),
|
|
35
|
+
}),
|
|
36
|
+
quality_controlEntrySampleLine: schemaContructor.object({
|
|
37
|
+
name: schemaContructor.string(),
|
|
38
|
+
resultSelect: schemaContructor.number(),
|
|
39
|
+
controlPlanLine: schemaContructor.subObject().concat(schemaContructor.object({
|
|
40
|
+
characteristic: schemaContructor.subObject('name'),
|
|
41
|
+
})),
|
|
42
|
+
controlEntrySample: schemaContructor.subObject('fullName'),
|
|
43
|
+
}),
|
|
44
|
+
quality_controlPlan: schemaContructor.object({
|
|
45
|
+
name: schemaContructor.string(),
|
|
46
|
+
controlPlanLinesList: schemaContructor
|
|
47
|
+
.array()
|
|
48
|
+
.of(schemaContructor.subObject()),
|
|
49
|
+
}),
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=objectFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectFields.js","sourceRoot":"","sources":["../../src/models/objectFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAe,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,oBAAoB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE;QACvC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,uBAAuB,EAAE,gBAAgB;aACtC,KAAK,EAAE;aACP,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QACnC,aAAa,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACxC,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACvC,WAAW,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACtC,WAAW,EAAE,gBAAgB,CAAC,SAAS,EAAE;KAC1C,CAAC;IACF,0BAA0B,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAClD,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACvC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAC1C,CAAC;IACF,8BAA8B,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACtD,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACvC,eAAe,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,CAClD,gBAAgB,CAAC,MAAM,CAAC;YACtB,cAAc,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC;SACnD,CAAC,CACH;QACD,kBAAkB,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;KAC3D,CAAC;IACF,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,oBAAoB,EAAE,gBAAgB;aACnC,KAAK,EAAE;aACP,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACpC,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 quality_searchFields = {
|
|
19
|
+
quality_controlEntry: ['entryDateTime'],
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=searchFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchFields.js","sourceRoot":"","sources":["../../src/models/searchFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,oBAAoB,EAAE,CAAC,eAAe,CAAC;CACxC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 quality_sortFields = {
|
|
19
|
+
quality_controlEntry: ['-entryDateTime', '-createdOn'],
|
|
20
|
+
quality_controlEntrySample: ['entrySampleNbr'],
|
|
21
|
+
quality_controlEntrySampleLine: [
|
|
22
|
+
'controlEntrySample.id',
|
|
23
|
+
'controlPlanLine.id',
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=sortFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortFields.js","sourceRoot":"","sources":["../../src/models/sortFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;IACtD,0BAA0B,EAAE,CAAC,gBAAgB,CAAC;IAC9C,8BAA8B,EAAE;QAC9B,uBAAuB;QACvB,oBAAoB;KACrB;CACF,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 React, { useCallback, useEffect } from 'react';
|
|
19
|
+
import { HeaderContainer, ScrollList } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { useDispatch, useSelector, useTranslator, FocusScreen, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { ControlEntryDetailsButtons, ControlEntryDetailsHeader, ControlEntrySampleCard, } from '../components';
|
|
22
|
+
import { searchControlEntrySample } from '../features/controlEntrySampleSlice';
|
|
23
|
+
import { fetchControlEntryById } from '../features/controlEntrySlice';
|
|
24
|
+
import { ControlEntry } from '../types';
|
|
25
|
+
const ControlEntryDetailsScreen = ({ route }) => {
|
|
26
|
+
const { controlEntryId } = route.params;
|
|
27
|
+
const dispatch = useDispatch();
|
|
28
|
+
const I18n = useTranslator();
|
|
29
|
+
const { controlEntrySampleList, loadingControlEntrySampleList, moreLoading, isListEnd, } = useSelector(state => state.controlEntrySample);
|
|
30
|
+
const { controlEntry } = useSelector(state => state.controlEntry);
|
|
31
|
+
const fetchControlEntrySampleAPI = useCallback((page = 0) => {
|
|
32
|
+
dispatch(searchControlEntrySample({
|
|
33
|
+
page: page,
|
|
34
|
+
controlEntryId: controlEntry?.id,
|
|
35
|
+
}));
|
|
36
|
+
}, [dispatch, controlEntry]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
dispatch(fetchControlEntryById({ controlEntryId: controlEntryId }));
|
|
39
|
+
}, [controlEntryId, dispatch]);
|
|
40
|
+
if (controlEntry?.id !== controlEntryId) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return (<FocusScreen fetcher={fetchControlEntrySampleAPI} removeSpaceOnTop fixedItems={controlEntry.statusSelect === ControlEntry.status.InProgress && (<ControlEntryDetailsButtons />)}>
|
|
44
|
+
<HeaderContainer expandableFilter={false} fixedItems={<ControlEntryDetailsHeader controlEntryId={controlEntry.id} name={controlEntry.name} statusSelect={controlEntry.statusSelect} entryDateTime={controlEntry.entryDateTime} sampleCount={controlEntry.sampleCount} controlPlanName={controlEntry.controlPlan?.name}/>}/>
|
|
45
|
+
<ScrollList loadingList={loadingControlEntrySampleList} data={controlEntrySampleList} fetchData={fetchControlEntrySampleAPI} moreLoading={moreLoading} isListEnd={isListEnd} translator={I18n.t} renderItem={({ item }) => (<ControlEntrySampleCard controlEntrySampleId={item.id} resultSelect={item.resultSelect} samplefullName={item.fullName}/>)}/>
|
|
46
|
+
</FocusScreen>);
|
|
47
|
+
};
|
|
48
|
+
export default ControlEntryDetailsScreen;
|
|
49
|
+
//# sourceMappingURL=ControlEntryDetailsScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlEntryDetailsScreen.js","sourceRoot":"","sources":["../../src/screens/ControlEntryDetailsScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
|
+
import { HeaderContainer, Screen } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { CustomFieldForm, showToastMessage, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { ControlEntryFormButtons, ControlEntryFormHeader } from '../components';
|
|
22
|
+
import { fetchControlEntrySampleLine, searchControlEntrySampleLineOfControlEntry as searchControlEntrySampleLine, } from '../features/controlEntrySampleLineSlice';
|
|
23
|
+
import { fetchControlPlanById } from '../features/controlPlanSlice';
|
|
24
|
+
import { ControlEntry } from '../types';
|
|
25
|
+
import { checkComformity, getProgressValuesApi } from '../api';
|
|
26
|
+
const ControlEntryFormScreen = ({ navigation, route }) => {
|
|
27
|
+
const { selectedMode } = route.params;
|
|
28
|
+
const I18n = useTranslator();
|
|
29
|
+
const dispatch = useDispatch();
|
|
30
|
+
const { controlEntry } = useSelector(state => state.controlEntry);
|
|
31
|
+
const { controlPlan } = useSelector(state => state.controlPlan);
|
|
32
|
+
const { sampleLine } = useSelector(state => state.controlEntrySampleLine);
|
|
33
|
+
const { sampleLineOfEntryList } = useSelector(state => state.controlEntrySampleLine);
|
|
34
|
+
const [categoryIndex, setCategoryIndex] = useState(null);
|
|
35
|
+
const [currentIndex, setCurrentIndex] = useState(null);
|
|
36
|
+
const [itemSet, setItemSet] = useState([]);
|
|
37
|
+
const [categorySet, setCategorySet] = useState([]);
|
|
38
|
+
const [progressData, setProgressData] = useState({
|
|
39
|
+
topProgressBar: 0,
|
|
40
|
+
bottomProgressBar: 0,
|
|
41
|
+
});
|
|
42
|
+
const isReadonly = useMemo(() => controlEntry.statusSelect === ControlEntry.status.Completed ||
|
|
43
|
+
controlEntry.statusSelect === ControlEntry.status.Canceled, [controlEntry.statusSelect]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
dispatch(fetchControlPlanById({ id: controlEntry.controlPlan?.id }));
|
|
46
|
+
dispatch(searchControlEntrySampleLine({ controlEntryId: controlEntry.id }));
|
|
47
|
+
}, [controlEntry?.controlPlan?.id, controlEntry?.id, dispatch]);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
if (Array.isArray(sampleLineOfEntryList)) {
|
|
50
|
+
const _itemSet = sampleLineOfEntryList
|
|
51
|
+
.map(_item => _item[ControlEntry.getMethodAssociatedAttribut(selectedMode)].id)
|
|
52
|
+
.filter((_item, _index, self) => self.indexOf(_item) === _index);
|
|
53
|
+
setCategoryIndex(0);
|
|
54
|
+
setCategorySet(_itemSet);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
setCategorySet([]);
|
|
58
|
+
}
|
|
59
|
+
}, [sampleLineOfEntryList, selectedMode]);
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
fetchSampleLine(itemSet, currentIndex);
|
|
62
|
+
}, [fetchSampleLine, itemSet, currentIndex]);
|
|
63
|
+
const fetchSampleLine = useCallback((_set, _index) => {
|
|
64
|
+
if (Array.isArray(_set) && _set.length > 0) {
|
|
65
|
+
dispatch(fetchControlEntrySampleLine({ id: _set[_index].id }));
|
|
66
|
+
}
|
|
67
|
+
}, [dispatch]);
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (Array.isArray(sampleLineOfEntryList) &&
|
|
70
|
+
categorySet?.[categoryIndex] != null) {
|
|
71
|
+
const _itemSet = sampleLineOfEntryList.filter(_item => _item[ControlEntry.getMethodAssociatedAttribut(selectedMode)].id ===
|
|
72
|
+
categorySet?.[categoryIndex]);
|
|
73
|
+
setCurrentIndex(0);
|
|
74
|
+
setItemSet(_itemSet);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
setItemSet([]);
|
|
78
|
+
}
|
|
79
|
+
}, [categoryIndex, categorySet, sampleLineOfEntryList, selectedMode]);
|
|
80
|
+
const { nbItemInCategory, nbCategories } = useMemo(() => {
|
|
81
|
+
const nbSample = controlEntry?.controlEntrySamplesList?.length;
|
|
82
|
+
const nbCharacteristic = controlPlan?.controlPlanLinesList?.length;
|
|
83
|
+
return ControlEntry.getMethodTotals(selectedMode, nbCharacteristic, nbSample);
|
|
84
|
+
}, [
|
|
85
|
+
controlEntry?.controlEntrySamplesList?.length,
|
|
86
|
+
controlPlan?.controlPlanLinesList?.length,
|
|
87
|
+
selectedMode,
|
|
88
|
+
]);
|
|
89
|
+
const isLastItem = useMemo(() => (currentIndex + 1) % nbItemInCategory === 0, [currentIndex, nbItemInCategory]);
|
|
90
|
+
const isFirstItem = useMemo(() => currentIndex === 0, [currentIndex]);
|
|
91
|
+
const canNext = useMemo(() => !isLastItem || categoryIndex + 1 !== nbCategories, [categoryIndex, isLastItem, nbCategories]);
|
|
92
|
+
const handleNext = useCallback(() => {
|
|
93
|
+
setCurrentIndex(_current => {
|
|
94
|
+
if ((_current + 1) % nbItemInCategory === 0) {
|
|
95
|
+
setCategoryIndex(_cIndex => {
|
|
96
|
+
if (_cIndex !== nbCategories - 1) {
|
|
97
|
+
return _cIndex + 1;
|
|
98
|
+
}
|
|
99
|
+
return _cIndex;
|
|
100
|
+
});
|
|
101
|
+
return _current;
|
|
102
|
+
}
|
|
103
|
+
return _current + 1;
|
|
104
|
+
});
|
|
105
|
+
}, [nbCategories, nbItemInCategory]);
|
|
106
|
+
const handlePrevious = () => {
|
|
107
|
+
setCurrentIndex(_current => {
|
|
108
|
+
if (_current === 0) {
|
|
109
|
+
setCategoryIndex(_cIndex => {
|
|
110
|
+
if (_cIndex !== 0) {
|
|
111
|
+
return _cIndex - 1;
|
|
112
|
+
}
|
|
113
|
+
return _cIndex;
|
|
114
|
+
});
|
|
115
|
+
return _current;
|
|
116
|
+
}
|
|
117
|
+
return _current - 1;
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
const getValuesProgressBar = useCallback(param => {
|
|
121
|
+
getProgressValuesApi(param)
|
|
122
|
+
.then(response => {
|
|
123
|
+
setProgressData({
|
|
124
|
+
bottomProgressBar: selectedMode === ControlEntry.fillingMethod.Sample
|
|
125
|
+
? response?.data?.characteristicControlledOnSample
|
|
126
|
+
: response?.data?.sampleControlledOnCharacteristic,
|
|
127
|
+
topProgressBar: selectedMode === ControlEntry.fillingMethod.Sample
|
|
128
|
+
? response?.data?.sampleCompletelyControlled
|
|
129
|
+
: response?.data?.characteristicCompletelyControlled,
|
|
130
|
+
});
|
|
131
|
+
})
|
|
132
|
+
.catch(() => setProgressData({ bottomProgressBar: 0, topProgressBar: 0 }));
|
|
133
|
+
}, [selectedMode]);
|
|
134
|
+
useEffect(() => {
|
|
135
|
+
if (selectedMode === ControlEntry.fillingMethod.Sample &&
|
|
136
|
+
sampleLine?.controlEntrySample?.id != null) {
|
|
137
|
+
getValuesProgressBar({
|
|
138
|
+
controlEntryId: controlEntry?.id,
|
|
139
|
+
sampleId: sampleLine?.controlEntrySample?.id,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
if (selectedMode === ControlEntry.fillingMethod.Characteristic &&
|
|
143
|
+
controlPlan?.controlPlanLinesList != null) {
|
|
144
|
+
getValuesProgressBar({
|
|
145
|
+
controlEntryId: controlEntry?.id,
|
|
146
|
+
characteristicId: controlPlan?.controlPlanLinesList?.[categoryIndex]?.id,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}, [
|
|
150
|
+
categoryIndex,
|
|
151
|
+
controlEntry,
|
|
152
|
+
controlPlan,
|
|
153
|
+
getValuesProgressBar,
|
|
154
|
+
sampleLine,
|
|
155
|
+
selectedMode,
|
|
156
|
+
]);
|
|
157
|
+
const handleValidation = useCallback(() => {
|
|
158
|
+
if (canNext) {
|
|
159
|
+
handleNext();
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
navigation.pop();
|
|
163
|
+
}
|
|
164
|
+
}, [canNext, handleNext, navigation]);
|
|
165
|
+
return (<Screen removeSpaceOnTop>
|
|
166
|
+
<HeaderContainer expandableFilter={false} fixedItems={<ControlEntryFormHeader mode={selectedMode} currentIndex={currentIndex} categoryIndex={categoryIndex} nbItemInCategory={nbItemInCategory} nbCategories={nbCategories} progressData={progressData}/>}/>
|
|
167
|
+
{categorySet[categoryIndex] != null && itemSet[currentIndex] != null && (<CustomFieldForm model="com.axelor.apps.quality.db.ControlEntryPlanLine" fieldType="entryAttrs" modelId={itemSet[currentIndex].id} additionalActions={[
|
|
168
|
+
{
|
|
169
|
+
key: 'customAction',
|
|
170
|
+
useDefaultAction: true,
|
|
171
|
+
showToast: false,
|
|
172
|
+
postActions: async (res) => {
|
|
173
|
+
await checkComformity({ object: res }).then(result => {
|
|
174
|
+
showToastMessage({
|
|
175
|
+
type: ControlEntry.getSampleResultType(result),
|
|
176
|
+
position: 'bottom',
|
|
177
|
+
bottomOffset: 80,
|
|
178
|
+
text1: `${I18n.t('Quality_ConformityResult')}`,
|
|
179
|
+
text2: ControlEntry.getSampleResultTitle(result, I18n),
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
handleValidation();
|
|
183
|
+
},
|
|
184
|
+
customComponent: (<ControlEntryFormButtons handleNext={handleNext} handlePrevious={handlePrevious} mode={selectedMode} isLastItem={isLastItem} isFirstItem={isFirstItem} canNext={canNext} canPrevious={!isFirstItem || categoryIndex !== 0}/>),
|
|
185
|
+
},
|
|
186
|
+
]} readonly={isReadonly}/>)}
|
|
187
|
+
</Screen>);
|
|
188
|
+
};
|
|
189
|
+
export default ControlEntryFormScreen;
|
|
190
|
+
//# sourceMappingURL=ControlEntryFormScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlEntryFormScreen.js","sourceRoot":"","sources":["../../src/screens/ControlEntryFormScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 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 React, { useCallback, useMemo, useState } from 'react';
|
|
19
|
+
import { Dimensions, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { ChipSelect, HeaderContainer, Screen, ScrollList, ToggleButton, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { DateInput, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
22
|
+
import { searchControlEntry } from '../features/controlEntrySlice';
|
|
23
|
+
import { ControlEntryCard } from '../components';
|
|
24
|
+
import { ControlEntry } from '../types';
|
|
25
|
+
const ControlEntryListScreen = ({ navigation }) => {
|
|
26
|
+
const Colors = useThemeColor();
|
|
27
|
+
const I18n = useTranslator();
|
|
28
|
+
const dispatch = useDispatch();
|
|
29
|
+
const { userId } = useSelector(state => state.auth);
|
|
30
|
+
const { controlEntryList, loadingControlEntryList, moreLoading, isListEnd } = useSelector(state => state.controlEntry);
|
|
31
|
+
const [isInspectorFilter, setIsInspectorFilter] = useState(false);
|
|
32
|
+
const [dateFilter, setDateFilter] = useState(null);
|
|
33
|
+
const [selectedStatus, setSelectedStatus] = useState([]);
|
|
34
|
+
const statusListItems = useMemo(() => {
|
|
35
|
+
return ControlEntry.getStatusList(Colors, I18n);
|
|
36
|
+
}, [Colors, I18n]);
|
|
37
|
+
const fetchControlEntryAPI = useCallback((page = 0) => {
|
|
38
|
+
dispatch(searchControlEntry({
|
|
39
|
+
page: page,
|
|
40
|
+
isInspector: isInspectorFilter,
|
|
41
|
+
userId: userId,
|
|
42
|
+
date: dateFilter,
|
|
43
|
+
selectedStatus: selectedStatus,
|
|
44
|
+
}));
|
|
45
|
+
}, [dispatch, isInspectorFilter, userId, dateFilter, selectedStatus]);
|
|
46
|
+
return (<Screen removeSpaceOnTop={true}>
|
|
47
|
+
<HeaderContainer expandableFilter={false} fixedItems={<View style={styles.headerContainer}>
|
|
48
|
+
<ToggleButton isActive={isInspectorFilter} onPress={() => setIsInspectorFilter(current => !current)} activeColor={Colors.successColor} buttonConfig={{
|
|
49
|
+
iconName: 'person-fill',
|
|
50
|
+
width: '10%',
|
|
51
|
+
style: styles.toggleButton,
|
|
52
|
+
}}/>
|
|
53
|
+
<DateInput style={styles.dateInput} nullable={true} onDateChange={setDateFilter} mode="date" popup/>
|
|
54
|
+
</View>} chipComponent={<ChipSelect mode="multi" selectionItems={statusListItems} width={Dimensions.get('window').width * 0.25} onChangeValue={setSelectedStatus}/>}/>
|
|
55
|
+
<ScrollList loadingList={loadingControlEntryList} data={controlEntryList} renderItem={({ item }) => (<ControlEntryCard sampleCount={item.sampleCount} entryDateTime={item.entryDateTime} statusSelect={item.statusSelect} name={item.name} controlEntryId={item.id} onPress={() => {
|
|
56
|
+
navigation.navigate('ControlEntryDetailsScreen', {
|
|
57
|
+
controlEntryId: item.id,
|
|
58
|
+
});
|
|
59
|
+
}}/>)} fetchData={fetchControlEntryAPI} moreLoading={moreLoading} isListEnd={isListEnd} translator={I18n.t}/>
|
|
60
|
+
</Screen>);
|
|
61
|
+
};
|
|
62
|
+
const styles = StyleSheet.create({
|
|
63
|
+
headerContainer: {
|
|
64
|
+
width: '90%',
|
|
65
|
+
flexDirection: 'row',
|
|
66
|
+
justifyContent: 'space-between',
|
|
67
|
+
alignSelf: 'center',
|
|
68
|
+
alignItems: 'center',
|
|
69
|
+
},
|
|
70
|
+
toggleButton: {
|
|
71
|
+
height: 40,
|
|
72
|
+
},
|
|
73
|
+
dateInput: {
|
|
74
|
+
width: '85%',
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
export default ControlEntryListScreen;
|
|
78
|
+
//# sourceMappingURL=ControlEntryListScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlEntryListScreen.js","sourceRoot":"","sources":["../../src/screens/ControlEntryListScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
namespace ControlEntryListScreen {
|
|
3
|
+
export let title: string;
|
|
4
|
+
export { ControlEntryListScreen as component };
|
|
5
|
+
export namespace options {
|
|
6
|
+
let shadedHeader: boolean;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
namespace ControlEntryDetailsScreen {
|
|
10
|
+
let title_1: string;
|
|
11
|
+
export { title_1 as title };
|
|
12
|
+
export { ControlEntryDetailsScreen as component };
|
|
13
|
+
export let actionID: string;
|
|
14
|
+
export namespace options_1 {
|
|
15
|
+
let shadedHeader_1: boolean;
|
|
16
|
+
export { shadedHeader_1 as shadedHeader };
|
|
17
|
+
}
|
|
18
|
+
export { options_1 as options };
|
|
19
|
+
}
|
|
20
|
+
namespace ControlEntryFormScreen {
|
|
21
|
+
let title_2: string;
|
|
22
|
+
export { title_2 as title };
|
|
23
|
+
export { ControlEntryFormScreen as component };
|
|
24
|
+
export namespace options_2 {
|
|
25
|
+
let shadedHeader_2: boolean;
|
|
26
|
+
export { shadedHeader_2 as shadedHeader };
|
|
27
|
+
}
|
|
28
|
+
export { options_2 as options };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export default _default;
|
|
32
|
+
import ControlEntryListScreen_1 from './ControlEntryListScreen';
|
|
33
|
+
import ControlEntryDetailsScreen_1 from './ControlEntryDetailsScreen';
|
|
34
|
+
import ControlEntryFormScreen_1 from './ControlEntryFormScreen';
|
|
35
|
+
export { ControlEntryListScreen_1 as ControlEntryListScreen, ControlEntryDetailsScreen_1 as ControlEntryDetailsScreen, ControlEntryFormScreen_1 as ControlEntryFormScreen };
|