@axelor/aos-mobile-purchase 8.3.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.
Files changed (148) hide show
  1. package/README.md +44 -0
  2. package/lib/api/index.d.ts +5 -0
  3. package/lib/api/index.js +23 -0
  4. package/lib/api/index.js.map +1 -0
  5. package/lib/api/product-api.d.ts +4 -0
  6. package/lib/api/product-api.js +69 -0
  7. package/lib/api/product-api.js.map +1 -0
  8. package/lib/api/purchase-request-api.d.ts +23 -0
  9. package/lib/api/purchase-request-api.js +104 -0
  10. package/lib/api/purchase-request-api.js.map +1 -0
  11. package/lib/api/purchase-request-line-api.d.ts +17 -0
  12. package/lib/api/purchase-request-line-api.js +100 -0
  13. package/lib/api/purchase-request-line-api.js.map +1 -0
  14. package/lib/api/supplier-api.d.ts +5 -0
  15. package/lib/api/supplier-api.js +47 -0
  16. package/lib/api/supplier-api.js.map +1 -0
  17. package/lib/api/unit-api.d.ts +4 -0
  18. package/lib/api/unit-api.js +29 -0
  19. package/lib/api/unit-api.js.map +1 -0
  20. package/lib/components/atoms/DropdownRequestCharacteristics/DropdownRequestCharacteristics.d.ts +3 -0
  21. package/lib/components/atoms/DropdownRequestCharacteristics/DropdownRequestCharacteristics.js +39 -0
  22. package/lib/components/atoms/DropdownRequestCharacteristics/DropdownRequestCharacteristics.js.map +1 -0
  23. package/lib/components/atoms/RequestCard/RequestCard.d.ts +11 -0
  24. package/lib/components/atoms/RequestCard/RequestCard.js +51 -0
  25. package/lib/components/atoms/RequestCard/RequestCard.js.map +1 -0
  26. package/lib/components/atoms/RequestHeader/RequestHeader.d.ts +3 -0
  27. package/lib/components/atoms/RequestHeader/RequestHeader.js +47 -0
  28. package/lib/components/atoms/RequestHeader/RequestHeader.js.map +1 -0
  29. package/lib/components/atoms/RequestLineCard/RequestLineCard.d.ts +11 -0
  30. package/lib/components/atoms/RequestLineCard/RequestLineCard.js +49 -0
  31. package/lib/components/atoms/RequestLineCard/RequestLineCard.js.map +1 -0
  32. package/lib/components/atoms/RequestSeeLinesButton/RequestSeeLinesButton.d.ts +3 -0
  33. package/lib/components/atoms/RequestSeeLinesButton/RequestSeeLinesButton.js +67 -0
  34. package/lib/components/atoms/RequestSeeLinesButton/RequestSeeLinesButton.js.map +1 -0
  35. package/lib/components/atoms/index.d.ts +5 -0
  36. package/lib/components/atoms/index.js +23 -0
  37. package/lib/components/atoms/index.js.map +1 -0
  38. package/lib/components/index.d.ts +4 -0
  39. package/lib/components/index.js +22 -0
  40. package/lib/components/index.js.map +1 -0
  41. package/lib/components/molecules/RequestDropdownCards/RequestDropdownCards.d.ts +5 -0
  42. package/lib/components/molecules/RequestDropdownCards/RequestDropdownCards.js +33 -0
  43. package/lib/components/molecules/RequestDropdownCards/RequestDropdownCards.js.map +1 -0
  44. package/lib/components/molecules/index.d.ts +1 -0
  45. package/lib/components/molecules/index.js +19 -0
  46. package/lib/components/molecules/index.js.map +1 -0
  47. package/lib/components/organisms/RequestButtons/RequestButtons.d.ts +3 -0
  48. package/lib/components/organisms/RequestButtons/RequestButtons.js +136 -0
  49. package/lib/components/organisms/RequestButtons/RequestButtons.js.map +1 -0
  50. package/lib/components/organisms/index.d.ts +1 -0
  51. package/lib/components/organisms/index.js +19 -0
  52. package/lib/components/organisms/index.js.map +1 -0
  53. package/lib/components/templates/CompanyPicker/CompanyPicker.d.ts +9 -0
  54. package/lib/components/templates/CompanyPicker/CompanyPicker.js +30 -0
  55. package/lib/components/templates/CompanyPicker/CompanyPicker.js.map +1 -0
  56. package/lib/components/templates/HorizontalOrRuleText/HorizontalOrRuleText.d.ts +5 -0
  57. package/lib/components/templates/HorizontalOrRuleText/HorizontalOrRuleText.js +35 -0
  58. package/lib/components/templates/HorizontalOrRuleText/HorizontalOrRuleText.js.map +1 -0
  59. package/lib/components/templates/ProductSearchBar/ProductSearchBar.d.ts +13 -0
  60. package/lib/components/templates/ProductSearchBar/ProductSearchBar.js +35 -0
  61. package/lib/components/templates/ProductSearchBar/ProductSearchBar.js.map +1 -0
  62. package/lib/components/templates/RequestCreationButtons/RequestCreationButtons.d.ts +13 -0
  63. package/lib/components/templates/RequestCreationButtons/RequestCreationButtons.js +59 -0
  64. package/lib/components/templates/RequestCreationButtons/RequestCreationButtons.js.map +1 -0
  65. package/lib/components/templates/RequestCreationQuantityCard/RequestCreationQuantityCard.d.ts +10 -0
  66. package/lib/components/templates/RequestCreationQuantityCard/RequestCreationQuantityCard.js +29 -0
  67. package/lib/components/templates/RequestCreationQuantityCard/RequestCreationQuantityCard.js.map +1 -0
  68. package/lib/components/templates/SupplierSearchBar/SupplierSearchBar.d.ts +11 -0
  69. package/lib/components/templates/SupplierSearchBar/SupplierSearchBar.js +38 -0
  70. package/lib/components/templates/SupplierSearchBar/SupplierSearchBar.js.map +1 -0
  71. package/lib/components/templates/UnitSearchBar/UnitSearchBar.d.ts +13 -0
  72. package/lib/components/templates/UnitSearchBar/UnitSearchBar.js +35 -0
  73. package/lib/components/templates/UnitSearchBar/UnitSearchBar.js.map +1 -0
  74. package/lib/components/templates/index.d.ts +7 -0
  75. package/lib/components/templates/index.js +25 -0
  76. package/lib/components/templates/index.js.map +1 -0
  77. package/lib/features/asyncFunctions-index.d.ts +5 -0
  78. package/lib/features/asyncFunctions-index.js +23 -0
  79. package/lib/features/asyncFunctions-index.js.map +1 -0
  80. package/lib/features/index.d.ts +5 -0
  81. package/lib/features/index.js +23 -0
  82. package/lib/features/index.js.map +1 -0
  83. package/lib/features/productSlice.d.ts +16 -0
  84. package/lib/features/productSlice.js +49 -0
  85. package/lib/features/productSlice.js.map +1 -0
  86. package/lib/features/purchaseRequestLineSlice.d.ts +49 -0
  87. package/lib/features/purchaseRequestLineSlice.js +96 -0
  88. package/lib/features/purchaseRequestLineSlice.js.map +1 -0
  89. package/lib/features/purchaseRequestSlice.d.ts +58 -0
  90. package/lib/features/purchaseRequestSlice.js +101 -0
  91. package/lib/features/purchaseRequestSlice.js.map +1 -0
  92. package/lib/features/supplierSlice.d.ts +16 -0
  93. package/lib/features/supplierSlice.js +49 -0
  94. package/lib/features/supplierSlice.js.map +1 -0
  95. package/lib/features/unitSlice.d.ts +16 -0
  96. package/lib/features/unitSlice.js +49 -0
  97. package/lib/features/unitSlice.js.map +1 -0
  98. package/lib/hooks/use-purchase-header-actions.d.ts +1 -0
  99. package/lib/hooks/use-purchase-header-actions.js +46 -0
  100. package/lib/hooks/use-purchase-header-actions.js.map +1 -0
  101. package/lib/i18n/en.json +45 -0
  102. package/lib/i18n/fr.json +45 -0
  103. package/lib/index.d.ts +6 -0
  104. package/lib/index.js +69 -0
  105. package/lib/index.js.map +1 -0
  106. package/lib/models/forms.d.ts +2 -0
  107. package/lib/models/forms.js +61 -0
  108. package/lib/models/forms.js.map +1 -0
  109. package/lib/models/index.d.ts +5 -0
  110. package/lib/models/index.js +23 -0
  111. package/lib/models/index.js.map +1 -0
  112. package/lib/models/objectFields.d.ts +2 -0
  113. package/lib/models/objectFields.js +49 -0
  114. package/lib/models/objectFields.js.map +1 -0
  115. package/lib/models/searchFields.d.ts +2 -0
  116. package/lib/models/searchFields.js +23 -0
  117. package/lib/models/searchFields.js.map +1 -0
  118. package/lib/models/sortFields.d.ts +2 -0
  119. package/lib/models/sortFields.js +21 -0
  120. package/lib/models/sortFields.js.map +1 -0
  121. package/lib/models/typeObjects.d.ts +2 -0
  122. package/lib/models/typeObjects.js +86 -0
  123. package/lib/models/typeObjects.js.map +1 -0
  124. package/lib/screens/RequestCreationScreen.d.ts +3 -0
  125. package/lib/screens/RequestCreationScreen.js +139 -0
  126. package/lib/screens/RequestCreationScreen.js.map +1 -0
  127. package/lib/screens/RequestDetailsScreen.d.ts +5 -0
  128. package/lib/screens/RequestDetailsScreen.js +67 -0
  129. package/lib/screens/RequestDetailsScreen.js.map +1 -0
  130. package/lib/screens/RequestLineFormScreen.d.ts +6 -0
  131. package/lib/screens/RequestLineFormScreen.js +71 -0
  132. package/lib/screens/RequestLineFormScreen.js.map +1 -0
  133. package/lib/screens/RequestLineListScreen.d.ts +5 -0
  134. package/lib/screens/RequestLineListScreen.js +51 -0
  135. package/lib/screens/RequestLineListScreen.js.map +1 -0
  136. package/lib/screens/RequestListScreen.d.ts +5 -0
  137. package/lib/screens/RequestListScreen.js +47 -0
  138. package/lib/screens/RequestListScreen.js.map +1 -0
  139. package/lib/screens/index.d.ts +59 -0
  140. package/lib/screens/index.js +66 -0
  141. package/lib/screens/index.js.map +1 -0
  142. package/lib/types/index.d.ts +1 -0
  143. package/lib/types/index.js +19 -0
  144. package/lib/types/index.js.map +1 -0
  145. package/lib/types/request-creation.d.ts +7 -0
  146. package/lib/types/request-creation.js +25 -0
  147. package/lib/types/request-creation.js.map +1 -0
  148. package/package.json +45 -0
@@ -0,0 +1,49 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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 purchase_modelAPI = {
20
+ purchase_purchaseRequest: schemaContructor.object({
21
+ purchaseRequestSeq: schemaContructor.string(),
22
+ supplierPartner: schemaContructor.subObject('fullName'),
23
+ company: schemaContructor.subObject('name'),
24
+ statusSelect: schemaContructor.number(),
25
+ description: schemaContructor.string(),
26
+ stockLocation: schemaContructor.subObject(),
27
+ requesterUser: schemaContructor.subObject(),
28
+ validatorUser: schemaContructor.subObject(),
29
+ }),
30
+ purchase_supplier: schemaContructor.object({
31
+ simpleFullName: schemaContructor.string(),
32
+ }),
33
+ purchase_purchaseRequestLine: schemaContructor.object({
34
+ product: schemaContructor.subObject('name'),
35
+ productTitle: schemaContructor.string(),
36
+ unit: schemaContructor.subObject(),
37
+ quantity: schemaContructor.string(),
38
+ newProduct: schemaContructor.boolean(),
39
+ }),
40
+ purchase_product: schemaContructor.object({
41
+ name: schemaContructor.string(),
42
+ code: schemaContructor.string(),
43
+ unit: schemaContructor.subObject('name'),
44
+ }),
45
+ purchase_unit: schemaContructor.object({
46
+ name: schemaContructor.string(),
47
+ }),
48
+ };
49
+ //# 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,iBAAiB,GAAiB;IAC7C,wBAAwB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAChD,kBAAkB,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC7C,eAAe,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;QACvD,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACvC,WAAW,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACtC,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC3C,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAC3C,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE;KAC5C,CAAC;IACF,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACzC,cAAc,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAC1C,CAAC;IACF,4BAA4B,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACpD,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACvC,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE;QAClC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE;QACnC,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE;KACvC,CAAC;IACF,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;QAC/B,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC;KACzC,CAAC;IACF,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE;KAChC,CAAC;CACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { SearchFields } from '@axelor/aos-mobile-core';
2
+ export declare const purchase_searchFields: SearchFields;
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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 purchase_searchFields = {
19
+ purchase_purchaseRequest: ['purchaseRequestSeq', 'company.name'],
20
+ purchase_supplier: ['simpleFullName'],
21
+ purchase_purchaseRequestLine: ['product.fullName', 'productTitle'],
22
+ };
23
+ //# 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,qBAAqB,GAAiB;IACjD,wBAAwB,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC;IAChE,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;IACrC,4BAA4B,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC;CACnE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { SortFields } from '@axelor/aos-mobile-core';
2
+ export declare const purchase_sortFields: SortFields;
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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 purchase_sortFields = {
19
+ purchase_purchaseRequest: ['statusSelect', '-purchaseRequestSeq'],
20
+ };
21
+ //# 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,mBAAmB,GAAe;IAC7C,wBAAwB,EAAE,CAAC,cAAc,EAAE,qBAAqB,CAAC;CAClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ModuleSelections } from '@axelor/aos-mobile-core';
2
+ export declare const purchase_typeObjects: ModuleSelections;
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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 purchase_typeObjects = [
19
+ {
20
+ modelName: 'com.axelor.apps.purchase.db.PurchaseRequest',
21
+ fields: {
22
+ statusSelect: {
23
+ content: [
24
+ {
25
+ key: 'Draft',
26
+ value: 1,
27
+ title: 'Purchase_Status_Draft',
28
+ color: 'secondaryColor',
29
+ },
30
+ {
31
+ key: 'Requested',
32
+ value: 2,
33
+ title: 'Purchase_Status_Requested',
34
+ color: 'progressColor',
35
+ },
36
+ {
37
+ key: 'Accepted',
38
+ value: 3,
39
+ title: 'Purchase_Status_Accepted',
40
+ color: 'plannedColor',
41
+ },
42
+ {
43
+ key: 'Purchased',
44
+ value: 4,
45
+ title: 'Purchase_Status_Purchased',
46
+ color: 'successColor',
47
+ },
48
+ {
49
+ key: 'Refused',
50
+ value: 5,
51
+ title: 'Purchase_Status_Refused',
52
+ color: 'errorColor',
53
+ },
54
+ {
55
+ key: 'Canceled',
56
+ value: 6,
57
+ title: 'Purchase_Status_Canceled',
58
+ color: 'cautionColor',
59
+ },
60
+ ],
61
+ },
62
+ },
63
+ },
64
+ {
65
+ modelName: 'com.axelor.apps.purchase.db.PurchaseRequestLine',
66
+ fields: {
67
+ newProduct: {
68
+ content: [
69
+ {
70
+ key: 'NewProduct',
71
+ value: true,
72
+ title: 'Purchase_NewProduct',
73
+ color: 'plannedColor',
74
+ },
75
+ {
76
+ key: 'ExistingProduct',
77
+ value: false,
78
+ title: 'Purchase_ExistingProduct',
79
+ color: 'secondaryColor',
80
+ },
81
+ ],
82
+ },
83
+ },
84
+ },
85
+ ];
86
+ //# sourceMappingURL=typeObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeObjects.js","sourceRoot":"","sources":["../../src/models/typeObjects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD;QACE,SAAS,EAAE,6CAA6C;QACxD,MAAM,EAAE;YACN,YAAY,EAAE;gBACZ,OAAO,EAAE;oBACP;wBACE,GAAG,EAAE,OAAO;wBACZ,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,uBAAuB;wBAC9B,KAAK,EAAE,gBAAgB;qBACxB;oBACD;wBACE,GAAG,EAAE,WAAW;wBAChB,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,2BAA2B;wBAClC,KAAK,EAAE,eAAe;qBACvB;oBACD;wBACE,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,0BAA0B;wBACjC,KAAK,EAAE,cAAc;qBACtB;oBACD;wBACE,GAAG,EAAE,WAAW;wBAChB,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,2BAA2B;wBAClC,KAAK,EAAE,cAAc;qBACtB;oBACD;wBACE,GAAG,EAAE,SAAS;wBACd,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,yBAAyB;wBAChC,KAAK,EAAE,YAAY;qBACpB;oBACD;wBACE,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,0BAA0B;wBACjC,KAAK,EAAE,cAAc;qBACtB;iBACF;aACF;SACF;KACF;IACD;QACE,SAAS,EAAE,iDAAiD;QAC5D,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP;wBACE,GAAG,EAAE,YAAY;wBACjB,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,qBAAqB;wBAC5B,KAAK,EAAE,cAAc;qBACtB;oBACD;wBACE,GAAG,EAAE,iBAAiB;wBACtB,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,0BAA0B;wBACjC,KAAK,EAAE,gBAAgB;qBACxB;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const RequestCreationScreen: () => React.JSX.Element;
3
+ export default RequestCreationScreen;
@@ -0,0 +1,139 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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 { StyleSheet } from 'react-native';
20
+ import { FormHtmlInput, FormInput, KeyboardAvoidingScrollView, Label, Screen, ViewAllEditList, } from '@axelor/aos-mobile-ui';
21
+ import { usePermitted, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
22
+ import { RequestCreation } from '../types';
23
+ import { CompanyPicker, HorizontalOrRuleText, ProductSearchBar, RequestCreationButtons, RequestCreationQuantityCard, UnitSearchBar, } from '../components';
24
+ const RequestCreationScreen = () => {
25
+ const I18n = useTranslator();
26
+ const { canCreate } = usePermitted({
27
+ modelName: 'com.axelor.apps.purchase.db.PurchaseRequest',
28
+ });
29
+ const { user } = useSelector(state => state.user);
30
+ const { purchase: purchaseConfig } = useSelector(state => state.appConfig);
31
+ const [company, setCompany] = useState(user.activeCompany);
32
+ const [description, setDescription] = useState('');
33
+ const [currentStep, setCurrentStep] = useState(RequestCreation.step.addLine);
34
+ const [lines, setLines] = useState([]);
35
+ const [newLine, setNewLine] = useState(null);
36
+ const [productTitle, setProductTitle] = useState('');
37
+ const [isCustomProduct, setIsCustomProduct] = useState(false);
38
+ const [quantity, setQuantity] = useState(0);
39
+ const [unit, setUnit] = useState(purchaseConfig?.purchaseUnit);
40
+ const resetDefaultStates = () => {
41
+ handleReset();
42
+ setCompany(user.activeCompany);
43
+ setDescription('');
44
+ setLines([]);
45
+ };
46
+ const handleEditLine = (line) => {
47
+ setNewLine(line);
48
+ setProductTitle(line.productTitle);
49
+ setIsCustomProduct(line.product == null);
50
+ setQuantity(line.quantity);
51
+ setUnit(line.unit);
52
+ setCurrentStep(RequestCreation.step.validateLine);
53
+ };
54
+ const handleReset = useCallback((_step = RequestCreation.step.addLine) => {
55
+ setCurrentStep(_step);
56
+ setNewLine(null);
57
+ setProductTitle('');
58
+ setIsCustomProduct(false);
59
+ setQuantity(0);
60
+ setUnit(purchaseConfig?.purchaseUnit);
61
+ }, [purchaseConfig?.purchaseUnit]);
62
+ const handleProductChange = useCallback((_value) => {
63
+ if (_value == null) {
64
+ handleReset(RequestCreation.step.addLine);
65
+ }
66
+ else {
67
+ setNewLine(_value);
68
+ setProductTitle(_value.name);
69
+ setIsCustomProduct(false);
70
+ setUnit(_value.unit);
71
+ setCurrentStep(RequestCreation.step.validateLine);
72
+ }
73
+ }, [handleReset]);
74
+ const handleCustomProductInput = useCallback((value) => {
75
+ setProductTitle(value);
76
+ setIsCustomProduct(!!value);
77
+ if (value) {
78
+ setCurrentStep(RequestCreation.step.validateLine);
79
+ }
80
+ }, []);
81
+ const handleAddLine = () => {
82
+ setLines(prevLines => {
83
+ const newLines = [...prevLines];
84
+ const indexLine = newLines.findIndex(({ id }) => id === newLine?.id);
85
+ if (indexLine >= 0) {
86
+ if (isEditionMode) {
87
+ newLines[indexLine].quantity = quantity;
88
+ }
89
+ else {
90
+ newLines[indexLine].quantity += quantity;
91
+ }
92
+ }
93
+ else {
94
+ newLines.push({
95
+ productTitle: productTitle,
96
+ product: isCustomProduct ? null : newLine,
97
+ quantity: quantity,
98
+ unit: unit,
99
+ id: newLine?.id || `custom-${Date.now()}`,
100
+ });
101
+ }
102
+ return newLines;
103
+ });
104
+ handleReset();
105
+ };
106
+ const isEditionMode = useMemo(() => newLine?.quantity > 0 && lines.find(({ id }) => id === newLine?.id) != null, [lines, newLine]);
107
+ if (!canCreate) {
108
+ return (<Label style={styles.label} type="danger" message={I18n.t('Base_NoPermForCreate')}/>);
109
+ }
110
+ return (<Screen removeSpaceOnTop fixedItems={<RequestCreationButtons step={currentStep} lines={lines} isValidateButtonDisabled={quantity === 0 || unit == null} isEditionMode={isEditionMode} addLine={handleAddLine} companyId={company.id} description={description} resetDefaultStates={resetDefaultStates}/>}>
111
+ <KeyboardAvoidingScrollView style={styles.container}>
112
+ <CompanyPicker onChange={setCompany} company={company}/>
113
+ <FormHtmlInput title={I18n.t('Purchase_RequestDescription')} defaultValue={description} onChange={setDescription}/>
114
+ <ViewAllEditList title={I18n.t('Purchase_Products')} lines={lines.map(line => ({
115
+ ...line,
116
+ name: line.productTitle,
117
+ qty: line.quantity,
118
+ unitName: line.unit?.name,
119
+ }))} currentLineId={isEditionMode ? newLine.id : null} setLines={setLines} handleEditLine={handleEditLine} translator={I18n.t}/>
120
+ <ProductSearchBar onChange={handleProductChange} defaultValue={newLine}/>
121
+ <HorizontalOrRuleText />
122
+ <FormInput readOnly={!isCustomProduct && newLine != null} title={I18n.t('Purchase_ProductTitle')} defaultValue={productTitle} onChange={handleCustomProductInput}/>
123
+ <RequestCreationQuantityCard quantity={quantity} setQuantity={setQuantity} cancelLine={() => handleReset(RequestCreation.step.addLine)} productName={productTitle} productUnit={unit?.name || newLine?.product?.unit?.name}/>
124
+ <UnitSearchBar defaultValue={unit} onChange={setUnit} required={true} isScrollViewContainer={true}/>
125
+ </KeyboardAvoidingScrollView>
126
+ </Screen>);
127
+ };
128
+ const styles = StyleSheet.create({
129
+ container: {
130
+ alignItems: 'center',
131
+ paddingTop: 10,
132
+ },
133
+ label: {
134
+ width: '90%',
135
+ alignSelf: 'center',
136
+ },
137
+ });
138
+ export default RequestCreationScreen;
139
+ //# sourceMappingURL=RequestCreationScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestCreationScreen.js","sourceRoot":"","sources":["../../src/screens/RequestCreationScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const RequestDetailsScreen: ({ route }: {
3
+ route: any;
4
+ }) => React.JSX.Element;
5
+ export default RequestDetailsScreen;
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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 { StyleSheet } from 'react-native';
20
+ import { EditableHtmlInput, HeaderContainer, Screen, ScrollView, } from '@axelor/aos-mobile-ui';
21
+ import { useDispatch, useSelector, useTranslator, useTypes, } from '@axelor/aos-mobile-core';
22
+ import { RequestSeeLinesButton, RequestDropdownCards, RequestHeader, RequestButtons, } from '../components';
23
+ import { getPurchaseRequest, updatePurchaseRequest, } from '../features/purchaseRequestSlice';
24
+ import { searchPurchaseRequestLine } from '../features/purchaseRequestLineSlice';
25
+ const RequestDetailsScreen = ({ route }) => {
26
+ const { idRequest } = route.params;
27
+ const I18n = useTranslator();
28
+ const { PurchaseRequest } = useTypes();
29
+ const dispatch = useDispatch();
30
+ const { loadingPurchaseRequest, purchaseRequest } = useSelector(state => state.purchase_purchaseRequest);
31
+ const handleDescriptionChange = useCallback(description => {
32
+ dispatch(updatePurchaseRequest({
33
+ purchaseRequest: {
34
+ ...purchaseRequest,
35
+ description,
36
+ },
37
+ }));
38
+ }, [dispatch, purchaseRequest]);
39
+ const getPurchaseRequestAPI = useCallback(() => {
40
+ dispatch(getPurchaseRequest({ id: idRequest }));
41
+ dispatch(searchPurchaseRequestLine({ purchaseRequestId: idRequest }));
42
+ }, [dispatch, idRequest]);
43
+ useEffect(() => {
44
+ getPurchaseRequestAPI();
45
+ }, [getPurchaseRequestAPI]);
46
+ return (<Screen removeSpaceOnTop={true} fixedItems={<RequestButtons />}>
47
+ <HeaderContainer fixedItems={<RequestHeader />} expandableFilter={false}/>
48
+ <ScrollView refresh={{
49
+ loading: loadingPurchaseRequest,
50
+ fetcher: getPurchaseRequestAPI,
51
+ }}>
52
+ <EditableHtmlInput placeholder={I18n.t('Base_Description')} defaultValue={purchaseRequest.description} readonly={purchaseRequest.statusSelect !==
53
+ PurchaseRequest.statusSelect.Draft &&
54
+ purchaseRequest.statusSelect !==
55
+ PurchaseRequest.statusSelect.Requested} onValidate={handleDescriptionChange}/>
56
+ <RequestDropdownCards style={styles.margin}/>
57
+ <RequestSeeLinesButton />
58
+ </ScrollView>
59
+ </Screen>);
60
+ };
61
+ export default RequestDetailsScreen;
62
+ const styles = StyleSheet.create({
63
+ margin: {
64
+ marginVertical: 5,
65
+ },
66
+ });
67
+ //# sourceMappingURL=RequestDetailsScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestDetailsScreen.js","sourceRoot":"","sources":["../../src/screens/RequestDetailsScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare const RequestLineFormScreen: ({ navigation, route }: {
3
+ navigation: any;
4
+ route: any;
5
+ }) => React.JSX.Element;
6
+ export default RequestLineFormScreen;
@@ -0,0 +1,71 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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 } from 'react';
19
+ import { FormView, useDispatch, useSelector } from '@axelor/aos-mobile-core';
20
+ import { createPurchaseRequestLine, fetchPurchaseRequestLine, updatePurchaseRequestLine, } from '../features/purchaseRequestLineSlice';
21
+ const RequestLineFormScreen = ({ navigation, route }) => {
22
+ const { purchaseRequestLineId } = route?.params ?? {};
23
+ const _dispatch = useDispatch();
24
+ const { purchaseRequest } = useSelector(state => state.purchase_purchaseRequest);
25
+ const { purchaseRequestLine } = useSelector(state => state.purchase_purchaseRequestLine);
26
+ useEffect(() => {
27
+ if (purchaseRequestLineId != null) {
28
+ _dispatch(fetchPurchaseRequestLine({ id: purchaseRequestLineId }));
29
+ }
30
+ }, [_dispatch, purchaseRequestLineId]);
31
+ const _defaultValue = useMemo(() => (purchaseRequestLineId != null ? { ...purchaseRequestLine } : null), [purchaseRequestLineId, purchaseRequestLine]);
32
+ const createPurchaseRequestLineAPI = useCallback((objectState, dispatch) => {
33
+ dispatch(createPurchaseRequestLine({
34
+ purchaseRequestLine: objectState,
35
+ purchaseRequestId: purchaseRequest.id,
36
+ purchaseRequestVersion: purchaseRequest.version,
37
+ }));
38
+ navigation.pop();
39
+ }, [navigation, purchaseRequest.id, purchaseRequest.version]);
40
+ const updatePurchaseRequestLineAPI = useCallback((objectState, dispatch) => {
41
+ dispatch(updatePurchaseRequestLine({
42
+ purchaseRequestLine: objectState,
43
+ purchaseRequestId: purchaseRequest.id,
44
+ }));
45
+ navigation.pop();
46
+ }, [navigation, purchaseRequest.id]);
47
+ return (<FormView formKey="purchase_purchaseRequestLine" defaultValue={_defaultValue} defaultEditMode actions={[
48
+ {
49
+ key: 'create-purchase-line',
50
+ type: 'create',
51
+ needRequiredFields: true,
52
+ needValidation: true,
53
+ hideIf: () => purchaseRequestLineId != null,
54
+ customAction: ({ dispatch, objectState }) => {
55
+ createPurchaseRequestLineAPI(objectState, dispatch);
56
+ },
57
+ },
58
+ {
59
+ key: 'update-purchase-line',
60
+ type: 'update',
61
+ needRequiredFields: true,
62
+ needValidation: true,
63
+ hideIf: () => purchaseRequestLineId == null,
64
+ customAction: ({ dispatch, objectState }) => {
65
+ updatePurchaseRequestLineAPI(objectState, dispatch);
66
+ },
67
+ },
68
+ ]}/>);
69
+ };
70
+ export default RequestLineFormScreen;
71
+ //# sourceMappingURL=RequestLineFormScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestLineFormScreen.js","sourceRoot":"","sources":["../../src/screens/RequestLineFormScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const RequestLineListScreen: ({ navigation }: {
3
+ navigation: any;
4
+ }) => React.JSX.Element;
5
+ export default RequestLineListScreen;
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2025 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, { useMemo, useState } from 'react';
19
+ import { ChipSelect, Screen } from '@axelor/aos-mobile-ui';
20
+ import { SearchListView, usePermitted, useSelector, useTranslator, useTypeHelpers, useTypes, } from '@axelor/aos-mobile-core';
21
+ import { RequestHeader, RequestLineCard } from '../components';
22
+ import { searchPurchaseRequestLine } from '../features/purchaseRequestLineSlice';
23
+ const RequestLineListScreen = ({ navigation }) => {
24
+ const I18n = useTranslator();
25
+ const { PurchaseRequestLine } = useTypes();
26
+ const { getSelectionItems } = useTypeHelpers();
27
+ const { canCreate } = usePermitted({
28
+ modelName: 'com.axelor.apps.purchase.db.PurchaseRequestLine',
29
+ });
30
+ const { purchaseRequest } = useSelector(state => state.purchase_purchaseRequest);
31
+ const { loadingPurchaseRequestLines, moreLoadingPurchaseRequestLine, isListEndPurchaseRequestLine, purchaseRequestLineList, } = useSelector(state => state.purchase_purchaseRequestLine);
32
+ const [selectedStatus, setSelectedStatus] = useState([]);
33
+ const statusList = useMemo(() => getSelectionItems(PurchaseRequestLine?.newProduct, selectedStatus), [PurchaseRequestLine?.newProduct, getSelectionItems, selectedStatus]);
34
+ const sliceFunctionData = useMemo(() => ({
35
+ purchaseRequestId: purchaseRequest.id,
36
+ newProduct: selectedStatus[0]?.value,
37
+ }), [purchaseRequest.id, selectedStatus]);
38
+ return (<Screen removeSpaceOnTop={true}>
39
+ <SearchListView topFixedItems={<RequestHeader />} actionList={canCreate && [
40
+ {
41
+ iconName: 'plus',
42
+ title: I18n.t('Purchase_AddProduct'),
43
+ onPress: () => {
44
+ navigation.navigate('RequestLineFormScreen');
45
+ },
46
+ },
47
+ ]} chipComponent={<ChipSelect mode="switch" onChangeValue={setSelectedStatus} selectionItems={statusList}/>} expandableFilter={false} searchPlaceholder={I18n.t('Base_Search')} list={purchaseRequestLineList} loading={loadingPurchaseRequestLines} moreLoading={moreLoadingPurchaseRequestLine} isListEnd={isListEndPurchaseRequestLine} sliceFunction={searchPurchaseRequestLine} sliceFunctionData={sliceFunctionData} renderListItem={({ item }) => (<RequestLineCard id={item.id} productName={item.product?.fullName ?? item.productTitle} qty={item.quantity} unit={item.unit?.name} newProduct={item.newProduct}/>)}/>
48
+ </Screen>);
49
+ };
50
+ export default RequestLineListScreen;
51
+ //# sourceMappingURL=RequestLineListScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestLineListScreen.js","sourceRoot":"","sources":["../../src/screens/RequestLineListScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const RequestListScreen: ({ navigation }: {
3
+ navigation: any;
4
+ }) => React.JSX.Element;
5
+ export default RequestListScreen;