ui-soxo-bootstrap-core 2.4.24

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 (429) hide show
  1. package/.babelrc +9 -0
  2. package/.github/workflows/npm-publish.yml +33 -0
  3. package/.husky/pre-commit +12 -0
  4. package/.prettierrc.json +11 -0
  5. package/babel.config.js +3 -0
  6. package/core/assets/images/vector.png +0 -0
  7. package/core/components/component-loader/component-loader.js +125 -0
  8. package/core/components/component-wrapper/component-wrapper.js +122 -0
  9. package/core/components/extra-info/extra-info-details.js +172 -0
  10. package/core/components/extra-info/extra-info-details.scss +27 -0
  11. package/core/components/extra-info/extra-info.js +134 -0
  12. package/core/components/index.js +18 -0
  13. package/core/components/landing-api/landing-api.js +492 -0
  14. package/core/components/landing-api/landing-api.scss +19 -0
  15. package/core/components/menu-template-api/menu-template-api.js +321 -0
  16. package/core/components/root-application-api/root-application-api.js +174 -0
  17. package/core/components/root-application-api/root-application.api.scss +0 -0
  18. package/core/index.js +14 -0
  19. package/core/lib/Store.js +363 -0
  20. package/core/lib/assets/Tick-icon.png +0 -0
  21. package/core/lib/assets/blue-slate-theme.png +0 -0
  22. package/core/lib/assets/dark-theme.png +0 -0
  23. package/core/lib/assets/deep-purple-theme.png +0 -0
  24. package/core/lib/assets/light-theme.png +0 -0
  25. package/core/lib/assets/nura-theme.png +0 -0
  26. package/core/lib/assets/plant.png +0 -0
  27. package/core/lib/assets/welcome-image.png +0 -0
  28. package/core/lib/assets/white-haze-theme.png +0 -0
  29. package/core/lib/components/application-bootstrap/application-bootstrap.js +115 -0
  30. package/core/lib/components/application-bootstrap/application-bootstrap.scss +0 -0
  31. package/core/lib/components/approval-form/approval-form.js +280 -0
  32. package/core/lib/components/approval-form/approval-form.scss +184 -0
  33. package/core/lib/components/approval-list/approval-list.js +143 -0
  34. package/core/lib/components/approval-list/approval-list.scss +3 -0
  35. package/core/lib/components/approval-list/components/request-card/request-card.js +43 -0
  36. package/core/lib/components/approval-list/components/request-card/request-card.scss +31 -0
  37. package/core/lib/components/camera/camera.js +231 -0
  38. package/core/lib/components/camera/camera.scss +86 -0
  39. package/core/lib/components/comment-block/comment-block.js +139 -0
  40. package/core/lib/components/comment-block/comment-block.scss +3 -0
  41. package/core/lib/components/confirm-modal/confirm-modal.js +82 -0
  42. package/core/lib/components/confirm-modal/confirm-modal.scss +3 -0
  43. package/core/lib/components/consent/consent.js +67 -0
  44. package/core/lib/components/consent/consent.scss +0 -0
  45. package/core/lib/components/consent/pdf-signature.js +299 -0
  46. package/core/lib/components/consent/signature-pad.js +90 -0
  47. package/core/lib/components/consent/signature-pad.scss +14 -0
  48. package/core/lib/components/file-upload/file-upload.js +133 -0
  49. package/core/lib/components/finger-print-reader/finger-print-reader.js +296 -0
  50. package/core/lib/components/finger-print-reader/finger-print-reader.scss +47 -0
  51. package/core/lib/components/finger-print-search/finger-print-search.js +200 -0
  52. package/core/lib/components/finger-print-search/finger-print-search.scss +47 -0
  53. package/core/lib/components/global-header/animations.js +18 -0
  54. package/core/lib/components/global-header/global-header.js +413 -0
  55. package/core/lib/components/global-header/global-header.scss +369 -0
  56. package/core/lib/components/header/generic-header.js +76 -0
  57. package/core/lib/components/header/generic-header.scss +99 -0
  58. package/core/lib/components/image-preview/image-preview.js +33 -0
  59. package/core/lib/components/image-wrapper/image-wrapper.js +108 -0
  60. package/core/lib/components/image-wrapper/image-wrapper.scss +13 -0
  61. package/core/lib/components/index.js +203 -0
  62. package/core/lib/components/landing/landing.js +404 -0
  63. package/core/lib/components/landing/landing.scss +0 -0
  64. package/core/lib/components/language-switcher/language-switcher.js +50 -0
  65. package/core/lib/components/menu-context/menu-context.js +70 -0
  66. package/core/lib/components/menu-template/menu-template.js +250 -0
  67. package/core/lib/components/menu-template/menu-template.scss +9 -0
  68. package/core/lib/components/modal-search/modal-search.js +153 -0
  69. package/core/lib/components/modal-search/modal-search.scss +79 -0
  70. package/core/lib/components/modal-wrapper/modal-manager.js +16 -0
  71. package/core/lib/components/modal-wrapper/modal-wrapper.js +108 -0
  72. package/core/lib/components/modal-wrapper/modal-wrapper.scss +14 -0
  73. package/core/lib/components/notice-board/notice-board.js +132 -0
  74. package/core/lib/components/notice-board/notice-board.scss +65 -0
  75. package/core/lib/components/page-container/page-container.js +55 -0
  76. package/core/lib/components/page-container/page-container.scss +8 -0
  77. package/core/lib/components/page-header/page-header.js +23 -0
  78. package/core/lib/components/page-header/page-header.scss +18 -0
  79. package/core/lib/components/pdf-viewer/pdf-viewer.js +56 -0
  80. package/core/lib/components/portlet-table/components/table-actions/table-actions.js +58 -0
  81. package/core/lib/components/portlet-table/components/table-actions/table-actions.scss +1 -0
  82. package/core/lib/components/portlet-table/components/table-data/table-data.js +107 -0
  83. package/core/lib/components/portlet-table/components/table-data/table-data.scss +0 -0
  84. package/core/lib/components/portlet-table/portlet-table.js +63 -0
  85. package/core/lib/components/portlet-table/portlet-table.scss +90 -0
  86. package/core/lib/components/progress-bar/progress-bar.js +58 -0
  87. package/core/lib/components/progress-bar/progress-bar.scss +15 -0
  88. package/core/lib/components/request-form/request-form.js +110 -0
  89. package/core/lib/components/request-form/request-form.scss +0 -0
  90. package/core/lib/components/root-application/root-application.js +70 -0
  91. package/core/lib/components/rupee/rupee.js +14 -0
  92. package/core/lib/components/script-input/script-input.js +169 -0
  93. package/core/lib/components/script-input/script-input.scss +8 -0
  94. package/core/lib/components/sidemenu/animations.js +52 -0
  95. package/core/lib/components/sidemenu/sidemenu.js +617 -0
  96. package/core/lib/components/sidemenu/sidemenu.scss +264 -0
  97. package/core/lib/components/spotlight-search/spotlight-search.component.js +636 -0
  98. package/core/lib/components/spotlight-search/spotlight-search.component.scss +78 -0
  99. package/core/lib/components/table-wrapper/table-wrapper.js +136 -0
  100. package/core/lib/components/table-wrapper/table-wrapper.scss +72 -0
  101. package/core/lib/components/ui_elements/Loader.js +13 -0
  102. package/core/lib/components/ui_elements/Notify.js +13 -0
  103. package/core/lib/components/ui_elements/PlaceHolder.js +34 -0
  104. package/core/lib/components/web-camera/web-camera.js +162 -0
  105. package/core/lib/components/web-camera/web-camera.scss +28 -0
  106. package/core/lib/core.md +9 -0
  107. package/core/lib/elements/Elements.md +3 -0
  108. package/core/lib/elements/basic/LoggedUserRedirect.js +21 -0
  109. package/core/lib/elements/basic/PrivateRoute.js +16 -0
  110. package/core/lib/elements/basic/button/Button.md +43 -0
  111. package/core/lib/elements/basic/button/button.js +170 -0
  112. package/core/lib/elements/basic/button/button.scss +0 -0
  113. package/core/lib/elements/basic/card/Card.md +15 -0
  114. package/core/lib/elements/basic/card/card.js +40 -0
  115. package/core/lib/elements/basic/card/card.scss +14 -0
  116. package/core/lib/elements/basic/checkbox/checkbox.js +23 -0
  117. package/core/lib/elements/basic/col/col.js +16 -0
  118. package/core/lib/elements/basic/copy-to-clipboard/Readme.md +40 -0
  119. package/core/lib/elements/basic/copy-to-clipboard/copy-to-clipboard.js +62 -0
  120. package/core/lib/elements/basic/country-phone-input/Readme.md +98 -0
  121. package/core/lib/elements/basic/country-phone-input/country-phone-input.js +107 -0
  122. package/core/lib/elements/basic/country-phone-input/phone-input.scss +62 -0
  123. package/core/lib/elements/basic/datepicker/datepicker.js +33 -0
  124. package/core/lib/elements/basic/dragabble-wrapper/draggable-wrapper.js +61 -0
  125. package/core/lib/elements/basic/empty/empty.js +15 -0
  126. package/core/lib/elements/basic/fingerprint-protrected/fingerprint-protected.js +118 -0
  127. package/core/lib/elements/basic/fingerprint-protrected/fingerprint-protected.scss +10 -0
  128. package/core/lib/elements/basic/form/Readme.md +0 -0
  129. package/core/lib/elements/basic/form/form.js +70 -0
  130. package/core/lib/elements/basic/form/form.scss +4 -0
  131. package/core/lib/elements/basic/image/image.js +45 -0
  132. package/core/lib/elements/basic/image/image.scss +17 -0
  133. package/core/lib/elements/basic/image/readme.md +26 -0
  134. package/core/lib/elements/basic/image-viewer/image-viewer.js +109 -0
  135. package/core/lib/elements/basic/image-viewer/image-viewer.scss +8 -0
  136. package/core/lib/elements/basic/input/input.js +81 -0
  137. package/core/lib/elements/basic/input/readme.md +77 -0
  138. package/core/lib/elements/basic/json-input/json-input.js +51 -0
  139. package/core/lib/elements/basic/menu-dashboard/menu-dashboard.js +216 -0
  140. package/core/lib/elements/basic/menu-dashboard/menu-dashboard.scss +28 -0
  141. package/core/lib/elements/basic/modal/modal.js +64 -0
  142. package/core/lib/elements/basic/modal/readme.md +62 -0
  143. package/core/lib/elements/basic/popconfirm/popconfirm.js +18 -0
  144. package/core/lib/elements/basic/popover/popover.js +13 -0
  145. package/core/lib/elements/basic/radio/radio.js +18 -0
  146. package/core/lib/elements/basic/rangepicker/rangepicker.js +51 -0
  147. package/core/lib/elements/basic/rangepicker/rangepicker.scss +18 -0
  148. package/core/lib/elements/basic/rangepicker/readme.md +82 -0
  149. package/core/lib/elements/basic/reference-select/readme.md +19 -0
  150. package/core/lib/elements/basic/reference-select/reference-select.js +337 -0
  151. package/core/lib/elements/basic/row/row.js +16 -0
  152. package/core/lib/elements/basic/select/select.js +47 -0
  153. package/core/lib/elements/basic/select-box/readme.md +53 -0
  154. package/core/lib/elements/basic/select-box/select-box.js +63 -0
  155. package/core/lib/elements/basic/skeleton/readme.md +35 -0
  156. package/core/lib/elements/basic/skeleton/skeleton.js +36 -0
  157. package/core/lib/elements/basic/skeleton/skeleton.scss +53 -0
  158. package/core/lib/elements/basic/space/space.js +13 -0
  159. package/core/lib/elements/basic/switch/readme.md +29 -0
  160. package/core/lib/elements/basic/switch/switch.js +58 -0
  161. package/core/lib/elements/basic/tab/tab.js +15 -0
  162. package/core/lib/elements/basic/table/readme.md +9 -0
  163. package/core/lib/elements/basic/table/table.js +100 -0
  164. package/core/lib/elements/basic/table/table.scss +0 -0
  165. package/core/lib/elements/basic/tag/tag.js +63 -0
  166. package/core/lib/elements/basic/tag/tag.scss +3 -0
  167. package/core/lib/elements/basic/timeline/timeline.js +14 -0
  168. package/core/lib/elements/basic/title/readme.md +20 -0
  169. package/core/lib/elements/basic/title/title.js +38 -0
  170. package/core/lib/elements/basic/title/title.scss +0 -0
  171. package/core/lib/elements/basic/user-search/user-search.js +192 -0
  172. package/core/lib/elements/complex/barcode/barcode.js +27 -0
  173. package/core/lib/elements/complex/bargraph/bar-graph.js +262 -0
  174. package/core/lib/elements/complex/basic-table/basic-table.js +111 -0
  175. package/core/lib/elements/complex/basic-table/basic-table.scss +4 -0
  176. package/core/lib/elements/complex/date-display/date-display.js +37 -0
  177. package/core/lib/elements/complex/error-boundary/error-boundary.js +29 -0
  178. package/core/lib/elements/complex/google-location-input/map-container-library-load.js +93 -0
  179. package/core/lib/elements/complex/google-map/google-map.js +230 -0
  180. package/core/lib/elements/complex/google-map/google-map.scss +13 -0
  181. package/core/lib/elements/complex/line-graph/line-graph.js +108 -0
  182. package/core/lib/elements/complex/location-search-input/location-search-input.js +100 -0
  183. package/core/lib/elements/complex/maps/maps.js +0 -0
  184. package/core/lib/elements/complex/pie-chart/pie-chart.js +203 -0
  185. package/core/lib/elements/complex/qr-code/qr-code.js +27 -0
  186. package/core/lib/elements/complex/qrscanner/qrscanner.js +57 -0
  187. package/core/lib/elements/complex/search-debounce/search-debounce.js +37 -0
  188. package/core/lib/elements/complex/statistic-card/dashboard-statistic-card.js +76 -0
  189. package/core/lib/elements/complex/statistic-card/statistic-card.js +28 -0
  190. package/core/lib/elements/index.js +226 -0
  191. package/core/lib/hooks/device-detect.js +26 -0
  192. package/core/lib/hooks/index.js +19 -0
  193. package/core/lib/hooks/use-location.js +33 -0
  194. package/core/lib/hooks/use-window-size.js +34 -0
  195. package/core/lib/i18n.js +70 -0
  196. package/core/lib/index.js +106 -0
  197. package/core/lib/introduction.md +74 -0
  198. package/core/lib/js-styleguide.md +4112 -0
  199. package/core/lib/models/actions/actions.js +128 -0
  200. package/core/lib/models/actions/components/action-detail/action-detail.js +190 -0
  201. package/core/lib/models/actions/components/action-detail/action-detail.scss +0 -0
  202. package/core/lib/models/actions/components/custom-actions/custom-actions.js +186 -0
  203. package/core/lib/models/actions/components/custom-actions/custom-actions.scss +0 -0
  204. package/core/lib/models/attachments/attachments.js +231 -0
  205. package/core/lib/models/base-loader.js +99 -0
  206. package/core/lib/models/base.js +716 -0
  207. package/core/lib/models/branches/branches.js +125 -0
  208. package/core/lib/models/checklists/checklists.js +115 -0
  209. package/core/lib/models/columns/columns.js +169 -0
  210. package/core/lib/models/columns/components/columns-add/columns-add.js +172 -0
  211. package/core/lib/models/columns/components/columns-add/columns-add.scss +0 -0
  212. package/core/lib/models/comments/comments.js +213 -0
  213. package/core/lib/models/departments/departments.js +107 -0
  214. package/core/lib/models/financial-years/financial_years.js +127 -0
  215. package/core/lib/models/forms/components/form-creator/form-creator.js +624 -0
  216. package/core/lib/models/forms/components/form-creator/form-creator.scss +30 -0
  217. package/core/lib/models/forms/components/form-detail/form-detail.js +224 -0
  218. package/core/lib/models/forms/components/form-detail/form-detail.scss +0 -0
  219. package/core/lib/models/forms/forms.js +122 -0
  220. package/core/lib/models/index.js +203 -0
  221. package/core/lib/models/invoice-numbers/invoice_numbers.js +204 -0
  222. package/core/lib/models/lookup-types/components/lookup-detail/lookup-detail.js +145 -0
  223. package/core/lib/models/lookup-types/components/lookup-detail/lookup-detail.scss +0 -0
  224. package/core/lib/models/lookup-types/lookup-types.js +113 -0
  225. package/core/lib/models/lookup-values/components/lookup-values-add/lookup-values-add.js +126 -0
  226. package/core/lib/models/lookup-values/components/lookup-values-add/lookup-values-add.scss +0 -0
  227. package/core/lib/models/lookup-values/lookup-values.js +107 -0
  228. package/core/lib/models/menu-roles/menu-roles.js +127 -0
  229. package/core/lib/models/menus/components/menu-add/menu-add.js +228 -0
  230. package/core/lib/models/menus/components/menu-add/menu-add.scss +0 -0
  231. package/core/lib/models/menus/components/menu-detail/menu-detail.js +170 -0
  232. package/core/lib/models/menus/components/menu-detail/menu-detail.scss +0 -0
  233. package/core/lib/models/menus/components/menu-list/menu-list.js +593 -0
  234. package/core/lib/models/menus/components/menu-list/menu-list.scss +6 -0
  235. package/core/lib/models/menus/components/menu-roles-add/menu-roles-add.js +183 -0
  236. package/core/lib/models/menus/components/menu-roles-add/menu-roles-add.scss +0 -0
  237. package/core/lib/models/menus/menus.js +499 -0
  238. package/core/lib/models/models/components/model-detail/model-detail.js +137 -0
  239. package/core/lib/models/models/components/model-detail/model-detail.scss +0 -0
  240. package/core/lib/models/models/components/models.js +128 -0
  241. package/core/lib/models/modules/modules.js +204 -0
  242. package/core/lib/models/outbox/outbox.js +73 -0
  243. package/core/lib/models/pages/pages.js +107 -0
  244. package/core/lib/models/permissions/permissions.js +71 -0
  245. package/core/lib/models/process/components/process-add/process-add.js +181 -0
  246. package/core/lib/models/process/components/process-add/process-add.scss +0 -0
  247. package/core/lib/models/process/components/process-dashboard/process-dashboard.js +602 -0
  248. package/core/lib/models/process/components/process-dashboard/process-dashboard.scss +62 -0
  249. package/core/lib/models/process/components/process-detail/process-detail.js +140 -0
  250. package/core/lib/models/process/components/process-detail/process-detail.scss +0 -0
  251. package/core/lib/models/process/components/process-timeline/process-timeline.js +140 -0
  252. package/core/lib/models/process/components/task-detail/task-detail.js +240 -0
  253. package/core/lib/models/process/components/task-detail/task-detail.scss +27 -0
  254. package/core/lib/models/process/components/task-form/task-form.js +529 -0
  255. package/core/lib/models/process/components/task-form/task-form.scss +7 -0
  256. package/core/lib/models/process/components/task-list/task-list.js +221 -0
  257. package/core/lib/models/process/components/task-list/task-list.scss +14 -0
  258. package/core/lib/models/process/components/task-overview/task-overview.js +300 -0
  259. package/core/lib/models/process/components/task-overview/task-overview.scss +0 -0
  260. package/core/lib/models/process/components/task-overview-legacy/task-overview-legacy.js +192 -0
  261. package/core/lib/models/process/components/task-overview-legacy/task-overview.scss +0 -0
  262. package/core/lib/models/process/components/task-routes/task-routes.js +45 -0
  263. package/core/lib/models/process/components/task-status/task-status.js +176 -0
  264. package/core/lib/models/process/components/task-status/task-status.scss +11 -0
  265. package/core/lib/models/process/process.js +781 -0
  266. package/core/lib/models/process-transactions/process-transactions.js +124 -0
  267. package/core/lib/models/roles/roles.js +106 -0
  268. package/core/lib/models/scripts/scripts.js +111 -0
  269. package/core/lib/models/step-transactions/step-transcations.js +148 -0
  270. package/core/lib/models/steps/components/step-add/step-add.js +261 -0
  271. package/core/lib/models/steps/components/step-add/step-add.scss +0 -0
  272. package/core/lib/models/steps/components/step-detail/step-detail.js +157 -0
  273. package/core/lib/models/steps/components/step-detail/step-detail.scss +0 -0
  274. package/core/lib/models/steps/steps.js +357 -0
  275. package/core/lib/models/user-preferences/user-preferences.js +83 -0
  276. package/core/lib/models/users/components/user-add/user-add.js +226 -0
  277. package/core/lib/models/users/components/user-add/user-add.scss +0 -0
  278. package/core/lib/models/users/users.js +120 -0
  279. package/core/lib/modules/business/launch-page/launch-page.js +29 -0
  280. package/core/lib/modules/business/launch-page/launch-page.scss +6 -0
  281. package/core/lib/modules/business/slots/slots.js +231 -0
  282. package/core/lib/modules/business/slots/slots.scss +108 -0
  283. package/core/lib/modules/forms/components/field-customizer/field-customizer.js +139 -0
  284. package/core/lib/modules/forms/components/field-customizer/field-customizer.scss +0 -0
  285. package/core/lib/modules/forms/components/field-selector/field-selector.js +157 -0
  286. package/core/lib/modules/forms/components/field-selector/field-selector.scss +25 -0
  287. package/core/lib/modules/forms/components/form-display/form-display.js +203 -0
  288. package/core/lib/modules/forms/components/form-display/form-display.scss +9 -0
  289. package/core/lib/modules/forms/components/tab-customizer/tab-customizer.js +125 -0
  290. package/core/lib/modules/forms/components/tab-customizer/tab-customizer.scss +0 -0
  291. package/core/lib/modules/generic/generic-add/generic-add.js +213 -0
  292. package/core/lib/modules/generic/generic-add/generic-add.scss +0 -0
  293. package/core/lib/modules/generic/generic-detail/generic-detail.js +199 -0
  294. package/core/lib/modules/generic/generic-detail/generic-detail.scss +0 -0
  295. package/core/lib/modules/generic/generic-edit/generic-edit.js +120 -0
  296. package/core/lib/modules/generic/generic-edit/generic-edit.scss +0 -0
  297. package/core/lib/modules/generic/generic-list/ExportReactCSV.js +62 -0
  298. package/core/lib/modules/generic/generic-list/generic-list.js +705 -0
  299. package/core/lib/modules/generic/generic-list/generic-list.scss +34 -0
  300. package/core/lib/modules/generic/generic-upload/generic-upload.js +484 -0
  301. package/core/lib/modules/generic/generic-upload/generic-upload.scss +0 -0
  302. package/core/lib/modules/generic/table-settings/table-settings.js +226 -0
  303. package/core/lib/modules/generic/table-settings/table-settings.scss +37 -0
  304. package/core/lib/modules/index.js +52 -0
  305. package/core/lib/modules/modules-routes/module-routes.js +35 -0
  306. package/core/lib/modules/modules-routes/module-routes.scss +0 -0
  307. package/core/lib/pages/change-password/change-password.js +211 -0
  308. package/core/lib/pages/change-password/change-password.scss +76 -0
  309. package/core/lib/pages/homepage/homepage.js +53 -0
  310. package/core/lib/pages/index.js +20 -0
  311. package/core/lib/pages/login/login.js +617 -0
  312. package/core/lib/pages/login/login.scss +346 -0
  313. package/core/lib/pages/manage-users/manage-users.js +429 -0
  314. package/core/lib/pages/manage-users/manage-users.scss +26 -0
  315. package/core/lib/pages/profile/profile.js +247 -0
  316. package/core/lib/pages/profile/profile.scss +107 -0
  317. package/core/lib/pages/profile/theme-config.js +18 -0
  318. package/core/lib/pages/profile/themes-backup.json +311 -0
  319. package/core/lib/pages/profile/themes.json +254 -0
  320. package/core/lib/pages/register/register.js +177 -0
  321. package/core/lib/pages/register/register.scss +128 -0
  322. package/core/lib/react-styleguide.md +757 -0
  323. package/core/lib/utils/api/api.utils.js +188 -0
  324. package/core/lib/utils/api/readme.md +426 -0
  325. package/core/lib/utils/async.js +36 -0
  326. package/core/lib/utils/common/common.utils.js +123 -0
  327. package/core/lib/utils/common/readme.md +30 -0
  328. package/core/lib/utils/date/date.utils.js +295 -0
  329. package/core/lib/utils/date/readme.md +2 -0
  330. package/core/lib/utils/firebase.support.utils.js +99 -0
  331. package/core/lib/utils/firebase.utils.js +808 -0
  332. package/core/lib/utils/form/Form.md +0 -0
  333. package/core/lib/utils/form/form.utils.js +256 -0
  334. package/core/lib/utils/generic/generic.utils.js +69 -0
  335. package/core/lib/utils/http/auth.helper.js +95 -0
  336. package/core/lib/utils/http/http.utils.js +157 -0
  337. package/core/lib/utils/http/readme.md +14 -0
  338. package/core/lib/utils/index.js +46 -0
  339. package/core/lib/utils/location/location.utils.js +137 -0
  340. package/core/lib/utils/location/readme.md +18 -0
  341. package/core/lib/utils/modal.utils.js +16 -0
  342. package/core/lib/utils/notification.utils.js +35 -0
  343. package/core/lib/utils/pwa/pwa.utils.js +88 -0
  344. package/core/lib/utils/script.utils.js +235 -0
  345. package/core/lib/utils/setting.utils.js +69 -0
  346. package/core/lib/utils/upload.utils.js +30 -0
  347. package/core/models/Preference/Preferences.js +46 -0
  348. package/core/models/base/base.js +399 -0
  349. package/core/models/base-clone-loader.js +107 -0
  350. package/core/models/base-clone.js +187 -0
  351. package/core/models/base-loader.js +97 -0
  352. package/core/models/core-scripts/core-scripts.js +150 -0
  353. package/core/models/dashboard/dashboard.js +187 -0
  354. package/core/models/detail-loader.js +88 -0
  355. package/core/models/groups.js +82 -0
  356. package/core/models/index.js +94 -0
  357. package/core/models/lookup-types/components/lookup-detail/lookup-detail.js +129 -0
  358. package/core/models/lookup-types/lookup-types.js +96 -0
  359. package/core/models/lookup-values/components/lookup-values-modal/lookup-values-modal.js +95 -0
  360. package/core/models/lookup-values/components/lookup-values-modal/lookup-values-modal.scss +0 -0
  361. package/core/models/lookup-values/lookup-values.js +92 -0
  362. package/core/models/menu-roles/components/menu-roles-add/menu-roles-add.js +153 -0
  363. package/core/models/menu-roles/components/menu-roles-add/menu-roles-add.scss +0 -0
  364. package/core/models/menu-roles/menu-roles.js +158 -0
  365. package/core/models/menus/components/menu-add/menu-add.js +325 -0
  366. package/core/models/menus/components/menu-add/menu-add.scss +31 -0
  367. package/core/models/menus/components/menu-detail/menu-detail.js +263 -0
  368. package/core/models/menus/components/menu-list/menu-list.js +392 -0
  369. package/core/models/menus/components/menu-lists/menu-lists.js +429 -0
  370. package/core/models/menus/components/menu-lists/menu-lists.scss +41 -0
  371. package/core/models/menus/menus.js +291 -0
  372. package/core/models/model-columns.js +121 -0
  373. package/core/models/models/components/model-detail/model-add.js +120 -0
  374. package/core/models/models/components/model-detail/model-detail.js +133 -0
  375. package/core/models/models/components/model-detail/model-detail.scss +0 -0
  376. package/core/models/models/models.js +154 -0
  377. package/core/models/pages/components/page-add/page-add.js +163 -0
  378. package/core/models/pages/components/page-add/page-add.scss +31 -0
  379. package/core/models/pages/components/page-details/page-details.js +210 -0
  380. package/core/models/pages/components/page-list/page-list.js +248 -0
  381. package/core/models/pages/pages.js +142 -0
  382. package/core/models/pages/pages.scss +0 -0
  383. package/core/models/pages.js +142 -0
  384. package/core/models/roles/components/role-add/role-add.js +248 -0
  385. package/core/models/roles/components/role-list/role-list.js +408 -0
  386. package/core/models/roles/roles.js +188 -0
  387. package/core/models/user-roles/components/user-roles-add/user-roles-add.js +149 -0
  388. package/core/models/user-roles/components/user-roles-add/user-roles-add.scss +0 -0
  389. package/core/models/user-roles/user-roles.js +99 -0
  390. package/core/models/users/components/user-add/user-add.js +458 -0
  391. package/core/models/users/components/user-detail/user-detail.js +236 -0
  392. package/core/models/users/components/user-detail/user-detail.scss +0 -0
  393. package/core/models/users/components/user-list/user-list.js +397 -0
  394. package/core/models/users/users.js +185 -0
  395. package/core/modules/Informations/change-info/change-info.js +618 -0
  396. package/core/modules/Informations/change-info/change-info.scss +135 -0
  397. package/core/modules/dashboard/components/dashboard-card/animations.js +65 -0
  398. package/core/modules/dashboard/components/dashboard-card/dashboard-card.js +197 -0
  399. package/core/modules/dashboard/components/dashboard-card/menu-dashboard-card.js +430 -0
  400. package/core/modules/dashboard/components/dashboard-card/menu-dashboard-card.scss +60 -0
  401. package/core/modules/dashboard/components/pop-query-dashboard/pop-query-dashboard.js +66 -0
  402. package/core/modules/generic/components/generic-add/generic-add.js +121 -0
  403. package/core/modules/generic/components/generic-add/generic-add.scss +13 -0
  404. package/core/modules/generic/components/generic-add-modal/generic-add-modal.js +125 -0
  405. package/core/modules/generic/components/generic-add-modal/generic-add-modal.scss +13 -0
  406. package/core/modules/generic/components/generic-detail/generic-detail.js +184 -0
  407. package/core/modules/generic/components/generic-detail/generic-detail.scss +25 -0
  408. package/core/modules/generic/components/generic-edit/generic-edit.js +123 -0
  409. package/core/modules/generic/components/generic-edit/generic-edit.scss +0 -0
  410. package/core/modules/generic/components/generic-list/generic-list.js +335 -0
  411. package/core/modules/generic/components/generic-list/generic-list.scss +35 -0
  412. package/core/modules/index.js +54 -0
  413. package/core/modules/module-routes/module-routes.js +37 -0
  414. package/core/modules/module-routes/module-routes.scss +0 -0
  415. package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.js +1101 -0
  416. package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.scss +171 -0
  417. package/core/pages/homepage-api/homepage-api.js +106 -0
  418. package/core/pages/homepage-api/homepage-api.scss +234 -0
  419. package/core/pages/homepage-api/menu-dashboard.js +169 -0
  420. package/core/pages/homepage-api/menu-dashboard.scss +12 -0
  421. package/core/translation.json +54 -0
  422. package/core/translations.json +20 -0
  423. package/core/utils/script.utils.js +130 -0
  424. package/core/utils/settings.utils.js +26 -0
  425. package/eslint.config.mjs +79 -0
  426. package/index.js +36 -0
  427. package/package.json +118 -0
  428. package/tsconfig.json +27 -0
  429. package/webpack.config.js +174 -0
@@ -0,0 +1,808 @@
1
+ import React, { useState, useEffect, useContext } from 'react';
2
+
3
+ import firebase from 'firebase/compat/app';
4
+
5
+
6
+ // import 'firebase/compat/firestore';
7
+ // import 'firebase/compat/auth';
8
+
9
+ import 'firebase/compat/database'; // If using Firebase database
10
+ import 'firebase/compat/firestore'; // If using Firebase database
11
+ import 'firebase/compat/auth'; // If using Firebase database
12
+ import 'firebase/compat/storage'; // If using storage
13
+ import 'firebase/compat/functions';
14
+
15
+
16
+ // Add the Performance Monitoring library
17
+ import 'firebase/compat/performance';
18
+
19
+ import moment from 'moment';
20
+
21
+ import { SmileOutlined } from '@ant-design/icons';
22
+
23
+ import { message, notification, Button } from 'antd';
24
+
25
+ import { Users, Roles } from './../models/';
26
+
27
+ // import 'firebase/storage';
28
+
29
+ // Get a reference to the database service
30
+ // var database = firebase.database();
31
+
32
+ var firebaseConfig = {
33
+ apiKey: process.env.REACT_APP_apiKey,
34
+ authDomain: process.env.REACT_APP_authDomain,
35
+ databaseURL: process.env.REACT_APP_databaseURL,
36
+ projectId: process.env.REACT_APP_projectId,
37
+ storageBucket: process.env.REACT_APP_storageBucket,
38
+ messagingSenderId: process.env.REACT_APP_messagingSenderId,
39
+ appId: process.env.REACT_APP_appId,
40
+ measurementId: process.env.REACT_APP_measurementId,
41
+ };
42
+
43
+ // This shouldnt come here ideally ,
44
+ // #note Only a temporary object maintained for kia
45
+ let cityKey = {
46
+ kozhikode: 'KL305',
47
+ kannur: 'KL306',
48
+ malappuram: 'KL307',
49
+ };
50
+
51
+
52
+ // console.log(firebaseConfig);
53
+
54
+ var app = {};
55
+
56
+ var storage = {};
57
+
58
+ var user = {};
59
+
60
+ var functions = {};
61
+
62
+ var database = {};
63
+
64
+ let firstTime = true;
65
+
66
+ export default class FirebaseUtils {
67
+
68
+ static connect = () => {
69
+
70
+ return new Promise((resolve, reject) => {
71
+
72
+ if (!firebase.apps.length) {
73
+
74
+ // Initialize the application
75
+ firebase.initializeApp(firebaseConfig);
76
+ } else {
77
+ firebase.app(); // if already initialized, use that one
78
+ }
79
+
80
+ storage = firebase.storage();
81
+
82
+ database = firebase.database();
83
+
84
+ var starCountRef = firebase.database().ref('version');
85
+
86
+ starCountRef.on('value', (result) => {
87
+
88
+ // console.log(result.data());
89
+
90
+ const btn = (
91
+ <Button
92
+ type="primary"
93
+ size="small"
94
+ onClick={() => {
95
+ window.location.reload(true);
96
+ }}
97
+ >
98
+ Reload
99
+ </Button>
100
+ );
101
+
102
+ // if (!firstTime) {
103
+ // notification.open({
104
+ // message: 'Hello there,',
105
+ // btn,
106
+ // onClose: () => {
107
+ // window.location.reload(true);
108
+ // },
109
+ // description:
110
+ // 'We have released an update to the application. Browser would reload the application to fetch the latest updates. Thank you.',
111
+ // icon: <SmileOutlined style={{ color: '#108ee9' }} />,
112
+ // });
113
+ // } else {
114
+ // firstTime = false;
115
+ // }
116
+ });
117
+
118
+ app = firebase.firestore();
119
+
120
+ // Initialize Performance Monitoring and get a reference to the service
121
+ const perf = firebase.performance();
122
+
123
+ // storage = firebase.storage();
124
+
125
+ // firebase.firestore.setLogLevel("debug");
126
+ // if (window.location.hostname === "localhost") {
127
+ // app.useEmulator("localhost", 5005);
128
+ // }
129
+
130
+ // Initialize Cloud Functions through Firebase
131
+ // functions = firebase.functions();
132
+
133
+ // if (process.env.NODE_ENV === 'development') {
134
+
135
+ // functions.useEmulator("localhost", 5001);
136
+ // }
137
+
138
+ resolve(app, database);
139
+ });
140
+ };
141
+
142
+ static onVersionUpdate = (callback) => {
143
+ var starCountRef = firebase.database().ref('version');
144
+
145
+ starCountRef.on('child_changed', callback);
146
+ };
147
+
148
+ static getFirebaseObject = () => {
149
+ return firebase;
150
+ };
151
+
152
+ static getFireStoreApp = () => {
153
+ return app;
154
+ };
155
+
156
+
157
+ static getUser = () => {
158
+ return user || {};
159
+ };
160
+
161
+ static getUserInfo = (uid) => {
162
+ return app
163
+ .collection('users')
164
+ .doc(uid)
165
+ .get()
166
+ .then((result) => {
167
+
168
+ // User data
169
+ user = {
170
+ ...result.data(),
171
+ id: result.id
172
+ };
173
+
174
+ return result;
175
+ });
176
+ };
177
+
178
+ static updateProfile = (uid, params) => {
179
+ return app.collection('users').doc(uid).update(params);
180
+ };
181
+
182
+ static getAuthStatus = () => {
183
+ return new Promise((resolve, reject) => {
184
+ return firebase.auth().onAuthStateChanged((user) => {
185
+
186
+ if (user) {
187
+
188
+ return this.getUserDetail(user.uid).then((result) => {
189
+
190
+ resolve(result);
191
+
192
+ })
193
+
194
+ // return Users.getRecord(user.uid).then((result) => {
195
+
196
+ // return Roles.getRecord(result.role).then((role) => {
197
+
198
+ // var data = {
199
+ // ...result,
200
+ // role: role
201
+ // }
202
+
203
+ // resolve(data);
204
+
205
+ // })
206
+ // })
207
+
208
+ } else {
209
+ resolve(true);
210
+ }
211
+ });
212
+ });
213
+ };
214
+
215
+ /**
216
+ * Get User detail
217
+ *
218
+ * @param {*} uid
219
+ * @returns
220
+ */
221
+ static getUserDetail = (uid) => {
222
+
223
+ return Users.getRecord(uid).then((result) => {
224
+
225
+ return Roles.getRecord(result.role_id).then((role) => {
226
+
227
+ var data = {
228
+ ...result,
229
+ role: role
230
+ }
231
+
232
+ // Update file local data
233
+ user = data;
234
+
235
+ return data;
236
+
237
+ })
238
+ })
239
+
240
+
241
+ }
242
+
243
+ /**
244
+ *
245
+ *
246
+ * @returns
247
+ */
248
+ static loginWithPhone = () => {
249
+
250
+ return new Promise((resolve, reject) => {
251
+ // firebase.auth().settings.appVerificationDisabledForTesting = true;
252
+
253
+ var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
254
+
255
+ var phoneNumber = '+917899205111';
256
+
257
+ // var appVerifier = response;
258
+
259
+ firebase
260
+ .auth()
261
+ .signInWithPhoneNumber(phoneNumber, appVerifier)
262
+ .then(function (confirmationResult) {
263
+ resolve(confirmationResult);
264
+ })
265
+ .catch(function (error) {
266
+ console.log(error);
267
+ });
268
+
269
+ // var recaptcha = new firebase.auth.RecaptchaVerifier('recaptcha-container', {
270
+ // 'size': 'invisible',
271
+ // 'callback': function (response) {
272
+
273
+ // var appVerifier = response;
274
+
275
+ // firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
276
+ // .then(function (confirmationResult) {
277
+
278
+ // console.log(confirmationResult);
279
+
280
+ // resolve(confirmationResult);
281
+
282
+ // }).catch(function (error) {
283
+
284
+ // console.log(error);
285
+ // });
286
+
287
+ // }
288
+ // });
289
+ });
290
+ };
291
+
292
+ static loginWithEmail = ({ email, password }) => {
293
+ // var email = '32teeths@gmail.com';
294
+ // var password = '123456';
295
+
296
+ return firebase
297
+ .auth()
298
+ .signInWithEmailAndPassword(email, password)
299
+ .catch(function (error) {
300
+ // Handle Errors here.
301
+ var errorCode = error.code;
302
+ var errorMessage = error.message;
303
+
304
+ console.log(errorCode, errorMessage);
305
+ })
306
+ .then((result) => {
307
+ return this.getUserDetail(result.user.uid);
308
+ // return FirebaseUtils.getUserInfo(result.user.uid);
309
+ });
310
+ };
311
+
312
+ static getToken = () => {
313
+ return firebase
314
+ .auth()
315
+ .currentUser.getIdToken(true)
316
+ .then(function (idToken) {
317
+ return idToken;
318
+ })
319
+ .catch(function (error) {
320
+ return '';
321
+ });
322
+ };
323
+
324
+ static changePassword = (details) => {
325
+ var user = firebase.auth().currentUser;
326
+
327
+ var newPassword = details.npassword;
328
+
329
+ return user.updatePassword(newPassword);
330
+ };
331
+
332
+ // For EDP Ends
333
+
334
+ // Admin Users
335
+ static getUsers = () => {
336
+ let content = {};
337
+
338
+ return new Promise((resolve, reject) => {
339
+ app.collection('users')
340
+ .get()
341
+ .then((querySnapshot) => {
342
+ querySnapshot.forEach(function (doc) {
343
+ content[doc.id] = doc.data();
344
+ });
345
+
346
+ resolve(content);
347
+ });
348
+ });
349
+ };
350
+
351
+ // For Stock Transfer Ends
352
+
353
+ // User Authentication
354
+
355
+ static createUser = ({ email, password }) => {
356
+ var createUser = firebase.functions().httpsCallable('createUser');
357
+
358
+ return createUser({ email, password }).then(function (result) {
359
+ console.log(result);
360
+
361
+ return { user: result.data.uid };
362
+ });
363
+ };
364
+
365
+ static addUserInfo = (id, values) => {
366
+ return app
367
+ .collection('users')
368
+ .doc(id)
369
+ .set({
370
+ ...values,
371
+ created_at: moment().format('DD/MM/YYYY HH:mm'),
372
+ });
373
+ };
374
+
375
+ static updateUserInfo = (id, values) => {
376
+ return app
377
+ .collection('users')
378
+ .doc(id)
379
+ .update({
380
+ ...values,
381
+ updated_at: moment().format('DD/MM/YYYY HH:mm'),
382
+ });
383
+ };
384
+
385
+ /**
386
+ * Get Base Records
387
+ *
388
+ * @param {*} queries
389
+ * @param {*} model
390
+ * @returns
391
+ */
392
+ static get = (path, queries = []) => {
393
+ // Base structure
394
+ let content = { [path]: [] };
395
+
396
+ return new Promise((resolve, reject) => {
397
+ var ref = app.collection(path);
398
+
399
+ queries.forEach((query) => {
400
+ ref = ref.where(query.field, query.operator || '==', query.value);
401
+ });
402
+
403
+ ref.get().then((querySnapshot) => {
404
+ querySnapshot.forEach(function (doc) {
405
+ content[path].push({
406
+ ...doc.data(),
407
+ id: doc.id,
408
+ });
409
+ });
410
+
411
+ resolve(content);
412
+ });
413
+ });
414
+ };
415
+
416
+
417
+
418
+ /**
419
+ * The old get records functions
420
+ *
421
+ * @param {*} city
422
+ * @param {*} queries
423
+ * @param {*} model
424
+ * @returns
425
+ */
426
+ static getRecordsLegacy = (city, queries = [], model) => {
427
+ // Base structure
428
+ let content = { [model]: [] };
429
+
430
+ return new Promise((resolve, reject) => {
431
+ var ref = app.collection(model);
432
+
433
+ queries.forEach((query) => {
434
+ ref = ref.where(query.field, query.operator || '==', query.value);
435
+ });
436
+
437
+ if (city) {
438
+ ref = ref.where('dealerCode', '==', cityKey[city]);
439
+ }
440
+
441
+ ref.get().then((querySnapshot) => {
442
+ querySnapshot.forEach(function (doc) {
443
+ content[model].push({
444
+ ...doc.data(),
445
+ id: doc.id,
446
+ });
447
+ });
448
+
449
+ resolve(content);
450
+ });
451
+ });
452
+ };
453
+
454
+
455
+ /**
456
+ * Get Base Records
457
+ *
458
+ * @param {*} queries
459
+ * @param {*} model
460
+ * @returns
461
+ */
462
+ static getRecords = (queries = [], model, config = {
463
+ // limit: 20
464
+ }) => {
465
+ // Base structure
466
+ let content = { [model.endpoint]: [] };
467
+
468
+ return new Promise((resolve, reject) => {
469
+ var ref = app.collection(model.endpoint);
470
+
471
+ queries.forEach((query) => {
472
+ ref = ref.where(query.field, query.operator || '==', query.value);
473
+ });
474
+
475
+ if (config.orderBy) {
476
+ ref = ref.orderBy(config.orderBy, config.order);
477
+ }
478
+
479
+ // If there is a start at field
480
+ // Append a value
481
+ if (config.startAt) {
482
+ ref = ref.startAt(config.startAt);
483
+ }
484
+
485
+ if (config.limit) {
486
+ ref = ref.limit(config.limit)
487
+ }
488
+
489
+ ref.get().then((querySnapshot) => {
490
+ querySnapshot.forEach(function (doc) {
491
+ content[model.name].push({
492
+ ...doc.data(),
493
+ id: doc.id,
494
+ });
495
+ });
496
+
497
+ resolve(content);
498
+ });
499
+ });
500
+ };
501
+
502
+ /**
503
+ * Generic method to write listing
504
+ */
505
+ static writeListing = (user, records, model) => {
506
+ var batch = app.batch()
507
+
508
+ Object.keys(records).forEach(async (key) => {
509
+ var docRef = app.collection(model).doc(key);
510
+
511
+ await batch.set(docRef, records[key], { merge: true });
512
+ });
513
+
514
+
515
+ // var timeRef = app
516
+ // .collection('uploads')
517
+ // .doc('lastUpdated');
518
+
519
+ // batch.set(timeRef, { timestamp: moment().format('DD/MM/YYYY HH:mm') });
520
+ return this.addUploadsDetails(user, model).then(() => {
521
+ return batch.commit();
522
+ });
523
+ };
524
+
525
+ static addUploadsDetails = (user, model) => {
526
+ let body = {
527
+ model: model,
528
+ created_by: {
529
+ name: user.name,
530
+ role: user.role.name,
531
+ },
532
+ created_at: moment().format('DD/MM/YYYY HH:mm'),
533
+ created_time: moment().valueOf(),
534
+ deleted_by:null,
535
+ deleted_at:null
536
+ };
537
+ return app.collection('uploads').add(body);
538
+ };
539
+
540
+
541
+
542
+ //Get data with a limit and orderBy
543
+ static getOrderRecord = (city, queries , model, config = {}) => {
544
+
545
+ let start = null;
546
+
547
+ let end = null;
548
+
549
+ // Base structure
550
+ let content = { [model.endpoint]: [] };
551
+
552
+ return new Promise((resolve, reject) => {
553
+ var ref = app.collection(model.endpoint);
554
+
555
+ queries.forEach((query) => {
556
+ ref = ref.where(query.field, query.operator || '==', query.value);
557
+ });
558
+
559
+ // if (city) {
560
+ // ref = ref.where('dealerCode', '==', cityKey[city]);
561
+ // }
562
+
563
+
564
+
565
+ if (config.orderBy && !config.direction) {
566
+ ref = ref.orderBy(config.orderBy);
567
+ }
568
+
569
+ if (config.orderBy && config.direction) {
570
+ ref = ref.orderBy(config.orderBy, config.direction);
571
+ }
572
+
573
+ if (config.end) {
574
+ ref = ref.startAfter(config.end);
575
+ }
576
+
577
+ // If there is a start at field
578
+ // Append a value
579
+ if (config.startAt) {
580
+ ref = ref.startAt(config.startAt);
581
+ }
582
+
583
+ if (config.limit) {
584
+ ref = ref.limit(config.limit)
585
+ }
586
+
587
+
588
+ ref.get().then((querySnapshot) => {
589
+
590
+ // console.log(querySnapshot)
591
+
592
+ start = querySnapshot.docs[0];
593
+
594
+ end = querySnapshot.docs[querySnapshot.docs.length - 1];
595
+
596
+
597
+ querySnapshot.forEach(function (doc) {
598
+ //console.log(doc.data())
599
+ content[model.name].push({
600
+ ...doc.data(),
601
+ id: doc.id,
602
+
603
+ });
604
+ });
605
+ content.start = start
606
+ content.end = end
607
+
608
+
609
+ resolve(content);
610
+ });
611
+ });
612
+ };
613
+
614
+
615
+ /**
616
+ * Function Pushs a new record to the model
617
+ *
618
+ * @param {*} city
619
+ * @param {*} model
620
+ * @param {*} values
621
+ */
622
+ static addRecord = (model, values) => {
623
+ return app.collection(model).add(values);
624
+ };
625
+
626
+ /**
627
+ * Function Adds a new record to the model
628
+ *
629
+ * @param {*} city
630
+ * @param {*} model
631
+ * @param {*} values
632
+ */
633
+ static addDocument = (id, model, values) => {
634
+ return app.collection(model).doc(id).set(values);
635
+ };
636
+
637
+ /**
638
+ * Get the Record
639
+ *
640
+ * @param {*} id
641
+ * @param {*} model
642
+ * @returns
643
+ */
644
+ static listenRecord = (id, model, callback) => {
645
+ return app
646
+ .collection(model.name)
647
+ .doc(id)
648
+ .onSnapshot((result) => {
649
+
650
+ return callback({
651
+ ...result.data(),
652
+ id: result.id,
653
+ })
654
+
655
+ })
656
+ };
657
+
658
+ /**
659
+ * Get the Record Reference
660
+ *
661
+ * @param {*} id
662
+ * @param {*} model
663
+ * @returns
664
+ */
665
+ static getRecordReference = (model, id = null) => {
666
+
667
+ if (id) {
668
+ return app
669
+ .collection(model.name)
670
+ .doc(id);
671
+ } else {
672
+ return app
673
+ .collection(model.name)
674
+ .doc();
675
+ }
676
+ };
677
+
678
+ /**
679
+ * Get the Record
680
+ *
681
+ * @param {*} id
682
+ * @param {*} model
683
+ * @returns
684
+ */
685
+ static getRecord = (id, model) => {
686
+ return app
687
+ .collection(model.name)
688
+ .doc(id)
689
+ .get()
690
+ .then((result) => {
691
+ return {
692
+ ...result.data(),
693
+ id: result.id,
694
+ };
695
+ });
696
+ };
697
+
698
+ /**
699
+ *
700
+ */
701
+ static updateRecord = (model, id, values) => {
702
+ return app.collection(model).doc(id).update(values);
703
+ };
704
+
705
+ static deleteRecord = (model, id) => {
706
+
707
+ var user = this.getUser();
708
+
709
+ var params = {
710
+ deleted_at: moment().valueOf(),
711
+ deleted_by: user.id
712
+ }
713
+
714
+ return app.collection(model).doc(id).update(params);
715
+ };
716
+
717
+ //Cart Section Ends
718
+ static logout = () => {
719
+ return firebase.auth().signOut();
720
+ };
721
+
722
+
723
+ /**
724
+ * Upload the file to storage
725
+ */
726
+ static uploadAttachment = (files, customer, index) => {
727
+ var hide;
728
+
729
+ // var url = index + customer.customerName + '-' + +new Date();
730
+
731
+ var url = index + customer.customerName + files.name;
732
+
733
+ var ref = storage.ref(url);
734
+
735
+ var uploadTask = ref.put(files);
736
+
737
+ uploadTask.on('state_changed', (snapshot) => {
738
+ var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
739
+
740
+ // console.log('Upload is ' + progress + '% done');
741
+
742
+ // console.log(snapshot.state);
743
+
744
+ if (progress >= 100) {
745
+ hide && hide();
746
+
747
+ message.success(`Upload Complete.`);
748
+ } else {
749
+ // hide = message.loading(`Uploading...`, 1);
750
+ }
751
+ });
752
+
753
+ return uploadTask.then((snapshot) => {
754
+ return ref.getMetadata().then((result) => {
755
+ return snapshot.ref.getDownloadURL().then((downloadUrl) => {
756
+ let meta = { contentType: result.contentType };
757
+
758
+ return { url: downloadUrl, meta: meta };
759
+ });
760
+ });
761
+ });
762
+ };
763
+
764
+ /**
765
+ * Upload the Base64 to storage
766
+ */
767
+ static uploadBase64 = (files, index) => {
768
+
769
+ var hide;
770
+
771
+ var url = index + files.name + '-' + (+new Date());
772
+
773
+ var ref = storage.ref(url);
774
+
775
+ var uploadTask = ref.putString(files, 'data_url', { contentType: 'image/jpg' });
776
+
777
+ uploadTask.on('state_changed', (snapshot) => {
778
+
779
+ // Progress
780
+ var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
781
+
782
+ // console.log('Upload is ' + progress + '% done');
783
+
784
+ // console.log(snapshot.state);
785
+
786
+ if (progress >= 100) {
787
+ hide && hide();
788
+
789
+ message.success(`Upload Complete.`);
790
+ } else {
791
+ // hide = message.loading(`Uploading...`, 1);
792
+ }
793
+ });
794
+
795
+ return uploadTask.then((snapshot) => {
796
+ return ref.getMetadata().then((result) => {
797
+ return snapshot.ref.getDownloadURL().then((downloadUrl) => {
798
+ let meta = { contentType: result.contentType };
799
+
800
+ return { url: downloadUrl, meta: meta };
801
+ });
802
+ });
803
+ });
804
+ };
805
+
806
+ }
807
+
808
+